/* =========================================================
   Mareto · style.css (v2)
   Mesmas cores, fontes e logo. Estrutura editorial: linhas finas
   no lugar de caixas, hierarquia clara de botões e movimento no scroll.
   Ordem: tokens · base · tipografia · botões · cabeçalho · hero ·
   seções · home · subpáginas · rodapé · movimento · responsivo · legado
   ========================================================= */

/* ---------- tokens ---------- */
:root{
 --deep:#03170F;--em:#062A1C;--em2:#0A3A27;--em3:#0F4A33;
 --neon:#9CD9B5;--neon2:#C9EBD6;--white:#FFFFFF;
 --soft:rgba(255,255,255,.72);--mut:rgba(255,255,255,.56);
 --rule:rgba(255,255,255,.12);--rule2:rgba(255,255,255,.24);
 --light:#EEF7F2;--ink:#06231A;--body:#3D5A4C;--label:#4F6B5E;--line:#D9EBE1;--line2:#C7DDD0;
 --ok:#0E7A4B;--okbg:#E3F5EB;--field:#F3F8F5;--field-line:#D3E5DA;--danger:#A6261C;--danger-bg:#FDEEEC;
 --wa:#25D366;
 --sans:'Poppins',system-ui,sans-serif;
 --cond:'Barlow Condensed','Arial Narrow',sans-serif;
 --serif:'Fraunces',Georgia,serif;
 --r-card:16px;--r-media:12px;
 --sec:clamp(84px,9.5vw,136px);
 --ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.4,0,1,1);
 color-scheme:dark;interpolate-size:allow-keywords
}

/* ---------- base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip;scrollbar-color:var(--em3) var(--deep);caret-color:var(--neon);-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--deep);color:var(--soft);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--neon);color:var(--deep)}
a{color:inherit;text-decoration:none}
img,svg{display:block}
ul,ol{list-style:none}
.in{max-width:1240px;margin:0 auto;padding-inline:clamp(20px,4vw,48px)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--neon);outline-offset:4px;border-radius:6px}
.lt a:focus-visible,.lt button:focus-visible,.lt summary:focus-visible,form :focus-visible{outline-color:var(--ok)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- tipografia ---------- */
h1,h2,h3,h4{font-family:var(--sans);font-weight:600;color:#fff;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}
h3,h4{line-height:1.22}
.neon{color:var(--neon)}
.lt .neon{color:var(--ok)}
.h-a{display:block;font-family:var(--cond);font-weight:600;text-transform:uppercase;font-size:clamp(54px,8.4vw,124px);letter-spacing:-.005em;line-height:.88;color:#fff}
.h-b{display:block;margin-top:14px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(30px,3.6vw,52px);letter-spacing:-.01em;line-height:1.05;color:var(--neon2)}
.lead{font-size:17px;color:rgba(255,255,255,.72);max-width:500px}
p{text-wrap:pretty}

/* ---------- botões ----------
   b1 = ação principal (uma por bloco) · b2 = alternativa · lnk = navegação discreta
   seta = vai para outra parte do site · ícone do WhatsApp = abre a conversa */
.b1,.b2{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;border-radius:999px;font:600 15px/1.2 var(--sans);letter-spacing:-.005em;cursor:pointer;border:0;text-align:left;
 transition:background-color .25s var(--ease-out),border-color .25s var(--ease-out),color .25s var(--ease-out),transform .2s var(--ease-out)}
.b1{background:var(--neon);color:var(--deep);padding:7px 7px 7px 24px}
.b1 .ic{width:40px;height:40px;border-radius:50%;background:var(--deep);color:var(--neon);display:grid;place-items:center;flex:none;overflow:hidden}
.b1:hover{background:var(--neon2)}
.b2{background:transparent;border:1px solid var(--rule2);color:#fff;padding:0 26px;justify-content:center}
.b2:hover{border-color:var(--neon);color:var(--neon2);background:rgba(156,217,181,.06)}
.b1:active,.b2:active{transform:scale(.97);transition-duration:.1s}
.b1.sm{min-height:46px;padding:5px 5px 5px 20px;font-size:14px;gap:12px}.b1.sm .ic{width:36px;height:36px}
/* em fundo claro o botão principal escurece, para não sumir no branco */
.lt .b1,form .b1{background:var(--ink);color:#fff}
.lt .b1 .ic,form .b1 .ic{background:var(--neon);color:var(--ink)}
.lt .b1:hover,form .b1:hover{background:var(--em3)}

.lnk{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:var(--neon);padding-block:6px;
 background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease-out),color .25s}
.lnk:hover,a:hover .lnk{background-size:calc(100% - 26px) 1px}
.lnk svg{flex:none}
.lt .lnk{color:var(--ok)}
@media (pointer:coarse){a.lnk{min-height:44px}}

/* setas deslizam para a frente no hover */
.ar{transition:transform .35s var(--ease-out)}
a:hover .ar,button:hover .ar{animation:mx-nudge .5s var(--ease-out)}
a:hover .wa-i,button:hover .wa-i{transform:scale(1.1)}
.wa-i{transition:transform .3s var(--ease-out)}
@keyframes mx-nudge{0%{transform:none}45%{transform:translateX(140%)}46%{transform:translateX(-140%)}100%{transform:none}}

/* ---------- cabeçalho ---------- */
.hdr{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));left:0;right:0;z-index:50;transition:transform .55s var(--ease-out)}
.hdr.is-hidden{transform:translateY(calc(-100% - 24px))}
.bar{display:flex;align-items:center;gap:20px;height:66px;padding:0 9px 0 24px;border-radius:999px;background:rgba(3,23,15,.62);border:1px solid var(--rule);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);transition:background-color .35s}
.hdr.is-scrolled .bar{background:rgba(3,23,15,.88)}
.dnav{display:flex;gap:30px;margin-left:auto;font-size:14px;font-weight:500;color:var(--soft)}
.dnav a{position:relative;padding-block:8px;transition:color .2s}
.dnav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--neon);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease-out)}
.dnav a:hover{color:#fff}
.dnav a:hover::after{transform:scaleX(1);transform-origin:left}
.dnav a[aria-current="page"]{color:#fff}
.dnav a[aria-current="page"]::after{transform:scaleX(1);height:2px;border-radius:2px}
.hdr .b1{margin-left:14px;white-space:nowrap}
.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule2);background:transparent;color:#fff;cursor:pointer}
.wm{display:inline-flex;flex-direction:column;align-items:center;line-height:1;color:#fff}
.wm .row{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:.16em;margin-right:-.16em;padding-top:8px}
.wm .ow{position:relative;display:inline-block}
.wm .hm{position:absolute;left:-4%;top:-.2em;width:92%;transform:rotate(-6deg);transform-origin:50% 100%}
.wm .sub{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:7px;font-weight:600;letter-spacing:.3em;padding-left:.3em;opacity:.8}
.wm .sub i{width:12px;height:1px;background:currentColor}
.mnav{margin-top:10px;border-radius:22px;background:rgba(3,23,15,.96);border:1px solid var(--rule);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:10px;display:grid;gap:2px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
 transition:opacity .24s var(--ease-out),transform .32s var(--ease-out)}
@starting-style{.mnav{opacity:0;transform:translateY(-8px) scale(.985)}}
.mnav[hidden]{display:none!important}
.mnav a:not(.b1){padding:14px 16px;border-radius:14px;font-size:16px;font-weight:500;color:#fff}
.mnav a:not(.b1):hover,.mnav a:not(.b1):focus-visible{background:rgba(255,255,255,.06)}
.mnav a[aria-current="page"]{background:rgba(255,255,255,.06);color:var(--neon)}
.mnav .b1{margin:8px 6px 6px}

/* ---------- hero (home) ---------- */
.hero{position:relative;min-height:min(900px,100svh);display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--em)}
.hbg{position:absolute;top:0;bottom:0;right:0;width:62%;overflow:hidden;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 18%,rgba(0,0,0,.8) 34%,#000 50%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 18%,rgba(0,0,0,.8) 34%,#000 50%)}
.hph{position:absolute;inset:0;background-size:cover;background-position:70% 30%;filter:contrast(1.05) brightness(1.04)}
.hph::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(40,140,95,.55),rgba(10,58,39,.4));mix-blend-mode:soft-light}
.htint{position:absolute;inset:0;z-index:1;pointer-events:none;background:
 radial-gradient(120% 90% at 0% 50%,var(--em) 0%,var(--em) 32%,rgba(6,42,28,.7) 48%,rgba(6,42,28,0) 68%),
 linear-gradient(180deg,rgba(3,23,15,.7) 0%,rgba(3,23,15,0) 18%,rgba(3,23,15,0) 74%,rgba(3,23,15,.85) 100%)}
.hc{position:relative;z-index:3;width:100%;padding-top:130px;padding-bottom:150px}
.htxt{max-width:640px}
.hero h1{max-width:820px;font-weight:400;line-height:1}
.hero .lead{margin-top:26px;max-width:470px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
.proof{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:44px;font-size:14px;color:var(--soft)}
.proof b{color:#fff;font-weight:600}
.proof i{width:1px;height:18px;background:var(--rule2)}
.hchips{position:absolute;z-index:3;right:clamp(20px,5vw,72px);bottom:110px}
.fc1{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(3,23,15,.72);border:1px solid var(--rule);font-size:13px;font-weight:500;color:#fff}
.fc1 .dt{width:7px;height:7px;border-radius:50%;background:var(--neon)}
.tick{position:absolute;z-index:3;left:0;right:0;bottom:0;border-top:1px solid var(--rule);background:rgba(3,23,15,.6);overflow:hidden;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tt{display:flex;align-items:center;width:max-content;animation:tk 38s linear infinite;padding:20px 0}
.tick:hover .tt{animation-play-state:paused}
.tt span{font-family:var(--cond);font-weight:500;font-size:23px;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:0 30px;white-space:nowrap}
.tt i{width:5px;height:5px;transform:rotate(45deg);background:rgba(255,255,255,.45);flex:none}
@keyframes tk{to{transform:translateX(-50%)}}

/* ---------- hero das subpáginas ---------- */
.phero{position:relative;min-height:min(640px,82vh);display:flex;align-items:flex-end;overflow:hidden;background:var(--em)}
.phero .pbg{position:absolute;top:0;bottom:0;right:0;width:64%;background-size:cover;background-position:center}
.phero .pbg::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(40,140,95,.45),rgba(10,58,39,.35));mix-blend-mode:soft-light}
.phero .ptint{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--em) 0%,var(--em) 34%,rgba(6,42,28,.85) 44%,rgba(6,42,28,.35) 60%,rgba(6,42,28,0) 78%),linear-gradient(180deg,rgba(3,23,15,.7) 0%,rgba(3,23,15,0) 22%,rgba(3,23,15,0) 70%,rgba(6,42,28,1) 100%)}
.phero .in{position:relative;z-index:2;width:100%;padding-top:150px;padding-bottom:80px}
.crumb{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--mut)}
.crumb a{color:var(--soft);transition:color .2s}.crumb a:hover{color:var(--neon)}
.crumb i{width:4px;height:4px;border-radius:50%;background:var(--neon)}
.phero h1{margin-top:22px;max-width:920px;font-weight:400;line-height:1}
.phero .lead{margin-top:20px;max-width:520px}
.phero .cta{margin-top:30px}

/* ---------- seções ---------- */
section.s{padding-block:var(--sec);position:relative}
.e0{background:var(--deep)}
.e1{background:var(--em)}
.e2{background:linear-gradient(180deg,var(--em) 0%,var(--deep) 100%)}
.lt{background:var(--light);color:var(--body)}
.bgl{background:var(--light)}
.lt h2,.lt h3,.lt h4{color:var(--ink)}
.hd{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:end;margin-bottom:clamp(44px,6vw,80px)}
.hd h2{font-size:clamp(34px,4.4vw,60px);letter-spacing:-.03em;line-height:1.03;max-width:15ch}
.hd p{max-width:400px;justify-self:end;font-size:16.5px}
.hd .lnk{margin-top:14px}

/* lista com linhas finas (no lugar de checks em bolinhas) */
.rl{border-top:1px solid var(--rule)}
.rl li{padding:11px 0;border-bottom:1px solid var(--rule);font-size:14.5px;font-weight:500;color:#fff}
.lt .rl{border-color:var(--line2)}.lt .rl li{border-color:var(--line2);color:var(--ink)}

/* ---------- home: clientes (faixa animada) ----------
   logos reais em silhueta de uma cor (máscara + currentColor), tamanho equalizado
   pela área visual (--w no HTML). Três cópias da lista: a faixa anda um terço e
   recomeça sem emenda, inclusive em telas muito largas */
.cli2{background:var(--deep);padding-block:clamp(64px,8vw,104px);border-bottom:1px solid var(--rule);overflow:hidden}
.cl-h{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:clamp(36px,4vw,52px)}
.cl-h h2{font-size:clamp(22px,2.4vw,32px);font-weight:500;line-height:1.25;max-width:640px;letter-spacing:-.02em}
.cl-n{display:flex;align-items:baseline;gap:10px;flex:none;color:var(--soft);font-size:14px}
.cl-n b{font-family:var(--cond);font-weight:600;font-size:clamp(34px,3.2vw,44px);line-height:.9;color:var(--neon)}
.lmr{border-block:1px solid var(--rule);overflow:hidden;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.lmt{display:flex;width:max-content;animation:mx-marquee 54s linear infinite reverse}
.lmr:hover .lmt{animation-play-state:paused}
.lmt li{flex:none;width:clamp(172px,17vw,236px);height:clamp(104px,9.5vw,128px);display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:0 30px;border-right:1px solid var(--rule);color:rgba(255,255,255,.66);transition:color .35s,background-color .35s}
.lmt li:hover{color:#fff;background:rgba(255,255,255,.025)}
@keyframes mx-marquee{to{transform:translateX(calc(-100% / 3))}}
.lgo{display:block;width:calc(var(--w)*1px*var(--s,1));max-width:100%;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.lgt{display:flex;flex-direction:column;align-items:center;line-height:1;text-align:center}
.lgt b{font-family:var(--cond);font-weight:600;font-size:calc(28px*var(--s,1));letter-spacing:.1em;padding-left:.1em}
.lgt small{margin-top:7px;font-size:10px;font-weight:600;letter-spacing:.26em;padding-left:.26em;text-transform:uppercase;opacity:.86;white-space:nowrap}

/* ---------- home: soluções (um destaque + dois apoios) ---------- */
.svx{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:1fr 1fr;gap:20px}
.sv{position:relative;display:flex;flex-direction:column;border-radius:var(--r-card);background:rgba(255,255,255,.03);border:1px solid var(--rule);padding:10px;color:inherit;transition:border-color .3s,background-color .3s}
.sv:hover{border-color:rgba(156,217,181,.42);background:rgba(255,255,255,.045)}
.sv.feat{grid-row:1/span 2}
.ph{position:relative;overflow:hidden;border-radius:var(--r-media);background:var(--em2)}
.im{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1s var(--ease-out)}
.sv:hover .im{transform:scale(1.045)}
.sv .ph{aspect-ratio:16/10}
.sv.feat .ph{flex:1;aspect-ratio:auto;min-height:320px}
.sv:not(.feat){flex-direction:row}
.sv:not(.feat) .ph{width:38%;flex:none;aspect-ratio:auto}
.sv .bd{display:flex;flex-direction:column;padding:20px 16px 10px 22px;flex:1;min-width:0}
.sv.feat .bd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;align-content:start;gap:0 40px;padding:28px 20px 16px 22px;flex:none}
.sv.feat .lnk{align-self:end}
.sv h3{font-size:clamp(20px,1.8vw,23px)}
.sv.feat h3{font-size:clamp(24px,2.2vw,30px)}
.sv p{margin-top:8px;font-size:15px}
.sv .rl{margin-top:18px}
.sv.feat .rl{margin-top:4px;grid-row:1/span 3;grid-column:2}
.sv .lnk{margin-top:auto;padding-top:18px;align-self:flex-start}
.sv.feat .lnk{padding-top:18px}

/* ---------- home: grade com todas as NRs ----------
   12 células (11 NRs + chamada) fecham 4×3, 3×4 e 2×6 sem buracos;
   a última coluna de cada largura perde a borda direita */
.nrg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule)}
.nrc{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:156px;padding:26px 24px 22px;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);color:#fff;transition:background-color .3s,color .3s,border-color .3s}
.nrc b{font-family:var(--cond);font-weight:600;font-size:clamp(40px,3.8vw,54px);line-height:.88;letter-spacing:.01em;white-space:nowrap;transition:color .3s}
.nrc span{font-size:14.5px;font-weight:500;line-height:1.4;color:var(--soft);max-width:24ch;transition:color .3s}
.nrc>svg{position:absolute;top:26px;right:22px;color:var(--mut);transition:color .3s}
.nrc:nth-child(4n){border-right:0}
.nrc:hover{background:rgba(156,217,181,.05)}
.nrc:hover b{color:var(--neon)}
.nrc:hover span{color:#fff}
.nrc:hover>svg{color:var(--neon)}
.nrc.cta{background:var(--em)}
.nrc.cta b{white-space:normal;font-family:var(--sans);font-size:19px;line-height:1.25;letter-spacing:-.015em;color:var(--neon);max-width:12ch}
.nrc.cta>svg{color:var(--neon)}
.nrc.cta:hover{background:var(--em2)}

/* ---------- números ---------- */
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);margin-top:clamp(72px,9vw,128px)}
.num{position:relative;padding:30px 24px 4px 0}
.num+.num{padding-left:28px;border-left:1px solid var(--rule)}
.num b{display:block;font-family:var(--cond);font-weight:600;font-size:clamp(54px,5.8vw,84px);line-height:.88;color:#fff;letter-spacing:0;font-variant-numeric:tabular-nums}
.num b em{font-style:normal;color:var(--neon)}
.num span{display:block;margin-top:12px;font-size:14.5px;color:var(--soft)}

/* ---------- método (linha do tempo) ---------- */
.tline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(20px,3vw,44px);padding-top:44px;view-timeline-name:--tl}
.tline::before,.tline::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--rule2)}
.tline::after{height:2px;top:-.5px;background:var(--neon);transform-origin:left}
.tl-step{position:relative}
.tl-step .dot{position:absolute;top:-50px;left:0;width:12px;height:12px;border-radius:50%;background:var(--neon);box-shadow:0 0 0 5px var(--em)}
.tl-step .n{font-family:var(--cond);font-weight:600;font-size:15px;letter-spacing:.14em;color:var(--neon)}
.tl-step b{display:block;margin-top:10px;font-size:22px;font-weight:600;color:#fff;letter-spacing:-.02em;line-height:1.2}
.tl-step p{margin-top:8px;font-size:15px;max-width:30ch}

/* ---------- chamada final ---------- */
.big{position:relative;border-radius:20px;overflow:hidden;min-height:500px;display:flex;align-items:center;isolation:isolate;background:var(--em)}
.big .ph{position:absolute;inset:0 0 0 35%;border-radius:0}
.big::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--em) 35%,rgba(6,42,28,.6) 65%,rgba(6,42,28,.15))}
.big .tx{position:relative;z-index:3;padding:64px clamp(28px,5vw,72px);max-width:660px}
.big h2{font-weight:400;line-height:1}
.big .h-a{font-size:clamp(52px,7vw,104px)}
.big .h-b{font-size:clamp(30px,3.4vw,48px)}
.big p{margin-top:22px;font-size:17px;max-width:440px}

/* ---------- dúvidas ---------- */
.fq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.fq h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.03em}
.fq-aside p{margin-top:16px;max-width:360px}
.fq-aside .lnks{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:20px}
.fq-list,.fqp{border-top:1px solid var(--line2)}
details{border-bottom:1px solid var(--line2)}
summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-weight:600;font-size:18px;line-height:1.35;color:var(--ink);transition:color .2s}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--ok)}
summary::after{content:"";width:34px;height:34px;flex:none;border-radius:50%;border:1px solid var(--line2);
 background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 12px no-repeat;color:var(--ok);transition:transform .35s var(--ease-out),background-color .25s,border-color .25s}
details[open] summary::after{transform:rotate(45deg);background-color:var(--okbg);border-color:var(--okbg)}
details p{padding:0 64px 26px 0;font-size:15.5px;max-width:64ch}
details::details-content{height:0;overflow:clip;transition:height .38s var(--ease-out),content-visibility .38s allow-discrete}
details[open]::details-content{height:auto}
details[open] p{animation:mx-fade-in .35s .06s var(--ease-out) both}
details p a{color:var(--ok);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.fqp{max-width:880px;margin:0 auto}
.more{display:flex;justify-content:center;margin-top:48px}

/* ---------- contato ---------- */
.cg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;align-items:stretch}
.ci{border-radius:var(--r-card);background:var(--em);padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;color:var(--soft)}
.ci h2{font-size:clamp(30px,3.2vw,44px);letter-spacing:-.03em;color:#fff}
.ci > p{margin-top:14px;max-width:380px}
.crows{margin:32px 0 36px;border-top:1px solid var(--rule)}
.crows li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:15px 0;border-bottom:1px solid var(--rule);font-size:15px;color:#fff;font-weight:500;overflow-wrap:anywhere}
.crows small{font-size:13px;color:var(--mut);font-weight:400;padding-top:1px}
.crows a{transition:color .2s}.crows a:hover{color:var(--neon)}
.crows.st li{grid-template-columns:28px minmax(0,1fr);font-weight:400;color:var(--soft)}
.crows.st small{font-family:var(--cond);font-weight:600;font-size:17px;color:var(--neon);padding-top:0;line-height:1.4}
.ci .b1{margin-top:auto;align-self:flex-start}
form{border-radius:var(--r-card);background:#fff;color:var(--body);padding:clamp(28px,4vw,48px);display:grid;gap:16px;align-content:start;box-shadow:0 30px 70px -40px rgba(6,35,26,.4)}
form h3{color:var(--ink);font-size:26px;letter-spacing:-.025em}
form .fh{margin-top:-8px;font-size:14.5px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:7px;font-size:13px;font-weight:500;color:var(--label)}
input,select,textarea{font:400 15px var(--sans);color:var(--ink);background:var(--field);border:1px solid var(--field-line);border-radius:12px;padding:13px 15px;width:100%;caret-color:var(--ok);accent-color:var(--ok);transition:border-color .2s,box-shadow .2s,background-color .2s}
input:hover,select:hover,textarea:hover{border-color:#B9D4C5}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ok);background:#fff;box-shadow:0 0 0 4px rgba(14,122,75,.12)}
textarea{min-height:104px;resize:vertical}
form .b1{justify-self:start;margin-top:4px}
.req{color:var(--ok)}
.ok{display:none;background:var(--okbg);color:var(--ok);border-radius:12px;padding:12px 14px;font-weight:600;font-size:14px;line-height:1.5}
.ok.show{display:block;animation:mx-status .3s var(--ease-out) both}
.ok a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ok.err{background:var(--danger-bg);color:var(--danger)}
input[aria-invalid="true"]{border-color:var(--danger);background:var(--danger-bg)}

/* ---------- soluções: catálogo agrupado ---------- */
.cat{display:grid;gap:clamp(64px,8vw,112px)}
.cat-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,96px);align-items:start}
.cat-h{position:sticky;top:112px}
.cat-h h3{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.025em}
.cat-h small{display:block;margin-top:12px;font-family:var(--cond);font-weight:500;font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--neon)}
.cat-rows{border-top:1px solid var(--rule)}
.cat-r{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px 40px;padding:28px 0;border-bottom:1px solid var(--rule)}
.cat-r h4{font-size:21px;letter-spacing:-.02em;line-height:1.25}
.cat-r small{display:block;margin-top:8px;font-size:13px;color:var(--mut)}
.cat-r p{font-size:15.5px}
.cat-r .lnk{margin-top:10px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center;scroll-margin-top:100px}
.split .ph{aspect-ratio:4/3.4;border-radius:var(--r-card)}
.split h2{font-size:clamp(30px,3.8vw,50px);letter-spacing:-.03em}
.split p{margin-top:16px;font-size:16.5px;max-width:480px}
.split .rl{margin-top:26px}
.split .b1{margin-top:32px}

/* ---------- treinamentos: todas as NRs numa lista que abre ---------- */
.nrl2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.nr-side{position:sticky;top:112px}
.nr-side .ph{aspect-ratio:4/4.4;border-radius:var(--r-card)}
.nra{border-top:1px solid var(--rule)}
.nrx{border-bottom:1px solid var(--rule);scroll-margin-top:110px}
.nrx summary{display:grid;grid-template-columns:96px minmax(0,1fr) 34px;align-items:center;gap:20px;padding:20px 0;color:#fff;font-weight:500;font-size:16px}
.nrx summary:hover{color:#fff}
.nrx summary::after{color:var(--neon);border-color:var(--rule2)}
.nrx[open] summary::after{background-color:rgba(156,217,181,.14);border-color:transparent}
.nrx b{font-family:var(--cond);font-weight:600;font-size:40px;line-height:.9;letter-spacing:.01em;white-space:nowrap;transition:color .3s}
.nrx summary:hover b,.nrx[open] b,.nrx:target b{color:var(--neon)}
.nrx .nt{display:block;font-size:16.5px;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:#fff}
.nrx .who{display:block;margin-top:4px;font-size:13.5px;font-weight:400;color:var(--mut)}
.nrx-b{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:0 54px 26px 116px}
.nrx-b p{padding:0;font-size:15.5px;max-width:44ch;color:var(--soft)}
.fmt{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:clamp(64px,8vw,104px)}
.nr-side .fmt{grid-template-columns:1fr;gap:28px;margin-top:36px}
.fmt div{border-top:1px solid var(--neon);padding-top:22px}
.fmt b{display:block;color:#fff;font-size:20px;font-weight:600;letter-spacing:-.02em}
.fmt p{margin-top:8px;font-size:15.5px;max-width:46ch}

/* ---------- método (página) ---------- */
.tl{border-top:1px solid var(--rule)}
.tlr{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;padding:44px 0;border-bottom:1px solid var(--rule)}
.tlr .n{font-family:var(--cond);font-weight:600;font-size:72px;line-height:.85;color:var(--neon)}
.tlr h3{font-size:26px;letter-spacing:-.025em}
.tlr p{margin-top:10px;font-size:15.5px;max-width:44ch}
.tlr small{display:block;font-size:13px;color:var(--mut);margin-bottom:6px}
.gets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.gets>div{padding:32px 32px 0 0}
.gets>div+div{padding-left:32px;border-left:1px solid var(--rule)}
.gets i{display:block;color:var(--neon)}
.gets b{display:block;margin-top:20px;color:#fff;font-size:20px;font-weight:600;letter-spacing:-.02em}
.gets p{margin-top:8px;font-size:15px}

/* ---------- contato (página) ---------- */
.ctg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line2);margin-bottom:clamp(56px,7vw,88px)}
.ctc{padding:30px 28px 26px 0;display:flex;flex-direction:column;gap:8px;color:var(--body)}
.ctc+.ctc{padding-left:28px;border-left:1px solid var(--line2)}
.ctc i{display:block;color:var(--ok);margin-bottom:10px}
.ctc small{font-size:13px;color:var(--label)}
.ctc b{color:var(--ink);font-weight:600;font-size:17px;line-height:1.4;overflow-wrap:anywhere}
.ctc .lnk{margin-top:auto;padding-top:14px;align-self:flex-start;color:var(--ok)}

/* ---------- rodapé ---------- */
footer{background:var(--deep);padding:80px 0 30px;font-size:14px;color:var(--mut);border-top:1px solid var(--rule)}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
.fg>*{min-width:0}
.fg b{display:block;color:#fff;font-weight:600;margin-bottom:14px}
.fg a,.fg p{display:block;margin-bottom:8px;overflow-wrap:anywhere}
.fg a{transition:color .2s}.fg a:hover{color:var(--neon)}
.fg .tg{margin-top:22px;max-width:280px}
.copy{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:64px;padding-top:24px;border-top:1px solid var(--rule);font-size:12.5px}
.waf{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.55);transition:transform .45s var(--ease-out),opacity .3s}
.waf:hover{transform:scale(1.06)}
.waf.is-away{transform:translateY(24px) scale(.8);opacity:0;pointer-events:none}

/* =========================================================
   movimento
   ========================================================= */
@keyframes mx-fade-in{from{opacity:0}}
@keyframes mx-fade-out{to{opacity:0}}
@keyframes mx-status{from{opacity:0;transform:translateY(6px)}}

/* navegação entre páginas: crossfade, cabeçalho fixo não pisca */
@view-transition{navigation:auto}
.hdr{view-transition-name:hdr}
::view-transition-old(root){animation:mx-fade-out .18s var(--ease-in) both}
::view-transition-new(root){animation:mx-fade-in .32s var(--ease-out) both}

/* faixas animadas pausadas fora da tela (classe aplicada pelo motion.js) */
.mx-off .tt,.mx-off .ltr,.mx-off .lmt{animation-play-state:paused}

/* Revelar no scroll, nos dois sentidos.
   O motion.js marca os elementos com .rv; os que estão fora da tela recebem .is-out.
   data-from diz de onde o elemento volta: de baixo (descendo) ou de cima (subindo).
   Sem JS nada fica escondido. */
.rv{--ty:34px;--d:calc(var(--i,0) * 80ms)}
.rv[data-from="top"]{--ty:-34px}
.mx .rv{transition:opacity .9s var(--ease-out) var(--d),transform 1.1s var(--ease-out) var(--d),clip-path 1.2s var(--ease-out) var(--d),border-color .3s,background-color .3s,color .3s}
.mx .rv.is-out{opacity:0;transform:translate3d(0,var(--ty),0);transition-duration:0s;transition-delay:0s}
/* títulos: sobem de trás de uma máscara */
.mx .rv-h{clip-path:inset(-20% -4% -30% -4%)}
.mx .rv-h.is-out{opacity:1;clip-path:inset(-20% -4% 100% -4%);transform:translate3d(0,.45em,0)}
.mx .rv-h[data-from="top"].is-out{clip-path:inset(100% -4% -30% -4%);transform:translate3d(0,-.45em,0)}
/* imagens: cortina que abre na direção do scroll, com a foto assentando */
.mx .rv-m{clip-path:inset(0 0 0 0 round var(--r-media))}
.mx .rv-m.is-out{opacity:1;transform:none;clip-path:inset(100% 0 0 0 round var(--r-media))}
.mx .rv-m[data-from="top"].is-out{clip-path:inset(0 0 100% 0 round var(--r-media))}
.mx .rv-m .im{transition:transform 1.4s var(--ease-out) var(--d)}
.mx .rv-m.is-out .im{transform:scale(1.18);transition-duration:0s}

@media (prefers-reduced-motion:no-preference){
 /* momento de abertura: primeira visita da sessão */
 :root:not(.mx-seen) .hero .hbg{animation:mx-reveal 1.25s .05s var(--ease-out) both}
 :root:not(.mx-seen) .hero::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(112deg,transparent 38%,rgba(201,235,214,.16) 47%,rgba(201,235,214,.05) 52%,transparent 60%) no-repeat;background-size:260% 100%;
  animation:mx-sweep 1.5s .1s var(--ease-out) both}
 :root:not(.mx-seen) .hero .h-a{animation:mx-rise .9s .3s var(--ease-out) both}
 :root:not(.mx-seen) .hero .h-b{animation:mx-rise .9s .45s var(--ease-out) both}
 :root:not(.mx-seen) .hero .lead{animation:mx-up .7s .6s var(--ease-out) both}
 :root:not(.mx-seen) .hero .cta{animation:mx-up .7s .7s var(--ease-out) both}
 :root:not(.mx-seen) .hero .proof,:root:not(.mx-seen) .hero .hchips{animation:mx-up .7s .8s var(--ease-out) both}
 :root:not(.mx-seen) .hdr .hm{animation:mx-land .65s 1.05s var(--ease-out) both}

 /* ligados ao scroll: acompanham a rolagem para baixo e para cima */
 @supports (animation-timeline:scroll()){
  .hph{animation:mx-par linear both;animation-timeline:scroll(root);animation-range:0 100vh}
  @media (min-width:700px){.htxt{animation:mx-away linear both;animation-timeline:scroll(root);animation-range:15vh 95vh}}
  .phero .pbg{animation:mx-par linear both;animation-timeline:scroll(root);animation-range:0 80vh}
 }
 @supports (animation-timeline:view()){
  .big .im{animation:mx-settle linear both;animation-timeline:view();animation-range:entry 0% cover 60%}
  /* método: a linha se preenche e cada etapa acende quando a linha chega nela */
  .tline::after{animation:mx-fill linear both;animation-timeline:--tl;animation-range:cover 18% cover 52%}
  .tl-step .dot{animation:mx-dot linear both;animation-timeline:--tl}
  .tl-step b{animation:mx-lit linear both;animation-timeline:--tl}
  .tl-step:nth-child(1) .dot,.tl-step:nth-child(1) b{animation-range:cover 18% cover 20%}
  .tl-step:nth-child(2) .dot,.tl-step:nth-child(2) b{animation-range:cover 26.5% cover 28.5%}
  .tl-step:nth-child(3) .dot,.tl-step:nth-child(3) b{animation-range:cover 35% cover 37%}
  .tl-step:nth-child(4) .dot,.tl-step:nth-child(4) b{animation-range:cover 43.5% cover 45.5%}
  /* página Método: o número se preenche quando a etapa chega ao meio da tela */
  .tlr .n{animation:mx-step linear both;animation-timeline:view();animation-range:entry 30% cover 45%}
 }
}

@keyframes mx-reveal{from{clip-path:inset(0 0 0 100%);filter:brightness(1.5)}to{clip-path:inset(0 0 0 0);filter:none}}
@keyframes mx-sweep{from{background-position:100% 0;opacity:1}75%{opacity:1}to{background-position:0 0;opacity:0}}
@keyframes mx-rise{from{clip-path:inset(-25% -6% 100% -6%);transform:translateY(.35em)}to{clip-path:inset(-25% -6% -25% -6%);transform:none}}
@keyframes mx-up{from{opacity:0;transform:translateY(14px)}}
@keyframes mx-land{from{opacity:0;transform:translateY(-70%) rotate(-14deg)}to{opacity:1;transform:rotate(-6deg)}}
@keyframes mx-par{from{transform:scale(1.06) translateY(0)}to{transform:scale(1.06) translateY(9%)}}
@keyframes mx-away{to{opacity:.25;transform:translateY(-48px)}}
@keyframes mx-settle{from{transform:scale(1.2)}to{transform:none}}
@keyframes mx-fill{from{transform:scaleX(0)}to{transform:none}}
@keyframes mx-fill-y{from{transform:scaleY(0)}to{transform:none}}
@keyframes mx-dot{from{background:var(--em);box-shadow:0 0 0 5px var(--em),inset 0 0 0 1px var(--rule2)}to{background:var(--neon);box-shadow:0 0 0 5px var(--em),inset 0 0 0 1px transparent}}
@keyframes mx-lit{from{color:var(--mut)}to{color:#fff}}
@keyframes mx-step{from{color:transparent;-webkit-text-stroke:1px rgba(156,217,181,.5)}to{color:var(--neon);-webkit-text-stroke:1px transparent}}

/* números: contagem + linha que se desenha (classes aplicadas pelo motion.js) */
.mx-count .num::after{content:"";position:absolute;left:0;right:24px;top:-1px;height:2px;background:var(--neon);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-out)}
.mx-count .num+.num::after{left:28px}
.mx-count .num span{opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.mx-count.mx-in .num::after{transform:scaleX(1)}
.mx-count.mx-in .num span{opacity:1;transform:none}
.mx-count .num:nth-child(2)::after,.mx-count .num:nth-child(2) span{transition-delay:.14s}
.mx-count .num:nth-child(3)::after,.mx-count .num:nth-child(3) span{transition-delay:.28s}
.mx-count .num:nth-child(4)::after,.mx-count .num:nth-child(4) span{transition-delay:.42s}

/* movimento reduzido: sem deslocamento, só opacidade; estados continuam visíveis */
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .tt,.ltr{animation:none}
 .lmt{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
 .lmt li[aria-hidden]{display:none}
 .lmr{-webkit-mask-image:none;mask-image:none}
 .b1:active,.b2:active{transform:none}
 a:hover .ar,button:hover .ar{animation:none}
 .sv:hover .im,.waf:hover{transform:none}
 .hdr{transition:none}
 .mx .rv,.mx .rv-h,.mx .rv-m{transition:opacity .4s linear;clip-path:none!important;transform:none!important}
 .mx .rv-m.is-out{opacity:0}
 .mx .rv-m .im{transform:none!important}
 .mnav{transition:opacity .2s linear}
 @starting-style{.mnav{transform:none}}
 .ok.show{animation:mx-fade-in .2s linear both}
 details::details-content{transition:content-visibility .2s allow-discrete}
 ::view-transition-old(root),::view-transition-new(root){animation-duration:.12s}
}

/* =========================================================
   responsivo
   ========================================================= */
@media (max-width:1100px){
 .dnav{gap:20px;font-size:13.5px}.hdr .b1{margin-left:8px}
 .f2{grid-template-columns:1fr}
 .sv.feat .bd{grid-template-columns:1fr}
 .sv.feat .rl{grid-row:auto;grid-column:auto;margin-top:18px}
}
@media (max-width:960px){
 .dnav,.bar>.b1{display:none}.burger{display:grid;place-items:center}
 .hchips{display:none}
 .lmt li{--s:.88}
 .hd,.fq,.cg{grid-template-columns:1fr;gap:20px}.hd p{justify-self:start}
 .hd h2{max-width:18ch}
 .svx{grid-template-columns:1fr 1fr;grid-template-rows:auto}
 .sv.feat{grid-column:1/-1;grid-row:auto}
 .sv.feat .ph{flex:none;aspect-ratio:16/9;min-height:0}
 .sv.feat .bd{grid-template-columns:1fr 1fr}
 .sv.feat .rl{grid-row:1/span 3;grid-column:2;margin-top:4px}
 .sv:not(.feat){flex-direction:column}
 .sv:not(.feat) .ph{width:auto;aspect-ratio:16/10}
 .nrg{grid-template-columns:repeat(3,minmax(0,1fr))}
 .nrc:nth-child(4n){border-right:1px solid var(--rule)}
 .nrc:nth-child(3n){border-right:0}
 .nrl2{grid-template-columns:1fr;gap:48px}
 .nr-side{position:static;order:2}
 .nr-side .ph{display:none}
 .nr-side .fmt{grid-template-columns:1fr 1fr;margin-top:0}
 .tline{grid-template-columns:1fr;gap:40px;padding:0 0 0 40px}
 .tline::before,.tline::after{top:6px;bottom:0;left:5.5px;right:auto;width:1px;height:auto}
 .tline::after{width:2px;left:5px;transform-origin:top}
 .tl-step .dot{top:4px;left:-40px}
 .big .ph{inset:0}.big::before{background:linear-gradient(180deg,rgba(6,42,28,.35),var(--em) 65%)}.big{align-items:flex-end;min-height:560px}
 .cat-g{grid-template-columns:1fr;gap:24px}
 .cat-h{position:static}
 .split{grid-template-columns:1fr;gap:32px}
 .tlr{grid-template-columns:80px minmax(0,1fr);row-gap:24px}
 .tlr .n{font-size:56px}
 .tlr>div:last-child{grid-column:2}
 .gets,.ctg{grid-template-columns:1fr}
 .gets>div,.gets>div+div{padding:28px 0;border-left:0}
 .gets>div+div{border-top:1px solid var(--rule)}
 .ctc,.ctc+.ctc{padding:26px 0;border-left:0}
 .ctc+.ctc{border-top:1px solid var(--line2)}
 .fg{grid-template-columns:1fr 1fr}
 footer{padding-bottom:104px}
 /* hero: foto à direita no tablet, no topo no celular */
 .phero{min-height:0;align-items:stretch;flex-direction:column}
 .phero .pbg{position:relative;width:100%;height:46vh;min-height:280px}
 .phero .ptint{background:linear-gradient(180deg,rgba(3,23,15,.6) 0%,rgba(6,42,28,0) 25%,rgba(6,42,28,0) 30%,var(--em) 46vh)}
 .phero .in{padding-top:0;margin-top:-90px;padding-bottom:64px}
 .tt span{font-size:20px;padding:0 18px}.tt{padding:15px 0}
 @supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){.tline::after{animation-name:mx-fill-y;animation-range:cover 10% cover 70%}
   .tl-step:nth-child(1) .dot,.tl-step:nth-child(1) b{animation-range:cover 10% cover 12%}
   .tl-step:nth-child(2) .dot,.tl-step:nth-child(2) b{animation-range:cover 25% cover 27%}
   .tl-step:nth-child(3) .dot,.tl-step:nth-child(3) b{animation-range:cover 40% cover 42%}
   .tl-step:nth-child(4) .dot,.tl-step:nth-child(4) b{animation-range:cover 55% cover 57%}}
 }
}
@media (min-width:700px) and (max-width:960px){
 .hero{min-height:max(min(100svh,980px),760px)}
 .hbg{width:60%}
 .hph{background-position:52% 40%}
 .hc{padding-top:140px;padding-bottom:130px}
 .htxt{max-width:55%}
 .hero .h-a{font-size:clamp(60px,9vw,84px)}
 .hero .h-b{font-size:clamp(28px,4vw,38px)}
 .hero .lead{max-width:100%;font-size:16px}
 .hero .cta{flex-direction:column;align-items:flex-start}
 .htint{background:
  radial-gradient(120% 90% at 0% 50%,var(--em) 0%,var(--em) 40%,rgba(6,42,28,.7) 52%,rgba(6,42,28,0) 72%),
  linear-gradient(180deg,rgba(3,23,15,.7) 0%,rgba(3,23,15,0) 18%,rgba(3,23,15,0) 74%,rgba(3,23,15,.85) 100%)}
}
@media (max-width:699px){
 .hero{display:block;min-height:0}
 .hbg{position:relative;inset:auto;width:100%;height:clamp(360px,96vw,560px);-webkit-mask-image:none;mask-image:none}
 .hph{background-position:center 44%}
 .htint{top:0;bottom:auto;height:clamp(360px,96vw,560px);background:linear-gradient(180deg,rgba(3,23,15,.75) 0%,rgba(3,23,15,0) 28%,rgba(6,42,28,0) 58%,var(--em) 100%)}
 .hc{padding-top:0;margin-top:-64px;padding-bottom:108px}
 .hero h1{margin-top:18px}
 .hero .lead{margin-top:18px;font-size:15.5px;line-height:1.6}
 .hero .cta{margin-top:26px;gap:10px}
 .hero .proof{margin-top:26px}
 .nums{grid-template-columns:1fr 1fr}
 .cl-h{flex-direction:column;align-items:flex-start}
 .lmt li{padding:0 22px;--s:.82}
 .num:nth-child(3){padding-left:0;border-left:0}
 .num:nth-child(n+3){border-top:1px solid var(--rule);margin-top:24px}
 .mx-count .num:nth-child(3)::after{left:0}
 .svx{grid-template-columns:1fr}
 .sv.feat .bd{grid-template-columns:1fr}
 .sv.feat .rl{grid-row:auto;grid-column:auto;margin-top:18px}
 .sv .bd,.sv.feat .bd{padding:22px 14px 10px}
}
@media (max-width:600px){
 .cat-r{grid-template-columns:1fr;gap:10px;padding:24px 0}
 .nrg{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nrc:nth-child(3n){border-right:1px solid var(--rule)}
 .nrc:nth-child(2n){border-right:0}
 .nrc{min-height:132px;padding:20px 16px 18px;gap:14px}
 .nrc b{font-size:36px}
 .nrc span{font-size:13.5px}
 .nrc>svg{top:20px;right:14px}
 .nrc.cta b{font-size:16.5px}
 .nrx summary{grid-template-columns:70px minmax(0,1fr) 34px;gap:12px;padding:18px 0}
 .nrx b{font-size:28px}
 .nrx .nt{font-size:15.5px}
 .nrx-b{padding:0 0 24px;flex-direction:column;align-items:flex-start}
 .nr-side .fmt{grid-template-columns:1fr}
 .tlr{grid-template-columns:1fr}
 .tlr>div:last-child{grid-column:auto}
 .fmt{grid-template-columns:1fr;gap:36px}
 details p{padding-right:0}
 summary{font-size:16.5px;padding:20px 0}
}
@media (max-width:560px){
 .cta a{width:100%}
 .proof{flex-direction:column;align-items:flex-start;gap:2px}.proof i{display:none}
 .b2{justify-content:center}
 .fg{grid-template-columns:1fr}
 .waf{width:52px;height:52px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
 .crows li{grid-template-columns:1fr;gap:2px}
 .num b{font-size:clamp(34px,11.5vw,54px)}
 .num+.num{padding-left:18px}
 .mx-count .num+.num::after{left:18px}
 .num:nth-child(3){padding-left:0}
 .mx-count .num:nth-child(3)::after{left:0}
}

/* ---------- legado: usado pelo manual de identidade (identidade/) e pelo sistema de design ---------- */
.lmq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.ltr{display:flex;align-items:center;width:max-content;animation:lm 50s linear infinite}
.lmq:hover .ltr{animation-play-state:paused}
@keyframes lm{to{transform:translateX(-50%)}}
.lg2{display:flex;align-items:center;gap:12px;flex:none;padding-right:clamp(52px,6vw,96px);height:64px;color:rgba(255,255,255,.64);white-space:nowrap;transition:color .3s}
.lg2:hover{color:#fff}
.lg2 svg{width:28px;height:28px;flex:none}
.lt2{display:flex;flex-direction:column;line-height:1}
.lt2 small{font-size:10px;font-weight:600;letter-spacing:.28em;margin-top:5px;opacity:.86}
.lc{font-family:var(--cond);font-weight:600;font-size:28px;letter-spacing:.08em}
.ls{font-family:var(--sans);font-weight:600;font-size:21px;letter-spacing:-.02em}
.lw{font-family:var(--sans);font-weight:700;font-size:17px;letter-spacing:.22em}
.lf{font-family:var(--serif);font-weight:400;font-size:25px;letter-spacing:.01em}
.kick{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--neon)}
.kick::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--neon)}
.lt .kick{color:var(--ok)}.lt .kick::before{background:var(--ok)}
.pill{display:inline-flex;align-items:center;gap:10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:9px 16px;font-size:14px;font-weight:500;color:#fff}
.pill svg{color:var(--neon)}
