/* Layout limpo do site: cabeçalho e menu, início, cards, carrossel, simulador, páginas internas e rodapé.
   Cores, fontes e botões base vêm de base.css. */
:root{--curva:cubic-bezier(0.22,1,0.36,1);--raio:16px}
body{background:var(--paper)}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.btn{padding:12px 20px;font-size:16px;font-weight:600;transition:transform .3s var(--curva),background .3s var(--curva),border-color .3s var(--curva),color .3s var(--curva)}
.btn:active{transform:scale(.98)}
.btn-escuro{background:var(--navy);color:#fff}
.btn-escuro:hover{background:#1d2c47}
.btn-line{background:var(--white);border:1.5px solid var(--line);color:var(--navy)}
.btn-line:hover{border-color:var(--navy)}
.btn-cheio{width:100%;justify-content:center}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,.trilho:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.eyebrow{font-size:12px;letter-spacing:.14em}
.link-seta{font-weight:700;color:var(--navy);text-decoration:none;white-space:nowrap}
.link-seta::after{content:" →"}
.link-seta:hover{color:var(--gold-dark)}

/* cabeçalho */
.topo{position:sticky;top:0;z-index:40;background:rgba(250,248,243,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s var(--curva),box-shadow .3s var(--curva)}
.topo.rolou{border-color:var(--line);box-shadow:0 8px 24px -20px rgba(14,23,38,.5)}
.topo-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}
.marca img{height:38px;width:auto}
.marca span{font:700 14px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase}
.marca small{display:block;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);font-size:12px}
.menu{display:flex;align-items:center;gap:32px}
.menu ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.menu ul a{color:var(--ink);text-decoration:none;font-weight:600;font-size:14px;padding:8px 0;border-bottom:2px solid transparent;transition:border-color .3s var(--curva),color .3s var(--curva)}
.menu ul a:hover{color:var(--navy);border-color:var(--line)}
.menu ul a[aria-current="page"]{color:var(--navy);border-color:var(--gold)}
.menu-wpp{padding:8px 16px;font-size:14px}
.hamb{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;position:relative;z-index:2}
.hamb span{position:absolute;left:11px;right:11px;height:2px;background:var(--navy);border-radius:2px;transition:transform .5s var(--curva)}
.hamb span:first-child{top:17px}.hamb span:last-child{top:25px}
.menu-aberto .hamb span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-aberto .hamb span:last-child{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:899px){
  .hamb{display:block}
  .menu{position:fixed;inset:0;z-index:1;flex-direction:column;align-items:stretch;justify-content:center;gap:40px;padding:96px 24px 40px;background:rgba(250,248,243,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;pointer-events:none;transition:opacity .4s var(--curva)}
  .menu ul{flex-direction:column;gap:8px}
  .menu ul a{display:block;font:400 40px/1.15 var(--display);text-transform:uppercase;border:0;padding:4px 0;opacity:0;transform:translateY(24px);transition:opacity .5s var(--curva),transform .5s var(--curva)}
  .menu-aberto .menu{opacity:1;pointer-events:auto}
  .menu-aberto .menu ul a{opacity:1;transform:none}
  .menu-aberto .menu li:nth-child(2) a{transition-delay:.06s}
  .menu-aberto .menu li:nth-child(3) a{transition-delay:.12s}
  .menu-aberto .menu li:nth-child(4) a{transition-delay:.18s}
  .menu-aberto .menu li:nth-child(5) a{transition-delay:.24s}
  .menu ul a[aria-current="page"]{color:var(--gold-dark)}
  .menu-wpp{justify-content:center;padding:14px 20px;font-size:16px}
  .menu-aberto{overflow:hidden}
  /* o desfoque do cabeçalho prenderia o painel fixo dentro dele */
  .menu-aberto .topo{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}
}

/* início: topo */
.h-hero{padding:56px 0 64px}
.h-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.h-txt h1{font-size:clamp(40px,5.6vw,64px);line-height:1.02;text-transform:uppercase;color:var(--navy);margin:16px 0 0;max-width:680px}
.h-txt h1.com-eyebrow{margin-top:0}
.h-txt h1 .eyebrow{display:block;margin-bottom:16px;line-height:1.4}
.h-txt .lead{font-size:18px;line-height:1.6;color:var(--ink);max-width:560px;margin:20px 0 32px}
.h-txt .ctas{display:flex;gap:12px;flex-wrap:wrap}
.prova{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin:28px 0 0;font-size:14px;color:var(--muted)}
.prova .nota{color:var(--ink);font-weight:700;text-decoration:none}
.prova .nota span{color:var(--gold-dark);letter-spacing:2px;margin-right:4px}
.h-foto{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/5;background:var(--line)}
.h-foto > img{width:100%;height:100%;object-fit:cover}
.h-selo{position:absolute;left:16px;bottom:16px;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.94);border-radius:999px;padding:6px 18px 6px 6px;font-size:13px;color:var(--muted)}
.h-selo img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.h-selo b{display:block;color:var(--navy);font-size:14px}
@media (max-width:900px){.h-hero{padding:24px 0 48px}.h-hero-in{grid-template-columns:1fr;gap:32px}.h-foto{aspect-ratio:4/3}}

.beneficios{border-block:1px solid var(--line);background:var(--white)}
.ben-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.ben-grid > div{padding:32px 24px;border-right:1px solid var(--line)}
.ben-grid > div:first-child{padding-left:0}
.ben-grid > div:last-child{border-right:0}
.ben-grid h2{font:400 24px/1.1 var(--display);text-transform:uppercase;color:var(--navy);margin:0 0 8px}
.ben-grid p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:800px){.ben-grid{grid-template-columns:1fr}.ben-grid > div{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.ben-grid > div:last-child{border-bottom:0}}

/* seções */
.sec{padding:80px 0}
.sec h2{font-size:clamp(32px,4.4vw,48px);text-transform:uppercase;color:var(--navy);margin:8px 0 0}
.sec-topo{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.sec-cab{max-width:680px;margin-bottom:40px}
.sec-cab p{color:var(--muted);font-size:17px;margin:16px 0 0}
.sec-cab.centro{margin-inline:auto;text-align:center}
.sec-claro{background:var(--white);border-block:1px solid var(--line)}
.estreito{max-width:820px}

/* cards */
.card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .5s var(--curva),box-shadow .5s var(--curva)}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(14,23,38,.45)}
.card-img{position:relative;aspect-ratio:4/3;background:linear-gradient(150deg,#1d2c47 0%,var(--navy) 70%);overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--curva)}
.card:hover .card-img img{transform:scale(1.04)}
.card-img .ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:#fff}
.card-img .ph strong{font:400 30px/1 var(--display);text-transform:uppercase}
.card-img .ph small{color:var(--gold);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-top:6px}
.card .selo{position:absolute;top:12px;left:12px}
.card-txt{padding:20px 20px 24px;display:flex;flex-direction:column;gap:4px}
.card-txt small{color:var(--muted);font-size:13px;font-weight:600}
.card-txt h3{font:400 28px/1.05 var(--display);text-transform:uppercase;color:var(--navy);margin:4px 0}
.card-txt p{margin:0;color:var(--ink);font-size:14px}
.card-txt b{margin-top:12px;font-size:15px;color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cards{grid-template-columns:1fr}}

/* carrossel */
.carrossel{position:relative}
.trilho{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 0 16px;scrollbar-width:none;overscroll-behavior-x:contain}
.trilho::-webkit-scrollbar{display:none}
.trilho > .card{scroll-snap-align:start}
@media (max-width:980px){.trilho{grid-auto-columns:calc((100% - 24px)/2)}}
@media (max-width:640px){.trilho{grid-auto-columns:86%;gap:16px}}
.seta{position:absolute;top:calc(((100% - 16px) * 0) + 96px);z-index:3;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--navy);display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 24px -14px rgba(14,23,38,.5);transition:transform .3s var(--curva),opacity .3s var(--curva)}
.seta:hover{transform:scale(1.06)}
.seta:active{transform:scale(.96)}
.seta:disabled{opacity:0;pointer-events:none}
.seta.ant{left:-24px}.seta.prox{right:-24px}
@media (max-width:1240px){.seta.ant{left:-8px}.seta.prox{right:-8px}}
@media (max-width:640px){.seta{display:none}}
.pontos{display:flex;gap:8px;justify-content:center;margin-top:16px;min-height:8px}
.pontos span{width:8px;height:8px;border-radius:50%;background:var(--line);transition:transform .3s var(--curva),background .3s var(--curva)}
.pontos span.on{background:var(--navy);transform:scale(1.25)}

/* simulador */
.sec-sim{background:var(--white);border-block:1px solid var(--line)}
.sim{max-width:820px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:32px}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
@media (max-width:640px){.campos{grid-template-columns:1fr}.sim{padding:24px 16px}}
.sim label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;color:var(--ink)}
.sim .opc{font-weight:400;color:var(--muted)}
.sim input:not([type=checkbox]),.sim select,.filtro select{width:100%;font:500 16px var(--body);color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px;min-height:48px;transition:border-color .3s var(--curva)}
.sim input:hover,.sim select:hover,.filtro select:hover{border-color:#cfc8b8}
.sim input:focus,.sim select:focus,.filtro select:focus{outline:none;border-color:var(--navy)}
.sim [aria-invalid="true"]{border-color:#B42318}
.entrada-r{position:relative;display:block}
.entrada-r > span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600}
.entrada-r input{padding-left:40px !important}
.erro{color:#B42318;font-weight:600}
.erro:empty{display:none}
.checks{border:0;padding:0;margin:24px 0;display:grid;gap:12px}
.checks label{flex-direction:row;align-items:flex-start;gap:12px;font-weight:500}
.checks input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy);flex:none}
.sim .aviso{margin-top:12px;text-align:center}
.resultado{max-width:820px;margin:32px auto 0;border:2px solid var(--gold);border-radius:24px;padding:32px;background:var(--paper);animation:sobe .6s var(--curva)}
@media (max-width:640px){.resultado{padding:24px 16px}}
.resultado:focus{outline:none}
@keyframes sobe{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.res-topo small{font:700 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}
.res-topo h3{font:400 clamp(30px,4vw,44px)/1.05 var(--display);text-transform:uppercase;color:var(--navy);margin:8px 0 12px}
.res-topo ul{margin:0;padding-left:20px;display:grid;gap:8px}
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0}
.nums div{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:16px}
.nums small{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nums b{font:400 24px var(--display);color:var(--navy)}
.resultado h4{font:700 14px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin:24px 0 12px}
.cabem{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.mini{display:flex;gap:12px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:8px;text-decoration:none;transition:border-color .3s var(--curva),transform .3s var(--curva)}
.mini:hover{border-color:var(--navy);transform:translateY(-2px)}
.mini img{width:88px;height:72px;object-fit:cover;border-radius:8px;flex:none}
.mini span{display:flex;flex-direction:column;gap:2px}
.mini b{font:400 20px var(--display);text-transform:uppercase;color:var(--navy)}
.mini small{font-size:13px;color:var(--muted)}
.res-cta{margin-top:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}

/* faixa de chamada */
.faixa{background:var(--navy);color:#fff;padding:56px 0}
.faixa-in{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap}
.faixa h2{font:400 clamp(28px,3.6vw,40px)/1.05 var(--display);text-transform:uppercase;margin:0 0 8px;color:#fff}
.faixa p{margin:0;color:rgba(255,255,255,.78);max-width:60ch}

/* páginas internas */
.p-cab{padding:48px 0 40px}
.p-cab h1{font-size:clamp(40px,5.6vw,64px);line-height:1.02;text-transform:uppercase;color:var(--navy);margin:8px 0 16px;max-width:820px}
.p-cab p{font-size:18px;color:var(--ink);max-width:640px;margin:0}
.p-cab .migalha{color:var(--muted);font-size:13px;margin:0}
.p-cab .migalha a{color:var(--navy);text-decoration:none;font-weight:600}
.filtro{display:grid;grid-template-columns:repeat(6,1fr) auto;gap:12px;align-items:end;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:32px}
.filtro label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.filtro select{font-size:15px;min-height:44px;padding:8px 12px;text-transform:none;letter-spacing:0}
.limpar{border:0;background:transparent;color:var(--navy);font:600 14px var(--body);text-decoration:underline;cursor:pointer;min-height:44px;padding:0 8px}
@media (max-width:1100px){.filtro{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.filtro{grid-template-columns:1fr 1fr}.limpar{grid-column:1/-1}}
.vazio{text-align:center;color:var(--muted);padding:40px 0}
.link-sim{margin-top:8px;color:var(--ink)}
.link-sim a{color:var(--navy);font-weight:700}
.etapas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:x}
.etapas li{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px}
.etapas span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold);font:400 20px var(--display)}
.etapas h2{font:400 24px/1.1 var(--display);text-transform:uppercase;color:var(--navy);margin:8px 0 0}
.etapas p{margin:0;color:var(--muted);font-size:15px}
.etapas .link-seta{margin-top:auto;padding-top:8px;font-size:14px}
@media (max-width:980px){.etapas{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.etapas{grid-template-columns:1fr}}
.formas3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.formas3 > div{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px}
.sec:not(.sec-claro) .formas3 > div{background:var(--white)}
.formas3 h3{font:400 24px/1.1 var(--display);text-transform:uppercase;color:var(--navy);margin:0 0 8px}
.formas3 p{margin:0 0 12px;color:var(--ink);font-size:15px}
.formas3 small{font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-dark)}
@media (max-width:900px){.formas3{grid-template-columns:1fr}}
.custos{margin-top:24px;border:1px solid var(--line);border-radius:20px;padding:24px;background:#FBF5E8}
.custos h3{font:700 16px var(--body);color:var(--navy);margin:0 0 8px}
.custos p{margin:0}
#duvidas details,.estreito details{background:var(--white);border:1px solid var(--line);border-radius:16px;margin-bottom:12px}
#duvidas summary{cursor:pointer;padding:20px;font-weight:700;color:var(--navy)}
#duvidas details p{margin:0;padding:0 20px 20px;color:var(--muted)}
.sobre-cab{display:flex;gap:56px;align-items:center}
.sobre-foto{width:150px;height:150px;border-radius:50%;object-fit:cover;flex:none;border:4px solid var(--white);box-shadow:0 12px 32px -18px rgba(14,23,38,.6)}
.sobre-cab .prova{margin-top:20px}
@media (max-width:640px){.sobre-cab{flex-direction:column;align-items:flex-start;gap:24px}.sobre-retrato{max-width:100%;width:100%}}

/* páginas de lançamento sobre o cabeçalho claro */
.l-hero{min-height:min(72vh,600px)}
.l-hero .wrap{padding-top:96px}

/* rodapé */
.rodape{background:#0A111D;color:rgba(255,255,255,.7);padding:48px 0 96px;font-size:14px}
.rodape-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.rodape .marca{color:#fff}
.rodape .marca img{filter:invert(1);mix-blend-mode:screen}
.rodape .marca small{color:rgba(255,255,255,.6)}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rodape-end{font-style:normal;line-height:1.5}
.rodape a{color:rgba(255,255,255,.85);text-decoration:none}
.rodape a:hover{color:var(--gold)}
@media (max-width:700px){.rodape-in{grid-template-columns:1fr}}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}}

/* topo do início: retrato grande do corretor com as credenciais por cima */
.h-lado{position:relative;padding-bottom:72px}
.retrato{display:block;border-radius:28px;overflow:hidden;aspect-ratio:1;background:var(--line);box-shadow:0 40px 60px -40px rgba(14,23,38,.6)}
.retrato img{width:100%;height:100%;object-fit:cover;object-position:60% 30%;transition:transform 1.2s var(--curva)}
.h-lado:hover .retrato img{transform:scale(1.03)}
.corretor{position:absolute;left:-40px;bottom:0;width:min(340px,90%);background:rgba(14,23,38,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border-radius:20px;padding:20px 24px;box-shadow:0 32px 48px -28px rgba(14,23,38,.8)}
.corretor-nome{font:400 30px/1 var(--display);text-transform:uppercase;margin:0}
.corretor-desde{margin:6px 0 12px;color:rgba(255,255,255,.82);font-size:14px}
.corretor-linha{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.corretor .creci{display:inline-block;font:700 12px var(--body);letter-spacing:.12em;color:var(--navy);background:var(--gold);padding:4px 12px;border-radius:999px}
.corretor .nota{color:#fff;font-weight:700;font-size:14px;text-decoration:none}
.corretor .nota span{color:var(--gold);letter-spacing:2px;margin-right:4px}
.corretor-acoes{display:flex;gap:8px;margin-top:16px}
.corretor-acoes .btn{flex:1;justify-content:center;padding:8px 12px;font-size:14px}
.corretor .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.corretor .btn-line:hover{border-color:var(--gold);color:var(--gold)}
@media (max-width:1240px){.corretor{left:16px}}
@media (max-width:900px){.h-lado{padding-bottom:0}.corretor{position:relative;left:auto;bottom:auto;width:auto;margin:-48px 16px 0}}
.sobre-retrato{width:420px;max-width:42%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:28px;flex:none;box-shadow:0 32px 48px -32px rgba(14,23,38,.6)}

/* carrossel: pontos e pausa */
.car-rodape{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}
.car-rodape .pontos{margin:0}
.pausa{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--white);cursor:pointer;display:grid;place-items:center}
.pausa span{width:10px;height:10px;border-left:3px solid var(--navy);border-right:3px solid var(--navy)}
.pausa.pausado span{border:0;width:0;height:0;border-left:9px solid var(--navy);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
.carrossel.andando ~ .car-rodape .pontos span.on{background:var(--gold)}

/* simulador: dica ao vivo */
.dica{color:var(--gold-dark);font-weight:700}
.dica:empty{display:none}

/* entradas das seções */
.revela{opacity:0;transform:translateY(32px);transition:opacity .7s var(--curva),transform .7s var(--curva)}
.revela.visto{opacity:1;transform:none}
