/*======================================================
RKACRED
style.css
======================================================*/

:root{

    --primary:#0b3d91;
    --primary-dark:#082b67;
    --secondary:#1ab15f;
    --secondary-dark:#14994f;

    --white:#ffffff;
    --light:#f5f7fb;
    --gray:#7b8496;
    --dark:#17202a;

    --radius:18px;

    --shadow:
        0 15px 45px rgba(0,0,0,.08);

    --transition:.35s ease;

    --container:1200px;

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;
background:#fff;
color:var(--dark);
overflow-x:hidden;
line-height:1.7;

}

img{

max-width:100%;
display:block;

}

a{

text-decoration:none;
color:inherit;

}

ul{

list-style:none;

}

.container{

width:min(92%,var(--container));
margin:auto;

}

/*=================================
BOTÕES
=================================*/

.btn-primary{

display:inline-flex;
align-items:center;
justify-content:center;

padding:18px 36px;

background:var(--secondary);

color:#fff;

font-weight:600;

border-radius:999px;

transition:var(--transition);

box-shadow:
0 15px 30px rgba(26,177,95,.35);

}

.btn-primary:hover{

transform:translateY(-4px);

background:var(--secondary-dark);

}

.btn-secondary{

display:inline-flex;

padding:18px 36px;

border:2px solid rgba(255,255,255,.4);

color:#fff;

border-radius:999px;

transition:var(--transition);

backdrop-filter:blur(8px);

}

.btn-secondary:hover{

background:#fff;
color:var(--primary);

}

/*=================================
HEADER
=================================*/

#header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:9999;

transition:.4s;

}

#header.active{

background:
linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

#header.active .menu a{

color:var(--white);

}

#header.active .btn-menu{

background:var(--secondary);

color:#fff;

}

/*=================================
NAVBAR
=================================*/

.navbar{

padding:18px 0;

}

.navbar .container{

display:flex;

align-items:center;

justify-content:space-between;

}

.logo img{

height:130px;
width: 100%;

}

.menu{

display:flex;

gap:35px;

}

.menu a{

font-weight:500;

color:#fff;

transition:.3s;

position:relative;

}

.menu a::after{

content:"";

position:absolute;

left:0;
bottom:-6px;

width:0;

height:2px;

background:var(--secondary);

transition:.3s;

}

.menu a:hover::after{

width:100%;

}

.btn-menu{

padding:14px 24px;

border-radius:999px;

background:#fff;

color:var(--primary);

font-weight:700;

transition:.35s;

}

.btn-menu:hover{

transform:translateY(-3px);

}

.menu-mobile{

display:none;

flex-direction:column;

gap:6px;

cursor:pointer;

}

.menu-mobile span{

width:30px;

height:3px;

background:#fff;

border-radius:10px;

}

/*=================================
HERO
=================================*/

.hero{

position:relative;

min-height:100vh;

display:flex;

align-items:center;

overflow:hidden;

}

.hero-video{

position:absolute;

width:100%;
height:100%;

object-fit:cover;

top:0;
left:0;

}

.overlay{

position:absolute;

inset:0;

background:

linear-gradient(
135deg,
rgba(8,32,71,.82),
rgba(4,26,54,.70)
);

}

.hero-content{

position:relative;

z-index:2;

display:flex;

align-items:center;

padding-top:220px;

padding-bottom:90px;

}

.hero-text{

max-width:700px;

color:#fff;

}

.hero-logo{

width:220px;

margin-bottom:30px;

}

.badge{

display:inline-flex;

padding:10px 22px;

background:rgba(255,255,255,.15);

backdrop-filter:blur(10px);

border:1px solid rgba(255,255,255,.15);

border-radius:999px;

margin-bottom:30px;

font-size:.9rem;

}

.hero h1{

font-family:'Montserrat',sans-serif;

font-size:clamp(2.8rem,5vw,4.6rem);

font-weight:800;

line-height:1.1;

margin-bottom:25px;

}

.hero p{

font-size:1.1rem;

max-width:650px;

opacity:.95;

margin-bottom:40px;

}

.hero-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

margin-bottom:60px;

}

.hero-info{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

.hero-info div{

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.10);

backdrop-filter:blur(10px);

padding:25px;

border-radius:var(--radius);

}

.hero-info h3{

font-size:2rem;

margin-bottom:6px;

font-family:'Montserrat',sans-serif;

}

.hero-info span{

font-size:.95rem;

opacity:.85;

}

/*=================================
SECTION TITLE
=================================*/

.section-title{

text-align:center;

max-width:760px;

margin:0 auto 70px;

}

.section-title span{

display:inline-block;

padding:10px 22px;

background:#eaf5ff;

color:var(--primary);

border-radius:999px;

font-weight:600;

margin-bottom:18px;

}

.section-title h2{

font-family:'Montserrat',sans-serif;

font-size:2.6rem;

margin-bottom:18px;

color:var(--dark);

}

.section-title p{

color:var(--gray);

font-size:1.05rem;

}

/*=================================
SERVIÇOS
=================================*/

.services{

padding:120px 0;

background:#fff;

}

.services-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.card{

background:#fff;

padding:45px 35px;

border-radius:24px;

box-shadow:var(--shadow);

transition:.35s;

border:1px solid #edf1f7;

}

.card:hover{

transform:translateY(-10px);

}

.card .icon{

width:72px;

height:72px;

display:flex;

align-items:center;

justify-content:center;

border-radius:20px;

background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

color:#fff;

margin-bottom:28px;

}

.card .icon svg{

width:34px;

height:34px;

}

.card h3{

font-size:1.35rem;

margin-bottom:15px;

font-family:'Montserrat',sans-serif;

}

.card p{

color:var(--gray);

}

/*=================================
VANTAGENS
=================================*/

.advantages{

padding:120px 0;

background:linear-gradient(
180deg,
#f8fbff 0%,
#eef5fb 100%
);

position:relative;

overflow:hidden;

}

.advantages::before{

content:"";

position:absolute;

width:420px;
height:420px;

border-radius:50%;

background:rgba(11,61,145,.05);

top:-150px;
right:-150px;

}

.advantages-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:35px;

position:relative;

z-index:2;

}

.advantage-card{

background:#fff;

padding:45px;

border-radius:22px;

box-shadow:var(--shadow);

transition:.35s;

position:relative;

overflow:hidden;

}

.advantage-card:hover{

transform:translateY(-10px);

}

.advantage-card::before{

content:"";

position:absolute;

top:0;
left:0;

width:6px;
height:100%;

background:linear-gradient(
180deg,
var(--primary),
var(--secondary)
);

}

.number{

font-size:3rem;

font-family:'Montserrat',sans-serif;

font-weight:800;

color:rgba(11,61,145,.12);

margin-bottom:15px;

}

.advantage-card h3{

font-size:1.5rem;

margin-bottom:15px;

font-family:'Montserrat',sans-serif;

}

.advantage-card p{

color:var(--gray);

}

/*=================================
COMO FUNCIONA
=================================*/

.how-it-works{

padding:120px 0;

background:#fff;

}

.steps{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

position:relative;

}

.steps::before{

content:"";

position:absolute;

top:35px;
left:12%;

width:76%;

height:3px;

background:#e5edf8;

z-index:0;

}

.step{

text-align:center;

position:relative;

z-index:2;

}

.step-circle{

width:72px;
height:72px;

margin:auto;

display:flex;
align-items:center;
justify-content:center;

border-radius:50%;

background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

color:#fff;

font-size:1.5rem;

font-weight:700;

margin-bottom:25px;

box-shadow:
0 15px 30px rgba(11,61,145,.20);

}

.step h3{

margin-bottom:15px;

font-family:'Montserrat',sans-serif;

font-size:1.3rem;

}

.step p{

color:var(--gray);

padding:0 10px;

}

/*=================================
PARCEIROS
=================================*/

.partners{

padding:120px 0;

background:#f7f9fc;

}

.partners-slider{

overflow:hidden;

-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);

mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);

}

.partners-track{

display:flex;

align-items:center;

gap:60px;

width:max-content;

animation:partnersScroll 28s linear infinite;

}

.partners-slider:hover .partners-track{

animation-play-state:paused;

}

.partner-logo{

flex:0 0 auto;

width:160px;

height:70px;

display:flex;

align-items:center;

justify-content:center;

}

.partner-logo img{

width:100%;

max-height:70px;

object-fit:contain;

filter:grayscale(100%);

opacity:.65;

transition:.35s;

}

.partner-logo:hover img{

filter:none;

opacity:1;

transform:scale(1.05);

}

.partner-fallback{

display:none;

width:100%;

height:100%;

align-items:center;

justify-content:center;

text-align:center;

padding:10px 18px;

border:1.5px dashed #c7d2e3;

border-radius:12px;

color:var(--gray);

font-weight:600;

font-size:.85rem;

white-space:nowrap;

}

@keyframes partnersScroll{

0%{

transform:translateX(0);

}

100%{

transform:translateX(-50%);

}

}

@media(prefers-reduced-motion:reduce){

.partners-track{

animation:none;

}

}

/*=================================
CTA
=================================*/

.cta{

padding:120px 0;

background:

linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);

position:relative;

overflow:hidden;

}

.cta::before{

content:"";

position:absolute;

width:550px;
height:550px;

border-radius:50%;

background:rgba(255,255,255,.05);

right:-220px;
top:-220px;

}

.cta-content{

position:relative;

z-index:2;

text-align:center;

max-width:850px;

margin:auto;

color:#fff;

}

.cta-content span{

display:inline-block;

padding:10px 24px;

border-radius:999px;

background:rgba(255,255,255,.12);

backdrop-filter:blur(10px);

margin-bottom:25px;

font-weight:600;

}

.cta-content h2{

font-family:'Montserrat',sans-serif;

font-size:3rem;

margin-bottom:25px;

line-height:1.2;

}

.cta-content p{

font-size:1.1rem;

max-width:700px;

margin:auto;

margin-bottom:40px;

opacity:.9;

}

.cta .btn-primary{

font-size:1.05rem;

padding:20px 42px;

}

/*=================================
EFEITOS GERAIS
=================================*/

.card,
.advantage-card,
.step,
.partner-logo img{

transition:all .35s ease;

}

.card:hover,
.advantage-card:hover{

box-shadow:
0 25px 60px rgba(0,0,0,.12);

}

/*=================================
FAQ
=================================*/

.faq{

padding:120px 0;

background:#fff;

}

.faq-container{

max-width:900px;

margin:auto;

}

.faq-item{

background:#fff;

border:1px solid #e8edf4;

border-radius:18px;

margin-bottom:20px;

overflow:hidden;

box-shadow:0 8px 25px rgba(0,0,0,.04);

transition:.35s;

}

.faq-item:hover{

box-shadow:0 18px 40px rgba(0,0,0,.08);

}

.faq-question{

width:100%;

display:flex;

justify-content:space-between;

align-items:center;

padding:28px 30px;

background:#fff;

border:none;

cursor:pointer;

font-size:1.08rem;

font-weight:600;

font-family:'Montserrat',sans-serif;

}

.faq-question span{

font-size:1.8rem;

color:var(--primary);

transition:.35s;

}

.faq-item.active .faq-question span{

transform:rotate(45deg);

}

.faq-answer{

display:none;

padding:0 30px 30px;

color:var(--gray);

}

.faq-item.active .faq-answer{

display:block;

}

/*=================================
CONTATO
=================================*/

.contact{

padding:120px 0;

background:#f7f9fc;

}

.contact-content{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

align-items:center;

}

.contact-info span{

display:inline-block;

padding:10px 20px;

border-radius:999px;

background:#eaf5ff;

color:var(--primary);

font-weight:600;

margin-bottom:20px;

}

.contact-info h2{

font-family:'Montserrat',sans-serif;

font-size:2.8rem;

margin-bottom:20px;

}

.contact-info p{

color:var(--gray);

margin-bottom:35px;

}

.contact-info ul li{

margin-bottom:25px;

font-size:1rem;

}

.contact-info strong{

display:block;

margin-bottom:6px;

color:var(--primary);

}

.contact-info a{

color:var(--secondary);

font-weight:600;

}

.contact-map{

border-radius:24px;

overflow:hidden;

box-shadow:var(--shadow);

}

.contact-map iframe{

width:100%;

height:520px;

border:0;

}

/*=================================
FOOTER
=================================*/

footer{

background:#071a37;

color:#fff;

padding-top:80px;

}

.footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr 1fr;

gap:50px;

padding-bottom:60px;

}

.footer-logo{

width:180px;

margin-bottom:25px;

}

.footer-grid p{

opacity:.8;

line-height:1.8;

}

.footer-grid h4{

margin-bottom:22px;

font-family:'Montserrat',sans-serif;

font-size:1.2rem;

}

.footer-grid li{

margin-bottom:14px;

opacity:.8;

transition:.3s;

}

.footer-grid li:hover{

opacity:1;

transform:translateX(5px);

}

.footer-grid a:hover{

color:var(--secondary);

}

.footer-bottom{

padding:25px;

text-align:center;

border-top:1px solid rgba(255,255,255,.08);

font-size:.95rem;

opacity:.75;

}

/*=================================
WHATSAPP
=================================*/

.whatsapp-float{

position:fixed;

right:30px;

bottom:30px;

width:68px;

height:68px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:var(--secondary);

color:#fff;

box-shadow:
0 20px 45px rgba(26,177,95,.45);

z-index:999;

transition:.35s;

animation:whats 2s infinite;

}

.whatsapp-float:hover{

transform:scale(1.1);

background:var(--secondary-dark);

}

@keyframes whats{

0%{

transform:scale(1);

}

50%{

transform:scale(1.08);

}

100%{

transform:scale(1);

}

}

/*=================================
PÁGINA LEGAL (LGPD / POLÍTICA)
=================================*/

.legal-hero{

background:linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);

color:#fff;

padding:180px 0 70px;

text-align:center;

}

.legal-hero h1{

font-family:'Montserrat',sans-serif;

font-size:2.6rem;

margin-bottom:16px;

}

.legal-hero p{

opacity:.85;

max-width:640px;

margin:auto;

}

.legal-content{

padding:90px 0;

background:#fff;

}

.legal-content .container{

max-width:860px;

}

.legal-content h2{

font-family:'Montserrat',sans-serif;

font-size:1.6rem;

color:var(--primary);

margin:48px 0 18px;

}

.legal-content h2:first-of-type{

margin-top:0;

}

.legal-content p{

color:var(--dark);

opacity:.85;

margin-bottom:16px;

}

.legal-content ul{

list-style:disc;

padding-left:22px;

margin-bottom:16px;

}

.legal-content ul li{

color:var(--dark);

opacity:.85;

margin-bottom:10px;

}

.legal-content strong{

color:var(--dark);

opacity:1;

}

.legal-content a{

color:var(--secondary-dark);

font-weight:600;

text-decoration:underline;

}

.legal-note{

background:#eaf5ff;

border-left:4px solid var(--primary);

border-radius:12px;

padding:20px 24px;

margin-bottom:16px;

font-size:.95rem;

color:var(--dark);

}

.legal-updated{

opacity:.6;

font-size:.9rem;

margin-bottom:40px;

}

/*=================================
VOLTAR AO TOPO
=================================*/

.back-top{

position:fixed;

left:30px;

bottom:30px;

width:52px;

height:52px;

border-radius:50%;

border:none;

background:var(--primary);

color:#fff;

font-size:1.3rem;

line-height:1;

display:flex;

align-items:center;

justify-content:center;

cursor:pointer;

box-shadow:0 15px 35px rgba(11,61,145,.35);

opacity:0;

visibility:hidden;

transform:translateY(15px);

transition:.35s ease;

z-index:998;

}

.back-top.show{

opacity:1;

visibility:visible;

transform:translateY(0);

}

.back-top:hover{

background:var(--primary-dark);

transform:translateY(-4px);

}

/*=================================
SCROLLBAR
=================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#edf2f8;

}

::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--primary-dark);

}

/*=================================
SELEÇÃO
=================================*/

::selection{

background:var(--secondary);

color:#fff;

}

/*=================================
UTILITÁRIOS
=================================*/

section{

position:relative;

}

.hidden{

opacity:0;

transform:translateY(40px);

transition:.8s;

}

.show{

opacity:1;

transform:translateY(0);

}

.text-center{

text-align:center;

}

.mb-0{

margin-bottom:0;

}

.mb-30{

margin-bottom:30px;

}

.mb-60{

margin-bottom:60px;

}

.py-120{

padding:120px 0;

}

/*=================================
TRANSIÇÕES GLOBAIS
=================================*/

button,
a,
.card,
.advantage-card,
.step,
.faq-item,
.btn-primary,
.btn-secondary,
.btn-menu{

transition:all .35s ease;

}