/* Lift, versão 2. Tudo que anima usa transform e opacity. */
:root{
  --preto:#0B0D0C;--branco:#fff;--verde:#AEFF00;--amarelo:#F0FF00;
  --disp:'Anton','Arial Narrow',Impact,sans-serif;--txt:'Instrument Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
  --saida:cubic-bezier(.16,1,.3,1);--troca:cubic-bezier(.7,0,.2,1);
  --marg:clamp(20px,3.4vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--preto);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--txt);font-size:17px;line-height:1.5;color:#fff;background:transparent;overflow-x:clip;-webkit-font-smoothing:antialiased}
html.trava{overflow:hidden}
h1,h2,h3,p,ol,ul,figure{margin:0;padding:0}
ol,ul{list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{display:block}
:focus-visible{outline:2px solid var(--verde);outline-offset:3px}

/* Camadas fixas */
.fundo{position:fixed;inset:0;z-index:0;background:var(--preto);overflow:hidden;pointer-events:none}
.bola{position:absolute;width:800px;height:800px;border-radius:50%;transform:scale(0);will-change:transform}
.cena{position:fixed;top:0;left:0;width:100vw;height:100lvh;z-index:1;pointer-events:none;display:block}
.sem-3d .cena,.sem-3d .slot,.sem-3d .marcas{display:none}
main,footer{position:relative;z-index:2}

/* Cada seção carrega a própria cor de texto: o fundo chega como um círculo e revela o texto */
[data-tema=preto]{--ink:#fff;--sub:rgba(255,255,255,.64);--fio:rgba(255,255,255,.18);--em:var(--verde)}
[data-tema=branco]{--ink:var(--preto);--sub:rgba(11,13,12,.66);--fio:rgba(11,13,12,.18)}
[data-tema=verde]{--ink:var(--preto);--sub:rgba(11,13,12,.76);--fio:rgba(11,13,12,.25)}
.sec{color:var(--ink);position:relative}
.sec>*{transition:opacity .4s linear .15s}
.sec.apagada>*{opacity:0;transition:opacity .25s linear}

.rot{font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;font-weight:500;color:var(--ink)}
.rot--v{color:var(--verde)}
.rot--link{text-decoration:none}
.rot--link:hover{color:var(--verde)}
.tit{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(38px,5.2vw,88px);line-height:1.08;letter-spacing:.002em}
.tit em{font-style:normal;color:var(--em,inherit)}
[data-tema=branco] .tit em{display:inline-block;line-height:1.02;background:var(--verde);padding:.02em .12em 0;margin:0 -.04em}
.corpo{font-size:clamp(16px,1.2vw,19px);line-height:1.55;color:var(--sub);max-width:52ch}

/* Revelações por tempo */
.m{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em .04em .04em;margin:-.06em -.04em -.04em}
.m>span{display:inline-block;transform:translate3d(0,112%,0);transition:transform 1.1s var(--saida);transition-delay:calc(var(--i,0)*42ms)}
.on>.m>span,.on .m>span,.m.on>span{transform:none}
html:not(.js) .m>span{transform:none}
[data-rv]{opacity:0;transform:translate3d(0,22px,0);transition:opacity .9s var(--saida),transform 1.1s var(--saida);transition-delay:calc(var(--i,0)*70ms)}
[data-rv].on,html:not(.js) [data-rv]{opacity:1;transform:none}

/* Botões */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 26px;background:var(--verde);color:var(--preto);font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden;isolation:isolate;text-decoration:none}
.btn::before{content:"";position:absolute;inset:0;background:#fff;transform:translate3d(0,101%,0);transition:transform .5s var(--saida);z-index:-1}
.btn:hover::before{transform:none}
.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .5s var(--saida)}
.btn:hover svg{transform:translate3d(5px,0,0)}
.btn--peq{min-height:42px;padding:0 18px;font-size:14px}
html[data-tema=branco] .topo .btn::before{background:var(--preto)}
html[data-tema=branco] .topo .btn:hover{color:#fff}
html[data-tema=verde] .topo .btn,html[data-tema=verde] .fab{background:var(--preto);color:#fff}
.btn--linha{background:transparent;color:var(--ink,#fff);box-shadow:inset 0 0 0 1px var(--fio)}
.btn--linha::before{background:var(--fio)}
.btn--preto,.btn--g{background:var(--verde);color:var(--preto)}

/* Topo */
.topo{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px var(--marg);color:#fff;transition:transform .6s var(--saida),color .4s linear .25s}
.topo.some{transform:translate3d(0,-110%,0)}
html[data-tema=branco] .topo,html[data-tema=verde] .topo{color:var(--preto)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.logo i{display:block;width:74px;height:19px;background:currentColor;-webkit-mask:url(img/logo.svg) center/contain no-repeat;mask:url(img/logo.svg) center/contain no-repeat}
.topo__nav{display:flex;gap:30px}
.topo__nav a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;font-weight:500;position:relative;padding:8px 0}
.topo__nav a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--saida)}
.topo__nav a:hover::after{transform:scaleX(1);transform-origin:left}

/* Abertura */
.hero{overflow-x:clip;min-height:100svh;display:flex;align-items:flex-end;padding:96px var(--marg) clamp(24px,4vh,44px)}
.hero__slot{position:absolute;right:calc(var(--marg) + 6vw);top:9vh;width:44vw;height:76vh}
.hero__txt{position:relative;width:100%}
.hero__txt>.rot{margin-bottom:18px}
.hero__h{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:min(12.4vw,20vh);line-height:1.03;letter-spacing:.002em}
.hl{display:block;will-change:transform}
.hero__pe{display:flex;align-items:center;gap:clamp(20px,3vw,48px);padding-right:210px;margin-top:clamp(16px,3vh,30px);padding-top:clamp(14px,2.4vh,22px);border-top:1px solid var(--fio)}
.hero__sub{font-size:clamp(16px,1.2vw,19px);line-height:1.45;max-width:58ch;color:var(--sub)}
.hero__pe .btn{flex:none}
.marcas{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.marca3d{position:absolute;left:0;top:0;font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#fff;padding-left:44px;opacity:0;transition:opacity .2s linear;white-space:nowrap;will-change:transform}
.marca3d::before{content:"";position:absolute;left:0;top:50%;width:36px;height:1px;background:rgba(255,255,255,.5)}
.marca3d.on{opacity:1}

/* Problema */
.prob{min-height:118vh;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,72px);align-items:center;padding:14vh var(--marg)}
.prob__slot{height:72vh;min-height:360px;position:sticky;top:14vh}
.prob__txt .rot{margin-bottom:22px}
.prob__lista{margin:clamp(24px,4vh,40px) 0;border-top:1px solid var(--fio)}
.prob__lista li{display:flex;align-items:baseline;gap:22px;padding:16px 0;border-bottom:1px solid var(--fio);font-size:clamp(19px,1.7vw,27px);font-weight:500}
.prob__lista span{font-family:var(--mono);font-size:12px;color:var(--verde);font-weight:500}

/* Perguntas */
.perg{height:300vh}
.perg__palco{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}
.perg__trilho{display:flex;align-items:flex-end;gap:clamp(28px,4vw,72px);padding:0 var(--marg);will-change:transform;width:max-content;height:min(76svh,720px)}
.perg__abre{width:min(46vw,720px);height:100%;display:flex;flex-direction:column}
.perg__abre .rot{margin-bottom:16px}
.perg__abre .tit{font-size:clamp(34px,3.9vw,66px)}
.perg__slot{flex:1;min-height:0;margin-top:18px}
.carta{height:100%;display:flex;flex-direction:column;gap:14px;width:min(30vw,440px);flex:none}
.carta:nth-of-type(1){width:min(46vw,680px)}
.foto{flex:1;min-height:0;overflow:hidden;background:#111}
.foto img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transform:scale(1.04)}
.carta__q{font-family:var(--disp);text-transform:uppercase;font-size:clamp(23px,2vw,34px);line-height:1.12;min-height:3.4em}

/* Painéis trocados por etapa */
.pin{height:calc(var(--passos)*100vh + 30vh)}
.pin__palco{position:sticky;top:0;height:100svh;overflow:hidden}
.paineis{position:relative;display:grid}
.painel{grid-area:1/1;opacity:0;visibility:hidden;transform:translate3d(0,26px,0);transition:opacity .3s linear,transform .3s linear,visibility 0s .3s}
.painel.on{opacity:1;visibility:visible;transform:none;transition:opacity .6s linear .22s,transform 1s var(--saida) .22s,visibility 0s}
.lista li{opacity:0;transform:translate3d(0,14px,0);transition:opacity .2s linear,transform .2s linear}
.painel.on .lista li{opacity:1;transform:none;transition:opacity .6s linear,transform .9s var(--saida);transition-delay:calc(.34s + var(--i,0)*70ms)}

.estr{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,72px);align-items:center;padding:90px var(--marg) 40px}
.estr__slot{height:78vh;align-self:center}
.estr__txt .rot{margin-bottom:22px}
.estr .tit{font-size:clamp(46px,6.2vw,104px);margin-bottom:18px;display:flex;align-items:flex-start;gap:.28em}
.estr .tit .n{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.06em;color:var(--verde);padding-top:.6em}
.lista{margin-top:26px;border-top:1px solid var(--fio)}
.lista li{padding:12px 0;border-bottom:1px solid var(--fio);font-size:16px}
.barras{display:flex;gap:6px;margin-top:30px}
.barras i{flex:1;height:2px;background:var(--fio);overflow:hidden}
.barras b{display:block;height:100%;background:var(--verde);transform:scaleX(0);transform-origin:left;will-change:transform}

/* Manifesto */
.mani{min-height:125vh;display:flex;flex-direction:column;overflow:hidden}
.corre{overflow:hidden;white-space:nowrap}
.corre__faixa{display:inline-flex;will-change:transform}
.corre--preto{background:var(--preto);color:var(--verde);font-family:var(--disp);text-transform:uppercase;font-size:clamp(18px,1.8vw,28px);padding:12px 0}
.corre--preto span{padding:0 18px}
.mani__corpo{flex:1;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:clamp(20px,3vh,40px) clamp(24px,4vw,64px);padding:12vh var(--marg);align-content:center}
.mani__h{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(58px,10.4vw,186px);line-height:1;grid-column:1/-1}
.mani__slot{height:44vh;min-height:280px;grid-column:2;grid-row:2}
.mani__t{grid-column:1;grid-row:2;align-self:center;max-width:44ch;font-size:clamp(17px,1.5vw,23px);font-weight:500}

/* Método */
.met{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,72px);align-items:center;padding:90px calc(var(--marg) + 20px) 40px var(--marg)}
.met__slot{height:78vh}
.met__txt .rot{margin-bottom:22px}
.met__lista{margin-bottom:clamp(20px,3.4vh,34px)}
.met__lista li{font-family:var(--disp);text-transform:uppercase;font-size:clamp(40px,min(5vw,8.6vh),84px);line-height:1.24;color:rgba(11,13,12,.16);display:flex;gap:.26em;align-items:flex-start;transition:color .5s linear;transform-origin:left}
.met__lista li b{font-family:var(--mono);font-size:12px;font-weight:500;padding-top:1em;letter-spacing:.06em}
.met__lista li.on{color:var(--preto)}
.paineis--met h3{font-size:20px;font-weight:600;margin-bottom:6px}
.met__prog{position:absolute;right:var(--marg);top:90px;bottom:40px;width:2px;background:var(--fio);overflow:hidden}
.met__prog i{display:block;height:100%;background:var(--preto);transform:scaleY(0);transform-origin:top;will-change:transform}

/* Comparação */
.comp{padding:16vh var(--marg) 10vh}
.comp__topo{display:grid;grid-template-columns:1.5fr .5fr;align-items:center;gap:24px;margin-bottom:6vh}
.comp__topo .rot{margin-bottom:22px}
.comp__slot{height:clamp(150px,24vh,250px)}
.comp__lin{display:grid;grid-template-columns:.7fr 1.3fr 1.3fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--fio);align-items:baseline}
.comp__lin--cab{padding:0 0 12px;font-family:var(--mono);font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:500;color:var(--sub)}
.comp__lin--cab span:last-child{color:var(--verde)}
.comp__lin:not(.comp__lin--cab) span:first-child{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--sub)}
.comp__lin:not(.comp__lin--cab) span:nth-child(2){color:var(--sub)}
.comp__lin:not(.comp__lin--cab) span:last-child{font-size:clamp(18px,1.5vw,23px);font-weight:600;line-height:1.3}

/* Áreas */
.areas{padding:12vh 0 8vh;overflow:hidden}
.areas__topo{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,4vw,72px);padding:0 var(--marg);align-items:end;margin-bottom:8vh}
.areas__oab{margin-top:18px;font-family:var(--mono);font-size:12px;line-height:1.6;letter-spacing:.03em;padding-left:14px;border-left:2px solid var(--verde);color:var(--ink)}
.areas__corre{display:grid;gap:6px;transform:rotate(-2deg) scale(1.03)}
.areas__corre .corre{font-family:var(--disp);text-transform:uppercase;font-size:clamp(46px,7.4vw,126px);line-height:1.12}
.areas__corre .corre span{padding:0 .3em}
.areas__corre .corre:nth-child(1) span:nth-child(even),.areas__corre .corre:nth-child(3) span:nth-child(odd){color:var(--verde)}
.corre--vazado{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.72)}

/* Formulário */
.fim{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,88px);padding:14vh var(--marg) 10vh;align-items:start}
.fim__txt .rot{margin-bottom:22px}
.fim__txt .corpo{margin-top:20px}
.fim__slot{height:clamp(220px,36vh,380px);margin-top:28px;max-width:440px}
.fim__form{border:1px solid var(--fio);padding:clamp(22px,2.6vw,40px);background:var(--preto)}

.form__prog{display:flex;align-items:center;gap:6px;margin-bottom:26px}
.form__prog i{flex:1;height:2px;background:var(--fio);position:relative;overflow:hidden}
.form__prog i::after{content:"";position:absolute;inset:0;background:var(--verde);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--saida)}
.form__prog i.on::after{transform:none}
.form__prog span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;margin-left:10px;color:var(--sub)}
.form__passo{display:none}
.form__passo.on{display:block;animation:passo .7s var(--saida)}
@keyframes passo{from{opacity:0;transform:translate3d(18px,0,0)}to{opacity:1;transform:none}}
.form__tit{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(28px,2.5vw,40px);line-height:1.1;margin-bottom:22px}
.campo{margin-bottom:18px}
.campo label,.grupo legend{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;margin-bottom:6px;padding:0}
.campo input{width:100%;height:52px;padding:0;background:transparent;border:0;border-bottom:1px solid var(--fio);border-radius:0;color:inherit;font:inherit;font-size:18px;transition:border-color .3s linear;-webkit-appearance:none;appearance:none}
.campo input::placeholder{color:var(--sub);opacity:.7}
.campo input:focus{outline:0;border-color:var(--verde);box-shadow:0 1px 0 var(--verde)}
.campo input:-webkit-autofill{-webkit-text-fill-color:currentColor;box-shadow:inset 0 0 0 40px var(--preto);caret-color:currentColor}
.grupo{border:0;padding:0;margin:0 0 20px;min-width:0}
.grupo legend{margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:flex;align-items:center;min-height:44px;padding:0 14px;box-shadow:inset 0 0 0 1px var(--fio);font-size:15px;transition:background .2s linear,color .2s linear,box-shadow .2s linear}
.chip:hover span{box-shadow:inset 0 0 0 1px var(--ink,#fff)}
.chip input:checked+span{background:var(--verde);color:var(--preto);box-shadow:none;font-weight:600}
.chip input:focus-visible+span{outline:2px solid var(--verde);outline-offset:2px}
.erro-msg{font-size:14px;line-height:1.35;color:#FF7A6B;min-height:0}
.erro-msg:not(:empty){margin-top:6px}
.campo.erro input{border-color:#FF7A6B}
.form__falha{color:#FF7A6B;font-size:14px}
.form__falha:not(:empty){margin-bottom:12px}
.form__acoes{display:flex;gap:10px;margin-top:10px}
.form__acoes .btn{flex:1;justify-content:center}
.form__acoes .btn--linha{flex:0 0 auto}
.form__nota{margin-top:16px;font-size:13px;color:var(--sub)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ok{padding:24px 0;animation:passo .7s var(--saida)}
.ok__ico{width:56px;height:56px;background:var(--verde);display:grid;place-items:center;margin-bottom:20px;color:var(--preto)}
.ok__ico svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.4}
.ok h3{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(32px,3vw,48px);line-height:1.1;margin-bottom:10px}
.ok p{color:var(--sub)}

/* Rodapé */
.rodape{min-height:72vh;padding:10vh var(--marg) 26px;display:flex;flex-direction:column;justify-content:flex-end;gap:5vh}
.rodape__slot{flex:1;min-height:clamp(150px,40vh,520px)}
.rodape__pe{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:18px;padding-right:220px;border-top:1px solid var(--fio)}

/* Botão flutuante */
.fab{position:fixed;z-index:15;right:var(--marg);bottom:clamp(18px,3vh,28px);display:flex;align-items:center;gap:12px;height:56px;padding:0 22px 0 18px;background:var(--verde);color:var(--preto);font-weight:600;font-size:15px;transition:transform .6s var(--saida),opacity .3s linear,background .3s linear,color .3s linear}
.fab:hover{transform:translate3d(0,-4px,0)}
.fab.oculto{transform:translate3d(0,140%,0);opacity:0;pointer-events:none}
.fab__cubo{--l:16px;position:relative;width:var(--l);height:var(--l);transform-style:preserve-3d;animation:cubo 7s linear infinite;flex:none}
.fab__cubo i{position:absolute;inset:0;background:currentColor;box-shadow:inset 0 0 0 1px var(--verde)}
.fab__cubo i:nth-child(1){transform:translateZ(calc(var(--l)/2))}
.fab__cubo i:nth-child(2){transform:rotateY(180deg) translateZ(calc(var(--l)/2))}
.fab__cubo i:nth-child(3){transform:rotateY(90deg) translateZ(calc(var(--l)/2));opacity:.72}
.fab__cubo i:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--l)/2));opacity:.72}
.fab__cubo i:nth-child(5){transform:rotateX(90deg) translateZ(calc(var(--l)/2));opacity:.86}
.fab__cubo i:nth-child(6){transform:rotateX(-90deg) translateZ(calc(var(--l)/2));opacity:.86}
html[data-tema=verde] .fab__cubo i{box-shadow:inset 0 0 0 1px var(--preto)}
@keyframes cubo{from{transform:rotateX(-32deg) rotateY(0)}to{transform:rotateX(-32deg) rotateY(360deg)}}

/* Formulário em tela cheia: abre em círculo a partir do botão clicado */
.gaveta{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--verde);--ink:var(--preto);--sub:rgba(11,13,12,.76);--fio:rgba(11,13,12,.32);color:var(--preto);overflow-y:auto;overscroll-behavior:contain;clip-path:circle(0 at var(--x,90%) var(--y,90%));transition:clip-path .75s var(--troca)}
.gaveta.aberta{clip-path:circle(150vmax at var(--x,90%) var(--y,90%))}
.gaveta::backdrop{background:transparent}
.gaveta__corpo{width:min(680px,100%);margin:0 auto;padding:clamp(24px,6vh,64px) var(--marg);opacity:0;transform:translate3d(0,24px,0);transition:opacity .2s linear,transform .2s linear}
.gaveta.aberta .gaveta__corpo{opacity:1;transform:none;transition:opacity .5s linear .35s,transform .9s var(--saida) .35s}
.gaveta__topo{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:clamp(20px,4vh,40px)}
.gaveta__tit{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(40px,5vw,76px);line-height:1.04}
.gaveta__x{width:48px;height:48px;flex:none;display:grid;place-items:center;background:var(--preto);color:#fff;transition:transform .5s var(--saida)}
.gaveta__x:hover{transform:rotate(90deg)}
.gaveta__x svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.gaveta :focus-visible{outline-color:var(--preto)}
.gaveta .btn--preto,.gaveta .btn--g{background:var(--preto);color:#fff}
.gaveta .btn--linha{color:var(--preto)}
.gaveta .btn::before{background:rgba(255,255,255,.18)}
.gaveta .form__prog i::after{background:var(--preto)}
.gaveta .chip:hover span{box-shadow:inset 0 0 0 1.5px var(--preto)}
.gaveta .chip input:checked+span{background:var(--preto);color:#fff}
.gaveta .chip input:focus-visible+span{outline-color:var(--preto)}
.gaveta .campo input:focus{border-color:var(--preto);box-shadow:0 1px 0 var(--preto)}
.gaveta .campo input:-webkit-autofill{box-shadow:inset 0 0 0 40px var(--verde)}
.gaveta .campo input::placeholder{color:rgba(11,13,12,.66);opacity:1}
.gaveta .erro-msg,.gaveta .form__falha{color:var(--preto);font-weight:600}
.gaveta .campo.erro input{border-color:var(--preto);border-bottom-width:2px}
.gaveta .ok__ico{background:var(--preto);color:var(--verde)}

/* Celular e janelas estreitas */
@media (max-width:900px),(max-aspect-ratio:1/1){
  body{font-size:16px}
  .topo__nav{display:none}
  .hero{align-items:stretch;padding:76px var(--marg) 92px}
  .hero__txt{display:flex;flex-direction:column}
  .hero{--hf:min(19.6vw,11.6vh)}
  .hero__h{font-size:var(--hf);margin-bottom:auto}
  .hero__slot{left:var(--marg);right:var(--marg);width:auto;top:calc(118px + 3.09*var(--hf));bottom:calc(92px + 118px);height:auto}
  .hero__pe{flex-direction:column;align-items:flex-start;gap:14px;margin-top:0;padding-right:0}
  .hero__pe .btn{display:none}
  .prob{grid-template-columns:1fr;min-height:0;padding:12vh var(--marg)}
  .prob__slot{position:relative;top:0;height:36svh;min-height:240px;order:-1}
  .perg{height:420vh}
  .perg__trilho{height:min(74svh,620px);gap:24px}
  .perg__abre{width:84vw}
  .carta,.carta:nth-of-type(1){width:78vw}
  .pin{height:calc(var(--passos)*110vh + 20vh)}
  .estr,.met{grid-template-columns:1fr;grid-template-rows:minmax(0,34svh) 1fr;align-items:start;padding:64px var(--marg) 20px;gap:10px}
  .estr__slot,.met__slot{height:100%;min-height:0;grid-row:1}
  .estr__txt,.met__txt{grid-row:2}
  .estr__txt>.rot,.met__txt>.rot{display:none}
  .estr .tit{font-size:clamp(38px,12vw,64px);margin-bottom:10px}
  .lista{margin-top:12px}
  .lista li{padding:7px 0;font-size:14px}
  .estr .corpo{font-size:15px}
  .barras{margin-top:14px}
  .mani__corpo{grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:9vh var(--marg)}
  .mani__h{font-size:clamp(52px,17vw,110px)}
  .mani__slot{grid-column:1;grid-row:2;height:32svh;min-height:220px}
  .mani__t{grid-row:3;grid-column:1}
  .met__lista{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin-bottom:10px}
  .met__lista li{font-size:clamp(26px,8vw,44px)}
  .met__lista li b{display:none}
  .met__prog{display:none}
  .comp__topo{grid-template-columns:1fr}
  .comp__slot{height:150px;order:-1;max-width:220px}
  .comp__lin{grid-template-columns:1fr;gap:6px;padding:18px 0}
  .comp__lin--cab{display:none}
  .areas__topo{grid-template-columns:1fr}
  .fim{grid-template-columns:1fr;padding:12vh var(--marg) 8vh}
  .fim__slot{height:200px;margin-inline:auto}
  .rodape{min-height:62vh}
  .rodape__slot{min-height:120px}
  .rodape__pe{padding-right:0;padding-bottom:64px}
  .fab{height:50px;padding:0 16px;font-size:14px;gap:10px}
}
@media (max-height:680px) and (min-width:901px){
  .lista li{padding:7px 0;font-size:14px}
  .met__lista li{font-size:clamp(34px,4.4vw,60px)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .m>span,[data-rv]{transform:none;opacity:1}
}
@media (max-width:900px) and (max-height:700px){
  .estr,.met{grid-template-rows:minmax(0,25svh) 1fr}
}
