/* =========================================================
   Vivian · página inicial (/) · landing comercial + planejador + atendimento
   Arquivo isolado: não é carregado por /term, /iul nem pelas páginas legais.
   Paleta da Vivian: marinho #082448, dourado #B58A42 (ação; texto marinho no botão),
   branco, cinza #F4F5F7, grafite #303640. Inter em peso alto. Mobile primeiro.
   ========================================================= */

@font-face{font-family:"Inter";src:url(/assets/fonts/inter.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --marinho:#082448;
  --marinho-2:#0E2F5A;
  --marinho-3:#061B37;
  --ouro:#B58A42;
  --ouro-hover:#C79A4E;
  --ouro-texto:#8C6A2F;   /* dourado para texto pequeno no branco: 5.0:1 */
  --ouro-claro:#E2C58F;   /* dourado para texto pequeno no marinho */
  --ouro-tint:#F7F1E6;
  --branco:#FFFFFF;
  --cinza:#F4F5F7;
  --grafite:#303640;
  --grafite-2:#4B5260;    /* secundário no branco: 7.6:1 */
  --linha:#E1E4EA;
  --campo:#9AA1AD;        /* borda de campo: 3:1 no branco */
  --erro:#B42318;
  --claro-2:rgba(255,255,255,.82);
  --claro-3:rgba(255,255,255,.68);
  --linha-escura:rgba(255,255,255,.14);
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --largura:1200px;
  --gutter:clamp(18px,5vw,48px);
  --secao:clamp(64px,7.5vw,108px);
  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.atendimento-aberto{overflow:hidden}
body{margin:0;background:var(--branco);color:var(--grafite);font-family:var(--sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,p,ol,ul,dl,dd,figure,fieldset,blockquote{margin:0}
fieldset{border:0;padding:0;min-width:0}
legend{padding:0}
ol,ul{padding:0;list-style:none}
a{color:var(--marinho)}
img{max-width:100%;display:block}
button{font:inherit;color:inherit}
[hidden]{display:none !important}
:focus-visible{outline:3px solid var(--marinho);outline-offset:3px;border-radius:6px}
.escuro :focus-visible{outline-color:var(--ouro-claro)}
.container{width:100%;max-width:var(--largura);margin:0 auto;padding:0 var(--gutter)}
.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:300;background:#fff;color:var(--marinho);padding:12px 16px;border-radius:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Tipografia ---------- */
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ouro-texto);margin-bottom:16px}
.escuro .eyebrow{color:var(--ouro)}
.h1{font-size:clamp(32px,4.6vw,58px);line-height:1.06;font-weight:800;letter-spacing:-.035em;color:#fff;text-wrap:balance}
.h2{font-size:clamp(28px,3.5vw,44px);line-height:1.1;font-weight:800;letter-spacing:-.03em;color:var(--marinho);text-wrap:balance}
.escuro .h2{color:#fff}
.destaque{color:var(--ouro)}
.lead{margin-top:18px;font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--grafite);max-width:34em}
.escuro .lead{color:var(--claro-2)}
.apoio{margin-top:22px;font-weight:700;color:var(--marinho);font-size:17.5px;max-width:30em}
.nota{font-size:13.5px;line-height:1.6;color:var(--grafite-2)}
.nota--centro{text-align:center;max-width:44em;margin:36px auto 0}
.ajuda{margin-top:6px;font-size:13.5px;color:var(--grafite-2)}
.opcional{font-weight:500;color:var(--grafite-2)}
.msg{font-size:14px;font-weight:600;color:var(--erro)}
.msg:not(:empty){margin-top:8px}
.msg--centro{text-align:center}
.cabeca{max-width:760px}
.cabeca--centro{margin:0 auto;text-align:center}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border:0;border-radius:999px;cursor:pointer;font:700 16.5px/1.2 var(--sans);text-decoration:none;text-align:center;transition:background-color .2s var(--ease),transform .2s var(--ease),border-color .2s}
.btn svg{flex:none;transition:transform .2s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.65;cursor:progress}
.btn--ouro{background:var(--ouro);color:var(--marinho);box-shadow:0 10px 28px -12px rgba(181,138,66,.7)}
.btn--ouro:hover{background:var(--ouro-hover)}
.btn--linha-clara{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn--linha-clara:hover{background:rgba(255,255,255,.08);border-color:#fff}
.btn--largo{width:100%}
.link{background:none;border:0;padding:10px 4px;min-height:44px;cursor:pointer;font-size:15px;font-weight:600;color:var(--marinho);text-decoration:underline;text-underline-offset:4px}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}
.cta--centro{justify-content:center;margin-top:36px}
@media (max-width:520px){ .hero .cta .btn{width:100%} .btn{font-size:16px;padding:0 20px} }

/* ---------- Chips (radio/checkbox reais) ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.chip span{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:6px 14px;border:1.5px solid var(--campo);border-radius:10px;background:#fff;font-size:16px;font-weight:700;line-height:1.25;text-align:center;color:var(--marinho);transition:background-color .15s,border-color .15s,color .15s}
.chip input:hover+span{border-color:var(--marinho)}
.chip input:checked+span{background:var(--marinho);border-color:var(--marinho);color:#fff}
.chip input:focus-visible+span{outline:3px solid var(--marinho);outline-offset:3px}
.chips--valor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.chips--valor .chip:last-child{grid-column:1 / -1}
.chips--prazo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.chips--valor .chip span,.chips--prazo .chip span{padding:0 4px;white-space:nowrap}
@media (max-width:400px){ .chips--valor .chip span,.chips--prazo .chip span{font-size:15px} }
@media (max-width:359px){ .chips--valor .chip span,.chips--prazo .chip span{font-size:13.5px;padding:0 2px} }
@media (min-width:560px){ .chips--valor{grid-template-columns:repeat(4,minmax(0,1fr)) auto} .chips--valor .chip:last-child{grid-column:auto} .chips--valor .chip:last-child span{padding:0 16px} }
.grupo legend{font-size:14.5px;font-weight:700;color:var(--grafite);margin-bottom:8px}

/* ---------- Campos ---------- */
.campo{display:block;width:100%;min-height:52px;padding:0 14px;border:1.5px solid var(--campo);border-radius:10px;background:#fff;font:500 17px/1.2 var(--sans);color:var(--grafite)}
select.campo{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23082448' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:44px}
.campo:focus,.campo-moeda:focus-within{outline:3px solid var(--marinho);outline-offset:1px;border-color:var(--marinho)}
.campo[aria-invalid="true"]{border-color:var(--erro)}
.campo-grupo>label{display:block;font-size:14.5px;font-weight:700;margin-bottom:8px}
.campo-moeda{display:flex;align-items:center;min-height:52px;border:1.5px solid var(--campo);border-radius:10px;background:#fff;overflow:hidden}
.campo-moeda span{padding:0 4px 0 14px;font-weight:700;color:var(--grafite-2)}
.campo-moeda input{flex:1;min-width:0;height:50px;border:0;padding:0 14px 0 4px;font:600 17px/1.2 var(--sans);color:var(--grafite);background:transparent}
.campo-moeda input:focus{outline:0}
.campo-tel{display:grid;grid-template-columns:76px 1fr;gap:8px}

.escuro{background:var(--marinho);color:#fff}
.secao{padding:var(--secao) 0;position:relative}

/* =========================================================
   1. HERO comercial (foto de pai, mãe e filha)
   ========================================================= */
.hero{position:relative;overflow:hidden}
.hero-foto{position:relative;height:clamp(270px,46vh,380px)}
.hero-foto picture,.hero-foto img{position:absolute;inset:0;width:100%;height:100%}
.hero-foto img{object-fit:cover;object-position:62% 20%}
.hero-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,36,72,.4) 0%,rgba(8,36,72,0) 22%,rgba(8,36,72,0) 72%,var(--marinho) 100%)}
.hero-texto{position:relative;z-index:2;padding:22px 0 52px}
.marca-hero{font-size:13.5px;color:var(--claro-2);margin-bottom:14px}
.marca-hero b{color:#fff;font-size:15px;font-weight:800;letter-spacing:-.01em}
.confianca{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;font-size:14.5px;color:var(--claro-2)}
.confianca li{display:inline-flex;align-items:center;gap:8px}
.confianca svg{flex:none;color:var(--ouro)}
@media (min-width:960px){
  .hero{min-height:min(100svh,860px);display:flex;align-items:center}
  .hero>.container{position:relative;z-index:2;width:100%}
  .hero-foto{position:absolute;top:0;right:0;bottom:0;width:56%;height:auto}
  .hero-foto img{object-position:50% 40%}
  .hero-foto::after{background:linear-gradient(to right,var(--marinho) 0%,rgba(8,36,72,.82) 10%,rgba(8,36,72,.35) 22%,rgba(8,36,72,0) 34%),linear-gradient(to bottom,rgba(8,36,72,.7) 0%,rgba(8,36,72,.35) 20%,rgba(8,36,72,0) 40%),linear-gradient(to top,rgba(8,36,72,.6),rgba(8,36,72,0) 28%)}
  .hero-texto{width:50%;padding:72px 0 88px}
}

/* =========================================================
   3. DOR + OPÇÕES (clara, foto sangrada; Term e IUL na mesma seção)
   ========================================================= */
.protecao{overflow:hidden}
.dor-grid{display:grid}
.dor-texto{padding:var(--secao) 0 36px}
.usos{display:grid;gap:14px;margin-top:26px}
.usos li{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:start;font-size:16px}
.usos svg{color:var(--ouro);margin-top:1px}
.dor-foto{position:relative;margin:0 calc(var(--gutter) * -1);aspect-ratio:4/3;overflow:hidden}
.dor-foto picture,.dor-foto img{width:100%;height:100%}
.dor-foto img{object-fit:cover;object-position:40% 30%}
@media (min-width:960px){
  .dor-grid{grid-template-columns:1fr 1fr;align-items:stretch;min-height:600px}
  .dor-texto{padding:var(--secao) 52px var(--secao) 0;align-self:center}
  .dor-foto{margin:0 calc((100vw - min(100vw,var(--largura))) / -2 - var(--gutter)) 0 0;aspect-ratio:auto}
  .dor-foto::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to right,#fff 0%,rgba(255,255,255,0) 9%)}
}

.opcoes-bloco{padding-top:clamp(52px,6vw,88px);padding-bottom:var(--secao)}
.h2--menor{font-size:clamp(25px,2.8vw,36px)}
.opcoes-grid{display:grid;gap:18px;margin-top:32px}
.opcao-card{background:var(--cinza);border:1px solid var(--linha);border-radius:18px;padding:26px 24px}
.opcao-card svg{color:var(--ouro)}
.opcao-card h3{margin-top:14px;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--marinho)}
.opcao-sub{margin-top:2px;font-size:14.5px;font-weight:700;color:var(--ouro-texto)}
.opcao-card p:not(.opcao-sub){margin-top:12px;font-size:16px}
.opcao-uso{padding-top:12px;border-top:1px solid var(--linha);color:var(--grafite-2)}
@media (min-width:860px){ .opcoes-grid{grid-template-columns:1fr 1fr;gap:24px} .opcao-card{padding:32px} }

/* Detalhes opcionais (comparação, Mapa) */
.ferramenta{margin-top:20px;border:1px solid var(--linha);border-radius:16px;background:#fff}
.ferramenta summary{display:grid;grid-template-columns:1fr 32px;gap:2px 16px;align-items:center;padding:16px 20px;cursor:pointer;list-style:none;min-height:60px}
.ferramenta summary::-webkit-details-marker{display:none}
.ferramenta summary::after{content:"+";grid-row:1 / span 2;grid-column:2;width:32px;height:32px;border-radius:50%;background:var(--ouro-tint);color:var(--ouro-texto);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600}
.ferramenta[open] summary::after{content:"−";background:var(--ouro);color:var(--marinho)}
.f-tit{font-size:17.5px;font-weight:800;color:var(--marinho)}
.f-desc{font-size:14.5px;color:var(--grafite-2)}
.ferramenta-corpo{padding:4px 20px 22px;display:grid;gap:20px}
.tabela-wrap{overflow-x:auto;border:1px solid var(--linha);border-radius:12px}
.tabela{width:100%;min-width:520px;border-collapse:collapse;font-size:15px}
.tabela caption{caption-side:bottom;text-align:left;padding:10px 14px;font-size:13px;color:var(--grafite-2)}
.tabela th,.tabela td{padding:12px 14px;border-bottom:1px solid var(--linha);text-align:left;vertical-align:top}
.tabela thead th{background:var(--cinza);color:var(--marinho);font-size:14px}
.tabela tbody th{color:var(--marinho);width:24%}

/* =========================================================
   2. PLANEJADOR (logo após o hero; cinza, compacto)
   ========================================================= */
.planejador-secao{background:var(--cinza);padding:clamp(48px,5.5vw,80px) 0}
.plan-grid{display:grid;gap:22px}
.plan-controles{display:grid;gap:16px}
.plan-controles .eyebrow{margin-bottom:-4px}
.plan-controles .lead{margin-top:-4px}
.outro{margin-top:12px}
.outro>label{display:block;font-size:14.5px;font-weight:700;margin-bottom:6px}
.plan-resultado{display:grid;gap:12px;align-content:start}
.card{position:relative;background:var(--marinho);color:#fff;border-radius:18px;padding:20px 22px 18px;box-shadow:0 18px 40px -24px rgba(8,36,72,.7)}
.card-rot{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ouro-claro)}
.card-num{margin-top:4px;font-size:clamp(34px,4.2vw,50px);font-weight:800;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.card-conta{margin-top:4px;font-size:14.5px;color:var(--claro-2)}
.card-aviso{margin-top:14px;padding-top:12px;border-top:1px solid var(--linha-escura);font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.88)}
.card[data-estado="vazio"] .card-num,.card[data-estado="parcial"] .card-num{font-size:clamp(22px,2.4vw,28px);color:var(--ouro-claro)}
@media (min-width:960px){
  .plan-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
  .card{padding:28px 30px 24px}
}
.mapa-grid>div:first-child{display:grid;gap:18px}
.mapa-res{display:grid;gap:14px;align-content:start}
#mapa-limpar{justify-self:start}
@media (min-width:960px){ .mapa-grid{grid-template-columns:1fr 1fr;gap:40px} .mapa-res{position:sticky;top:24px} }
.card--claro{background:var(--ouro-tint);color:var(--grafite);box-shadow:none;border:1px solid #E8DCC4}
.card--claro .card-rot{color:var(--ouro-texto)}
.card--claro .card-num{color:var(--marinho)}
.card--claro .card-conta{color:var(--grafite)}
.card--claro .card-aviso{color:var(--grafite-2);border-top-color:#E8DCC4}
.card--claro[data-estado="vazio"] .card-num{font-size:20px;color:var(--grafite-2)}
.planejador-secao .ferramenta{margin-top:28px}

/* =========================================================
   4. QUEM É A VIVIAN (escura, foto real em destaque)
   ========================================================= */
.conheca-grid{display:grid;gap:36px}
.conheca-foto{position:relative;aspect-ratio:4/5;max-width:440px;border-radius:20px;overflow:hidden;background:var(--marinho-2)}
.conheca-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.conheca-foto::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--ouro)}
.foto-vazia{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:2px dashed var(--linha-escura);border-radius:20px;color:var(--claro-3);font-weight:700}
.conheca-nome{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:20px;font-size:15px;color:var(--ouro-claro)}
.conheca-nome b{font-size:19px;font-weight:800;color:#fff;letter-spacing:-.01em}
.conheca-p{margin-top:16px;font-size:clamp(16.5px,1.3vw,18px);line-height:1.65;color:var(--claro-2);max-width:34em}
.frase{margin-top:22px;padding-left:18px;border-left:3px solid var(--ouro);font-size:18px;font-style:italic;color:#fff;max-width:30em}
.conheca-como{margin-top:24px;padding:18px 20px;border:1px solid var(--linha-escura);border-radius:14px;max-width:34em}
.conheca-como-t{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ouro-claro);margin-bottom:6px}
.conheca-como p:not(.conheca-como-t){font-size:15.5px;color:var(--claro-2)}
.ficha{margin-top:18px;display:grid;gap:6px;font-size:15px;color:var(--claro-2)}
.ficha:not(:has(p:not(.pendente))){margin-top:0}
.ficha b{color:#fff}
.ficha a{color:var(--ouro-claro)}
@media (max-width:959px){ .conheca-foto{width:100%;max-width:520px;aspect-ratio:5/4} }
@media (min-width:960px){ .conheca-grid{grid-template-columns:5fr 7fr;gap:clamp(48px,7vw,96px);align-items:center} .conheca-foto{max-width:none} }

/* =========================================================
   5. DEPOIMENTOS REAIS (branca; lado a lado no desktop, empilhados no celular)
   ========================================================= */
.relatos{display:grid;gap:18px;margin-top:40px}
.relato{display:flex;flex-direction:column;gap:18px;background:var(--cinza);border:1px solid var(--linha);border-top:3px solid var(--ouro);border-radius:16px;padding:24px 22px}
.relato blockquote{flex:1}
.relato blockquote p{font-size:16.5px;line-height:1.65;color:var(--grafite)}
.relato figcaption{display:flex;align-items:center;gap:12px}
.relato figcaption img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.relato figcaption b{display:block;color:var(--marinho);font-size:16px}
.relato figcaption small{display:block;font-size:14px;color:var(--grafite-2)}
.relato-incentivo{font-size:13px;color:var(--grafite-2)}
.relato--vazio{min-height:180px;align-items:center;justify-content:center;text-align:center;border-style:dashed;color:var(--grafite-2);font-weight:600}
@media (min-width:860px){ .relatos--2{grid-template-columns:repeat(2,minmax(0,1fr))} .relatos--3{grid-template-columns:repeat(3,minmax(0,1fr))} .relatos--1{max-width:640px;margin-left:auto;margin-right:auto} .relato{padding:28px 26px} }
.protecao+.depoimentos{border-top:1px solid var(--linha)}

/* =========================================================
   6. COMO FUNCIONA (cinza)
   ========================================================= */
.como{background:var(--cinza)}
.passos{display:grid;gap:30px;margin-top:44px}
.passos li{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:start}
.passos .num{width:44px;height:44px;border-radius:50%;background:var(--ouro);color:var(--marinho);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}
.passos h3{font-size:19px;font-weight:700;line-height:1.3;padding-top:9px;color:var(--marinho)}
.passos p{margin-top:6px;font-size:16px;max-width:24em}
@media (min-width:900px){
  .passos{grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px}
  .passos li{grid-template-columns:1fr;gap:18px;padding:0 32px;position:relative}
  .passos li+li::before{content:"";position:absolute;left:0;top:22px;width:1px;height:calc(100% - 22px);background:var(--linha)}
  .passos h3{padding-top:0}
}

/* =========================================================
   7. FAQ
   ========================================================= */
.duvidas-grid{display:grid;gap:32px}
@media (min-width:960px){ .duvidas-grid{grid-template-columns:4fr 7fr;gap:clamp(48px,8vw,104px);align-items:start} .duvidas .cabeca{position:sticky;top:40px} }
.faq{border-top:2px solid var(--marinho)}
.faq-item{border-bottom:1px solid var(--linha)}
.faq-item h3{margin:0;font:inherit}
.faq-btn{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;background:none;border:0;cursor:pointer;text-align:left;font-size:clamp(17px,1.5vw,18.5px);font-weight:700;line-height:1.35;color:var(--marinho);min-height:56px}
.faq-btn i{position:relative;flex:none;width:30px;height:30px;border-radius:50%;background:var(--ouro-tint)}
.faq-btn i::before,.faq-btn i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:2px;background:var(--ouro-texto);transform:translate(-50%,-50%);transition:transform .3s var(--ease)}
.faq-btn i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-btn[aria-expanded="true"] i{background:var(--ouro)}
.faq-btn[aria-expanded="true"] i::before,.faq-btn[aria-expanded="true"] i::after{background:var(--marinho)}
.faq-btn[aria-expanded="true"] i::after{transform:translate(-50%,-50%) rotate(0)}
.faq-painel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.faq-painel>div{overflow:hidden}
.faq-painel p{padding:0 40px 20px 0}
.faq-item.aberto .faq-painel{grid-template-rows:1fr}

/* =========================================================
   8. CHAMADA FINAL (escura, foto)
   ========================================================= */
.fechamento{position:relative;overflow:hidden}
.fechamento .fundo{position:relative;height:clamp(240px,62vw,320px)}
.fechamento .fundo picture,.fechamento .fundo img{width:100%;height:100%}
.fechamento .fundo img{object-fit:cover;object-position:62% 22%;opacity:.85}
.fechamento .fundo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,36,72,.25) 0%,rgba(8,36,72,0) 30%,rgba(8,36,72,0) 70%,var(--marinho) 100%)}
.fechamento>.container{position:relative;z-index:2}
.fechamento-texto{padding:16px 0 var(--secao);max-width:720px}
@media (min-width:960px){
  .fechamento{min-height:560px;display:flex;align-items:center}
  .fechamento .fundo{position:absolute;inset:0;height:auto}
  .fechamento .fundo img{object-position:70% 30%;opacity:.5;filter:saturate(.85)}
  .fechamento .fundo::after{background:linear-gradient(to right,rgba(8,36,72,.95) 0%,rgba(8,36,72,.78) 50%,rgba(8,36,72,.5) 100%)}
  .fechamento>.container{width:100%}
  .fechamento-texto{padding:var(--secao) 0}
}

/* ---------- Rodapé (único) ---------- */
.footer{background:var(--marinho-3);color:#fff;padding:56px 0 40px;font-size:15px}
.marca{display:flex;flex-direction:column;line-height:1.1;text-decoration:none;color:#fff}
.marca b{font-size:19px;font-weight:800;letter-spacing:-.02em}
.marca small{font-size:11.5px;font-weight:500;color:rgba(255,255,255,.72);margin-top:3px}
.footer-topo{display:grid;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--linha-escura)}
.footer-ident{margin-top:14px;color:rgba(255,255,255,.72);line-height:1.8}
.footer-links{display:flex;flex-wrap:wrap;gap:4px 28px}
.footer-links a{color:rgba(255,255,255,.82);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer :focus-visible{outline-color:#fff}
.footer-legal{display:grid;gap:10px;padding-top:24px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.66);max-width:70em}
@media (min-width:900px){ .footer-topo{grid-template-columns:1fr auto;align-items:start} }

/* =========================================================
   Janela de atendimento (captura em conversa)
   ========================================================= */
.atendimento{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:0;border:0;background:#fff;color:var(--grafite);overflow-y:auto;overscroll-behavior:contain}
.atendimento::backdrop{background:rgba(6,27,55,.6)}
@media (min-width:700px){
  .atendimento{width:min(600px,calc(100% - 48px));height:fit-content;max-height:calc(100% - 48px);margin:auto;border-radius:20px;box-shadow:0 30px 80px -20px rgba(6,27,55,.6)}
}
.atd-topo{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 20px;background:var(--marinho);color:#fff}
.atd-titulo{font-size:15px;font-weight:700}
.fechar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.fechar:hover{background:rgba(255,255,255,.1)}
.fechar:focus-visible{outline-color:var(--ouro-claro)}
.conversa{padding:12px 20px 28px}
.conversa-topo{display:flex;align-items:center;justify-content:space-between;gap:12px}
.voltar{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px 0 2px;background:none;border:0;cursor:pointer;font-size:15px;font-weight:700;color:var(--marinho)}
.progresso-txt{font-size:13.5px;font-weight:700;color:var(--grafite-2)}
.progresso{height:6px;border-radius:999px;background:var(--cinza);overflow:hidden;margin:8px 0 18px}
.progresso i{display:block;height:100%;width:0;background:var(--ouro);border-radius:999px;transition:width .3s var(--ease)}
.intro{font-size:15px;color:var(--grafite-2);margin-bottom:10px}
.plano-resumo{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:var(--ouro-tint);border:1px solid #E8DCC4;font-size:14.5px;color:var(--grafite)}
.etapa{display:grid;gap:14px}
.pergunta{font-size:clamp(21px,2.4vw,25px);line-height:1.2;font-weight:800;letter-spacing:-.02em;color:var(--marinho)}
.pergunta:focus{outline:0}
.pergunta label{cursor:pointer}
.etapa .btn{border-radius:12px;justify-self:stretch}
@media (min-width:520px){ .etapa .btn{justify-self:start} }
.opcoes{display:grid;gap:10px}
.opcao{display:grid;gap:2px;width:100%;min-height:64px;padding:14px 16px;text-align:left;background:#fff;border:1.5px solid var(--campo);border-radius:12px;cursor:pointer;transition:border-color .15s,background-color .15s}
.opcao b{font-size:17px;color:var(--marinho)}
.opcao span{font-size:14px;color:var(--grafite-2)}
.opcao:hover{border-color:var(--marinho)}
.opcao[aria-pressed="true"]{border-color:var(--marinho);background:var(--ouro-tint);box-shadow:inset 0 0 0 1px var(--marinho)}
.aviso-estado{padding:14px 16px;border-radius:12px;background:#FEF3F2;border:1px solid #FDA29B;font-size:15px;display:grid;gap:8px}
.aviso-estado:focus{outline:3px solid var(--marinho);outline-offset:2px}
.nota-estado{padding:12px 14px;border-radius:10px;background:var(--cinza);font-size:14.5px}
.consent{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:14.5px;line-height:1.5;cursor:pointer}
.consent input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--marinho);cursor:pointer}
.consent a{font-weight:600}
.intro-resumo{font-size:15px;color:var(--grafite-2);margin-top:-4px}
.resumo{display:grid;border-top:1px solid var(--linha)}
.resumo-item{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--linha)}
.resumo dt{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--grafite-2)}
.resumo dd{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;font-size:16.5px;font-weight:600;color:var(--grafite)}
.resumo dd small{font-size:13px;font-weight:500;color:var(--grafite-2)}
.editar{margin-left:auto;background:none;border:0;cursor:pointer;min-height:44px;padding:0 4px;font-size:14.5px;font-weight:700;color:var(--marinho);text-decoration:underline;text-underline-offset:3px}
.acoes-resumo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.acoes-resumo .btn{width:100%;border-radius:12px}
@media (min-width:520px){ .acoes-resumo .btn{width:auto} }
.envio-erro{padding:14px 16px;border-radius:12px;background:#FEF3F2;border:1px solid #FDA29B;font-size:15px;display:grid;gap:6px}
.envio-erro:focus{outline:3px solid var(--marinho);outline-offset:2px}
.horarios-t{font-size:14.5px;font-weight:700;margin-bottom:8px}
.horarios-t span{font-weight:500;color:var(--grafite-2)}
.enviado-txt{font-size:16.5px}

/* ---------- Reveal ---------- */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* ---------- Pendências internas (?revisao) ---------- */
.pendente{display:none !important}
.revisao .pendente{display:revert !important;outline:2px dashed #EA580C;outline-offset:4px}
.revisao .pendente::before{content:"PENDENTE: " attr(data-pendente);display:block;width:max-content;max-width:100%;margin-bottom:6px;padding:3px 8px;font:600 11px/1.4 var(--sans);color:#fff;background:#EA580C;border-radius:3px;white-space:normal}
/* Seção inteira sem material real: fora do ar; com ?revisao aparece marcada */
.secao-pendente{display:none !important}
.revisao .secao-pendente{display:block !important;outline:3px dashed #EA580C;outline-offset:-3px}
.revisao .secao-pendente::before{content:"PENDENTE: " attr(data-pendente);position:absolute;top:10px;left:10px;right:10px;z-index:3;padding:4px 10px;font:600 12px/1.4 var(--sans);color:#fff;background:#EA580C;border-radius:3px}
/* Versão de teste da equipe (só com modo de teste ligado no servidor) */
.faixa-teste{position:sticky;top:0;z-index:250;background:#EA580C;color:#fff;font:700 13.5px/1.4 var(--sans);padding:9px 16px;text-align:center}
.revisao-barra{display:none}
.revisao .revisao-barra{display:block;position:fixed;left:12px;bottom:12px;z-index:400;max-width:calc(100% - 24px);background:#EA580C;color:#fff;font:600 13px/1.4 var(--sans);padding:10px 14px;border-radius:8px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .js .rv{opacity:1;transform:none}
}

/* Salvar meu resumo (impressão / PDF): só a janela de atendimento */
@media print{
  body>*:not(.atendimento){display:none !important}
  .atendimento{position:static;display:block;max-height:none;height:auto;box-shadow:none}
  .atd-topo,.voltar,.progresso,.progresso-txt,.intro,.acoes-resumo,.editar,.horarios,.nota{display:none !important}
}
.foto-credito{position:absolute;left:10px;bottom:12px;z-index:2;padding:3px 8px;border-radius:4px;background:rgba(6,27,55,.72);color:rgba(255,255,255,.88);font-size:11.5px;font-weight:600;letter-spacing:.02em}
.conheca-foto picture{display:block;width:100%;height:100%}
@media (max-width:959px){ .conheca-foto{aspect-ratio:1/1} .conheca-foto img{object-position:50% 48%} }
