:root{
  --navy:#082833; --navy-2:#051C24; --navy-3:#0B3542; --creme:#F9F9E9; --sol:#F9BC25; --laranja:#F26528; --ceu:#41B8EA;
  --texto-escuro:#A9C2C9; --linha-escura:rgba(249,249,233,.14); --linha-clara:rgba(8,40,51,.14);
  --suave:cubic-bezier(.22,1,.36,1);
  --sans:"Urbanist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--creme);font:500 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
a{color:inherit}
button,input,select{font:inherit}
:focus-visible{outline:2px solid var(--sol);outline-offset:3px;border-radius:6px}

/* cena */
#cena{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
#cena.pronta{opacity:1}
@media (max-width:900px){#cena.pronta{opacity:.2}}
.sol-estatico{position:fixed;right:-8vw;top:8vh;width:min(62vw,720px);aspect-ratio:1;z-index:0;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(249,188,37,.55) 0 9%,rgba(242,101,40,.22) 18%,rgba(65,184,234,.08) 38%,transparent 62%);transition:opacity 1s ease}
body.com-cena .sol-estatico{opacity:0}
main,footer,.cabecalho{position:relative;z-index:1}

/* fio */
.fio{position:fixed;left:max(18px,calc(50vw - 640px));top:0;bottom:0;width:2px;z-index:2;pointer-events:none;background:linear-gradient(transparent,rgba(249,188,37,.2) 20%,rgba(249,188,37,.2) 80%,transparent)}
.fio i{position:absolute;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--sol);box-shadow:0 0 16px 4px rgba(249,188,37,.7);top:var(--fio,10%);transition:top .2s linear}
@media (max-width:900px){.fio{display:none}}

/* cabeçalho */
.cabecalho{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:28px;padding:calc(env(safe-area-inset-top,0px) + 16px) clamp(16px,4vw,48px) 16px;transition:background .35s ease,padding .35s ease}
.cabecalho.solido{background:rgba(5,28,36,.92);padding-block:10px;box-shadow:0 1px 0 var(--linha-escura)}
.marca img{height:38px;width:auto}
.menu{display:flex;gap:26px;margin-left:auto;font-weight:600;font-size:.95rem}
.menu a{text-decoration:none;color:var(--texto-escuro);transition:color .2s}
.menu a:hover{color:var(--creme)}
@media (max-width:980px){.menu{display:none}.cabecalho .botao-pequeno{margin-left:auto}}

/* botões e peças */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:.95rem 1.7rem;border-radius:999px;background:var(--sol);color:var(--navy);font-weight:700;border:0;cursor:pointer;text-decoration:none;box-shadow:0 18px 40px -18px rgba(0,0,0,.65);transition:transform .2s ease,box-shadow .2s ease}
.botao:hover{transform:translateY(-2px);box-shadow:0 22px 44px -16px rgba(249,188,37,.45)}
.botao svg{transition:transform .2s ease}
.botao:hover svg{transform:translateX(3px)}
.botao-pequeno{padding:.62rem 1.15rem;font-size:.9rem;box-shadow:none}
.balao{display:inline-block;padding:.42rem .95rem;border-radius:999px;background:rgba(65,184,234,.16);color:var(--ceu);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.1rem}
.etiqueta{display:inline-block;width:fit-content;padding:.3rem .7rem;border-radius:999px;background:rgba(65,184,234,.14);border:1px solid rgba(65,184,234,.28);color:var(--ceu);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.sobrancelha{font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ceu);margin-bottom:.9rem}
.claro .sobrancelha{color:#1C6F8C}
.titulo{font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1;letter-spacing:-.03em;font-weight:800;text-wrap:balance}
.titulo em,.titulo-seccao em{font-style:normal;color:var(--sol)}
.titulo-seccao{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.05;letter-spacing:-.028em;font-weight:800;text-wrap:balance}
.sub{font-size:clamp(1.05rem,1.1vw,1.3rem);line-height:1.6;color:var(--texto-escuro);max-width:clamp(32rem,36vw,42rem)}
.largura{max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,5vw,72px)}
.escuro{background:transparent;color:var(--creme)}
.claro{background:var(--creme);color:var(--navy)}
.revelar{opacity:.001;transform:translateY(24px);transition:opacity .8s var(--suave),transform .8s var(--suave)}
.revelar.visto{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.revelar{opacity:1;transform:none}html{scroll-behavior:auto}}
body.apresentacao [data-validar]{text-decoration:underline dotted rgba(242,101,40,.9);text-underline-offset:4px}

/* herói */
.heroi{min-height:min(100svh,62rem);display:grid;align-items:center;padding:130px clamp(20px,5vw,72px) 72px}
.heroi-grelha{max-width:1240px;margin-inline:auto;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,clamp(30rem,30vw,36rem));grid-template-areas:"texto cartao" "provas cartao";column-gap:clamp(32px,5vw,80px);row-gap:36px;align-items:end}
.heroi-texto{grid-area:texto;align-self:end}
.heroi .sub{margin-top:1.3rem}
.provas{grid-area:provas;list-style:none;margin:0;padding:1.3rem 0 0;border-top:1px solid rgba(65,184,234,.2);display:grid;gap:12px;align-self:start;max-width:40rem}
.provas li{display:flex;gap:12px;align-items:flex-start;color:#E4ECEA;font-size:.98rem;line-height:1.5}
.provas svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--sol);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.cartao-verificar{grid-area:cartao;align-self:center;display:grid;gap:12px;padding:30px;border-radius:22px;background:rgba(5,28,36,.78);border:1px solid rgba(65,184,234,.22);box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.cartao-titulo{font-size:clamp(1.7rem,2.3vw,2.4rem);line-height:1.08;letter-spacing:-.025em;font-weight:800}
.apoio{font-size:.98rem;line-height:1.55;color:var(--texto-escuro)}
.rotulo{font-size:.8rem;font-weight:700;color:var(--texto-escuro);margin-top:4px}
.campo-cp{width:100%;padding:1rem 1.1rem;border-radius:14px;border:1px solid rgba(249,249,233,.2);background:rgba(8,40,51,.8);color:var(--creme);font-size:1.35rem;font-weight:700;letter-spacing:.08em}
.campo-cp::placeholder{color:rgba(169,194,201,.45)}
.campo-cp:focus{outline:none;border-color:var(--sol);box-shadow:0 0 0 3px rgba(249,188,37,.25)}
.alternador{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:14px;background:rgba(8,40,51,.8);border:1px solid rgba(249,249,233,.12)}
.alternador input{position:absolute;opacity:0;pointer-events:none}
.alternador span{display:block;text-align:center;padding:.6rem .4rem;border-radius:10px;font-size:.88rem;font-weight:700;color:var(--texto-escuro);cursor:pointer;transition:background .2s,color .2s}
.alternador input:checked+span{background:var(--creme);color:var(--navy)}
.alternador input:focus-visible+span{outline:2px solid var(--sol)}
.cartao-verificar .botao{width:100%;margin-top:4px}
.erro{color:#FFB08A;font-size:.9rem}
.seguranca{font-size:.8rem;line-height:1.55;color:var(--texto-escuro)}
.exemplos{font-size:.78rem;color:var(--texto-escuro);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.exemplos button{background:transparent;border:1px solid var(--linha-escura);color:var(--creme);border-radius:999px;padding:.2rem .6rem;font-size:.78rem;cursor:pointer}
.exemplos button:hover{border-color:var(--sol)}
@media (max-width:900px){
  .heroi{padding-top:104px;min-height:auto}
  .heroi-grelha{grid-template-columns:minmax(0,1fr);grid-template-areas:"texto" "cartao" "provas"}
  .titulo{font-size:clamp(2.15rem,9vw,2.75rem)}
  .cartao-verificar{padding:22px}
}

/* resultado */
.resultado{padding:110px 0 90px;background:linear-gradient(rgba(5,28,36,.0),rgba(5,28,36,.55))}
.resultado-grelha{max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,5vw,72px);display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.mini-mapa{margin:0;background:rgba(5,28,36,.7);border:1px solid var(--linha-escura);border-radius:22px;padding:14px}
.mini-mapa svg{width:100%;height:auto;display:block}
.pino{animation:cair .9s var(--suave) both}
@keyframes cair{from{transform:translateY(-60px);opacity:0}to{transform:none;opacity:1}}
.anel{transform-box:fill-box;transform-origin:center;animation:pulsar 2.2s ease-out infinite}
@keyframes pulsar{from{transform:scale(.6);opacity:.9}to{transform:scale(2.2);opacity:0}}
.linha-ligacao{stroke-dasharray:400;stroke-dashoffset:400;animation:tracar 1.4s .6s var(--suave) forwards}
@keyframes tracar{to{stroke-dashoffset:0}}
.resultado-texto{display:grid;gap:18px;align-content:start}
.chip{display:inline-block;width:fit-content;padding:.35rem .8rem;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.chip.dentro{background:rgba(65,184,234,.18);color:var(--ceu)}
.chip.confirmar{background:rgba(242,101,40,.2);color:#FF9A6B}
.chip.fora{background:rgba(249,249,233,.12);color:var(--creme)}
.factos{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0}
.factos div{display:grid}
.factos dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-escuro);font-weight:700}
.factos dd{margin:0;font-size:1.25rem;font-weight:800}
.bloco-poupanca,.bloco-contacto,.confirmacao{display:grid;gap:12px;padding:24px;border-radius:20px;background:rgba(5,28,36,.72);border:1px solid var(--linha-escura);max-width:40rem}
.valor-mensal{display:flex;align-items:baseline;gap:10px}
.valor-mensal output{font-size:2.6rem;font-weight:800;color:var(--sol);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.valor-mensal span{color:var(--texto-escuro)}
input[type=range]{width:100%;accent-color:var(--sol)}
.poupanca-resultado{font-size:1.1rem}
.poupanca-resultado strong{color:var(--sol);font-size:1.5rem;font-variant-numeric:tabular-nums}
.nota{font-size:.82rem;color:var(--texto-escuro)}
.nota.demo{color:#FF9A6B}
.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.campos label{display:grid;gap:6px;font-size:.82rem;font-weight:700;color:var(--texto-escuro)}
.campos .largo{grid-column:1/-1}
.campos input{min-width:0;padding:.8rem .9rem;border-radius:12px;border:1px solid rgba(249,249,233,.18);background:rgba(8,40,51,.9);color:var(--creme)}
.campos input:focus{outline:none;border-color:var(--sol)}
.ficheiro small{font-weight:500}
.visto{display:flex;gap:10px;align-items:center;font-size:.95rem}
.visto input{width:20px;height:20px;accent-color:var(--sol)}
.confirmacao h3{font-size:1.6rem;font-weight:800;color:var(--sol)}
.bloco-fora{display:grid;gap:14px;justify-items:start}
.ligacao{color:var(--ceu);font-weight:600;text-decoration:none}
.ligacao:hover{text-decoration:underline}
@media (max-width:900px){.resultado-grelha{grid-template-columns:minmax(0,1fr)}.mini-mapa{max-width:320px}.campos{grid-template-columns:1fr}}

/* como funciona */
.como{position:relative;height:400vh}
.como-ancora{position:absolute;left:0;width:1px;height:1px}
.como-palco{position:sticky;top:0;height:100vh;display:grid;align-items:center;padding-inline:clamp(20px,5vw,72px)}
.como-texto{max-width:1240px;width:100%;margin-inline:auto}
.como-texto .titulo-seccao{max-width:34rem}
.atos{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:10px;max-width:30rem}
.atos li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:14px 16px;border-radius:16px;opacity:.38;transition:opacity .5s var(--suave),background .5s var(--suave),transform .5s var(--suave)}
.atos li.ativo{opacity:1;background:rgba(5,28,36,.7);transform:translateX(8px)}
.atos span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(249,188,37,.5);color:var(--sol);font-weight:800}
.atos li.ativo span{background:var(--sol);color:var(--navy)}
.atos b{font-size:1.12rem;line-height:1.3}
.atos p{color:var(--texto-escuro);font-size:.95rem;margin-top:3px}
.progresso{margin-top:22px;height:3px;max-width:30rem;background:var(--linha-escura);border-radius:3px;overflow:hidden}
.progresso i{display:block;height:100%;width:0;background:var(--sol)}
@media (max-width:900px){.como-palco{align-items:start;padding-top:84px}.atos{margin-top:22px;gap:4px}.atos li{padding:10px 12px}.atos p{font-size:.9rem}}

/* benefícios */
.beneficios,.fatura-seccao,.quem,.depois,.perguntas{padding-block:clamp(80px,10vw,130px)}
.cartoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.cartao{padding:28px;border-radius:18px;background:#fff;border:1px solid var(--linha-clara);display:grid;gap:10px;align-content:start;transition:background .35s var(--suave),color .35s var(--suave),transform .35s var(--suave),box-shadow .35s var(--suave)}
.cartao svg{width:34px;height:34px;fill:none;stroke:var(--navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.cartao h3{font-size:1.25rem;font-weight:800;letter-spacing:-.01em}
.cartao p{color:#4B6770;font-size:.98rem;transition:color .35s}
.cartao:hover{background:var(--navy);color:var(--creme);transform:translateY(-4px);box-shadow:0 30px 60px -35px rgba(8,40,51,.8)}
.cartao:hover svg{stroke:var(--sol)}
.cartao:hover p{color:var(--texto-escuro)}
@media (max-width:900px){.cartoes{grid-template-columns:minmax(0,1fr)}}

.faixa-empresa{padding-block:clamp(80px,9vw,120px);background:linear-gradient(120deg,rgba(5,28,36,.85),rgba(8,40,51,.35))}
.faixa-grelha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end}
.faixa-texto{display:grid;gap:24px;justify-items:start}
@media (max-width:900px){.faixa-grelha{grid-template-columns:minmax(0,1fr)}}

/* fatura */
.fatura-grelha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(32px,6vw,90px);align-items:center}
.fatura-legenda{list-style:none;padding:0;margin:30px 0;display:grid;gap:12px}
.fatura-legenda li{padding:12px 16px;border-radius:12px;border-left:3px solid transparent;transition:background .5s,border-color .5s}
.fatura-legenda li.aceso{background:rgba(249,188,37,.18);border-color:var(--sol)}
.exemplo{padding:22px;border-radius:18px;background:var(--navy);color:var(--creme);display:grid;gap:6px}
.exemplo span{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ceu)}
.exemplo strong{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:800;letter-spacing:-.02em}
.exemplo output{color:var(--sol)}
.exemplo p{font-size:.88rem;color:var(--texto-escuro)}
.fatura{background:#fff;border-radius:18px;padding:26px;box-shadow:0 40px 80px -45px rgba(8,40,51,.55);border:1px solid var(--linha-clara);font-size:.95rem;transform:rotate(1.2deg)}
.fatura-topo{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;margin-bottom:6px;border-bottom:2px solid var(--navy);font-weight:800}
.fatura-topo span:last-child{font-weight:600;color:#4B6770}
.fatura-linha{display:flex;justify-content:space-between;gap:12px;padding:12px 10px;border-bottom:1px dashed var(--linha-clara);border-radius:8px;transition:background .6s var(--suave)}
.fatura-linha span:last-child{color:#4B6770;text-align:right}
.fatura-linha.aceso{background:rgba(249,188,37,.28)}
.fatura-comunidade{font-weight:700;color:var(--navy)!important}
.fatura-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding:14px 10px 4px;border-top:2px solid var(--navy);font-weight:700}
.fatura-total strong{font-size:1.6rem;color:#C24E1C}
.fatura-nota{font-size:.75rem;color:#4B6770;margin-top:8px}
@media (max-width:900px){.fatura-grelha{grid-template-columns:minmax(0,1fr)}.fatura{transform:none}}

/* comunidades */
.comunidades{padding-block:clamp(90px,10vw,140px)}
.comunidades-grelha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(32px,6vw,90px);align-items:start}
.comunidades-cabeca{position:sticky;top:110px;display:grid;gap:14px;justify-items:start}
.numero-grande{font-size:clamp(3rem,6vw,5.4rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--sol);margin-block:10px 18px}
.numero-grande span{display:block;font-size:1rem;letter-spacing:0;font-weight:600;color:var(--texto-escuro);margin-top:10px}
select{padding:.75rem 1rem;border-radius:12px;background:rgba(5,28,36,.85);border:1px solid var(--linha-escura);color:var(--creme);min-width:220px}
.lista-comunidades{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lista-comunidades li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:16px 18px;border-radius:14px;background:rgba(5,28,36,.94);border:1px solid var(--linha-escura);transition:border-color .25s,transform .25s}
.lista-comunidades li:hover{border-color:rgba(249,188,37,.6);transform:translateX(4px)}
.lista-comunidades b{font-size:1.08rem}
.lista-comunidades small{color:var(--texto-escuro);grid-column:1}
.lista-comunidades .estado{grid-row:1/3;grid-column:2;align-self:center;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .65rem;border-radius:999px;background:rgba(65,184,234,.16);color:var(--ceu);white-space:nowrap}
.lista-comunidades .estado.op{background:rgba(249,188,37,.2);color:var(--sol)}
@media (max-width:900px){.comunidades-grelha{grid-template-columns:minmax(0,1fr)}.comunidades-cabeca{position:static}}

/* quem somos */
.quem-grelha{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.texto{font-size:1.08rem;line-height:1.7;color:#35525B;margin-top:18px;max-width:40rem}
blockquote{margin:28px 0 0;padding-left:22px;border-left:3px solid var(--sol);font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.3;font-weight:700;letter-spacing:-.015em}
blockquote em{font-style:normal;background:linear-gradient(transparent 60%,rgba(249,188,37,.55) 60%)}
@media (max-width:900px){.quem-grelha{grid-template-columns:minmax(0,1fr)}.quem-icone{max-width:200px}}

/* depois */
.depois{padding-top:0}
.linha-tempo{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;position:relative}
.linha-tempo::before{content:"";position:absolute;left:0;right:0;top:21px;height:2px;background:linear-gradient(90deg,var(--sol),var(--laranja),var(--ceu))}
.linha-tempo li{position:relative;display:grid;gap:12px;align-content:start}
.linha-tempo span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--sol);font-weight:800;border:3px solid var(--creme)}
.linha-tempo b{font-size:1rem;line-height:1.3}
@media (max-width:900px){.linha-tempo{grid-template-columns:minmax(0,1fr)}.linha-tempo::before{left:21px;right:auto;top:0;bottom:0;width:2px;height:auto}.linha-tempo li{grid-template-columns:44px minmax(0,1fr);align-items:center}}

/* perguntas */
.perguntas{padding-top:0}
.perguntas-grelha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(32px,6vw,90px)}
.acordeao{display:grid;gap:10px}
.acordeao details{background:#fff;border:1px solid var(--linha-clara);border-radius:14px;padding:0 20px}
.acordeao summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;font-size:1.05rem;display:flex;justify-content:space-between;gap:16px}
.acordeao summary::-webkit-details-marker{display:none}
.acordeao summary::after{content:"+";color:#C24E1C;font-size:1.4rem;line-height:1;transition:transform .25s}
.acordeao details[open] summary::after{transform:rotate(45deg)}
.acordeao p{padding-bottom:18px;color:#35525B}
@media (max-width:900px){.perguntas-grelha{grid-template-columns:minmax(0,1fr)}}

/* final e rodapé */
.final{padding-block:clamp(120px,16vw,220px);text-align:center}
.final-interior{display:grid;gap:30px;justify-items:center}
.final .titulo{max-width:18ch}
.rodape{background:var(--navy-2);padding-block:56px calc(56px + env(safe-area-inset-bottom,0px));color:var(--texto-escuro);font-size:.92rem}
.rodape-grelha{display:grid;grid-template-columns:160px repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.rodape img{width:140px;height:auto}
.rodape b{color:var(--creme)}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--creme)}
.prr{border:1px dashed var(--linha-escura);border-radius:12px;padding:14px;font-size:.8rem}
@media (max-width:900px){.rodape-grelha{grid-template-columns:minmax(0,1fr)}}

.barra-movel{display:none}
@media (max-width:900px){
  .barra-movel{display:block;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;text-align:center;padding:1rem;border-radius:999px;background:var(--sol);color:var(--navy);font-weight:800;text-decoration:none;box-shadow:0 12px 30px -10px rgba(0,0,0,.6);transform:translateY(140%);transition:transform .35s var(--suave)}
  .barra-movel.visivel{transform:none}
}
.selo-prototipo{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:25;font-size:.72rem;font-weight:700;padding:.4rem .7rem;border-radius:999px;background:rgba(5,28,36,.85);border:1px solid var(--linha-escura);color:var(--texto-escuro)}
@media (max-width:900px){.selo-prototipo{display:none}}

/* revisão da cena: ?so3d esconde a página e deixa só o 3D */
body.so-cena main,body.so-cena footer,body.so-cena .cabecalho,body.so-cena .fio,body.so-cena .selo-prototipo,body.so-cena .barra-movel,body.so-cena .sol-estatico{visibility:hidden}
body.so-cena #cena{transition:none;opacity:1}

/* ---------- notas da Sofia (identidade Elara) ---------- */
:root{--titulos:"Urbanist",ui-sans-serif,system-ui,sans-serif;--sans:"Schibsted Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3,.titulo,.titulo-seccao,.cartao-titulo,.fatura-total strong,.exemplo strong,.acordeao summary,blockquote{font-family:var(--titulos)}
/* cabeçalho: pílula creme, como no site */
.cabecalho,.cabecalho.solido{top:calc(env(safe-area-inset-top,0px) + 12px);left:clamp(12px,3vw,40px);right:clamp(12px,3vw,40px);padding:10px 12px 10px 24px;border-radius:999px;background:var(--creme);box-shadow:0 18px 40px -24px rgba(0,0,0,.55)}
.marca img{height:34px}
.menu a{color:var(--navy)}
.menu a:hover{color:var(--laranja)}
/* provas com ícones */
.provas li{align-items:center}
.provas svg{width:30px;height:30px;stroke-width:1.8}
/* cartão de verificação amarelo, mesma transparência e layout */
.cartao-verificar{grid-template-columns:minmax(0,1fr);background:rgba(249,188,37,.94);border-color:rgba(249,249,233,.4);color:var(--navy)}
.cartao-verificar .cartao-titulo,.cartao-verificar .apoio,.cartao-verificar .rotulo,.cartao-verificar .seguranca,.cartao-verificar .exemplos,.cartao-verificar .campos label,.cartao-verificar .erro,.cartao-verificar .ligacao-botao{color:var(--navy)}
.cartao-verificar .campo-cp,.cartao-verificar .campos input{background:#fff;color:var(--navy);border-color:transparent;border-radius:999px}
.cartao-verificar .campo-cp::placeholder,.cartao-verificar .campos input::placeholder{color:rgba(8,40,51,.45)}
.cartao-verificar .campo-cp:focus,.cartao-verificar .campos input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(8,40,51,.2)}
.cartao-verificar .alternador{background:rgba(255,255,255,.55);border-color:transparent;border-radius:999px}
.cartao-verificar .alternador span{color:var(--navy);border-radius:999px}
.cartao-verificar .alternador input:checked+span{background:var(--navy);color:var(--creme)}
.cartao-verificar .botao{background:#fff;color:var(--navy)}
.cartao-verificar .exemplos button{color:var(--navy);border-color:rgba(8,40,51,.3)}
.cartao-verificar .exemplos button:hover{border-color:var(--navy)}
.cartao-verificar :focus-visible{outline-color:var(--navy)}
/* carrossel de faturas */
.faturas{display:grid;gap:18px;min-width:0}
.faturas-escolha{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:999px;background:#fff;border:1px solid var(--linha-clara);width:fit-content}
.faturas-escolha button{border:0;background:transparent;color:var(--navy);font:700 .9rem var(--sans);padding:.55rem 1rem;border-radius:999px;cursor:pointer}
.faturas-escolha button[aria-selected="true"]{background:var(--navy);color:var(--creme)}
/* membros */
.quem-icone{width:100%;height:auto}
.autor{margin-top:18px;font-weight:700;color:#4B6770}
/* perguntas: aberto e hover em amarelo */
.acordeao details{transition:background .2s,border-color .2s}
.acordeao details:hover,.acordeao details[open]{background:var(--sol);border-color:var(--sol)}
.acordeao details:hover summary::after,.acordeao details[open] summary::after{color:var(--navy)}
.acordeao details[open] p{color:var(--navy)}
/* arco do logótipo a subir do rodapé */
.final{position:relative;overflow:visible}
.arco-logo{position:absolute;right:0;bottom:-60px;width:min(30vw,440px);height:calc(100% + 280px);pointer-events:none;z-index:0}
.final-interior{position:relative;z-index:1}
@media (max-width:700px){.arco-logo{width:34vw;height:calc(100% + 120px)}}
.fatura-seccao [hidden]{display:none!important}
