@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,100..900&display=swap');
*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family: "Plus Jakarta Sans", sans-serif;
background:#fff;
color:#333;
overflow-x:hidden;
}

img{
display:block;
max-width:100%;
}

a{
text-decoration:none;
color:inherit;
}

button,
input,
textarea{
font-family:inherit;
}

.container{
width:min(1280px,92%);
margin:auto;
}
/*============================

HEADER

=============================*/

.header{

position:sticky;

top:0;

z-index:999;

backdrop-filter:blur(14px);

background:rgba(255,255,255,.75);

border-bottom:1px solid #ececec;

}

.header .container{
display:flex;
justify-content:space-between;
align-items:center;
height:96px;
}

.logo img{

height:56px;

display:block;

}

.nav{

display:flex;

gap:34px;

}

.nav a{

font-size:15px;

font-weight:500;

color:#5b5568;

transition:.3s;

}

.nav a:hover{

color:#4A2B83;

}

.header-buttons{

display:flex;

align-items:center;

gap:14px;

}

.btn-agendar{

display:flex;

align-items:center;

gap:10px;

padding:14px 22px;

background:#4A2B83;

color:#fff;

border-radius:999px;

font-size:14px;

font-weight:500;

transition:.3s;

box-shadow:0 10px 25px rgba(117,86,232,.25);

}

.btn-agendar:hover{

opacity:.92;

}

.btn-agendar i{

width:18px;

height:18px;

}

.menu-button{

display:none;

width:42px;

height:42px;

border:none;

border-radius:14px;

background:#EFEAFF;

cursor:pointer;

justify-content:center;

align-items:center;

}

.menu-button i{

width:20px;

height:20px;

color:#7556E8;

transition:.3s;

}

.mobile-menu{

display:none;

flex-direction:column;

border-top:1px solid #ececec;

background:#fff;

}

.mobile-menu a{

padding:18px 22px;

border-bottom:1px solid #f0f0f0;

font-size:15px;

color:#555;

transition:.3s;

}

.mobile-menu a:hover{

background:#f8f5ff;

}

.mobile-menu.show{

display:flex;

}

.rotate{

transform:rotate(180deg);

}
@media(max-width:1024px){

.nav{

display:none;

}

.btn-agendar{

display:none;

}

.menu-button{

display:flex;

}

}
/*==================================

HERO

===================================*/

.hero{

position:relative;

overflow:hidden;

padding-top:80px;

padding-bottom:130px;

}

.hero-container{

max-width:1280px;

margin:auto;

padding:0 20px;

display:grid;

grid-template-columns:1.05fr 1fr;

gap:60px;

align-items:center;

position:relative;

z-index:2;

}
.hero-badge{

display:inline-flex;

align-items:center;

gap:10px;

padding:8px 18px;

background:rgba(255,255,255,.8);

border:1px solid #ececec;

border-radius:999px;

font-size:13px;

font-weight:600;

color:#7556E8;

}

.badge-dot{

width:8px;

height:8px;

border-radius:50%;

background:#F5C84C;

}
.hero h1{

font-family: "Fraunces", serif;

margin-top:24px;

font-size:64px;

line-height:1.05;

font-weight:500;

color:#4A2B83;

max-width:700px;

}
.hero p{

margin-top:28px;

max-width:640px;

font-size:19px;

line-height:1.9;

color:#666;

}
.hero-buttons{

display:flex;

gap:18px;

margin-top:38px;

flex-wrap:wrap;

}

.btn-primary{

display:flex;

align-items:center;

justify-content:center;

gap:10px;

padding:16px 32px;

background:#4A2B83;

color:#fff;

border-radius:999px;

font-weight:500;

font-size:15px;

box-shadow:0 10px 25px rgba(117,86,232,.25);

transition:.3s;

}

.btn-primary:hover{

opacity:.92;

}

.btn-primary i{

width:18px;

height:18px;

}

.btn-outline{

display:flex;

align-items:center;

justify-content:center;

padding:15px 30px;

border:1px solid #DDD;

border-radius:999px;

font-weight:500;

background:#FFF;

transition:.3s;

}

.btn-outline:hover{

background:#F5F0FF;

}
.hero-chips{

display:flex;

gap:18px;

flex-wrap:wrap;

margin-top:42px;

}

.chip{

display:flex;

align-items:center;

gap:12px;

padding:14px 18px;

background:white;

border-radius:30px;

border:1px solid #ECECEC;

box-shadow:0 10px 25px rgba(0,0,0,.05);

font-size:15px;

font-weight:500;

}

.chip i{

width:20px;

height:20px;

color:#7556E8;

}
.hero-image-area{

display:flex;

justify-content:center;

align-items:center;

position:relative;

}

.hero-card{
    position:relative;
    padding:30px;
    border-radius:42px;
    background:linear-gradient(145deg,#EEE7FF,#FFE7F0);
    box-shadow:0 25px 60px rgba(0,0,0,.10);
}


.hero-image{

display:block;

width:100%;

max-width:540px;

}
.blob{

position:absolute;

border-radius:50%;

filter:blur(90px);

opacity:.7;

}

.lilac{

width:380px;

height:380px;

background:#DCCFFF;

top:-120px;

left:-120px;

}

.pink{

width:480px;

height:480px;

background:#FFDCEB;

right:-140px;

bottom:-120px;

}

.yellow{

width:240px;

height:240px;

background:#FFE88F;

top:180px;

right:28%;

opacity:.45;

}
@media(max-width:992px){

.hero{

padding-top:60px;

padding-bottom:80px;

}

.hero-container{

grid-template-columns:1fr;

}

.hero h1{

font-size:46px;

}

.hero p{

font-size:17px;

}

.hero-image-area{

margin-top:60px;

}

}
/*================================

FOOTER

================================*/

.footer{

background:#ffffff;

border-top:1px solid #ECECEC;

margin-top:120px;

}

.footer-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:60px;

padding:70px 20px;

}

.footer-logo{

height:64px;

margin-bottom:22px;

}

.footer-description{

max-width:320px;

font-size:15px;

line-height:1.9;

color:#666;

}

.footer-title{

display:block;

margin-bottom:22px;

font-size:12px;

font-weight:700;

letter-spacing:2px;

text-transform:uppercase;

color:#7556E8;

}

.footer-nav{

list-style:none;

padding:0;

margin:0;

}

.footer-nav li{

margin-bottom:14px;

}

.footer-nav a{

color:#666;

font-size:15px;

transition:.3s;

}

.footer-nav a:hover{

color:#7556E8;

}

.footer-quote{

font-style:italic;

line-height:1.9;

font-size:15px;

color:#666;

}

.footer-bottom{

border-top:1px solid #ECECEC;

}

.footer-copy{

padding:22px 20px;

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:15px;

font-size:13px;

color:#888;

}
@media(max-width:900px){

.footer-grid{

grid-template-columns:1fr;

gap:40px;

}

.footer-copy{

flex-direction:column;

text-align:center;

}

}
/*====================================

PARA QUEM É

====================================*/

.for-whom{

padding:110px 0;

background:#fafafa;

}

.section-header{

max-width:900px;

margin:0 auto;

text-align:center;

}

.section-tag{

display:inline-flex;

align-items:center;

gap:10px;

padding:8px 18px;

background:#F5F0FF;

border:1px solid #ECECEC;

border-radius:999px;

font-size:13px;

font-weight:600;

color:#7556E8;

}

.dot{

width:8px;

height:8px;

border-radius:50%;

background:#7556E8;

}

.section-header h2{

font-family: "Fraunces", serif;

font-size:48px;

font-weight:600;

color:#4A2B83;

margin:25px 0;

line-height:1.2;

}

.section-header p{

font-size:18px;

line-height:1.9;

color:#666;

}

.for-grid{

margin-top:70px;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:22px;

}
.for-card{

background:white;

border:1px solid #ECECEC;

border-radius:28px;

padding:35px 28px;

transition:.35s;

cursor:pointer;

}

.for-card:hover{

background:#F6F2FF;

transform:translateY(-6px);

}

.for-card h3{

margin-top:22px;

font-size:18px;

line-height:1.5;

font-weight:600;

color:#3D3554;

}
.for-icon{

width:52px;

height:52px;

display:flex;

align-items:center;

justify-content:center;

background:#E9DEFF;

border-radius:18px;

transition:.35s;

}

.for-card:hover .for-icon{

background:white;

}

.for-icon i{

width:22px;

height:22px;

color:#6B4FD3;

}
@media(max-width:1100px){

.for-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:700px){

.section-header h2{

font-size:34px;

}

.section-header p{

font-size:16px;

}

.for-grid{

grid-template-columns:1fr;

}

}
/*====================================

HOW HELP

====================================*/

.how-help{

padding:120px 0;

background:#fff;

}

.how-help-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}

.section-header.left{

text-align:left;

margin:0;

max-width:100%;

}
.help-list{

margin-top:45px;

display:flex;

flex-direction:column;

gap:22px;

list-style:none;

padding:0;

}

.help-list li{

display:flex;

align-items:flex-start;

gap:18px;

font-size:17px;

line-height:1.8;

color:#666;

}

.help-list i{

width:22px;

height:22px;

margin-top:3px;

color:#6B4FD3;

flex-shrink:0;

}
.help-right{

position:relative;

}

.help-gradient{

position:absolute;

inset:-25px;

border-radius:45px;

background:linear-gradient(135deg,#E8DFFF,#FFDDEB);

opacity:.5;

filter:blur(40px);

}
.help-card{

position:relative;

background:#4A2B83;

padding:55px;

border-radius:38px;

color:white;

box-shadow:0 25px 60px rgba(0,0,0,.15);

overflow:hidden;

}
.help-icon{

width:60px;

height:60px;

border-radius:18px;

background:#FFD84D;

display:flex;

justify-content:center;

align-items:center;

}

.help-icon i{

width:28px;

height:28px;

color:#6B4FD3;

}
.help-highlight{

margin-top:30px;

font-size:33px;

line-height:1.45;

font-weight:500;

}

.help-footer{

margin-top:45px;

padding-top:25px;

border-top:1px solid rgba(255,255,255,.2);

display:flex;

align-items:center;

gap:18px;

}

.help-footer img{

height:62px;

}

.help-footer span{

font-size:15px;

line-height:1.7;

opacity:.9;

}
@media(max-width:992px){

.how-help-grid{

grid-template-columns:1fr;

gap:50px;

}

.help-card{

padding:40px;

}

.help-highlight{

font-size:28px;

}

}
/*====================================

BENEFÍCIOS

====================================*/

.benefits{

padding:120px 0;

background:linear-gradient(to bottom,#F7F3FF,#FFFFFF);

}

.benefits-grid{

margin-top:70px;

display:grid;

grid-template-columns:repeat(3,1fr);

gap:24px;

}
.benefit-card{

display:flex;

flex-direction:column;

padding:35px;

background:#FFF;

border:1px solid #ECECEC;

border-radius:30px;

text-decoration:none;

color:inherit;

transition:.35s;

box-shadow:0 8px 20px rgba(0,0,0,.05);

}

.benefit-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

}
.benefit-icon{

width:56px;

height:56px;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

}

.benefit-icon i{

width:24px;

height:24px;

color:#6B4FD3;

}

.lilac{

background:#E8DCFF;

}

.pink{

background:#FFE1EC;

}

.yellow{

background:#FFEFA9;

}
.benefit-card h3{

margin-top:24px;

font-size:22px;

line-height:1.4;

color:#5E46B6;

}

.benefit-card p{

margin-top:16px;

line-height:1.8;

color:#666;

font-size:16px;

flex:1;

}
.benefit-card span{

margin-top:28px;

display:flex;

align-items:center;

gap:10px;

font-weight:600;

color:#6B4FD3;

transition:.3s;

}

.benefit-card:hover span{

gap:16px;

}

.benefit-card span i{

width:18px;

height:18px;

}
@media(max-width:1100px){

.benefits-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.benefits-grid{

grid-template-columns:1fr;

}

}
/*====================================

COMO FUNCIONA

====================================*/

.how-works{

padding:120px 0;

background:#fff;

}

.steps-grid{

margin-top:70px;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:24px;

}
.step-card{

background:#FFF;

border:1px solid #ECECEC;

border-radius:30px;

padding:35px;

box-shadow:0 8px 20px rgba(0,0,0,.05);

transition:.35s;

}

.step-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

}
.step-top{

display:flex;

justify-content:space-between;

align-items:center;

}
.step-number{

font-size:64px;

font-weight:600;

color:rgba(107,79,211,.15);

line-height:1;

}
.step-icon{

width:42px;

height:42px;

border-radius:14px;

background:#E9DEFF;

display:flex;

align-items:center;

justify-content:center;

}

.step-icon i{

width:18px;

height:18px;

color:#6B4FD3;

}
.step-card h3{

margin-top:20px;

font-size:22px;

line-height:1.4;

color:#5E46B6;

}

.step-card p{

margin-top:15px;

font-size:16px;

line-height:1.8;

color:#666;

}
@media(max-width:1200px){

.steps-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.steps-grid{

grid-template-columns:1fr;

}

.step-number{

font-size:52px;

}

}
/*====================================

TRUST SECTION

====================================*/

.trust-section{

position:relative;

padding:120px 0;

background:#F6F2FF;

overflow:hidden;

}
.trust-blob{

position:absolute;

width:420px;

height:420px;

left:25%;

top:40px;

background:#FFD8E9;

opacity:.45;

border-radius:50%;

filter:blur(90px);

pointer-events:none;

}

.trust-grid{

position:relative;

margin-top:70px;

display:grid;

grid-template-columns:repeat(3,1fr);

gap:24px;

}
.trust-card{

background:rgba(255,255,255,.9);

backdrop-filter:blur(14px);

border:1px solid #ECECEC;

border-radius:30px;

padding:36px;

box-shadow:0 8px 22px rgba(0,0,0,.05);

transition:.35s;

}

.trust-card:hover{

transform:translateY(-8px);

box-shadow:0 22px 48px rgba(0,0,0,.12);

}
.trust-icon{

width:46px;

height:46px;

display:flex;

justify-content:center;

align-items:center;

border-radius:14px;

background:#FFE98A;

}

.trust-icon i{

width:22px;

height:22px;

color:#6B4FD3;

}
.trust-card h3{

margin-top:24px;

font-size:22px;

font-weight:600;

color:#5E46B6;

}

.trust-card p{

margin-top:15px;

font-size:16px;

line-height:1.8;

color:#666;

}
@media(max-width:992px){

.trust-grid{

grid-template-columns:1fr;

}

.trust-card{

padding:30px;

}

}
/*====================================

FAQ

====================================*/

.faq{

padding:120px 0;

background:#fff;

}

.faq-list{

margin-top:60px;

display:flex;

flex-direction:column;

gap:18px;

}
.faq-item{

background:#FFF;

border:1px solid #ECECEC;

border-radius:26px;

overflow:hidden;

box-shadow:0 8px 20px rgba(0,0,0,.05);

transition:.3s;

}

.faq-item.active{

box-shadow:0 20px 40px rgba(0,0,0,.08);

}
.faq-question{

width:100%;

display:flex;

justify-content:space-between;

align-items:center;

padding:28px 32px;

background:none;

border:none;

cursor:pointer;

font-size:20px;

font-weight:600;

color:#5E46B6;

text-align:left;

}

.faq-question i{

width:22px;

height:22px;

transition:.35s;

}

.faq-item.active .faq-question i{

transform:rotate(180deg);

}
.faq-answer{

max-height:0;

overflow:hidden;

transition:max-height .35s ease;

padding:0 32px;

}

.faq-item.active .faq-answer{

max-height:250px;

padding:0 32px 28px;

}

.faq-answer p{

color:#666;

font-size:16px;

line-height:1.9;

}
@media(max-width:768px){

.faq-question{

font-size:18px;

padding:22px;

}

.faq-answer{

padding:0 22px;

}

.faq-item.active .faq-answer{

padding:0 22px 22px;

}

}
/*==============================

CONTACT

===============================*/

.contact{

position:relative;

padding:120px 0;

background:linear-gradient(135deg,#F8F3FF,#FFF,#FFEFF5);

overflow:hidden;

}

.contact-grid{

display:grid;

grid-template-columns:1fr 1.1fr;

gap:70px;

align-items:flex-start;

}

.contact-blob{

position:absolute;

right:-120px;

top:-120px;

width:420px;

height:420px;

background:#DCCEFF;

border-radius:50%;

filter:blur(110px);

opacity:.5;

}
.whatsapp-card{

display:flex;

align-items:center;

gap:18px;

margin-top:40px;

padding:18px 22px;

background:#FFF;

border-radius:22px;

border:1px solid #ECECEC;

text-decoration:none;

transition:.35s;

width:max-content;

}

.whatsapp-card:hover{

background:#F6F2FF;

}

.whatsapp-icon{

width:52px;

height:52px;

display:flex;

justify-content:center;

align-items:center;

background:#FFE98A;

border-radius:16px;

}

.whatsapp-icon i{

width:22px;

height:22px;

color:#6B4FD3;

}
.contact-cards{

display:grid;

grid-template-columns:1fr 1fr;

gap:18px;

margin-top:25px;

}

.contact-box{

padding:25px;

background:#FFF;

border-radius:22px;

border:1px solid #ECECEC;

}

.contact-box strong{

font-size:15px;

color:#5E46B6;

}


.contact-box{

padding:25px;

background:#FFF;

border-radius:22px;

border:1px solid #ECECEC;

}

.contact-box i{

width:20px;

height:20px;

color:#6B4FD3;

margin-bottom:15px;

}

.contact-box small{

display:block;

color:#999;

margin-bottom:8px;

}
.contact-form-card{

background:#FFF;

padding:45px;

border-radius:35px;

border:1px solid #ECECEC;

box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.field{

display:flex;

flex-direction:column;

margin-bottom:22px;

}

.field label{

margin-bottom:8px;

font-size:14px;

font-weight:600;

color:#555;

}

.field input,
.field textarea{

padding:15px 18px;

border-radius:16px;

border:1px solid #DDD;

font-size:15px;

outline:none;

transition:.3s;

}

.field input:focus,
.field textarea:focus{

border-color:#6B4FD3;

}

.double-field{

display:grid;

grid-template-columns:1fr 1fr;

gap:18px;

}
.send-btn{

margin-top:10px;

display:flex;

justify-content:center;

align-items:center;

gap:10px;

width:100%;

padding:18px;

background:#6B4FD3;

color:#FFF;

border:none;

border-radius:50px;

cursor:pointer;

font-size:16px;

font-weight:600;

transition:.35s;

}

.send-btn:hover{

opacity:.9;

}

.send-btn i{

width:18px;

height:18px;

}
.success-message{

display:none;

text-align:center;

padding:40px;

}

.success-message.active{

display:block;

}

.success-icon{

width:70px;

height:70px;

margin:auto;

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

background:#FFE98A;

}

.success-icon i{

width:34px;

height:34px;

color:#6B4FD3;

}

.success-message h3{

margin:25px 0 10px;

font-size:30px;

color:#5E46B6;

}

.success-message p{

color:#666;

}
@media(max-width:900px){

.contact-grid{

grid-template-columns:1fr;

}

.double-field{

grid-template-columns:1fr;

}

.contact-cards{

grid-template-columns:1fr;

}

.whatsapp-card{

width:100%;

}

.contact-form-card{

padding:30px;

}

}
.floating-card{
    position:absolute;
    display:flex;
    align-items:center;
    gap:12px;

    background:#fff;

    padding:12px 18px;

    border-radius:999px;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

    z-index:20;
}

.top-card{
    top:40px;
    left:-35px;
}

.bottom-card{
    bottom:45px;
    right:-35px;
}

.floating-icon{
    width:42px;
    height:42px;

    border-radius:50%;

    background:#FFE98A;

    display:flex;
    justify-content:center;
    align-items:center;
}

.floating-icon svg{
    width:20px;
    height:20px;
    color:#6B4FD3;
}

.floating-card small{
    display:block;
    font-size:12px;
    color:#777;
}

.floating-card strong{
    display:block;
    font-size:18px;
    color:#5E46B6;
}

/*====================================

PÁGINA DE BENEFÍCIO (hero interno)

====================================*/

.benefit-hero{
position:relative;
overflow:hidden;
padding:70px 0 60px;
}

.benefit-hero .container{
position:relative;
z-index:2;
max-width:860px;
}

.back-link{
display:inline-flex;
align-items:center;
gap:8px;
font-size:14px;
font-weight:500;
color:#7556E8;
transition:.3s;
}

.back-link:hover{
color:#4A2B83;
}

.back-link i{
width:16px;
height:16px;
}

.benefit-hero .hero-badge{
margin-top:26px;
}

.benefit-hero h1{
font-family:"Fraunces",serif;
margin-top:22px;
font-size:52px;
line-height:1.1;
font-weight:500;
color:#4A2B83;
}

.benefit-intro{
margin-top:26px;
}

.benefit-intro p{
margin-top:16px;
font-size:18px;
line-height:1.9;
color:#666;
}

.benefit-intro p:first-child{
margin-top:0;
}

@media(max-width:768px){

.benefit-hero h1{
font-size:36px;
}

}

/*====================================

PÁGINA DE BENEFÍCIO (seções)

====================================*/

.benefit-section{
padding:64px 0;
}

.benefit-section.alt{
background:#FAF7FF;
}

.benefit-section h2{
font-family:"Fraunces",serif;
font-size:32px;
font-weight:600;
color:#4A2B83;
line-height:1.25;
max-width:800px;
}

.benefit-section .section-text{
margin-top:18px;
font-size:17px;
line-height:1.9;
color:#666;
max-width:760px;
}

.info-grid{
margin-top:36px;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
}

.info-card{
background:#fff;
border:1px solid #ECECEC;
border-radius:24px;
padding:26px;
box-shadow:0 6px 24px rgba(74,43,131,.08);
}

.info-icon{
display:flex;
justify-content:center;
align-items:center;
width:40px;
height:40px;
border-radius:14px;
margin-bottom:18px;
}

.info-icon.c-lilac{ background:#DCCFFF; }
.info-icon.c-pink{ background:#FFDCEB; }
.info-icon.c-yellow{ background:#FFE88F; }

.info-icon i{
width:18px;
height:18px;
color:#4A2B83;
}

.info-card h3{
font-size:16px;
font-weight:600;
color:#333;
line-height:1.45;
}

.check-list{
margin-top:30px;
display:grid;
grid-template-columns:repeat(2,1fr);
gap:12px;
max-width:760px;
}

.check-item{
display:flex;
align-items:flex-start;
gap:12px;
background:#F5F0FF;
border:1px solid #ECECEC;
border-radius:18px;
padding:16px 20px;
}

.check-item i{
width:20px;
height:20px;
color:#4A2B83;
flex-shrink:0;
margin-top:2px;
}

.check-item span{
font-size:14px;
color:#444;
line-height:1.7;
}

@media(max-width:768px){

.info-grid{
grid-template-columns:1fr;
}

.check-list{
grid-template-columns:1fr;
}

}

/*====================================

VEJA TAMBÉM

====================================*/

.see-also{
padding:70px 0;
background:#F5F0FF;
}

.see-also h2{
text-align:center;
font-family:"Fraunces",serif;
font-size:32px;
font-weight:600;
color:#4A2B83;
}

.see-also-grid{
margin-top:50px;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.see-also-back{
margin-top:50px;
text-align:center;
}

.see-also-back a{
display:inline-flex;
align-items:center;
gap:8px;
font-size:15px;
font-weight:500;
color:#4A2B83;
transition:.3s;
}

.see-also-back a:hover{
opacity:.75;
}

.see-also-back i{
width:16px;
height:16px;
}

@media(max-width:900px){

.see-also-grid{
grid-template-columns:1fr;
}

}

/*======================================

COOKIES / CONSENTIMENTO

=======================================*/

.cookie-banner{

position:fixed;

left:50%;

transform:translateX(-50%);

bottom:20px;

z-index:1200;

width:min(1100px,calc(100% - 32px));

background:#FFF;

border:1px solid #ECECEC;

border-radius:24px;

box-shadow:0 20px 45px rgba(0,0,0,.16);

padding:22px 26px;

}

.cookie-banner-inner{

display:flex;

align-items:center;

justify-content:space-between;

gap:24px;

}

.cookie-banner-title{

font-size:16px;

font-weight:700;

color:#4A2B83;

margin-bottom:6px;

}

.cookie-banner-desc{

font-size:14px;

line-height:1.55;

color:#666;

}

.cookie-banner-desc a{

color:#6B4FD3;

font-weight:600;

text-decoration:underline;

}

.cookie-banner-actions{

display:flex;

align-items:center;

gap:12px;

flex-shrink:0;

}

.cookie-btn{

padding:13px 26px;

border-radius:50px;

font-size:15px;

font-weight:600;

cursor:pointer;

transition:.3s;

border:1px solid transparent;

}

.cookie-btn--primary{

background:#6B4FD3;

color:#FFF;

}

.cookie-btn--primary:hover{

opacity:.9;

}

.cookie-btn--ghost{

background:#FFF;

color:#5E46B6;

border-color:#DCCFFF;

}

.cookie-btn--ghost:hover{

background:#F5F0FF;

}

.cookie-btn:focus-visible,
.send-btn:focus-visible{

outline:3px solid #7556E8;

outline-offset:3px;

}

@media(max-width:760px){

.cookie-banner{

bottom:12px;

padding:20px;

border-radius:20px;

}

.cookie-banner-inner{

flex-direction:column;

align-items:stretch;

gap:18px;

}

.cookie-banner-actions{

justify-content:stretch;

}

.cookie-btn{

flex:1;

}

}
/*======================================

ESTADOS DO FORMULARIO

=======================================*/

.field input.error,
.field textarea.error{

border-color:#D94A5A;

background:#FFF6F7;

}

.form-status{

margin-top:14px;

font-size:14px;

line-height:1.5;

text-align:center;

color:#5E46B6;

}

.form-status--error{

color:#C23346;

}

.send-btn:disabled{

cursor:not-allowed;

opacity:.75;

}

.send-btn.is-loading::before{

content:"";

width:17px;

height:17px;

border-radius:50%;

border:2px solid rgba(255,255,255,.4);

border-top-color:#FFF;

animation:send-btn-spin .7s linear infinite;

}

@keyframes send-btn-spin{

to{transform:rotate(360deg);}

}

@media(prefers-reduced-motion:reduce){

.send-btn.is-loading::before{

animation:none;

}

}

/*======================================

VALIDACAO DOS CAMPOS

=======================================*/

.field-req{

color:#C23346;

font-weight:700;

margin-left:2px;

}

.field-error{

margin-top:7px;

font-size:13px;

line-height:1.45;

color:#C23346;

}

.field-hint{

margin-top:7px;

font-size:12px;

color:#999;

text-align:right;

}

.field input:focus-visible,
.field textarea:focus-visible{

outline:3px solid #7556E8;

outline-offset:2px;

}

.field input.error:focus,
.field textarea.error:focus{

border-color:#C23346;

}

.form-lgpd{

margin-top:16px;

font-size:12.5px;

line-height:1.55;

color:#8A8A8A;

text-align:center;

}

.form-lgpd a{

color:#6B4FD3;

text-decoration:underline;

}

.success-message:focus{

outline:none;

}
