@font-face{font-family:'Geist';src:url(/assets/nova/fontes/geist.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Geist Mono';src:url(/assets/nova/fontes/geist-mono.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Noto Serif Display';src:url(/assets/nova/fontes/noto-serif-italic.woff2) format('woff2');font-style:italic;font-weight:400;font-display:swap}
/* Home nova da Retti Tech. Sem JavaScript tudo continua visivel e legivel. */
:root{
  --bg:#0B0908; --bg-2:#141110; --ink:#F4EFE9; --muted:#A79F95;
  --line:rgba(244,239,233,.13); --line-2:rgba(244,239,233,.26);
  --acc:#EC7A1E; --acc-esc:#B4530A; --papel:#F3EDE4; --tinta:#0B0908;
  --sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,Consolas,monospace;
  --serif:'Noto Serif Display',Georgia,serif;
  --marg:clamp(16px,3vw,40px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}
html.lenis{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-weight:400}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
::selection{background:var(--acc);color:var(--tinta)}
.caixa{width:100%;max-width:1720px;margin-inline:auto;padding-inline:var(--marg)}
.pular{position:fixed;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--tinta);padding:10px 16px;border-radius:8px}
.pular:focus{top:12px}

/* camadas fixas */
#orb,.orb-css{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.orb-css{display:none;background:radial-gradient(circle at 74% 26%,#F7D9B4 0,#EC7A1E 16%,#8A3A0C 30%,transparent 42%)}
.sem-webgl #orb{display:none}
.sem-webgl .orb-css{display:block}
.grade{position:fixed;inset:0;width:calc(100% - var(--marg)*2);max-width:calc(1720px - var(--marg)*2);margin-inline:auto;display:grid;grid-template-columns:repeat(4,1fr);z-index:1;pointer-events:none}
.grade i{border-left:1px solid rgba(244,239,233,.05)}
.grade i:nth-child(5){display:none}
main,.rodape{position:relative;z-index:2}

/* carregamento */
.carga{position:fixed;inset:0;z-index:60;background:var(--bg);display:none;align-items:flex-end;padding:var(--marg)}
.com-carga .carga{display:flex}
.carga-n{font-family:var(--mono);font-size:clamp(48px,9vw,120px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}

/* topo */
.topo-mix{position:fixed;left:0;right:0;top:0;z-index:40;display:flex;align-items:center;gap:32px;
  padding:18px var(--marg);pointer-events:none;transition:color .3s}
.topo-mix img{transition:filter .3s}
.fundo-claro .topo-mix{color:var(--tinta)}
.fundo-claro .topo-mix img{filter:brightness(0)}
.topo-mix a{pointer-events:auto}
.topo-mix::before{content:'';position:absolute;inset:0 0 -22px;z-index:-1;background:linear-gradient(var(--bg) 46%,transparent);opacity:0;transition:opacity .3s;pointer-events:none}
.rolou .topo-mix::before{opacity:1}
.fundo-claro .topo-mix::before{opacity:0}
.logo img{height:34px;width:auto}
.links{display:flex;gap:26px;margin-inline:auto;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.links a{position:relative;padding:4px 0}
.links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.links a:hover::after{transform:scaleX(1)}
.topo-cta{position:fixed;top:14px;right:var(--marg);z-index:41}
.fundo-claro .topo-cta,.fundo-claro .burger{background:var(--tinta);color:var(--ink)}
.burger{display:none;position:fixed;top:14px;right:var(--marg);z-index:52;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  background:var(--ink);color:var(--tinta);padding:11px 16px;border-radius:999px}
.menu{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;align-items:center;padding:var(--marg);
  visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}
.menu.on{visibility:visible;opacity:1}
.menu nav{display:grid;gap:4px;font-size:clamp(30px,8vw,48px);letter-spacing:-.03em;line-height:1.2}
.hud{position:fixed;right:calc(var(--marg)/2 - 8px);bottom:92px;z-index:40;writing-mode:vertical-rl;font-family:var(--mono);font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink);transition:color .3s}
.hud-claro .hud{color:var(--tinta)}
.hud b{font-weight:400}

/* botoes */
.seta{width:14px;height:14px;flex:none;transition:transform .35s var(--ease)}
.pill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 22px;border-radius:999px;background:var(--ink);color:var(--tinta);
  font-size:15px;font-weight:500;white-space:nowrap;transition:transform .35s var(--ease),background .25s,color .25s,border-color .25s}
.pill:hover .seta{transform:translateX(4px)}
.pill:active{transform:scale(.98)}
.pill-a{background:var(--acc);color:var(--tinta);min-height:56px;padding:14px 28px;font-size:17px}
.pill-a:hover{background:var(--ink)}
.pill-c{background:transparent;color:var(--ink);border:1px solid var(--line-2);min-height:56px;padding:14px 28px;font-size:17px}
.pill-c:hover{border-color:var(--ink)}
.linha{display:inline-block;border-bottom:1px solid var(--line-2);padding:10px 0 4px;transition:border-color .25s,color .25s}
.linha:hover{border-color:var(--acc);color:var(--acc)}
.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.sobre{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sobre i{width:7px;height:7px;background:var(--acc);transform:rotate(45deg)}
.tags{display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted)}
.n{font-family:var(--mono);font-size:12px;color:var(--acc);font-variant-numeric:tabular-nums}
.gigante{font-size:clamp(56px,min(14.5vw,30vh),420px);line-height:.9;letter-spacing:-.055em;font-weight:400}
h2{font-size:clamp(38px,6.4vw,130px);line-height:1;letter-spacing:-.045em}

/* hero */
.hero{position:relative;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;padding:96px var(--marg) 34px;overflow:hidden}
.geo{position:absolute;inset:0;width:100%;height:100%;color:rgba(244,239,233,.26)}
.geo circle,.geo path{stroke-dasharray:1;stroke-dashoffset:0}
.rotulo{position:absolute;top:84px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.rotulo::before{content:'{ '}.rotulo::after{content:' }'}
.r1{left:var(--marg)}.r2{left:calc(var(--marg) + (100% - var(--marg)*2)*.25 + 12px)}.r3{left:calc(var(--marg) + (100% - var(--marg)*2)*.5 + 12px)}.r4{left:calc(var(--marg) + (100% - var(--marg)*2)*.75 + 12px)}
.hero h1{position:relative;font-size:min(14.4vw,25.5vh);line-height:.92;letter-spacing:-.055em;font-weight:400}
.ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ln>span{display:block}
.ln3>span{display:flex;align-items:baseline;justify-content:flex-end;gap:.18em}
.ln3 small{font-size:.26em;letter-spacing:-.03em}
.ln3 em{font-size:.84em}
.hero-base{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:22px;padding-top:22px}
.hero-base p{color:var(--muted);max-width:34ch;font-size:16px;line-height:1.45;padding-right:62px}

/* orbe preenche a tela */
.ola{position:relative;min-height:100dvh}
.ola-fixa{min-height:100dvh;display:grid;align-content:center;gap:clamp(16px,2.6vh,30px);padding:84px var(--marg) 44px;overflow:hidden;position:relative}
.ola-marca{position:relative;font-size:clamp(56px,min(15.4vw,24vh),420px);line-height:.9;letter-spacing:-.06em;white-space:nowrap;margin-left:-.04em}
.ola-txt{position:relative;max-width:38ch;font-size:clamp(22px,min(3vw,5.1vh),64px);line-height:1.2;letter-spacing:-.03em}
.nums{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1040px;width:100%;border-top:1px solid rgba(255,255,255,.35);padding-top:16px}
.nums div{display:flex;flex-direction:column-reverse;justify-content:flex-end}
.nums dt{font-family:var(--mono);font-size:12px;letter-spacing:.03em}
.nums dd{font-size:clamp(34px,4.6vw,68px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}

/* secao inteira de cor */
.virada{position:relative;min-height:100dvh;background:var(--acc);color:var(--tinta);display:flex;flex-direction:column;justify-content:flex-end;gap:7vh;padding:96px var(--marg) 48px;overflow:hidden}
.virada-linha{display:flex;align-items:center;gap:14px;margin-left:auto;width:min(46vw,620px)}
.virada-linha i{flex:1;height:1px;background:currentColor;transform-origin:left}
.mira{width:clamp(36px,4vw,60px);flex:none}

/* atlas */
.atlas{position:relative;background:var(--bg);padding:clamp(80px,14vh,170px) 0}
.atlas-top{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(30px,6vw,110px);align-items:start}
.atlas-logo{width:min(250px,60%);margin-top:40px}
.atlas-txt{display:grid;gap:22px}
.atlas-txt p{color:var(--muted);max-width:60ch}
.atlas-txt .forte{color:var(--ink);font-size:clamp(20px,2vw,28px);line-height:1.3;letter-spacing:-.02em;max-width:34ch}
.beam{margin-top:clamp(60px,10vh,120px)}
.beam svg{width:100%;max-width:1160px;height:auto;margin-inline:auto;display:block}
.beam .node{fill:#fff;stroke:rgba(255,255,255,.22);stroke-width:1.5}
.beam .core{fill:#fff;stroke:rgba(255,255,255,.4);stroke-width:2}
.beam .wire{fill:none;stroke:rgba(255,255,255,.14);stroke-width:1.5}
.beam .pulse{fill:none;stroke:var(--acc);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:11 89;animation:beamflow 3.6s linear infinite}
@keyframes beamflow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.beam .ftype{font-family:var(--mono);font-size:7px;font-weight:500;fill:#fff;letter-spacing:.02em}
.beam .oglyph{color:var(--tinta);fill:none;stroke:var(--tinta);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.beam .oglyph rect{stroke:none}
.beam .mic,.beam .person{fill:none;stroke:var(--tinta);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.beam .cap{font-family:var(--mono);font-size:12px;fill:rgba(255,255,255,.55);letter-spacing:.14em}
.beam figcaption{max-width:64ch;margin:26px auto 0;text-align:center;color:var(--muted);font-size:14px}

/* mapeia: texto fixo, telas passando em volta */
.mapeia{position:relative;background:var(--bg)}
.mp-fixa{position:relative;min-height:100dvh;display:grid;place-items:center;overflow:hidden;padding:90px var(--marg)}
.mp-imgs{position:absolute;inset:0}
.mi{position:absolute;border-radius:10px;filter:grayscale(1) brightness(.5);object-fit:cover;box-shadow:0 30px 70px rgba(0,0,0,.5)}
.m1{width:25vw;left:4vw;top:14vh}.m2{width:21vw;right:5vw;top:9vh}.m3{width:19vw;left:12vw;bottom:7vh}.m4{width:27vw;right:9vw;bottom:9vh}
.mp-txt{position:relative;text-align:center;display:grid;gap:18px;justify-items:center;max-width:980px}
.mp-txt h2{font-size:clamp(36px,5.6vw,90px);line-height:1.04}
.mp-txt p{max-width:46ch;color:var(--ink)}
.mp-tela{display:none}
.mp-fim{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,6vw,90px);align-items:end;padding-block:clamp(60px,10vh,120px)}
.mp-fim p{color:var(--muted);max-width:62ch}
.js .mp-tela{display:block;position:absolute;left:50%;top:50%;width:26vw;transform:translate(-50%,-50%);border-radius:12px;overflow:hidden;opacity:0}
.js .mp-tela img{width:100%;height:100%;object-fit:cover}
.js .mp-tela::after{content:'';position:absolute;inset:0 0 auto;height:110px;background:linear-gradient(rgba(11,9,8,.85),transparent)}

/* sistemas */
.sistemas{position:relative;background:var(--bg);padding:clamp(80px,14vh,160px) 0}
.cab{display:grid;grid-template-columns:1.6fr 1fr;gap:24px 60px;align-items:end;margin-bottom:clamp(40px,8vh,90px)}
.cab p{color:var(--muted);max-width:44ch;font-size:16px}
.sx-grade{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(24px,6vw,90px);align-items:start}
.sx-lista{position:sticky;top:90px;display:grid}
.sx{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:baseline;text-align:left;width:100%;padding:18px 0;border-bottom:1px solid var(--line);color:var(--muted);transition:color .25s,padding .4s var(--ease)}
.sx:first-child{border-top:1px solid var(--line)}
.sx .t{font-size:clamp(24px,2.7vw,40px);line-height:1.1;letter-spacing:-.03em}
.sx .k{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.sx:hover,.sx.on{color:var(--ink)}
.sx.on{padding-left:14px}
.sp{display:grid;gap:18px;padding-bottom:50px}
.sp+.sp{border-top:1px solid var(--line);padding-top:50px}
.js .sp{display:none}
.js .sp.on{display:grid;padding:0;border:0}
.sp-topo{display:flex;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sp h3{font-size:clamp(28px,3vw,46px);line-height:1.08;letter-spacing:-.03em}
.sp p{color:var(--muted);max-width:64ch}
.sp-num{display:flex;align-items:baseline;gap:12px}
.sp-num strong{font-weight:400;font-size:clamp(40px,4.6vw,68px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.sp-num span{font-family:var(--mono);font-size:12px;color:var(--muted);max-width:18ch;line-height:1.35}
.sp h4{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.passos{counter-reset:p;display:grid}
.passos li{counter-increment:p;display:grid;grid-template-columns:40px 1fr 1.5fr;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.4;transition:color .3s}
.passos li::before{content:counter(p,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--acc);padding-top:3px}
.passos b{font-weight:500}
.passos span{color:var(--muted)}

/* frase */
.frase{position:relative;background:var(--papel);color:var(--tinta);min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:100px var(--marg);overflow:hidden;text-align:center}
.f1{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc-esc);margin-bottom:clamp(14px,3vh,28px)}
.f2{font-size:clamp(18px,1.9vw,30px);line-height:1.3;letter-spacing:-.02em;max-width:34ch;margin:clamp(18px,3.4vh,34px) auto 0}
.f3{font-size:clamp(34px,min(6.6vw,12vh),150px);line-height:1.04;letter-spacing:-.045em;max-width:19ch;margin-inline:auto;text-wrap:balance}
.f3 em{color:var(--acc-esc)}
.f-marca{position:absolute;right:var(--marg);top:90px;display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}

/* etapas com a curva */
.etapas{position:relative;background:var(--bg)}
.et-fixa{position:relative;padding-block:clamp(90px,14vh,140px)}
.et-cab{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:40px}
.et-cab p{text-align:right;font-size:clamp(20px,2.1vw,30px);line-height:1.2;letter-spacing:-.02em}
.curva{display:none}
.et-lista{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,36px)}
.et{display:grid;gap:8px;align-content:start;position:relative}
.et:nth-child(2){margin-top:11vh}.et:nth-child(3){margin-top:22vh}.et:nth-child(4){margin-top:33vh}
.marco{width:12px;height:12px;background:var(--acc);transform:rotate(45deg);margin-bottom:6px}
.et h3{font-size:clamp(30px,3.4vw,54px);line-height:1;letter-spacing:-.04em}
.et p{color:var(--muted);font-size:15px;line-height:1.5}
.js .curva{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.c-base{fill:none;stroke:var(--line-2);stroke-width:1;stroke-dasharray:2 6;vector-effect:non-scaling-stroke}
.c-viva{fill:none;stroke:var(--acc);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}

/* servicos */
.servicos{position:relative;background:var(--bg);padding:clamp(70px,12vh,140px) 0}
.sv{display:grid;grid-template-columns:50px minmax(0,1.5fr) minmax(0,1fr) 90px;gap:20px;align-items:center;padding:clamp(18px,3vh,32px) 0;border-top:1px solid var(--line)}
.sv:last-child{border-bottom:1px solid var(--line)}
.sv .t{font-size:clamp(28px,4.5vw,72px);line-height:1.04;letter-spacing:-.045em;color:var(--muted);transition:transform .6s var(--ease),color .3s}
.sv .d{color:var(--muted);font-size:15px;line-height:1.45}
.sv .k{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right}
.sv:hover .t{transform:translateX(clamp(10px,3vw,50px));color:var(--ink)}

/* projetos */
.projetos{position:relative;background:var(--bg);padding:clamp(70px,12vh,130px) 0;overflow:hidden}
.mq{display:flex;width:max-content;margin-bottom:clamp(50px,9vh,110px);font-size:clamp(70px,13vw,300px);line-height:1;letter-spacing:-.05em;white-space:nowrap}
.mq-l{display:flex;gap:.5em;padding-right:.5em}
.mq-l span{color:transparent;-webkit-text-stroke:1px rgba(244,239,233,.42)}
.mq-l span:nth-child(3n+2){color:var(--ink);-webkit-text-stroke:0}
.au{display:grid;grid-template-columns:50px 1fr 1.5fr auto;gap:24px;padding:clamp(20px,4vh,36px) 0;border-top:1px solid var(--line);align-items:start}
.au:last-child{border-bottom:1px solid var(--line)}
.au-t{display:grid;gap:4px}
.au-t h3{font-size:clamp(26px,3.1vw,46px);line-height:1.05;letter-spacing:-.035em}
.au-t span{font-family:var(--mono);font-size:12px;color:var(--muted)}
.au-d{display:grid;gap:14px}
.au-d p{color:var(--muted);font-size:15.5px}

/* stack */
.stack{position:relative;background:var(--bg);padding:clamp(50px,9vh,100px) 0;overflow:hidden}
.stack h2{margin-bottom:34px}
.st{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:center;gap:16px;border-top:1px solid var(--line);padding:14px var(--marg)}
.st:last-child{border-bottom:1px solid var(--line)}
.st h3{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.st-v{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.st-l{display:flex;flex:none;gap:34px;padding-right:34px;font-size:clamp(18px,2.1vw,30px);letter-spacing:-.02em;white-space:nowrap}
.sem-js .st-l[aria-hidden]{display:none}
.sem-js .st-l{flex-wrap:wrap;white-space:normal}

/* metodo */
.metodo{position:relative;background:var(--bg);padding:clamp(50px,9vh,100px) 0}
.me-linha:last-child{border-bottom:1px solid var(--line-2)}
.me-linha{display:grid;grid-template-columns:repeat(4,1fr);padding:clamp(24px,4vh,40px) 0;border-top:1px solid var(--line-2)}
.me-linha h2{grid-column:1/span 2;font-size:clamp(20px,2vw,28px);line-height:1.2;letter-spacing:-.02em;padding-right:24px}
.me-linha>p,.me-linha>ul{grid-column:3/-1;padding-left:12px}
.me-linha p{color:var(--muted);max-width:62ch}

/* faq */
.faq{position:relative;background:var(--bg);padding:clamp(70px,12vh,140px) 0}
.faq-g{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,6vw,90px);align-items:start}
.faq-g header{position:sticky;top:90px;display:grid;gap:16px}
.faq-g header p{color:var(--muted);max-width:36ch}
.fq{border-bottom:1px solid var(--line)}
.fq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:18px 18px;border-radius:6px;transition:background .25s,color .25s}
.fq summary::-webkit-details-marker{display:none}
.fq h3{font-size:clamp(17px,1.5vw,21px);line-height:1.3;letter-spacing:-.01em}
.fq[open] summary{background:var(--acc);color:var(--tinta)}
.fq p{padding:16px 18px 24px;color:var(--muted);max-width:66ch}
.fq p b{color:var(--ink);font-weight:500}
.mais{position:relative;width:13px;height:13px;flex:none}
.mais::before,.mais::after{content:'';position:absolute;left:0;right:0;top:6px;height:1px;background:currentColor;transition:transform .3s var(--ease)}
.mais::after{transform:rotate(90deg)}
.fq[open] .mais::after{transform:rotate(0)}

/* contato: a esfera volta */
.contato{position:relative;min-height:100dvh;display:flex;align-items:flex-end;padding:120px 0 60px}
.contato .gigante{font-size:clamp(50px,10.6vw,190px);line-height:.96;max-width:12ch}
.ct-sub{max-width:52ch;margin:clamp(20px,4vh,40px) 0 26px;font-size:clamp(17px,1.5vw,21px);line-height:1.45}
.ct-nota{margin-top:22px;font-family:var(--mono);font-size:12px;color:var(--ink)}
.rodape{background:var(--bg);border-top:1px solid var(--line);padding:clamp(40px,7vh,70px) 0 56px}
.rod-g{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.rod-g nav a{padding:5px 0}
.rod-g dd a{display:inline-block;padding:8px 0}
.rod-g nav{display:grid;gap:2px;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.025em;line-height:1.3}
.rod-g nav a,.rod-g dd a{transition:color .25s}
.rod-g nav a:hover,.rod-g dd a:hover{color:var(--acc)}
.rod-g dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;align-content:start}
.rod-g dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rod-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;font-family:var(--mono);font-size:12px;color:var(--muted)}

.wa-fab{position:fixed;right:18px;bottom:18px;z-index:42;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#25D366;color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.4);transition:transform .3s var(--ease)}
.wa-fab:hover{transform:scale(1.07)}
.wa-fab svg{width:26px;height:26px}

/* estados iniciais so quando o JS vai animar */
.anima .ln>span{transform:translateY(112%)}
.anima .rotulo,.anima .hero-base{opacity:0}
.anima .geo circle,.anima .geo path{stroke-dashoffset:1}

@media (max-width:1180px){
  .links{display:none}
  .topo-cta{display:none}
  .burger{display:block}
}
@media (max-width:900px){
  body{font-size:16px}
  .grade{grid-template-columns:repeat(2,1fr)}
  .grade i:nth-child(n+3){display:none}
  .rotulo{display:none}
  .hero{padding-top:84px;justify-content:flex-end}
  .hero h1{font-size:clamp(58px,17.4vw,150px)}
  .ln3>span{flex-direction:column;align-items:flex-start;gap:0}
  .ln3 small{font-size:.34em;line-height:1.3}
  .ln3 em{font-size:.74em}
  .hero-base .acoes{width:100%}
  .hero-base p{padding-right:62px}
  .hero-base .pill{flex:1;justify-content:center;padding-inline:16px;font-size:15px}
  .ola-fixa{align-content:center}
  .ola-txt{max-width:none;margin:0}
  .nums{grid-template-columns:repeat(3,1fr);gap:10px}
  .atlas-top,.mp-fim,.cab,.sx-grade,.faq-g,.rod-g{grid-template-columns:1fr}
  .me-linha{grid-template-columns:1fr;gap:10px}
  .me-linha h2,.me-linha>p,.me-linha>ul{grid-column:1;padding:0}
  .atlas-logo{margin-top:22px;width:150px}
  .sx-lista,.faq-g header{position:static}
  .mp-fixa{display:block;padding:80px var(--marg) 20px}
  .mp-imgs{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px;order:2}
  .mp-fixa{display:flex;flex-direction:column}
  .mi{position:static;width:100%;aspect-ratio:4/3;filter:none}
  .m3,.m4{display:none}
  .js .mp-tela{display:none}
  .mp-txt{text-align:left;justify-items:start}
  .sx{grid-template-columns:30px 1fr auto}
  .passos li{grid-template-columns:30px 1fr}
  .passos span{grid-column:2}
  .f-marca{position:static;margin:26px auto 0;justify-content:center}
  .frase{min-height:70dvh}
  .et-cab{flex-direction:column}
  .et-cab p{text-align:left}
  .js .curva{display:none}
  .et-lista{grid-template-columns:1fr}
  .et:nth-child(n){margin-top:0;padding-left:24px;border-left:1px solid var(--line-2)}
  .et{padding-bottom:18px}
  .sv{grid-template-columns:30px 1fr}
  .sv .d{grid-column:2}
  .sv .k{display:none}
  .au{grid-template-columns:30px 1fr}
  .au-d,.au .sp-num{grid-column:2}
  .st{grid-template-columns:1fr}
  .hud{display:none}
}
/* celular deitado e telas muito baixas */
@media (max-height:520px) and (orientation:landscape){
  .hero{padding-top:62px;padding-bottom:14px}
  .hero h1{font-size:19vh}
  .ln3>span{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:.18em}
  .ln3 small{font-size:.3em}
  .hero-base{margin-top:10px;padding-top:10px;flex-wrap:nowrap}
  .hero-base .acoes{width:auto;flex-wrap:nowrap}
  .hero-base .pill{min-height:44px;flex:none}
  .hero-base p{display:none}
  .ola-fixa{min-height:0;padding-block:70px 30px}
  .virada{min-height:0;padding-top:80px}
  .contato{min-height:0;padding-top:80px}
  .gigante{font-size:clamp(46px,24vh,90px)}
  .frase{min-height:0}
  .frase{padding-block:76px 40px}
  .f3{font-size:clamp(26px,10vh,44px);max-width:30ch}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .beam .pulse{animation:none;stroke-dasharray:none;opacity:.4}
  .anima .ln>span{transform:none}
  .anima .rotulo,.anima .hero-base{opacity:1}
  .anima .geo circle,.anima .geo path{stroke-dashoffset:0}
}
