:root {

	--color-primary: #7D3BD7;
	--color-primary-bg: #EDE5F7;
	--color-primary-text: #311259;
	--color-primary-hover: #5917B2;

	--color-secondary: #EF591E;
	--color-secondary-bg: #FEE8DF;
	--color-secondary-text: #802400;
	--color-secondary-hover: #e64100;

	--color-text: #231D17;
	--color-text-secondary: #71717B;

	--color-background: #FEFDFF;

	--color-badge-orange: #F55200;
	--color-badge-orange-bg: #FEF0EA;

	--color-badge-blue: #0046FC;
	--color-badge-blue-bg: #EAF2FF;

	--color-badge-green: #009F1A;
	--color-badge-green-bg: #E6FAEE;

}

body {

	font-family: Poppins;
	font-size: 12pt;

	background: var(--color-background);

}

/* buttons */

.buttons {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 1rem;
}

.buttons.center {
	justify-content: center;
}

.buttons.end {
	justify-content: flex-end;
}

/* button fill */

.buttons button.fill {
	height: 40px;
	padding: 0 20px;
	border-radius: 25px;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	line-height: 100%;
	color: #ffffff;
	transition: all 300ms ease;
	box-shadow: 0px 0px 0px transparent;
}

.buttons button.fill.primary {
	background: var(--color-primary);
	border: 1px solid var(--color-primary);
}

.buttons button.fill.primary:hover {
	background: var(--color-primary-hover);
	box-shadow: 0px 15px 15px -10px #7d3bd75c !important;
}

.buttons button.fill.secondary {
	background: var(--color-secondary);
	border: 1px solid var(--color-secondary);
}

.buttons button.fill.secondary:hover {
	background: var(--color-secondary-hover);
	box-shadow: 0px 15px 15px -10px #f552005c !important;
}

/* button regular */

.buttons button.regular {
	height: 40px;
	padding: 0 20px;
	border-radius: 25px;
	background: transparent;
	border: 1px solid transparent;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	line-height: 100%;
	transition: all 300ms ease;
}

.buttons button.regular.primary {
	color: var(--color-primary);
}

.buttons button.regular.primary:hover {
	color: var(--color-primary-hover);
}

.buttons button.regular.secondary {
	color: var(--color-secondary);
}

.buttons button.regular.secondary:hover {
	color: var(--color-secondary-hover);
}

/* titles */

.title {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 1rem;

	margin-bottom: 2rem;
	text-align: center;
}

.title h1 {
	font-size: 40px;
	line-height: 110%;
	margin-bottom: 0px;
	font-weight: 700;
	color: var(--color-text);
}

.title h1 span.color {
	color: var(--color-primary);
}

.title p {
	font-size: 20px;
	line-height: 150%;
	margin-bottom: 0px;
	font-weight: 400;
	color: var(--color-text-secondary);
}

/* ============================================ */

/* header */

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 50px 0 0 0;
	z-index: 100;
}

header .topbar {
	background: #ffffff9a;
	backdrop-filter: blur(15px) brightness(1.1);
	padding: 15px 25px;
	border-radius: 35px;
	box-shadow: 0px 10px 70px -15px #7D3BD715;
}

header .topbar .brand img {
	height: 40px;
}

header .topbar ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5rem;
	list-style: none;
	padding: 0px;
	margin: 0px;
}

header .topbar ul li a {
	color: inherit;
	text-decoration: none;
}

header .topbar ul li {
	font-size: 14px;
	font-weight: 400;
	color: var(--color-text);
	transition: all 300ms ease;
}

header .topbar ul li:hover {
	color: var(--color-primary);
}

/* section#hero */

section#hero {
	background: linear-gradient(260deg, rgba(255, 255, 255, 1) 0%, rgba(244, 238, 253, 1) 100%);
}

section#hero .hero_box {
	padding: 250px 0 150px 0;
}

section#hero .img_box {
	padding-bottom: 0px;
}

section#hero img {
	position: relative;
	width: 100%;
}

section#hero .hero_box {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	gap: 1rem;
}

section#hero .badge {
	padding: 10px 15px;
	border-radius: 20px;
	text-align: center;
	font-weight: 400;
	color: var(--color-primary-text);
	line-height: 100%;
	font-size: 12px;
	background: linear-gradient(90deg,rgba(248, 243, 255, 1) 0%, rgba(240, 229, 255, 1) 50%, rgba(248, 243, 255, 1) 100%);
}

section#hero h1 {
	font-size: 55px;
	line-height: 110%;
	margin-bottom: 0px;
	font-weight: 700;
	color: var(--color-text);
}

section#hero h1 span.color {
	color: var(--color-primary);
}

section#hero p {
	font-size: 22px;
	font-weight: 400;
	color: var(--color-text-secondary);
}

section#hero .hero_box .buttons {
	margin-top: .5rem;
}

/* section#fazer-a-diferenca */

section#fazer-a-diferenca {
	padding: 100px 0;
	background: linear-gradient(180deg,rgba(254, 253, 255, .15) 0%, rgba(227, 211, 251, .15) 100%);
}

section#fazer-a-diferenca .card {
	all: unset;
	height: calc(100% - 60px) !important;
	background: #ffffff;
	padding: 30px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	border: none;
	gap: 10px;
	border-radius: 52.5px;
	transition: all 300ms ease;
	box-shadow: 0px 10px 70px -15px #7D3BD715;
}

section#fazer-a-diferenca .card:hover {
	box-shadow: 0px 26px 70px 0px #7d3bd730;
	transform: translateY(-15px);
}

section#fazer-a-diferenca .card .icon {
	width: 60px;
	height: 60px;
	aspect-ratio: 1 / 1;
	border-radius: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
}

section#fazer-a-diferenca .card .icon svg {
	width: 30px;
	color: currentColor;
}

section#fazer-a-diferenca .card .icon.primary {
	background: var(--color-primary-bg);
	color: var(--color-primary);
}

section#fazer-a-diferenca .card .icon.secondary {
	background: var(--color-secondary-bg);
	color: var(--color-secondary);
}

section#fazer-a-diferenca .card .title {
	all: unset;
	margin-top: 1rem;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	gap: 10px;
}

section#fazer-a-diferenca .card .title h1 {
	font-size: 18px;
	line-height: 150%;
	font-weight: 600;
	color: var(--color-text);
	text-align: left;
}

section#fazer-a-diferenca .card .title p {
	font-size: 16px;
	font-weight: 400;
	color: var(--color-text-secondary);
	line-height: 150%;
	text-align: left;
}

section#fazer-a-diferenca .card .title p b {
	font-weight: 500;
}

section#fazer-a-diferenca .card ul {
	padding: 0px;
	margin: 1rem 0 0 0;
	margin-bottom: 1rem !important;
	list-style: none;
}

section#fazer-a-diferenca .card ul li:not(:last-child) {
	margin-bottom: 8px;
}

section#fazer-a-diferenca .card ul li {
	font-size: 15px;
	font-weight: 400;
	color: var(--color-text);
	line-height: 150%;
	vertical-align: middle;
}

section#fazer-a-diferenca .card ul li b {
	font-weight: 500;
}

section#fazer-a-diferenca .card ul li svg {
	width: 24px;
	margin-right: 5px;
	margin-top: -2px;
}

section#fazer-a-diferenca .card.primary ul li svg {
	color: var(--color-primary);
}

section#fazer-a-diferenca .card.secondary ul li svg {
	color: var(--color-secondary);
}

section#fazer-a-diferenca .card .buttons {
	margin-top: auto !important;
}

/* section#como-funciona */

section#como-funciona {
	padding: 100px 0;
}

section#como-funciona .card {
	all: unset;
	margin-top: 45px;
	padding: 60px 30px 30px 30px;
	border-radius: 45px;
	background: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	box-shadow: 0px 10px 70px -15px #7D3BD715;
	transition: all 300ms ease;
}

section#como-funciona .card:hover {
	box-shadow: 0px 26px 70px 0px #7d3bd730;
	transform: translateY(-15px);
}

section#como-funciona .card .icon {
	width: 60px;
	height: 60px;
	aspect-ratio: 1 / 1;
	border-radius: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0px 15px 20px -15px #7D3BD7;
	font-size: 20px;
	font-weight: 600;
	color: var(--color-primary-text);
	line-height: 100%;
	background: var(--color-primary-bg);
	transform: translateY(-10%);
	margin-top: -90px;
}

section#como-funciona .card .title {
	all: unset;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
	gap: 5px;
	margin-top: 1rem;
}

section#como-funciona .card .title h1 {
	all: unset;
	font-size: 18px;
	line-height: 150%;
	font-weight: 500;
	color: var(--color-text);
	text-align: center;
}

section#como-funciona .card .title p {
	all: unset;
	font-size: 16px;
	line-height: 150%;
	font-weight: 400;
	color: var(--color-text-secondary);
	text-align: center;
}

/* section#por-que */

section#por-que {
	padding: 100px 0;
	background: linear-gradient(180deg,rgba(227, 211, 251, .15) 0%, rgba(254, 253, 255, .15) 100%);
}

section#por-que .card {
	all: unset;
	margin-top: 45px;
	padding: 60px 30px 30px 30px;
	border-radius: 45px;
	background: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	box-shadow: 0px 10px 70px -15px #7D3BD715;
	transition: all 300ms ease;
}

section#por-que .card:hover {
	box-shadow: 0px 26px 70px 0px #7d3bd730;
	transform: translateY(-15px);
}

section#por-que .card .icon {
	width: 60px;
	height: 60px;
	aspect-ratio: 1 / 1;
	border-radius: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: 600;
	color: var(--color-primary-text);
	line-height: 100%;
	background: var(--color-primary-bg);
	transform: translateY(-10%);
	margin-top: -90px;
}

section#por-que .card .icon svg {
	width: 30px;
}

section#por-que .card .icon.green {
	background: var(--color-badge-green-bg);
	color: var(--color-badge-green);
}

section#por-que .card .icon.blue {
	background: var(--color-badge-blue-bg);
	color: var(--color-badge-blue);
}

section#por-que .card .icon.orange {
	background: var(--color-badge-orange-bg);
	color: var(--color-badge-orange);
}

section#por-que .card .title {
	all: unset;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
	gap: 5px;
	margin-top: 1rem;
}

section#por-que .card .title h1 {
	all: unset;
	font-size: 18px;
	line-height: 150%;
	font-weight: 500;
	color: var(--color-text);
	text-align: center;
}

section#por-que .card .title p {
	all: unset;
	font-size: 16px;
	line-height: 150%;
	font-weight: 400;
	color: var(--color-text-secondary);
	text-align: center;
}

/* section#eu-levo */

section#eu-levo {
	padding: 100px 0px;
}

section#eu-levo .hero_img img {
	width: 100%;
	border-radius: 80px;
}

section#eu-levo .hero_box {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	gap: 1rem;
}

section#eu-levo .badge {
	padding: 10px 15px;
	border-radius: 20px;
	text-align: center;
	font-weight: 400;
	color: var(--color-primary-text);
	line-height: 100%;
	font-size: 12px;
	background: linear-gradient(90deg,rgba(248, 243, 255, 1) 0%, rgba(240, 229, 255, 1) 50%, rgba(248, 243, 255, 1) 100%);
}

section#eu-levo h1 {
	font-size: 40px;
	line-height: 110%;
	margin-bottom: 0px;
	font-weight: 700;
	color: var(--color-text);
}

section#eu-levo h1 span.color {
	color: var(--color-primary);
}

section#eu-levo p {
	font-size: 18px;
	font-weight: 400;
	color: var(--color-text-secondary);
	margin-bottom: 0px;
}

section#eu-levo p b {
	font-weight: 500;
}

section#eu-levo .hero_box .buttons {
	margin-top: .5rem;
}

section#eu-levo .hero_box .buttons button.regular {
	background: transparent;
	border-color: var(--color-primary);
	font-weight: 500;
	transition: all 300ms ease;
}

section#eu-levo .hero_box .buttons button.regular:hover {
	background: var(--color-primary);
	color: #ffffff;
}

section#eu-levo .hero_box ul {
	margin: 10px 0 !important;
	padding: 0 !important;
	list-style: none;
}

section#eu-levo .hero_box ul li {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;
	margin-bottom: 16px;
	transition: all 300ms ease;
}

section#eu-levo .hero_box ul li:hover {
	margin-left: 15px;
}

section#eu-levo .hero_box ul li:last-child {
	margin-bottom: 0px;
}

section#eu-levo .hero_box ul li .icon {
	width: 45px;
	aspect-ratio: 1 / 1;
	border-radius: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-primary-bg);
	color: var(--color-primary-text);
}

section#eu-levo .hero_box ul li .icon svg {
	width: 24px;
	color: currentColor;
}

section#eu-levo .hero_box ul li .text {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 6px;
}

section#eu-levo .hero_box ul li .text p.title {
	font-size: 16px;
	font-weight: 500;
	color: var(--color-text);
	line-height: 110%;
	margin-bottom: 0px;
}

section#eu-levo .hero_box ul li .text p.value {
	font-size: 14px;
	font-weight: 400;
	color: var(--color-text-secondary);
	line-height: 110%;
	margin-bottom: 0px;
}

/* section#faq */

section#faq {
	padding: 100px 0;
	background: linear-gradient(180deg,rgba(227, 211, 251, .15) 0%, rgba(254, 253, 255, .15) 100%);
}

section#faq .faq_item {
	padding: 32px;
	background: #ffffff;
	box-shadow: 0px 10px 70px -15px #7D3BD715;
	border-radius: 35px;
	transition: all 300ms ease;
}

section#faq .faq_item:hover {
	transform: scale(1.03);
	box-shadow: 0px 26px 70px 0px #7d3bd720;
}

section#faq .faq_item:hover h1 {
	color: var(--color-secondary);
}

section#faq .faq_item:hover p {
	color: var(--color-text);
}

section#faq .faq_item h1 {
	font-size: 18px;
	line-height: 110%;
	font-weight: 500;
	margin-bottom: 12px;
	transition: all 300ms ease;
}

section#faq .faq_item p {
	font-size: 16px;
	font-weight: 400;
	color: var(--color-text-secondary);
	line-height: 150%;
	margin-bottom: 0px;
	transition: all 300ms ease;
}

section#faq .faq_item p b {
	font-weight: 500;
}

/* section#cta */

section#cta {
	padding: 75px 0;
	background: linear-gradient(108deg,rgba(240, 93, 35, 1) 0%, rgba(255, 134, 86, 1) 50%, rgba(255, 72, 0, 1) 100%);
}

section#cta .title h1 {
	font-size: 50px;
	font-weight: 700;
	color: #ffffff;
}

section#cta .title p {
	font-size: 20px;
	font-weight: 400;
	color: #FFDFD2;
}

section#cta .buttons button {
	border: none !important;
	height: 45px;
	padding: 0 20px;
	box-shadow: 0px 9px 18px -14px #00000025;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #ffffff !important;
	transition: all 300ms ease;
}

section#cta .buttons button {
    background: linear-gradient(234deg, rgba(255,121,67,1), rgba(255,91,27,1), rgba(255,164,129,1));
    background-size: 150%;
    transition: background-position 0.5s ease;
}

section#cta .buttons button:hover {
    background-position: 100% 0;
}

/*section#cta .buttons button:last-child {
	background: linear-gradient(234deg,rgba(255, 149, 108, 1) 0%, rgba(255, 100, 40, 1) 50%, rgba(255, 165, 130, 1) 100%);
}*/

/* footer */

footer {
	padding: 50px 0;
}

footer h1.title {
	all: unset;
	font-size: 14px;
	font-weight: 400;
	color: var(--color-text);
	line-height: 150%;
	margin-bottom: 10px;
	text-align: left;
}

footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
	font-weight: 400;
	margin-top: 10px;
	color: var(--color-text-secondary);
}

footer ul li {
	transition: all 300ms ease;
}

footer ul li:hover {
	color: var(--color-text);
}

footer ul li:not(:last-child) {
	margin-bottom: 5px;
}

footer ul li a {
	text-decoration: none;
	color: currentColor;
}

footer img.brand {
	margin-bottom: 1.5rem;
	height: 50px;
}

footer p.description {
	font-size: 13px;
	font-weight: 400;
	color: var(--color-text);
	margin-bottom: 0px;
}

footer p.copy {
	text-align: center;
	font-size: 12px;
	font-weight: 300;
	color: #B4B4B4;
	margin-bottom: 0px;
	width: 100%;

	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #fafafa;
}

/* responsividade */

.mobile_menu {
	display: none !important;
	width: 40px;
	aspect-ratio: 1 / 1;
	background: var(--color-primary);
	border-radius: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #ffffff;
}

.mobile_menu svg {
	width: 60%;
	stroke-width: 2px;
}

#menu {
	display: none;
	width: 100vw;
	height: 100vh;
	top: 0px;
	left: 0px;
	position: fixed;
	z-index: 1000;
	transition: all 300ms ease;
	background: var(--color-primary);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 30px;
	gap: 1rem;
	left: -100%;
}

#menu.open { left:0px; }

#menu .close {
	width: 30px;
	aspect-ratio: 1 / 1;
	color: #ffffff;
	opacity: .5;
	margin-bottom: 2rem;
}

#menu ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	flex-direction: column;
	padding: 0px !important;
	list-style: none;
}

#menu ul li {
	font-size: 14pt;
	font-weight: 400;
	color: #ffffff;
}

#menu ul li a {
	text-decoration: none;
	color: currentColor;
}

#menu hr {
	width: 25px;
	height: 1px;
}

#menu .buttons {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0px !important;
}

#menu .buttons button {
	color: #ffffff;
	font-size: 14px;
	height: 50px;
	padding: 0 30px;
	font-weight: 400;
	border: 1px solid #ffffff;
}

@media screen and (max-width: 768px) {

	.mobile_hide { display: none !important; }
	.mobile_menu { display: flex !important; }
	#menu { display: flex !important; }

	header {
		padding-top: 20px;
	}

	p.copy {
		padding-top: 20px !important;
		margin-top: 20px !important;
		text-align: left !important;
	}

	.title h1 {
		font-size: 35px;
	}

	.title p {
		font-size: 16px;
	}

	section#hero .hero_box {
	    padding: 200px 0 200px 0;
	}

}