/* TrueHacking — site.css
   Extraído verbatim dos <style> inline do redesign. Regras comuns às 3 variantes (home, produtos, blog/legal/404)
   aparecem uma vez; regras específicas ficam em blocos "page:" com escopo :where([data-page=…]) — especificidade 0,
   portanto a cascata de cada página é idêntica à original. Ajustes novos só no bloco "polish 100", no fim. */

/* ==================== tokens ==================== */
:root{
  --bg:#000000; --surface:#0E0E10; --surface-2:#141416; --border:#222226;
  --text:#F2F1EE; --text-muted:#8A8A90; --text-dim:#55555C; --accent:#F96A02; --alert:#FF453A; --ok:#3FCF7F; --warn:#F5C451;
  --bg-alt:#F4F4F2; --text-inverse:#0B0B0C; --text-muted-inverse:#6E6E73; --surface-inverse:#FFFFFF; --border-inverse:#E3E3E0;
  --sans:'Instrument Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --dot:'Doto','JetBrains Mono',monospace;
  --maxw:1200px; --pad:clamp(20px,5vw,120px);
  --ease:cubic-bezier(.2,.7,.2,1);
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px);
}
/* ==================== reset ==================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(80px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:#fff}
/* ==================== type ==================== */
.display{font-size:clamp(40px,7vw,84px);font-weight:500;line-height:1;letter-spacing:-.035em}
.h1{font-size:clamp(32px,5.2vw,56px);font-weight:500;line-height:1.05;letter-spacing:-.025em}
.h2{font-size:clamp(27px,3.8vw,36px);font-weight:500;line-height:1.1;letter-spacing:-.02em}
.body-lg{font-size:clamp(18px,2.1vw,21px);line-height:1.5}
.label{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.muted{color:var(--text-muted)} .dim{color:var(--text-muted)}
.numeral{font-family:var(--dot);font-weight:700;letter-spacing:-.02em;line-height:1;font-feature-settings:"tnum"}
section{position:relative}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.light{background:var(--bg-alt);color:var(--text-inverse)}
.light .label,.light .muted,.light .dim{color:var(--text-muted-inverse)}

/* ==================== buttons / links ==================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 26px;border-radius:999px;font-weight:500;font-size:15px;border:1px solid transparent;cursor:pointer;font-family:var(--sans);transition:transform .15s,background .2s,border-color .2s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:#0B0B0C}.btn-primary:hover{background:#ff7d1f}
.btn-ghost{border-color:var(--border);color:var(--text);background:none}.btn-ghost:hover{border-color:#3a3a40}
.light .btn-ghost{border-color:var(--border-inverse);color:var(--text-inverse)}
.link{font-weight:500;font-size:15px;display:inline-flex;gap:6px;align-items:center;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size .35s var(--ease)}.link:hover{background-size:100% 1px}
.btn:focus-visible,.link:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ==================== nav ==================== */
/* NAV */
#hd{position:sticky;top:0;z-index:100;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(0,0,0,.84);border-bottom:1px solid transparent;transition:border-color .3s}
#hd.scrolled,#hd.open{border-color:var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:500;font-size:19px;letter-spacing:-.02em;flex-shrink:0}
.mark{width:26px;height:26px;background:url("data:image/png;base64,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") center/contain no-repeat;flex-shrink:0}
.nav-links{display:flex;gap:32px;align-items:center}.nav-links a{font-size:15px;color:var(--text-muted);transition:color .2s}.nav-links a:hover,.nav-links a[aria-current]{color:var(--text)}
.nav-right{display:flex;gap:14px;align-items:center}
.attack{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;padding:8px 16px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}
.attack:hover{border-color:rgba(255,69,58,.5)}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--alert);animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,69,58,.5)}50%{opacity:.7;box-shadow:0 0 0 6px rgba(255,69,58,0)}}
.pill-cta{background:var(--surface-inverse);color:var(--text-inverse);padding:9px 18px;border-radius:999px;font-weight:500;font-size:15px;white-space:nowrap}
.pill-cta:hover{background:#e7e6e2}
.nav-toggle{display:none;background:none;border:0;color:var(--text);cursor:pointer;padding:8px;margin-right:-8px}
.menu{display:none;border-top:1px solid var(--border);padding:8px var(--pad) 28px}
#hd.open .menu{display:block}
.menu a.m{display:block;padding:15px 0;font-size:22px;letter-spacing:-.01em;border-bottom:1px solid var(--border)}
.menu .m-ctas{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.menu .m-ctas .attack{justify-content:center;padding:13px 16px}
.menu .m-ctas .pill-cta{text-align:center;padding:14px 18px}
@media(max-width:980px){.nav-links,.nav-right .attack,.nav-right .pill-cta{display:none}.nav-toggle{display:block}}
@media(min-width:981px){.menu{display:none!important}}

/* ==================== components: selos, reveal, primitivas de animação ==================== */
/* selos e máscara */
.demo-badge,.demo-tag{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);background:rgba(0,0,0,.5);border:1px solid var(--border);padding:4px 9px;border-radius:999px;white-space:nowrap}
.demo-badge{position:absolute;top:14px;right:14px;z-index:5}
.src{margin-top:22px;font-size:14px;color:var(--text-dim)}

/* reveal: uma entrada curta, só uma vez */
/* sem fade-up genérico: a página aparece inteira; o movimento fica nos mocks e em um momento por página */
.reveal{}

/* ===== primitivas de animação (ativadas por [data-anim].play) ===== */
[data-anim] .gw{width:0!important;transition:width 1.2s var(--ease)}
[data-anim].play .gw{width:var(--w)!important}
[data-anim] .gh{height:0!important;transition:height 1.2s var(--ease)}
[data-anim].play .gh{height:var(--h)!important}
[data-anim] .st{opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
[data-anim].play .st{opacity:1;transform:none}
[data-anim] .ring{transition:stroke-dashoffset 1.6s var(--ease)}
[data-anim]:not(.play) .ring{stroke-dashoffset:var(--full)!important}
[data-anim] .draw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s var(--ease)}
[data-anim].play .draw{stroke-dashoffset:0}
[data-anim] .slide{left:0!important;transition:left 1.6s var(--ease)}
[data-anim].play .slide{left:var(--x)!important}

/* ==================== footer ==================== */
/* FOOTER */
footer{padding:clamp(56px,7vw,80px) 0 0;border-top:1px solid var(--border);position:relative;overflow:hidden}
.foot-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px 32px;padding-bottom:clamp(40px,5vw,60px)}
@media(max-width:820px){.foot-top{grid-template-columns:1fr 1fr;gap:44px 24px}.foot-brand{grid-column:1/-1}}
.foot-brand .brand{margin-bottom:18px}.foot-brand p{color:var(--text-muted);font-size:15px;max-width:280px}
.foot-col h5{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:18px}
.foot-col a{display:block;font-size:15px;margin-bottom:12px;color:var(--text);transition:color .2s}.foot-col a:hover{color:var(--text-muted)}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px 0;border-top:1px solid var(--border);position:relative;z-index:1}.foot-bottom .label{color:var(--text-muted)}
.wordmark{font-family:var(--sans);font-weight:500;font-size:clamp(80px,20vw,250px);line-height:.8;color:#0E0E10;letter-spacing:-.04em;text-align:center;margin-top:20px;transform:translateY(28%);user-select:none;pointer-events:none;white-space:nowrap}

/* ==================== components: modo revisão ==================== */
/* modo revisão */
body:not(.review) .tbd-only{display:none!important}
body.review [data-tbd]{outline:1.5px dashed rgba(249,106,2,.75);outline-offset:8px;position:relative}
body.review [data-tbd]::after{content:attr(data-tbd);position:absolute;left:-8px;bottom:calc(100% + 12px);z-index:60;max-width:300px;font-family:var(--mono);font-size:11px;line-height:1.4;font-weight:500;letter-spacing:0;text-transform:none;color:#0B0B0C;background:var(--accent);padding:3px 7px;border-radius:4px;pointer-events:none}
.review-chip{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:200;display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--text);background:rgba(20,20,22,.92);border:1px solid var(--border);border-radius:999px;padding:10px 16px;cursor:pointer;backdrop-filter:blur(10px)}
.review-chip b{width:8px;height:8px;border-radius:50%;background:var(--accent)}
body:not(.review) .review-chip b{background:var(--text-dim)}

/* ==================== motion / reduced-motion (global) ==================== */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* ==================== components: capas geradas (home, blog, artigos, 404) ==================== */
.cover-svg{display:block;width:100%;height:100%;background:#050506}
.cover-svg .grid circle{fill:#232327}
.cover-svg .nz{fill:#4a4a50}
.cover-svg .p{fill:#F2F1EE;opacity:.8}
.cover-svg .end{fill:#F96A02}
.cover-svg .ring{fill:none;stroke:#F96A02;stroke-width:1;opacity:.5}
/* desenho da rota: acende ponto a ponto quando a capa entra em cena */
.cover-svg.anim .p,.cover-svg.anim .end,.cover-svg.anim .ring{opacity:0}
.cover-svg.anim.play .p{animation:lit .25s ease forwards;animation-delay:calc(var(--i) * 28ms)}
.cover-svg.anim.play .end{animation:lit .3s ease forwards;animation-delay:calc(var(--i) * 28ms)}
.cover-svg.anim.play .ring{animation:ringp 2.4s ease-out infinite;animation-delay:calc(var(--i) * 28ms)}
@keyframes lit{to{opacity:.85}}
@keyframes ringp{0%{opacity:.7;transform:scale(.6)}100%{opacity:0;transform:scale(1.8)}}
.cover-svg .ring{transform-box:fill-box;transform-origin:center}
@media(prefers-reduced-motion:reduce){.cover-svg.anim .p,.cover-svg.anim .end{opacity:.85}.cover-svg.anim .ring{opacity:.5}}

/* ==================== page: home ==================== */
/* ============ HERO ============ */
:where([data-page=home]) .hero{padding-top:clamp(50px,8vw,90px);padding-bottom:clamp(60px,8vw,90px);overflow:hidden;position:relative}
:where([data-page=home]) .hero-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.09) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
:where([data-page=home]) .hero .wrap{position:relative;z-index:1}
:where([data-page=home]) .hero-eyebrow{margin-bottom:30px}
:where([data-page=home]) .hero h1{max-width:1100px;margin-bottom:36px}
:where([data-page=home]) .hero h1 .dim{color:var(--text-muted)}
:where([data-page=home]) .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:clamp(44px,6vw,72px)}

/* terminal / ataque ao vivo */
:where([data-page=home]) .attack-window{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;max-width:1120px;box-shadow:0 40px 120px rgba(0,0,0,.6)}
:where([data-page=home]) .aw-bar{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border)}
:where([data-page=home]) .dots{display:flex;gap:8px}:where([data-page=home]) .dots span{width:11px;height:11px;border-radius:50%;background:#2a2a2e}
:where([data-page=home]) .aw-title{font-family:var(--mono);font-size:13px;color:var(--text-muted);letter-spacing:.04em;margin-inline:auto;display:flex;align-items:center;gap:8px}
:where([data-page=home]) .aw-bar .demo-tag{flex-shrink:0}
:where([data-page=home]) .mask{display:inline-block;width:38px;height:8px;border-radius:2px;background:#2a2a2e;vertical-align:middle}
:where([data-page=home]) .aw-body{display:grid;grid-template-columns:1.3fr 1fr;min-height:360px}
@media(max-width:760px){:where([data-page=home]) .aw-body{grid-template-columns:1fr}}
/* terminal esquerdo */
:where([data-page=home]) .term{padding:24px 26px;border-right:1px solid var(--border);font-family:var(--mono);font-size:13.5px;line-height:1.85;overflow:hidden}
@media(max-width:760px){:where([data-page=home]) .term{border-right:0;border-bottom:1px solid var(--border);min-height:280px}}
:where([data-page=home]) .term-line{white-space:pre-wrap;word-break:break-word}
:where([data-page=home]) .term-line .c-dim{color:var(--text-dim)}
:where([data-page=home]) .term-line .c-accent{color:var(--accent)}
:where([data-page=home]) .term-line .c-ok{color:var(--ok)}
:where([data-page=home]) .term-line .c-alert{color:var(--alert)}
:where([data-page=home]) .term-line .c-user{color:var(--text)}
:where([data-page=home]) .cursor{display:inline-block;width:8px;height:15px;background:var(--accent);vertical-align:middle;margin-left:2px;animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}
/* painel direito: findings acumulando */
:where([data-page=home]) .aw-panel{padding:24px 26px;display:flex;flex-direction:column}
:where([data-page=home]) .aw-panel .label{margin-bottom:18px}
:where([data-page=home]) .finding-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .4s}
:where([data-page=home]) .finding-row.show{opacity:1;transform:none}
:where([data-page=home]) .finding-row:last-child{border-bottom:0}
:where([data-page=home]) .sev{font-family:var(--mono);font-size:10px;letter-spacing:.05em;padding:3px 7px;border-radius:4px;flex-shrink:0}
:where([data-page=home]) .sev.crit{color:var(--alert);background:rgba(255,69,58,.12)}
:where([data-page=home]) .sev.high{color:#ffb56a;background:rgba(255,181,106,.12)}
:where([data-page=home]) .sev.med{color:#f5e08e;background:rgba(245,224,142,.12)}
:where([data-page=home]) .finding-row .fname{font-size:14px;flex:1}
:where([data-page=home]) .finding-row .fep{font-family:var(--mono);font-size:11px;color:var(--text-muted)}
:where([data-page=home]) .aw-count{margin-top:auto;padding-top:20px;display:flex;align-items:baseline;gap:10px}
:where([data-page=home]) .aw-count b{font-family:var(--dot);font-weight:700;font-size:40px;line-height:1}
:where([data-page=home]) .aw-count span{color:var(--text-muted);font-size:14px}

/* ============ NÚMEROS ============ */
:where([data-page=home]) .stats{padding:clamp(56px,8vw,80px) 0}
:where([data-page=home]) .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,4vw,56px);padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
@media(max-width:820px){:where([data-page=home]) .stats-grid{grid-template-columns:repeat(2,1fr);gap:44px 24px}}
:where([data-page=home]) .stat .numeral{font-size:clamp(38px,5vw,60px);margin-bottom:14px;white-space:nowrap}
:where([data-page=home]) .stat p{color:var(--text-muted);font-size:15px}

/* ============ SERVIÇOS ============ */
:where([data-page=home]) .services{padding:clamp(20px,3vw,40px) 0 clamp(80px,10vw,128px)}
:where([data-page=home]) .services-head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;margin-bottom:clamp(50px,6vw,80px)}
@media(max-width:820px){:where([data-page=home]) .services-head{grid-template-columns:1fr;gap:24px}}
:where([data-page=home]) .services-head .h1 .dim{color:var(--text-muted)}
:where([data-page=home]) .svc-grid{display:grid;grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){:where([data-page=home]) .svc-grid{grid-template-columns:repeat(2,1fr);gap:48px 0}}
@media(max-width:520px){:where([data-page=home]) .svc-grid{grid-template-columns:1fr}}
:where([data-page=home]) .svc{padding:0 clamp(16px,2vw,28px);position:relative}
:where([data-page=home]) .svc:not(:first-child){border-left:1px solid var(--border)}
@media(max-width:900px){:where([data-page=home]) .svc{border-left:0!important;padding-left:0}}
:where([data-page=home]) .svc-num{margin-bottom:36px;color:var(--text-muted)}
:where([data-page=home]) .svc-illu{width:100%;height:180px;margin-bottom:44px;display:flex;align-items:center;justify-content:center}
:where([data-page=home]) .svc-illu svg{width:200px;height:170px;opacity:.85}
:where([data-page=home]) .svc h3{font-size:22px;font-weight:500;letter-spacing:-.01em;margin-bottom:14px}
:where([data-page=home]) .svc p{color:var(--text-muted);font-size:16px;margin-bottom:26px}
:where([data-page=home]) .svc .tags{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--text-muted);line-height:1.7;text-transform:uppercase}

/* ============ PLATAFORMAS SCROLLYTELLING ============ */
:where([data-page=home]) .plat-intro{padding:clamp(70px,9vw,110px) 0 0}
:where([data-page=home]) .plat-intro h2{max-width:900px}
:where([data-page=home]) .plat-intro h2 .dim{color:var(--text-muted)}
:where([data-page=home]) .plat-intro p{color:var(--text-muted);max-width:640px;margin-top:22px}

/* zona alta = trilho de scroll */
:where([data-page=home]) .plat-zone{position:relative}
@media(min-width:861px){:where([data-page=home]) .plat-zone{height:300vh;height:300svh}}
:where([data-page=home]) .plat-pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:1}
:where([data-page=home]) .plat-triggers{position:absolute;top:0;left:0;width:1px;z-index:0;pointer-events:none}
:where([data-page=home]) .plat-trig{height:100vh;height:100svh;width:1px}
:where([data-page=home]) .plat-stage{width:100%;max-width:1180px;padding-inline:var(--pad);display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:860px){:where([data-page=home]) .plat-stage{grid-template-columns:1fr;gap:28px}}
/* coluna de texto que troca */
:where([data-page=home]) .plat-copy{position:relative;min-height:280px}
:where([data-page=home]) .plat-slide{position:absolute;inset:0;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .5s;pointer-events:none;display:flex;flex-direction:column;justify-content:center}
:where([data-page=home]) .plat-slide.on{opacity:1;transform:none;pointer-events:auto}
:where([data-page=home]) .plat-slide .pill{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
:where([data-page=home]) .plat-slide h3{font-size:clamp(32px,4.5vw,48px);font-weight:500;letter-spacing:-.02em;line-height:1;margin-bottom:20px}
:where([data-page=home]) .plat-slide p{color:var(--text-muted);font-size:18px;max-width:440px;margin-bottom:28px}
:where([data-page=home]) .plat-slide .link{color:var(--text)}
:where([data-page=home]) .plat-progress{display:flex;gap:8px;margin-top:36px}
:where([data-page=home]) .plat-progress i{height:3px;width:44px;background:var(--border);border-radius:3px;overflow:hidden;position:relative}
:where([data-page=home]) .plat-progress i b{position:absolute;inset:0;width:0;background:var(--accent);border-radius:3px}
/* mock que troca de tela */
:where([data-page=home]) .plat-mock{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;aspect-ratio:16/11;box-shadow:0 40px 100px rgba(0,0,0,.5)}
:where([data-page=home]) .demo-badge{position:absolute;top:14px;right:14px;z-index:5}
:where([data-page=home]) .demo-badge,:where([data-page=home]) .demo-tag{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);background:rgba(0,0,0,.5);border:1px solid var(--border);padding:4px 9px;border-radius:999px}
:where([data-page=home]) .plat-screen{position:absolute;inset:0;opacity:0;transform:scale(1.03);transition:opacity .5s,transform .5s;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column}
:where([data-page=home]) .plat-screen.on{opacity:1;transform:none}
:where([data-page=home]) .ps-bar{display:flex;align-items:center;gap:10px;margin-bottom:22px}
:where([data-page=home]) .ps-bar .dots span{width:9px;height:9px}
:where([data-page=home]) .ps-bar .t{font-family:var(--mono);font-size:12px;color:var(--text-muted);margin-inline:auto}
/* screen ia */
:where([data-page=home]) .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
:where([data-page=home]) .kpi b{font-size:clamp(20px,2.4vw,28px);font-weight:500;letter-spacing:-.02em;display:block;white-space:nowrap}
:where([data-page=home]) .kpi span{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase}
:where([data-page=home]) .sev-row{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:7px 0}
:where([data-page=home]) .sev-row .k{font-family:var(--mono);font-size:10px;color:var(--text-muted)}
:where([data-page=home]) .sev-track{height:3px;background:#2a2a2e;border-radius:3px;overflow:hidden}:where([data-page=home]) .sev-fill{height:100%;background:var(--text)}
:where([data-page=home]) .sev-row .v{font-size:14px}
/* screen score */
:where([data-page=home]) .score-flex{display:flex;gap:26px;align-items:center;margin-top:10px}
:where([data-page=home]) .score-ring{width:130px;height:130px;flex-shrink:0}
:where([data-page=home]) .score-bars{flex:1}
:where([data-page=home]) .sb{padding:9px 0}:where([data-page=home]) .sb .t{display:flex;justify-content:space-between;font-size:14px;margin-bottom:7px}
:where([data-page=home]) .sb .track{height:2px;background:#2a2a2e;border-radius:2px;overflow:hidden}:where([data-page=home]) .sb .fill{height:100%;background:var(--text)}
/* screen risco */
:where([data-page=home]) .risk-big{display:flex;align-items:baseline;gap:14px;margin:8px 0 20px}
:where([data-page=home]) .risk-big b{font-size:64px;font-weight:500;letter-spacing:-.03em;line-height:.9}
:where([data-page=home]) .risk-big span{color:var(--text-muted);font-size:15px}
:where([data-page=home]) .risk-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;padding:10px 0;border-top:1px solid var(--border);align-items:center}
:where([data-page=home]) .risk-item .cve{font-family:var(--mono);font-size:11px;color:var(--text-muted)}
:where([data-page=home]) .risk-item .d{font-size:14px}
:where([data-page=home]) .risk-item .kev{font-family:var(--mono);font-size:9px;letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase}

/* ============ SETOR FINANCEIRO ============ */
:where([data-page=home]) .finance{padding:clamp(70px,9vw,120px) 0}
:where([data-page=home]) .finance h2{max-width:900px;margin:0 0 clamp(50px,6vw,88px)}
:where([data-page=home]) .finance h2 .dim{color:var(--text-muted)}
:where([data-page=home]) .finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start}
@media(max-width:900px){:where([data-page=home]) .finance-grid{grid-template-columns:1fr;gap:56px}}
:where([data-page=home]) .pix{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;position:relative}
:where([data-page=home]) .pix-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--border)}
:where([data-page=home]) .live{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
:where([data-page=home]) .live b{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}
:where([data-page=home]) .pix-list{position:relative}
:where([data-page=home]) .pix-row{display:grid;grid-template-columns:80px 108px 1fr auto;gap:14px;align-items:center;padding:18px 28px;border-bottom:1px solid var(--border)}
:where([data-page=home]) .pix-row:last-child{border-bottom:0}
:where([data-page=home]) .pix-row .tm{font-family:var(--mono);font-size:13px;color:var(--text-muted)}
:where([data-page=home]) .pix-row .val{font-weight:500;font-size:15px}:where([data-page=home]) .pix-row .sig{color:var(--text-muted);font-size:15px}
:where([data-page=home]) .tag{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid;white-space:nowrap}
:where([data-page=home]) .tag.block{color:var(--alert);border-color:rgba(255,69,58,.45)}:where([data-page=home]) .tag.ok{color:var(--text-muted);border-color:var(--border)}:where([data-page=home]) .tag.hold{color:var(--text);border-color:rgba(242,241,238,.35)}
:where([data-page=home]) .pix-fade{position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;background:linear-gradient(180deg,transparent,var(--surface))}
@keyframes rowin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
:where([data-page=home]) .pix-row.new{animation:rowin .5s ease}
@media(max-width:560px){:where([data-page=home]) .pix-row{grid-template-columns:1fr auto;grid-template-areas:"tm tag" "val val" "sig sig";gap:6px 12px;padding:16px 20px}:where([data-page=home]) .pix-row .tm{grid-area:tm}:where([data-page=home]) .pix-row .tag{grid-area:tag;justify-self:end}:where([data-page=home]) .pix-row .val{grid-area:val}:where([data-page=home]) .pix-row .sig{grid-area:sig}}
:where([data-page=home]) .reg-item{border-top:1px solid var(--border);padding:22px 0}
:where([data-page=home]) .reg-item h4{font-size:18px;font-weight:500;margin-bottom:6px}:where([data-page=home]) .reg-item p{color:var(--text-muted);font-size:15px;max-width:480px}
:where([data-page=home]) .finance .link{margin-top:24px}

/* ============ POR QUE ============ */
:where([data-page=home]) .why{padding:clamp(70px,9vw,120px) 0;border-top:1px solid var(--border)}
:where([data-page=home]) .why .label{margin-bottom:44px}
:where([data-page=home]) .why-statement{font-size:clamp(34px,5.5vw,64px);font-weight:500;line-height:1.08;letter-spacing:-.025em;max-width:1200px;margin-bottom:clamp(60px,8vw,112px)}
:where([data-page=home]) .why-statement .rw{color:#2a2a2e;transition:color .4s ease}:where([data-page=home]) .why-statement .rw.on{color:var(--text)}
:where([data-page=home]) .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,5vw,60px)}
@media(max-width:820px){:where([data-page=home]) .why-grid{grid-template-columns:1fr;gap:44px}}
:where([data-page=home]) .why-col{border-top:1px solid var(--border);padding-top:28px}
:where([data-page=home]) .why-col .label{margin-bottom:16px}:where([data-page=home]) .why-col h3{font-size:22px;font-weight:500;margin-bottom:14px;letter-spacing:-.01em}:where([data-page=home]) .why-col p{color:var(--text-muted);font-size:16px}

/* ============ BOLETIM ============ */
:where([data-page=home]) .bulletin{padding:clamp(70px,9vw,120px) 0;position:relative;overflow:hidden}
:where([data-page=home]) .bulletin-grid{position:absolute;inset:0;z-index:0;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000,transparent 75%)}
:where([data-page=home]) .bulletin .wrap{position:relative;z-index:1;display:flex;justify-content:center}
:where([data-page=home]) .bcard{background:var(--surface-inverse);color:var(--text-inverse);border-radius:24px;padding:clamp(32px,5vw,56px);max-width:760px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.5)}
:where([data-page=home]) .bcard .label{color:var(--text-muted-inverse)}:where([data-page=home]) .bcard h2{margin:20px 0 18px;max-width:640px}:where([data-page=home]) .bcard p{color:var(--text-muted-inverse);max-width:640px;margin-bottom:36px}
:where([data-page=home]) .bform{display:flex;flex-direction:column;gap:12px}
:where([data-page=home]) .bform input{height:56px;border-radius:12px;border:1px solid var(--border-inverse);padding:0 20px;font-family:var(--sans);font-size:18px;color:var(--text-inverse);background:var(--bg-alt)}
:where([data-page=home]) .bform input::placeholder{color:var(--text-muted-inverse)}
:where([data-page=home]) .bform button{height:56px;border-radius:12px;border:0;background:var(--text-inverse);color:var(--surface-inverse);font-family:var(--sans);font-weight:500;font-size:15px;cursor:pointer;transition:opacity .2s}:where([data-page=home]) .bform button:hover{opacity:.88}
:where([data-page=home]) .bnote{margin-top:24px;color:var(--text-muted-inverse)}

/* ============ BLOG ============ */
:where([data-page=home]) .blog{padding:clamp(70px,9vw,120px) 0}
:where([data-page=home]) .blog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(50px,6vw,80px);flex-wrap:wrap}
:where([data-page=home]) .blog-head h2{max-width:700px}:where([data-page=home]) .blog-head h2 .dim{color:var(--text-muted-inverse)}:where([data-page=home]) .blog-head .link{color:var(--text-inverse)}
:where([data-page=home]) .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
@media(max-width:820px){:where([data-page=home]) .blog-grid{grid-template-columns:1fr;gap:40px}}
:where([data-page=home]) .post .cover{background:var(--bg);border-radius:16px;height:260px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:24px;margin-bottom:28px;transition:transform .3s;border:1px solid var(--border)}
:where([data-page=home]) .post:hover .cover{transform:translateY(-4px)}
:where([data-page=home]) .cover .kicker{position:absolute;top:24px;left:24px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}
:where([data-page=home]) .cover .dot{position:absolute;top:26px;right:24px;width:10px;height:10px;border-radius:50%;background:var(--accent)}
:where([data-page=home]) .cover .big{font-family:var(--dot);font-weight:700;font-size:100px;color:var(--text);letter-spacing:-.02em;line-height:.9}
:where([data-page=home]) .post .meta{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--text-muted-inverse);text-transform:uppercase;margin-bottom:14px}
:where([data-page=home]) .post h3{font-size:22px;font-weight:500;letter-spacing:-.01em;line-height:1.25;margin-bottom:14px;color:var(--text-inverse)}:where([data-page=home]) .post .date{color:var(--text-muted-inverse);font-size:15px}

/* ============ CONTATO ============ */
:where([data-page=home]) .contact{padding:clamp(70px,9vw,120px) 0}
:where([data-page=home]) .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,96px);align-items:start}
@media(max-width:900px){:where([data-page=home]) .contact-grid{grid-template-columns:1fr;gap:56px}}
:where([data-page=home]) .contact h2{margin-bottom:24px}:where([data-page=home]) .contact h2 .dim{color:var(--text-muted)}
:where([data-page=home]) .contact-left p.body-lg{color:var(--text-muted);max-width:480px;margin-bottom:44px}
:where([data-page=home]) .chan{margin-bottom:26px}:where([data-page=home]) .chan .label{margin-bottom:6px}:where([data-page=home]) .chan .v{font-size:18px}
:where([data-page=home]) .attack-box{margin-top:34px;background:var(--surface);border:1px solid rgba(255,69,58,.35);border-radius:16px;padding:26px 28px}
:where([data-page=home]) .attack-box .row{display:flex;align-items:center;gap:12px;margin-bottom:8px}:where([data-page=home]) .attack-box .row .d{width:8px;height:8px;border-radius:50%;background:var(--alert);flex-shrink:0;animation:pulse 2s infinite}
:where([data-page=home]) .attack-box h4{font-size:18px;font-weight:500}:where([data-page=home]) .attack-box p{color:var(--text-muted);font-size:15px;margin-bottom:12px}:where([data-page=home]) .attack-box .line{font-size:18px;font-weight:500}
:where([data-page=home]) .cform{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:clamp(28px,4vw,40px)}
:where([data-page=home]) .field{margin-bottom:22px}:where([data-page=home]) .field label{display:block;font-size:15px;font-weight:500;color:var(--text-muted);margin-bottom:10px}
:where([data-page=home]) .field input,:where([data-page=home]) .field textarea,:where([data-page=home]) .field select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:15px 16px;font-family:var(--sans);font-size:17px;color:var(--text);transition:border-color .2s}
:where([data-page=home]) .field textarea{min-height:120px;resize:vertical}
:where([data-page=home]) .field input:focus,:where([data-page=home]) .field textarea:focus,:where([data-page=home]) .field select:focus{outline:none;border-color:#4a4a50}
:where([data-page=home]) .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5l4 4 4-4' stroke='%238A8A90' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
:where([data-page=home]) .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:480px){:where([data-page=home]) .field-row{grid-template-columns:1fr}}
:where([data-page=home]) .cform button{width:100%;height:56px;border-radius:12px;border:0;background:var(--accent);color:#0B0B0C;font-family:var(--sans);font-weight:500;font-size:15px;cursor:pointer;transition:background .2s}:where([data-page=home]) .cform button:hover{background:#ff7d1f}
:where([data-page=home]) .cform .lgpd{margin-top:20px;text-align:center}

/* ===== PLANO B: carrossel (mobile, tela baixa, reduced motion ou ?plat=carousel) ===== */
:where([data-page=home]) .plat-tabs{display:none}
:where([data-page=home]) .is-carousel .plat-zone{height:auto}
:where([data-page=home]) .is-carousel .plat-triggers{display:none}
:where([data-page=home]) .is-carousel .plat-pin{position:relative;height:auto;overflow:visible;padding:clamp(40px,6vw,64px) 0 clamp(70px,9vw,110px)}
:where([data-page=home]) .is-carousel .plat-tabs{display:flex;gap:8px;grid-column:1/-1;margin-bottom:8px}
:where([data-page=home]) .plat-tab{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:999px;padding:10px 18px;cursor:pointer;white-space:nowrap;transition:color .2s,background .2s,border-color .2s}
:where([data-page=home]) .plat-tab:hover{color:var(--text)}
:where([data-page=home]) .plat-tab[aria-selected="true"]{color:var(--text-inverse);background:var(--text);border-color:var(--text)}
:where([data-page=home]) .plat-tab:focus-visible,:where([data-page=home]) .review-chip:focus-visible,:where([data-page=home]) .btn:focus-visible,:where([data-page=home]) .link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:where([data-page=home]) .is-carousel .plat-progress{display:none}
:where([data-page=home]) .is-carousel .plat-mock{touch-action:pan-y}
@media(max-width:860px){
  :where([data-page=home]) .is-carousel .plat-stage{display:block;max-width:640px;margin-inline:auto}
  :where([data-page=home]) .is-carousel .plat-tabs{overflow-x:auto;scrollbar-width:none;margin-bottom:32px}
  :where([data-page=home]) .is-carousel .plat-copy{min-height:0;margin-bottom:28px}
  :where([data-page=home]) .is-carousel .plat-slide{position:relative;inset:auto;display:none;transform:none}
  :where([data-page=home]) .is-carousel .plat-slide.on{display:flex}
  :where([data-page=home]) .is-carousel .plat-mock{aspect-ratio:auto}
  :where([data-page=home]) .is-carousel .plat-screen{position:relative;inset:auto;display:none;transform:none}
  :where([data-page=home]) .is-carousel .plat-screen.on{display:flex}
}
@media(max-width:520px){:where([data-page=home]) .plat-tab{padding:9px 14px;font-size:14px}:where([data-page=home]) .ps-bar .t{display:none}:where([data-page=home]) .kpis{grid-template-columns:repeat(2,1fr);gap:16px 14px}:where([data-page=home]) .score-flex{flex-direction:column;align-items:stretch}:where([data-page=home]) .score-ring{align-self:center}}

/* ===== NÚMEROS: fonte ===== */
:where([data-page=home]) .stats-src{margin-top:22px;font-size:14px;color:var(--text-dim)}


/* ===== ajustes do redesenho v4 (menos cara de template) ===== */
:where([data-page=home]) .svc .tags{font-family:var(--sans);font-size:14px;letter-spacing:0;text-transform:none;line-height:1.5}
:where([data-page=home]) .svc h3{margin-top:0}
:where([data-page=home]) .fin-item{grid-template-columns:1fr}:where([data-page=home]) .fin-item p{grid-column:1}
:where([data-page=home]) .why-col{padding-top:24px}:where([data-page=home]) .why-col h3{margin-bottom:10px}
:where([data-page=home]) .bk{font-size:14px;font-weight:500;color:var(--accent)}
:where([data-page=home]) .post .cover{padding:0;display:block;height:auto;aspect-ratio:16/10}
:where([data-page=home]) .post .meta{font-family:var(--sans);font-size:14px;letter-spacing:0;text-transform:none}
:where([data-page=home]) .post.off{cursor:default}
:where([data-page=home]) .plat-slide .pill{font-family:var(--sans);font-size:14px;letter-spacing:0;text-transform:none;font-weight:500}

:where([data-page=home]) .hero .sub{color:var(--text-muted);max-width:56ch;margin:-8px 0 36px}
:where([data-page=home]) .aw-bar .demo-tag{flex-shrink:0}
@media(max-width:600px){:where([data-page=home]) br.dk{display:none}:where([data-page=home]) .aw-title{display:none}:where([data-page=home]) .aw-bar{justify-content:space-between}}

/* serviços: detalhes que abrem */
:where([data-page=home]) .svc{display:flex;flex-direction:column}
:where([data-page=home]) .svc details{margin-top:auto!important}
@media(max-width:600px){:where([data-page=home]) .svc-illu{height:130px;margin-bottom:24px}:where([data-page=home]) .svc-illu svg{height:130px}}
:where([data-page=home]) .svc details{margin-top:4px;border-top:1px solid var(--border)}
:where([data-page=home]) .svc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:15px;font-weight:500}
:where([data-page=home]) .svc summary::-webkit-details-marker{display:none}
:where([data-page=home]) .svc summary .pm{width:18px;height:18px;position:relative;flex-shrink:0}
:where([data-page=home]) .svc summary .pm::before,:where([data-page=home]) .svc summary .pm::after{content:"";position:absolute;left:3px;right:3px;top:8.5px;height:1px;background:var(--text);transition:transform .3s var(--ease)}
:where([data-page=home]) .svc summary .pm::after{transform:rotate(90deg)}
:where([data-page=home]) .svc details[open] summary .pm::after{transform:rotate(0)}
:where([data-page=home]) .svc .items{padding-bottom:10px}
:where([data-page=home]) .svc .it{padding:12px 0;border-top:1px solid var(--border)}
:where([data-page=home]) .svc .it:first-child{border-top:0;padding-top:2px}
:where([data-page=home]) .svc .it h4{font-size:15px;font-weight:500;margin-bottom:4px}
:where([data-page=home]) .svc .it p{font-size:14px;margin:0;line-height:1.5}
:where([data-page=home]) .svc details[open] .items{animation:open .4s var(--ease)}
@keyframes open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ilustrações vivas */
:where([data-page=home]) .illu .ping,:where([data-page=home]) .illu .blink,:where([data-page=home]) .illu .lay,:where([data-page=home]) .illu .glow,:where([data-page=home]) .illu .spin,:where([data-page=home]) .illu .hop{transform-box:fill-box;transform-origin:center}
:where([data-page=home]) .illu .ping{opacity:0}
:where([data-page=home]) .live .illu .ping{animation:ping 3s ease-out infinite}
:where([data-page=home]) .live .illu .ping.b{animation-delay:1.5s}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.4);opacity:0}}
:where([data-page=home]) .live .illu .blink{animation:blink2 1.6s steps(1) infinite}
@keyframes blink2{50%{opacity:.15}}
:where([data-page=home]) .live .illu .lay{animation:float 4.5s ease-in-out infinite}
:where([data-page=home]) .live .illu .lay.l2{animation-delay:.35s}:where([data-page=home]) .live .illu .lay.l3{animation-delay:.7s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
:where([data-page=home]) .live .illu .glow{animation:glow 3.2s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:.14}50%{opacity:.42}}
:where([data-page=home]) .live .illu .spin{animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
:where([data-page=home]) .illu .hop{opacity:0}
:where([data-page=home]) .live .illu .hop{animation:hop1 3.2s ease-in-out infinite}
:where([data-page=home]) .live .illu .hop.h2{animation-name:hop2;animation-delay:1.1s}
:where([data-page=home]) .live .illu .hop.h3{animation-name:hop3;animation-delay:2.2s}
@keyframes hop1{0%{transform:translate(0,0);opacity:0}12%{opacity:1}85%{opacity:1}100%{transform:translate(-45px,-40px);opacity:0}}
@keyframes hop2{0%{transform:translate(0,0);opacity:0}12%{opacity:1}85%{opacity:1}100%{transform:translate(40px,45px);opacity:0}}
@keyframes hop3{0%{transform:translate(0,0);opacity:0}12%{opacity:1}85%{opacity:1}100%{transform:translate(50px,-30px);opacity:0}}

/* plataformas: faixa de risco no mock do VExDay */
:where([data-page=home]) .mini-bands{position:relative;display:grid;flex-shrink:0;min-height:8px;grid-template-columns:repeat(5,1fr);height:8px;border-radius:4px;overflow:visible;margin:4px 0 22px;background:linear-gradient(90deg,rgba(63,207,127,.4) 0 40%,rgba(245,196,81,.5) 40% 60%,rgba(255,154,90,.5) 60% 80%,rgba(255,69,58,.5) 80%)}
:where([data-page=home]) .mini-bands .mk{position:absolute;top:-5px;width:2px;height:18px;background:var(--warn);border-radius:1px}
:where([data-page=home]) .kpi b.numeral-like{font-family:var(--sans)}

/* financeiro */
:where([data-page=home]) .fin-intro{color:var(--text-muted);max-width:60ch;margin:-40px 0 clamp(48px,6vw,72px)}
@media(max-width:900px){:where([data-page=home]) .fin-intro{margin-top:-20px}}
:where([data-page=home]) .fin-item{border-top:1px solid var(--border);padding:22px 0;display:grid;grid-template-columns:44px 1fr;gap:6px 14px}
:where([data-page=home]) .fin-item .n{font-family:var(--mono);font-size:13px;color:var(--text-dim);padding-top:4px}
:where([data-page=home]) .fin-item h4{font-size:18px;font-weight:500}:where([data-page=home]) .fin-item p{grid-column:2;color:var(--text-muted);font-size:15px}
:where([data-page=home]) .fin-regs{margin-top:18px;font-size:14px;color:var(--text-dim)}

/* por que: 6 razões */
:where([data-page=home]) .why-grid{grid-template-columns:repeat(3,1fr);row-gap:clamp(40px,5vw,56px)}
@media(max-width:820px){:where([data-page=home]) .why-grid{grid-template-columns:1fr}}

/* método (prova) */
:where([data-page=home]) .method{padding:clamp(70px,9vw,120px) 0 0;overflow:hidden}
:where([data-page=home]) .method-head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(50px,6vw,80px)}
@media(max-width:820px){:where([data-page=home]) .method-head{grid-template-columns:1fr;gap:20px}}
:where([data-page=home]) .method-head p{max-width:46ch}
:where([data-page=home]) .principles{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border-inverse);border-bottom:1px solid var(--border-inverse)}
@media(max-width:820px){:where([data-page=home]) .principles{grid-template-columns:1fr}}
:where([data-page=home]) .pr{padding:clamp(32px,4vw,48px) clamp(20px,3vw,40px) clamp(32px,4vw,44px) 0}
:where([data-page=home]) .pr+.pr{border-left:1px solid var(--border-inverse);padding-left:clamp(20px,3vw,40px)}
@media(max-width:820px){:where([data-page=home]) .pr+.pr{border-left:0;border-top:1px solid var(--border-inverse);padding-left:0}}
:where([data-page=home]) .pr .k{font-family:var(--dot);font-weight:700;font-size:clamp(34px,4vw,48px);line-height:1;margin-bottom:22px}
:where([data-page=home]) .pr h3{font-size:clamp(26px,3.4vw,36px);font-weight:500;letter-spacing:-.02em;line-height:1.1;margin-bottom:14px}
:where([data-page=home]) .pr p{font-size:17px;color:var(--text-muted-inverse);max-width:42ch}
:where([data-page=home]) .creds{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;padding:clamp(56px,7vw,88px) 0}
@media(max-width:820px){:where([data-page=home]) .creds{grid-template-columns:1fr;gap:48px}}
:where([data-page=home]) .creds dl>div{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:baseline;padding:20px 0;border-top:1px solid var(--border-inverse)}
:where([data-page=home]) .creds dl>div:last-child{border-bottom:1px solid var(--border-inverse)}
@media(max-width:520px){:where([data-page=home]) .creds dl>div{grid-template-columns:1fr;gap:6px}}
:where([data-page=home]) .creds dt{font-size:15px;color:var(--text-muted-inverse)}:where([data-page=home]) .creds dd{font-size:18px}
:where([data-page=home]) .marquee{border-top:1px solid var(--border-inverse);overflow:hidden;padding:26px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
:where([data-page=home]) .mq-track{display:flex;gap:48px;width:max-content;animation:mq 60s linear infinite}
:where([data-page=home]) .marquee:hover .mq-track{animation-play-state:paused}
:where([data-page=home]) .marquee:not(.live) .mq-track{animation-play-state:paused}
:where([data-page=home]) .mq-track span{font-family:var(--mono);font-size:14px;letter-spacing:.04em;color:var(--text-muted-inverse);white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){:where([data-page=home]) .mq-track{flex-wrap:wrap;width:auto;gap:14px 28px;justify-content:center}:where([data-page=home]) .mq-track span[aria-hidden]{display:none}}

/* boletim sem formulário falso */
:where([data-page=home]) .bcard .bcta{display:flex;gap:12px;flex-wrap:wrap}
:where([data-page=home]) .bcard .bcta a{height:56px;padding:0 28px;border-radius:12px;background:var(--text-inverse);color:var(--surface-inverse);font-weight:500;font-size:15px;display:inline-flex;align-items:center;gap:8px}
:where([data-page=home]) .bcard .bcta a:hover{opacity:.88}

/* blog: capa com palavra-chave */
:where([data-page=home]) .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:820px){:where([data-page=home]) .blog-grid{grid-template-columns:1fr}}
:where([data-page=home]) .post .cover{overflow:hidden}:where([data-page=home]) .cover .big{font-size:clamp(52px,5.4vw,80px);white-space:nowrap}

/* contato */
:where([data-page=home]) .contact-left .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px}
:where([data-page=home]) .chan .v a{border-bottom:1px solid var(--border)}:where([data-page=home]) .chan .v a:hover{border-color:var(--text-muted)}
:where([data-page=home]) .attack-box{scroll-margin-top:100px}
:where([data-page=home]) .attack-box:target{border-color:rgba(255,69,58,.8);box-shadow:0 0 0 4px rgba(255,69,58,.12)}
:where([data-page=home]) .attack-box .line a{border-bottom:1px solid rgba(255,69,58,.5)}
:where([data-page=home]) .cform .sent{margin-top:14px;text-align:center;font-size:14px;color:var(--ok);min-height:20px}

















/* home-fix:start */
:where([data-page=home]) .fin-item{display:block;padding:22px 0}
:where([data-page=home]) .fin-item h4{margin-bottom:6px}
:where([data-page=home]) .fin-item p{max-width:46ch}
:where([data-page=home]) .plat-slide{transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .6s cubic-bezier(.2,.7,.2,1);filter:blur(6px)}
:where([data-page=home]) .plat-slide.on{filter:none}
:where([data-page=home]) .plat-screen{transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
:where([data-page=home]) .plat-progress i b{transition:none}
/* troca das plataformas em terços iguais do trecho fixado */
:where([data-page=home]) .plat-trig:nth-child(1){height:116.667vh}:where([data-page=home]) .plat-trig:nth-child(2){height:66.667vh}:where([data-page=home]) .plat-trig:nth-child(3){height:116.667vh}
:where([data-page=home]) .is-carousel .plat-slide{filter:none}
:where([data-page=home]) .pix{container-type:inline-size}
@container (max-width:540px){:where([data-page=home]) .pix-row{grid-template-columns:1fr auto;grid-template-areas:"tm tag" "val val" "sig sig";gap:6px 12px;padding:16px 22px}:where([data-page=home]) .pix-row .tm{grid-area:tm}:where([data-page=home]) .pix-row .tag{grid-area:tag;justify-self:end}:where([data-page=home]) .pix-row .val{grid-area:val}:where([data-page=home]) .pix-row .sig{grid-area:sig}:where([data-page=home]) .pix-head{padding:20px 22px}}
/* home-fix:end */

/* ==================== page: products ==================== */
/* ===== PRODUCT HERO ===== */
:where([data-page=product]) .phero{padding-top:clamp(44px,6vw,72px);padding-bottom:clamp(56px,7vw,84px);overflow:hidden;position:relative}
:where([data-page=product]) .phero-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 72%);mask-image:linear-gradient(180deg,#000,transparent 72%)}
:where([data-page=product]) .phero .wrap{position:relative;z-index:1}
:where([data-page=product]) .crumb{display:flex;gap:8px;align-items:center;margin-bottom:26px;font-family:var(--mono);font-size:13px;color:var(--text-muted)}
:where([data-page=product]) .crumb .accent{color:var(--accent)}
:where([data-page=product]) .phero-eyebrow{color:var(--accent);margin-bottom:22px}
:where([data-page=product]) .phero h1{max-width:14ch;margin-bottom:26px}
:where([data-page=product]) .phero .sub{color:var(--text-muted);max-width:52ch;margin-bottom:36px}
:where([data-page=product]) .phero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:clamp(48px,6vw,72px)}
:where([data-page=product]) .phero-mono{font-family:var(--mono);font-size:13px;color:var(--text-dim);letter-spacing:.02em}

/* mock generico de janela */
:where([data-page=product]) .win{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.6);position:relative}
:where([data-page=product]) .win-bar{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border)}
:where([data-page=product]) .dots{display:flex;gap:8px}:where([data-page=product]) .dots span{width:11px;height:11px;border-radius:50%;background:#2a2a2e}
:where([data-page=product]) .win-title{font-family:var(--mono);font-size:13px;color:var(--text-muted);letter-spacing:.04em;margin-inline:auto}

/* ===== STEPS ===== */
:where([data-page=product]) .steps{padding:clamp(70px,9vw,120px) 0}
:where([data-page=product]) .steps-head{max-width:720px;margin-bottom:clamp(50px,6vw,80px)}
:where([data-page=product]) .steps-head h2 .dim{color:var(--text-muted)}:where([data-page=product]) .steps-head p{color:var(--text-muted);margin-top:20px}
:where([data-page=product]) .step-grid{display:grid;grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){:where([data-page=product]) .step-grid{grid-template-columns:repeat(2,1fr);gap:48px 0}}
@media(max-width:540px){:where([data-page=product]) .step-grid{grid-template-columns:1fr}}
:where([data-page=product]) .step{padding:0 clamp(16px,2vw,28px);position:relative}
:where([data-page=product]) .step:not(:first-child){border-left:1px solid var(--border)}
@media(max-width:900px){:where([data-page=product]) .step{border-left:0!important;padding-left:0}}
:where([data-page=product]) .step .n{font-family:var(--dot);font-weight:700;font-size:clamp(30px,4vw,44px);color:var(--text-dim);line-height:1;margin-bottom:28px}
:where([data-page=product]) .step h3{font-size:20px;font-weight:500;letter-spacing:-.01em;margin-bottom:12px}
:where([data-page=product]) .step p{color:var(--text-muted);font-size:16px}

/* ===== FEATURES ===== */
:where([data-page=product]) .feat{padding:clamp(70px,9vw,120px) 0}
:where([data-page=product]) .feat-head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(50px,6vw,80px)}
@media(max-width:820px){:where([data-page=product]) .feat-head{grid-template-columns:1fr;gap:20px}}
:where([data-page=product]) .feat-head h2 .dim{color:var(--text-muted)}:where([data-page=product]) .feat-head p{color:var(--text-muted);max-width:44ch}
:where([data-page=product]) .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:16px;overflow:hidden}
@media(max-width:820px){:where([data-page=product]) .feat-grid{grid-template-columns:1fr}}
:where([data-page=product]) .fcell{background:var(--bg);padding:clamp(28px,3vw,40px)}
:where([data-page=product]) .fcell .k{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
:where([data-page=product]) .fcell h3{font-size:19px;font-weight:500;margin-bottom:10px;letter-spacing:-.01em}
:where([data-page=product]) .fcell p{color:var(--text-muted);font-size:15px}

/* ===== SPOTLIGHT (o produto em uso) ===== */
:where([data-page=product]) .spot{padding:clamp(70px,9vw,120px) 0}
:where([data-page=product]) .spot-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(40px,5vw,80px);align-items:center}
@media(max-width:900px){:where([data-page=product]) .spot-grid{grid-template-columns:1fr;gap:40px}}
:where([data-page=product]) .spot.rev .spot-grid{grid-template-columns:1.1fr 0.9fr}
:where([data-page=product]) .spot.rev .spot-copy{order:2}
@media(max-width:900px){:where([data-page=product]) .spot.rev .spot-grid{grid-template-columns:1fr}:where([data-page=product]) .spot.rev .spot-copy{order:0}}
:where([data-page=product]) .spot-copy .label{margin-bottom:20px}:where([data-page=product]) .spot-copy h2{margin-bottom:20px}:where([data-page=product]) .spot-copy p{color:var(--text-muted);max-width:46ch;margin-bottom:24px}
:where([data-page=product]) .spot-list{margin-top:8px}
:where([data-page=product]) .spot-list div{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--border);font-size:16px;align-items:baseline}
:where([data-page=product]) .spot-list div:last-child{border-bottom:1px solid var(--border)}
:where([data-page=product]) .spot-list .c{color:var(--accent);font-family:var(--mono);font-size:12px;flex-shrink:0;width:16px}

/* mock internals reaproveitados */
:where([data-page=product]) .ps-bar{display:flex;align-items:center;gap:10px;margin-bottom:22px;padding:clamp(18px,2.4vw,26px) clamp(20px,2.6vw,28px) 0}
:where([data-page=product]) .ps-bar .dots span{width:9px;height:9px}
:where([data-page=product]) .ps-bar .t{font-family:var(--mono);font-size:12px;color:var(--text-muted);margin-inline:auto}
:where([data-page=product]) .ps-body{padding:0 clamp(20px,2.6vw,28px) clamp(20px,2.6vw,28px)}
:where([data-page=product]) .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
:where([data-page=product]) .kpi b{font-size:clamp(19px,2.2vw,26px);font-weight:500;letter-spacing:-.02em;display:block;white-space:nowrap}
:where([data-page=product]) .kpi span{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase}
:where([data-page=product]) .sev-row{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:7px 0}
:where([data-page=product]) .sev-row .k{font-family:var(--mono);font-size:10px;color:var(--text-muted)}
:where([data-page=product]) .sev-track{height:3px;background:#2a2a2e;border-radius:3px;overflow:hidden}:where([data-page=product]) .sev-fill{height:100%;background:var(--text)}
:where([data-page=product]) .sev-row .v{font-size:14px}
@media(max-width:520px){:where([data-page=product]) .kpis{grid-template-columns:repeat(2,1fr);gap:16px 14px}:where([data-page=product]) .ps-bar .t{display:none}}

/* score ring */
:where([data-page=product]) .score-flex{display:flex;gap:26px;align-items:center}
:where([data-page=product]) .score-ring{width:132px;height:132px;flex-shrink:0}
:where([data-page=product]) .score-bars{flex:1}
:where([data-page=product]) .sb{padding:9px 0}:where([data-page=product]) .sb .t{display:flex;justify-content:space-between;font-size:14px;margin-bottom:7px}
:where([data-page=product]) .sb .track{height:2px;background:#2a2a2e;border-radius:2px;overflow:hidden}:where([data-page=product]) .sb .fill{height:100%;background:var(--text)}
@media(max-width:520px){:where([data-page=product]) .score-flex{flex-direction:column;align-items:stretch}:where([data-page=product]) .score-ring{align-self:center}}

/* attack surface table */
:where([data-page=product]) .astable{width:100%;border-collapse:collapse;font-size:14px}
:where([data-page=product]) .astable th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:500;padding:0 0 14px;border-bottom:1px solid var(--border)}
:where([data-page=product]) .astable td{padding:13px 0;border-bottom:1px solid var(--border)}
:where([data-page=product]) .astable tr:last-child td{border-bottom:0}
:where([data-page=product]) .as-type{font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);border-radius:5px;padding:3px 8px}
:where([data-page=product]) .as-val{font-family:var(--mono);font-size:13px}
:where([data-page=product]) .as-dom{color:var(--text-muted);font-family:var(--mono);font-size:12px}
@media(max-width:560px){:where([data-page=product]) .astable th:nth-child(3),:where([data-page=product]) .astable td:nth-child(3){display:none}}

/* risk index */
:where([data-page=product]) .risk-flex{display:flex;align-items:flex-start;gap:22px;margin-bottom:8px}
:where([data-page=product]) .risk-num{font-weight:500;font-size:clamp(56px,7vw,78px);letter-spacing:-.03em;line-height:.86}
:where([data-page=product]) .risk-tag{font-weight:500;font-size:clamp(20px,2.4vw,26px);letter-spacing:-.01em}
:where([data-page=product]) .risk-tag+span{display:block;font-family:var(--mono);font-size:11px;color:var(--text-muted);margin-top:6px;letter-spacing:.03em}
:where([data-page=product]) .bands{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:22px 0 6px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
:where([data-page=product]) .band{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);text-align:center;padding:10px 4px}
:where([data-page=product]) .band.on{color:var(--text-inverse);font-weight:500}
:where([data-page=product]) .band-scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--text-dim)}
:where([data-page=product]) .cverow{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:11px 0;border-top:1px solid var(--border)}
:where([data-page=product]) .cverow .cve{font-family:var(--mono);font-size:11px;color:var(--text-muted)}
:where([data-page=product]) .cverow .d{font-size:14px}
:where([data-page=product]) .cverow .kev{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}
:where([data-page=product]) .mask{display:inline-block;width:34px;height:8px;border-radius:2px;background:#2a2a2e;vertical-align:middle}
/* ransomware bars */
:where([data-page=product]) .rbar{display:grid;grid-template-columns:120px 1fr 40px;gap:14px;align-items:center;padding:7px 0}
:where([data-page=product]) .rbar .name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:where([data-page=product]) .rbar .tr{height:6px;background:#2a2a2e;border-radius:3px;overflow:hidden}:where([data-page=product]) .rbar .fl{height:100%;background:var(--accent);opacity:.8}
:where([data-page=product]) .rbar .v{font-family:var(--mono);font-size:12px;color:var(--text-muted);text-align:right}

/* ===== CROSS-SELL ===== */
:where([data-page=product]) .trio{padding:clamp(70px,9vw,120px) 0;border-top:1px solid var(--border)}
:where([data-page=product]) .trio h2{max-width:20ch;margin-bottom:clamp(44px,5vw,64px)}:where([data-page=product]) .trio h2 .dim{color:var(--text-muted)}
:where([data-page=product]) .trio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:16px;overflow:hidden}
@media(max-width:820px){:where([data-page=product]) .trio-grid{grid-template-columns:1fr}}
:where([data-page=product]) .tcard{background:var(--bg);padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;min-height:220px;transition:background .2s}
:where([data-page=product]) .tcard:hover{background:var(--surface)}
:where([data-page=product]) .tcard.self{background:var(--surface-2)}
:where([data-page=product]) .tcard .cat{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px}
:where([data-page=product]) .tcard h3{font-size:24px;font-weight:500;letter-spacing:-.02em;margin-bottom:10px}
:where([data-page=product]) .tcard p{color:var(--text-muted);font-size:15px;margin-bottom:22px}
:where([data-page=product]) .tcard .link{margin-top:auto}
:where([data-page=product]) .tcard.self .now{margin-top:auto;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}

/* ===== CTA ===== */
:where([data-page=product]) .cta{padding:clamp(80px,10vw,140px) 0;position:relative;overflow:hidden}
:where([data-page=product]) .cta-grid{position:absolute;inset:0;z-index:0;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000,transparent 72%);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000,transparent 72%)}
:where([data-page=product]) .cta .wrap{position:relative;z-index:1;text-align:center}
:where([data-page=product]) .cta h2{max-width:18ch;margin:0 auto 24px}:where([data-page=product]) .cta p{color:var(--text-muted);max-width:48ch;margin:0 auto 40px}
:where([data-page=product]) .cta-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}


/* ===== IA (terminal legado, não usado) ===== */

:where([data-page=product]) .phero h1{font-size:clamp(38px,6vw,72px);max-width:20ch}
:where([data-page=product]) .dots{display:flex;gap:8px}:where([data-page=product]) .dots span{width:11px;height:11px;border-radius:50%;background:#2a2a2e}
:where([data-page=product]) .ps-bar .dots span{width:9px;height:9px}
:where([data-page=product]) .win .ps-bar{margin-bottom:18px}

/* faixa de números */
:where([data-page=product]) .pstats{padding:clamp(56px,7vw,80px) 0 0}
:where([data-page=product]) .pstats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,4vw,56px);padding:clamp(36px,5vw,56px) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
@media(max-width:820px){:where([data-page=product]) .pstats-grid{grid-template-columns:repeat(2,1fr);gap:40px 24px}}
:where([data-page=product]) .pstats-grid .numeral{font-size:clamp(36px,4.6vw,56px);margin-bottom:12px;white-space:nowrap}
:where([data-page=product]) .pstats-grid p{color:var(--text-muted);font-size:15px}

/* grade de 5 módulos */
:where([data-page=product]) .mod-grid{display:grid;grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){:where([data-page=product]) .mod-grid{grid-template-columns:repeat(2,1fr);gap:44px 0}}
@media(max-width:540px){:where([data-page=product]) .mod-grid{grid-template-columns:1fr}}
:where([data-page=product]) .mod{padding:0 clamp(14px,1.6vw,24px)}
:where([data-page=product]) .mod:first-child{padding-left:0}
:where([data-page=product]) .mod:not(:first-child){border-left:1px solid var(--border)}
@media(max-width:1000px){:where([data-page=product]) .mod{border-left:0!important;padding-left:0}}
:where([data-page=product]) .mod .tg{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--accent);margin-bottom:24px}
:where([data-page=product]) .mod h3{font-size:19px;font-weight:500;margin-bottom:10px;letter-spacing:-.01em}
:where([data-page=product]) .mod p{color:var(--text-muted);font-size:15px}

/* ===== IA: janela de projeto ===== */
:where([data-page=product]) #pjList{min-height:330px}
@media(max-width:560px){:where([data-page=product]) #pjList{min-height:520px}}
:where([data-page=product]) .pj-crumb{font-family:var(--mono);font-size:12px;color:var(--text-dim);margin-bottom:8px}
:where([data-page=product]) .pj-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px}
:where([data-page=product]) .pj-head h3{font-size:clamp(20px,2.4vw,26px);font-weight:500;letter-spacing:-.02em}
:where([data-page=product]) .pj-status{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:color .3s,background .3s}
:where([data-page=product]) .pj-status i{width:6px;height:6px;border-radius:50%;background:currentColor}
:where([data-page=product]) .pj-status.scan{color:var(--accent);background:rgba(249,106,2,.12)}:where([data-page=product]) .pj-status.scan i{animation:pulse2 1s infinite}
:where([data-page=product]) .pj-status.rev{color:var(--warn);background:rgba(245,196,81,.12)}
:where([data-page=product]) .pj-status.done{color:var(--ok);background:rgba(63,207,127,.12)}
@keyframes pulse2{50%{opacity:.2}}
:where([data-page=product]) .pj-meta{font-family:var(--mono);font-size:12px;color:var(--text-muted);margin-bottom:18px}
:where([data-page=product]) .pj-tabs{display:flex;gap:22px;border-bottom:1px solid var(--border);margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
:where([data-page=product]) .pj-tabs span{font-family:var(--mono);font-size:12px;color:var(--text-muted);padding:0 0 11px;white-space:nowrap}
:where([data-page=product]) .pj-tabs span.on{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
:where([data-page=product]) .pj-row{display:grid;grid-template-columns:50px 1fr auto;gap:14px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--surface-2);animation:rowin .45s var(--ease)}
@keyframes rowin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
:where([data-page=product]) .pj-row .t{font-size:14px;line-height:1.35}
:where([data-page=product]) .pj-row .t b{font-family:var(--mono);font-weight:400;color:var(--text-dim);margin-right:6px}
:where([data-page=product]) .sevp{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-align:center;padding:4px 0;border-radius:5px}
:where([data-page=product]) .sevp.CRIT{color:var(--alert);background:rgba(255,69,58,.14)}:where([data-page=product]) .sevp.HIGH{color:#ff9a5a;background:rgba(255,154,90,.13)}:where([data-page=product]) .sevp.MED{color:var(--warn);background:rgba(245,196,81,.12)}:where([data-page=product]) .sevp.LOW{color:#c9b48a;background:rgba(201,180,138,.1)}:where([data-page=product]) .sevp.INFO{color:var(--text-muted);background:rgba(255,255,255,.06)}
:where([data-page=product]) .stp{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:4px 8px;border-radius:5px;white-space:nowrap;transition:color .35s,background .35s}
:where([data-page=product]) .stp.rev{color:var(--accent);background:rgba(249,106,2,.12)}
:where([data-page=product]) .stp.ok{color:var(--ok);background:rgba(63,207,127,.13)}
:where([data-page=product]) .pj-row.flash{animation:flash .9s ease}
@keyframes flash{0%{border-color:var(--ok)}100%{border-color:var(--border)}}
@media(max-width:560px){:where([data-page=product]) .pj-row{grid-template-columns:44px 1fr;padding:10px}:where([data-page=product]) .pj-row .stp{grid-column:2;justify-self:start}}

/* ===== IA: relatório ===== */
:where([data-page=product]) .doc{padding:clamp(20px,2.6vw,28px)}
:where([data-page=product]) .doc h4{font-size:clamp(17px,2vw,21px);font-weight:500;letter-spacing:-.01em;margin-bottom:12px}
:where([data-page=product]) .doc .meta{display:flex;gap:28px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:18px}
:where([data-page=product]) .doc .meta b{color:var(--text);font-weight:500}
:where([data-page=product]) .doc .sec{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
:where([data-page=product]) .doc .ln{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px}
:where([data-page=product]) .doc .ln span:first-child{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}
:where([data-page=product]) .riskpill{font-family:var(--mono);font-size:11px;color:#ff9a5a;border:1px solid rgba(255,154,90,.45);border-radius:5px;padding:2px 8px}
:where([data-page=product]) .stack{display:flex;height:10px;border-radius:5px;overflow:hidden;margin:18px 0 10px;background:#1b1b1e}
:where([data-page=product]) .stack i{display:block;height:100%}
:where([data-page=product]) .stack-leg{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:22px}
:where([data-page=product]) .stack-leg b{font-family:var(--dot);font-weight:700;font-size:18px;color:var(--text);margin-right:5px;letter-spacing:0}
:where([data-page=product]) .fd{padding:12px 0;border-top:1px solid var(--border)}
:where([data-page=product]) .fd .h{display:flex;gap:10px;align-items:center;margin-bottom:5px}
:where([data-page=product]) .fd .h .sevp{width:46px;flex-shrink:0}
:where([data-page=product]) .fd .h span:last-child{font-size:15px;font-weight:500}
:where([data-page=product]) .fd p{font-size:13.5px;color:var(--text-muted);line-height:1.5}

/* ===== TS: visão geral ===== */
:where([data-page=product]) .ov{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,40px);align-items:center}
@media(max-width:640px){:where([data-page=product]) .ov{grid-template-columns:1fr;justify-items:center}}
:where([data-page=product]) .ov-ring{width:clamp(150px,18vw,190px)}
:where([data-page=product]) .ov-side .lab{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
:where([data-page=product]) .ov-side .big{font-size:clamp(26px,3vw,34px);font-weight:500;letter-spacing:-.02em;color:var(--alert);margin-bottom:8px}
:where([data-page=product]) .ov-side p{font-size:14px;color:var(--text-muted);margin-bottom:16px;max-width:44ch}
:where([data-page=product]) .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-muted)}
:where([data-page=product]) .legend b{color:var(--text);font-weight:500;margin-right:4px}
:where([data-page=product]) .legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:middle}
:where([data-page=product]) .ov-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}
@media(max-width:640px){:where([data-page=product]) .ov-kpis{grid-template-columns:repeat(2,1fr);width:100%}}
:where([data-page=product]) .ov-kpis div b{display:block;font-family:var(--dot);font-weight:700;font-size:clamp(22px,2.6vw,30px);line-height:1;margin-bottom:6px}
:where([data-page=product]) .ov-kpis div span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}

/* varredura da superfície */
:where([data-page=product]) .scanbox{position:relative;overflow:hidden}
:where([data-page=product]) .scanline{position:absolute;left:0;right:0;height:60px;top:-60px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(249,106,2,.14),transparent);border-bottom:1px solid rgba(249,106,2,.5)}
:where([data-page=product]) .play .scanline{animation:scan 2.2s var(--ease) forwards}
@keyframes scan{0%{top:-60px;opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}
:where([data-page=product]) .astable td:last-child,:where([data-page=product]) .astable th:last-child{text-align:right}
:where([data-page=product]) .as-seen{font-family:var(--mono);font-size:11px;color:var(--text-dim)}
@media(max-width:560px){:where([data-page=product]) .astable th:nth-child(3),:where([data-page=product]) .astable td:nth-child(3){display:none}}

/* compliance */
:where([data-page=product]) .cbar{display:grid;grid-template-columns:120px 1fr 48px;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--border)}
:where([data-page=product]) .cbar:first-of-type{border-top:0}
:where([data-page=product]) .cbar .n{font-size:14px}:where([data-page=product]) .cbar .tr{height:6px;border-radius:3px;background:#222226;overflow:hidden}:where([data-page=product]) .cbar .fl{height:100%;background:var(--text);border-radius:3px}
:where([data-page=product]) .cbar .v{font-family:var(--mono);font-size:13px;text-align:right}

/* ===== VX: triagem ===== */
:where([data-page=product]) .vx-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:14px;margin-bottom:26px;color:var(--text-muted)}
:where([data-page=product]) .vx-pill b{color:var(--text);font-weight:600}
:where([data-page=product]) .tri{display:grid;grid-template-columns:190px 1fr}
@media(max-width:760px){:where([data-page=product]) .tri{grid-template-columns:1fr}:where([data-page=product]) .tri-side{display:none}}
:where([data-page=product]) .tri-side{border-right:1px solid var(--border);padding:18px 14px}
:where([data-page=product]) .tri-side span{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted);padding:8px 10px;border-radius:8px}
:where([data-page=product]) .tri-side span i{width:6px;height:6px;border-radius:2px;background:#3a3a40}
:where([data-page=product]) .tri-side span.on{background:var(--surface-2);color:var(--text)}:where([data-page=product]) .tri-side span.on i{background:var(--accent)}
:where([data-page=product]) .tri-main{padding:18px clamp(16px,2.4vw,26px) 10px}
:where([data-page=product]) .tri-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:14px}
@media(max-width:560px){:where([data-page=product]) .tri-kpis{grid-template-columns:repeat(2,1fr)}}
:where([data-page=product]) .tri-kpis b{display:block;font-size:clamp(18px,2.2vw,24px);font-weight:500;letter-spacing:-.02em;white-space:nowrap}
:where([data-page=product]) .tri-kpis span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
:where([data-page=product]) .tri-main h4{font-size:15px;font-weight:500;margin-bottom:6px}
:where([data-page=product]) .cvel{display:grid;grid-template-columns:14px 132px 1fr;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--border);font-size:14px}
:where([data-page=product]) .cvel:first-of-type{border-top:0}
:where([data-page=product]) .cvel .dt{width:7px;height:7px;border-radius:2px;background:var(--alert)}
:where([data-page=product]) .live .cvel .dt{animation:pulse2 1.8s infinite}
:where([data-page=product]) .cvel:nth-child(2n) .dt{animation-delay:.6s}
:where([data-page=product]) .cvel .id{font-family:var(--mono);font-size:12.5px}
:where([data-page=product]) .cvel .d{color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:560px){:where([data-page=product]) .cvel{grid-template-columns:14px 1fr}:where([data-page=product]) .cvel .d{grid-column:2;white-space:normal}}

/* índice */
:where([data-page=product]) .idx .risk-flex{display:flex;align-items:flex-end;gap:18px;margin-bottom:6px}
:where([data-page=product]) .idx .risk-num{font-family:var(--dot);font-weight:700;font-size:clamp(64px,8vw,96px);line-height:.85;color:var(--warn)}
:where([data-page=product]) .idx .risk-tag{font-size:clamp(20px,2.4vw,26px);font-weight:500;color:var(--warn)}
:where([data-page=product]) .idx .risk-sub{display:block;font-family:var(--mono);font-size:11px;color:var(--text-muted);margin-top:6px}
:where([data-page=product]) .bandbar{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin:24px 0 6px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
:where([data-page=product]) .bandbar span{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);text-align:center;padding:11px 2px}
:where([data-page=product]) .bandbar span:nth-child(1),:where([data-page=product]) .bandbar span:nth-child(2){background:#16241c}:where([data-page=product]) .bandbar span:nth-child(3){background:#2e2612;color:var(--warn)}:where([data-page=product]) .bandbar span:nth-child(4){background:#2e1812}:where([data-page=product]) .bandbar span:nth-child(5){background:#2e1214}
:where([data-page=product]) .bandbar .mk{position:absolute;top:0;bottom:0;width:2px;background:var(--warn);box-shadow:0 0 12px rgba(245,196,81,.7)}
:where([data-page=product]) .band-scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--text-dim);margin-bottom:22px}
:where([data-page=product]) .spark{width:100%;height:56px;margin-bottom:6px}
:where([data-page=product]) .sig{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:12px 0;border-top:1px solid var(--border)}
:where([data-page=product]) .sig .n{font-size:14px}:where([data-page=product]) .sig .v{font-family:var(--mono);font-size:13px;text-align:right}:where([data-page=product]) .sig .v small{color:var(--text-dim);margin-right:8px}
:where([data-page=product]) .sig .tr{grid-column:1/-1;height:4px;border-radius:2px;background:#222226;overflow:hidden}:where([data-page=product]) .sig .fl{height:100%;border-radius:2px}
:where([data-page=product]) .more{font-size:13px;color:var(--text-dim);padding-top:12px;border-top:1px solid var(--border)}

/* Brasil */
:where([data-page=product]) .br{padding:clamp(70px,9vw,120px) 0}
:where([data-page=product]) .br-head{max-width:760px;margin-bottom:clamp(40px,5vw,64px)}
:where([data-page=product]) .br-head p{color:var(--text-muted);margin-top:18px}
:where([data-page=product]) .bigs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);padding:clamp(32px,4vw,48px) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:clamp(40px,5vw,64px)}
@media(max-width:640px){:where([data-page=product]) .bigs{grid-template-columns:1fr;gap:28px}}
:where([data-page=product]) .bigs .numeral{font-size:clamp(48px,6vw,80px);margin-bottom:10px}
:where([data-page=product]) .bigs .numeral.hot{color:var(--alert)}
:where([data-page=product]) .bigs p{color:var(--text-muted);font-size:15px}
:where([data-page=product]) .br-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px)}
@media(max-width:820px){:where([data-page=product]) .br-cols{grid-template-columns:1fr}}
:where([data-page=product]) .br-cols h3{font-size:19px;font-weight:500;margin-bottom:16px}
:where([data-page=product]) .hb{display:grid;grid-template-columns:170px 1fr 40px;gap:14px;align-items:center;padding:9px 0}
@media(max-width:480px){:where([data-page=product]) .hb{grid-template-columns:110px 1fr 34px}}
:where([data-page=product]) .hb .n{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:where([data-page=product]) .hb .tr{height:6px;background:#1b1b1e;border-radius:3px;overflow:hidden}:where([data-page=product]) .hb .fl{height:100%;border-radius:3px}
:where([data-page=product]) .hb .v{font-family:var(--mono);font-size:12px;color:var(--text-muted);text-align:right}

:where([data-page=product]) .feat-grid .fcell .k{font-family:var(--mono)}

:where([data-page=product]) .crumb{display:block!important;font-family:var(--sans);font-size:14px;color:var(--text-muted);margin-bottom:28px;letter-spacing:0;line-height:1.6}
:where([data-page=product]) .crumb a:hover{color:var(--text)}:where([data-page=product]) .crumb i{font-style:normal;color:var(--text-dim);margin:0 8px}
:where([data-page=product]) .spot-list div{gap:14px}
:where([data-page=product]) .spot-list div::before{content:"";width:10px;height:1px;background:var(--accent);flex-shrink:0;align-self:center}
:where([data-page=product]) .spot-copy .label,:where([data-page=product]) .br-head .label{font-family:var(--sans);font-size:14px;letter-spacing:0;text-transform:none;color:var(--accent);font-weight:500}
:where([data-page=product]) .fcell .k,:where([data-page=product]) .tcard .cat{font-family:var(--sans)!important;font-size:13px!important;letter-spacing:0!important;text-transform:none!important}
:where([data-page=product]) .tcard .cat{color:var(--text-muted)}:where([data-page=product]) .fcell .k{color:var(--accent)}
:where([data-page=product]) .tcard.self .now{font-family:var(--sans);letter-spacing:0;text-transform:none;font-size:14px}










/* ==================== page: blog (índice) ==================== */
/* ===== índice do blog ===== */
:where([data-page^=doc]) .bh{padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,64px)}
:where([data-page^=doc]) .bh h1{font-size:clamp(40px,6.2vw,76px);font-weight:500;line-height:1.02;letter-spacing:-.035em;max-width:16ch;margin-bottom:24px}
:where([data-page^=doc]) .bh p{color:var(--text-muted);max-width:52ch}
:where([data-page^=doc]) .feat-post{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;padding-bottom:clamp(56px,7vw,88px);border-bottom:1px solid var(--border)}
@media(max-width:860px){:where([data-page^=doc]) .feat-post{grid-template-columns:1fr}}
:where([data-page^=doc]) .feat-post .cv{aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--border)}
:where([data-page^=doc]) .feat-post .kick{font-size:14px;color:var(--text-muted);margin-bottom:14px}
:where([data-page^=doc]) .feat-post .kick b{color:var(--accent);font-weight:500}
:where([data-page^=doc]) .feat-post h2{font-size:clamp(28px,3.4vw,40px);font-weight:500;line-height:1.1;letter-spacing:-.02em;margin-bottom:16px}
:where([data-page^=doc]) .feat-post p.d{color:var(--text-muted);margin-bottom:24px}
:where([data-page^=doc]) a.feat-post:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}

:where([data-page^=doc]) .tools{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:32px 0 8px;position:sticky;top:72px;z-index:5;background:rgba(0,0,0,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
:where([data-page^=doc]) .chips{display:flex;gap:6px;flex-wrap:wrap}
:where([data-page^=doc]) .chip{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:999px;padding:8px 14px;cursor:pointer;transition:color .2s,background .2s,border-color .2s}
:where([data-page^=doc]) .chip:hover{color:var(--text)}
:where([data-page^=doc]) .chip[aria-pressed="true"]{color:var(--text-inverse);background:var(--text);border-color:var(--text)}
:where([data-page^=doc]) .chip small{font-family:var(--mono);font-size:11px;opacity:.6;margin-left:6px}
:where([data-page^=doc]) .search{position:relative}
:where([data-page^=doc]) .search input{width:min(300px,80vw);height:40px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--sans);font-size:15px;padding:0 16px 0 38px}
:where([data-page^=doc]) .search input::placeholder{color:var(--text-dim)}
:where([data-page^=doc]) .search svg{position:absolute;left:14px;top:12px;width:16px;height:16px;color:var(--text-dim)}
:where([data-page^=doc]) .month{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--text-dim);padding:44px 0 10px;text-transform:lowercase}
:where([data-page^=doc]) .row{display:grid;grid-template-columns:72px 1fr 130px 150px;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--border);position:relative}
:where([data-page^=doc]) .row:hover .t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
:where([data-page^=doc]) .row .dt{font-family:var(--mono);font-size:13px;color:var(--text-muted)}
:where([data-page^=doc]) .row .t{font-size:clamp(18px,2vw,22px);font-weight:500;letter-spacing:-.01em;line-height:1.3;margin-bottom:6px}
:where([data-page^=doc]) .row .d{font-size:15px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
:where([data-page^=doc]) .row .c{font-size:14px;color:var(--text-muted)}
:where([data-page^=doc]) .row .c span{display:block;font-family:var(--mono);font-size:12px;color:var(--text-dim);margin-top:2px}
:where([data-page^=doc]) .row .th{height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--border);opacity:.55;transition:opacity .3s}
:where([data-page^=doc]) .row:hover .th{opacity:1}
:where([data-page^=doc]) .row.off{cursor:default}:where([data-page^=doc]) .row.off:hover .t{text-decoration:none}
@media(max-width:860px){:where([data-page^=doc]) .row{grid-template-columns:1fr;gap:6px}:where([data-page^=doc]) .row .th,:where([data-page^=doc]) .row .dt{display:none}:where([data-page^=doc]) .row .c{order:-1;display:flex;gap:10px}:where([data-page^=doc]) .row .c span{display:inline;margin:0}:where([data-page^=doc]) .row .d{-webkit-line-clamp:2}}
:where([data-page^=doc]) .tools .chips{min-width:0}
@media(max-width:700px){:where([data-page^=doc]) .tools{position:static;padding-top:24px;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}:where([data-page^=doc]) .tools .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--pad) * -1);padding:0 var(--pad);width:calc(100% + var(--pad) * 2)}:where([data-page^=doc]) .tools .chips::-webkit-scrollbar{display:none}:where([data-page^=doc]) .chip{white-space:nowrap}:where([data-page^=doc]) .search,:where([data-page^=doc]) .search input{width:100%}}
:where([data-page^=doc]) .empty{padding:56px 0;color:var(--text-muted);display:none}
:where([data-page^=doc]) .empty.on{display:block}
:where([data-page^=doc]) .empty button{margin-top:16px}
:where([data-page^=doc]) .b-cta{padding:clamp(80px,9vw,120px) 0;border-top:1px solid var(--border);margin-top:clamp(56px,7vw,88px)}
:where([data-page^=doc]) .b-cta .wrap{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap}
:where([data-page^=doc]) .b-cta h2{max-width:18ch}:where([data-page^=doc]) .b-cta p{color:var(--text-muted);margin-top:14px}


/* ==================== page: blog (artigo) + page: legal — mesmo template ==================== */
/* ===== artigo ===== */
:where([data-page^=doc]) .progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}
:where([data-page^=doc]) .ah{padding:clamp(40px,6vw,80px) 0 clamp(32px,4vw,48px)}
:where([data-page^=doc]) .crumbs{font-size:14px;color:var(--text-muted);margin-bottom:28px}
:where([data-page^=doc]) .crumbs a:hover{color:var(--text)}:where([data-page^=doc]) .crumbs i{font-style:normal;color:var(--text-dim);margin:0 8px}
:where([data-page^=doc]) .ah h1{font-size:clamp(34px,5.2vw,64px);font-weight:500;line-height:1.04;letter-spacing:-.03em;max-width:20ch;margin-bottom:26px}
:where([data-page^=doc]) .ameta{display:flex;gap:10px 28px;flex-wrap:wrap;font-size:15px;color:var(--text-muted)}
:where([data-page^=doc]) .ameta b{color:var(--text);font-weight:500}
:where([data-page^=doc]) .acover{aspect-ratio:21/7;border-radius:16px;overflow:hidden;border:1px solid var(--border);margin-bottom:clamp(40px,5vw,64px)}
@media(max-width:700px){:where([data-page^=doc]) .acover{aspect-ratio:16/9}}
:where([data-page^=doc]) .alay{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;padding-bottom:clamp(56px,7vw,96px)}
:where([data-page^=doc]) .alay>*{min-width:0}
@media(max-width:1000px){:where([data-page^=doc]) .alay{grid-template-columns:minmax(0,1fr)}}
:where([data-page^=doc]) .toc{position:sticky;top:104px;font-size:14px}
:where([data-page^=doc]) .toc p{font-size:13px;color:var(--text-dim);margin-bottom:14px}
:where([data-page^=doc]) .toc ol{list-style:none;border-left:1px solid var(--border);position:relative}
:where([data-page^=doc]) .toc .bar{position:absolute;left:-1px;top:0;width:1px;background:var(--accent);height:0;transition:height .15s linear}
:where([data-page^=doc]) .toc li a{display:block;padding:7px 0 7px 16px;color:var(--text-muted);line-height:1.35;transition:color .2s}
:where([data-page^=doc]) .toc li a:hover,:where([data-page^=doc]) .toc li a.on{color:var(--text)}
:where([data-page^=doc]) .toc-m{display:none}
@media(max-width:1000px){:where([data-page^=doc]) .toc{display:none}:where([data-page^=doc]) .toc-m{display:block;border:1px solid var(--border);border-radius:12px;padding:4px 18px;margin-bottom:36px}
 :where([data-page^=doc]) .toc-m summary{cursor:pointer;padding:12px 0;font-weight:500;font-size:15px;list-style:none}:where([data-page^=doc]) .toc-m summary::-webkit-details-marker{display:none}
 :where([data-page^=doc]) .toc-m ol{list-style:none;padding-bottom:12px}:where([data-page^=doc]) .toc-m li a{display:block;padding:7px 0;color:var(--text-muted);font-size:15px}}
:where([data-page^=doc]) .tldr{border-left:2px solid var(--accent);padding:4px 0 4px 22px;margin-bottom:44px;max-width:68ch}
:where([data-page^=doc]) .tldr p.k{font-size:14px;color:var(--accent);margin-bottom:8px;font-weight:500}
:where([data-page^=doc]) .tldr p{font-size:clamp(18px,1.9vw,20px);line-height:1.6;color:var(--text)}
:where([data-page^=doc]) .prose{max-width:68ch;font-size:18px;line-height:1.72;color:#D9D8D4}
:where([data-page^=doc]) .prose>*:first-child{margin-top:0}
:where([data-page^=doc]) .prose p{margin:0 0 20px}
:where([data-page^=doc]) .prose h2{font-size:clamp(25px,2.8vw,32px);font-weight:500;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin:64px 0 18px;scroll-margin-top:100px}
:where([data-page^=doc]) .prose h3{font-size:20px;font-weight:500;line-height:1.3;color:var(--text);margin:38px 0 10px}
:where([data-page^=doc]) .prose strong{color:var(--text);font-weight:600}
:where([data-page^=doc]) .prose em{font-style:italic}
:where([data-page^=doc]) .prose a{color:var(--text);text-decoration:underline;text-decoration-color:rgba(249,106,2,.7);text-underline-offset:4px;text-decoration-thickness:1px}
:where([data-page^=doc]) .prose a:hover{text-decoration-color:var(--accent)}
:where([data-page^=doc]) .prose ul,:where([data-page^=doc]) .prose ol{margin:0 0 24px;padding:0;list-style:none}
:where([data-page^=doc]) .prose li{position:relative;padding-left:26px;margin-bottom:10px}
:where([data-page^=doc]) .prose ul>li::before{content:"";position:absolute;left:4px;top:.8em;width:10px;height:1px;background:var(--text-muted)}
:where([data-page^=doc]) .prose ol{counter-reset:n}
:where([data-page^=doc]) .prose ol>li{counter-increment:n}
:where([data-page^=doc]) .prose ol>li::before{content:counter(n);position:absolute;left:0;top:.2em;font-family:var(--mono);font-size:13px;color:var(--accent)}
:where([data-page^=doc]) .prose code{font-family:var(--mono);font-size:.88em;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px}
:where([data-page^=doc]) .tbl{overflow-x:auto;margin:8px 0 28px;border:1px solid var(--border);border-radius:12px}
:where([data-page^=doc]) .prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
:where([data-page^=doc]) .prose th{text-align:left;font-weight:500;color:var(--text);background:var(--surface);padding:12px 16px;border-bottom:1px solid var(--border)}
:where([data-page^=doc]) .prose td{padding:12px 16px;border-top:1px solid var(--border);vertical-align:top}
:where([data-page^=doc]) .note{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px 30px;margin:44px 0}
:where([data-page^=doc]) .note .nk{font-size:13px;color:var(--accent);margin-bottom:10px;font-weight:500}
:where([data-page^=doc]) .note h3{margin:0 0 8px!important;font-size:21px}
:where([data-page^=doc]) .note p{color:var(--text-muted);font-size:16px;margin-bottom:20px}
:where([data-page^=doc]) .aend{max-width:68ch;margin-top:56px;padding-top:28px;border-top:1px solid var(--border);display:flex;gap:12px;flex-wrap:wrap;align-items:center}
:where([data-page^=doc]) .aend span{font-size:14px;color:var(--text-muted);margin-right:6px}
:where([data-page^=doc]) .aend button,:where([data-page^=doc]) .aend a{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--text);background:none;border:1px solid var(--border);border-radius:999px;padding:9px 16px;cursor:pointer}
:where([data-page^=doc]) .aend button:hover,:where([data-page^=doc]) .aend a:hover{border-color:#3a3a40}
:where([data-page^=doc]) .next{border-top:1px solid var(--border);padding:clamp(56px,7vw,88px) 0}
:where([data-page^=doc]) .next-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,32px);margin-top:32px}
@media(max-width:860px){:where([data-page^=doc]) .next-g{grid-template-columns:1fr}}
:where([data-page^=doc]) .nx .cv{aspect-ratio:16/8;border-radius:10px;overflow:hidden;border:1px solid var(--border);margin-bottom:16px}
:where([data-page^=doc]) .nx p.c{font-size:13px;color:var(--text-muted);margin-bottom:6px}
:where([data-page^=doc]) .nx h3{font-size:18px;font-weight:500;line-height:1.3}
:where([data-page^=doc]) a.nx:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
:where([data-page^=doc]) .pcta{padding:clamp(72px,9vw,120px) 0;border-top:1px solid var(--border)}
:where([data-page^=doc]) .pcta .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
@media(max-width:860px){:where([data-page^=doc]) .pcta .wrap{grid-template-columns:1fr}}
:where([data-page^=doc]) .pcta p{color:var(--text-muted);margin-top:16px;max-width:48ch}
:where([data-page^=doc]) .pcta .btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:860px){:where([data-page^=doc]) .pcta .btns{justify-content:flex-start}}


/* ==================== page: 404 ==================== */
/* ===== 404 ===== */
:where([data-page^=doc]) .nf{min-height:calc(100vh - 72px);display:grid;align-items:center;position:relative;overflow:hidden;padding:64px 0}
:where([data-page^=doc]) .nf .bg{position:absolute;inset:0;opacity:.8}
:where([data-page^=doc]) .nf .bg .end{fill:var(--alert)!important}:where([data-page^=doc]) .nf .bg .ring{stroke:var(--alert)!important}
:where([data-page^=doc]) .nf .bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 60% at 30% 50%,rgba(0,0,0,.92),rgba(0,0,0,.35))}
:where([data-page^=doc]) .nf .wrap{position:relative;z-index:1}
:where([data-page^=doc]) .nf .code{font-family:var(--dot);font-weight:700;font-size:clamp(96px,16vw,200px);line-height:.85;letter-spacing:-.02em;margin-bottom:28px}
:where([data-page^=doc]) .nf .term{font-family:var(--mono);font-size:14px;line-height:1.9;background:rgba(14,14,16,.9);border:1px solid var(--border);border-radius:12px;padding:16px 20px;max-width:620px;margin-bottom:32px;overflow-x:auto;white-space:nowrap}
:where([data-page^=doc]) .nf .term .u{color:var(--text)}:where([data-page^=doc]) .nf .term .r{color:var(--alert)}:where([data-page^=doc]) .nf .term .m{color:var(--text-dim)}
:where([data-page^=doc]) .nf h1{font-size:clamp(30px,4.4vw,52px);font-weight:500;line-height:1.08;letter-spacing:-.025em;max-width:18ch;margin-bottom:16px}
:where([data-page^=doc]) .nf p.s{color:var(--text-muted);max-width:52ch;margin-bottom:32px}
:where([data-page^=doc]) .nf .btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}
:where([data-page^=doc]) .nf .quick{display:flex;gap:24px;flex-wrap:wrap;font-size:15px;color:var(--text-muted)}
:where([data-page^=doc]) .nf .quick a:hover{color:var(--text)}









/* ==================== motion / reduced-motion (motion-layer) ==================== */
/* motion-layer:start */
/* navegação entre páginas: o cabeçalho fica, o conteúdo troca por baixo */
@view-transition{navigation:auto}
#hd{view-transition-name:site-header}
::view-transition-old(root){animation:vt-out .22s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vt-in .55s cubic-bezier(.2,.7,.2,1) both}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0;transform:translateY(16px)}}
/* rolagem suave (Lenis) */
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
/* sumário mobile: mostra que abre */
.toc-m summary{display:flex;justify-content:space-between;align-items:center;gap:12px}
.toc-m summary::after{content:"";width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .3s cubic-bezier(.2,.7,.2,1);opacity:.6;flex-shrink:0}
.toc-m[open] summary::after{transform:translateY(2px) rotate(225deg)}
/* tabela larga rola de lado no celular em vez de espremer */
.tbl table{min-width:560px}
/* movimento amarrado ao scroll: só onde o navegador faz isso no compositor */
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){
  :is(.services-head,.plat-intro h2,.plat-intro p,.finance h2,.fin-intro,.method-head,.creds,.blog-head,.contact-left h2,.steps-head,.trio h2,.cta h2,.b-cta h2,.pcta h2,.next h2,.bh h1,.bh p){
    animation:mr-rise cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% entry 70%}
  :is(.svc-grid,.pix,.principles,.bcard,.cform,.step-grid,.trio-grid,.spot-grid,.feat-post,.acover){
    animation:mr-lift cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% cover 20%}
  :is(.post,.why-col){animation:mr-lift cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% entry 75%}
  .mr-still{animation:none!important}
  @media(max-width:820px){:is(.svc-grid,.step-grid,.trio-grid,.spot-grid,.principles){animation:none}}
  :is(.hero,.phero) :is(h1,.sub){animation:mr-hero-out linear both;animation-timeline:scroll(root);animation-range:0 75vh}
  .phero .win{transform-origin:50% 0;animation:mr-hero-in cubic-bezier(.2,.7,.2,1) both;animation-timeline:scroll(root);animation-range:0 50vh}
  .attack-window{transform-origin:50% 0;animation:mr-hero-in cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% cover 35%}
  .wordmark{animation:mr-mark linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
}
}
@keyframes mr-rise{from{opacity:0;translate:0 44px}to{opacity:1;translate:0 0}}
@keyframes mr-lift{from{opacity:0;translate:0 72px;scale:.965}to{opacity:1;translate:0 0;scale:1}}
@keyframes mr-hero-out{to{opacity:.3;translate:0 -64px}}
@keyframes mr-hero-in{from{scale:.94}to{scale:1}}
@keyframes mr-mark{from{translate:0 40%}to{translate:0 0}}
/* motion-layer:end */

/* === polish 100 (aditivo) === */
/* a11y · contraste: --text-dim 2,84:1 -> 4,56:1 inclusive na superfície mais clara (#141416); --text-muted já passa (6,1:1) */
:root{--text-dim:#7e7e84}
/* a11y · contorno de campo >= 3:1 (WCAG 1.4.11); divisórias decorativas seguem com --border */
.field input,.field textarea,.field select,.search input{border-color:#626268}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--text-muted)}
/* a11y · foco visível (o CSS da home zerava o outline dos campos) */
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible,.search input:focus-visible,[role="tab"]:focus-visible,.chip:focus-visible,.lang a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
main:focus{outline:none}
/* a11y · skip link */
.skip{position:fixed;left:16px;top:-80px;z-index:300;background:var(--accent);color:#0B0B0C;padding:12px 18px;border-radius:999px;font-weight:500;font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* idioma: PT | EN | ES, alvo >= 44x44 */
.lang{display:flex;align-items:center}
.lang a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--text-muted);transition:color .2s}
.lang a:hover,.lang a[aria-current]{color:var(--text)}
.lang a+a::before{content:"";position:absolute;left:0;top:50%;width:1px;height:12px;margin-top:-6px;background:#3a3a40}
.nav-right .lang{margin-right:2px}
.menu .m-lang{display:none;margin:14px 0 0 -12px}
@media(max-width:560px){.nav-right>.lang{display:none}.menu .m-lang{display:flex}}
/* 981–1179px: a linha completa não cabe ao lado do menu; o idioma vira um seletor compacto */
.lang-dd{display:none;position:relative}
.lang-dd summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 8px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--text);cursor:pointer;border-radius:8px}
.lang-dd summary::-webkit-details-marker{display:none}
.lang-dd summary::after{content:"";width:6px;height:6px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:translateY(-2px) rotate(45deg);transition:transform .18s}
.lang-dd[open] summary::after{transform:translateY(1px) rotate(-135deg)}
.lang-dd summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lang-dd .lang-pop{position:absolute;top:calc(100% + 6px);right:0;flex-direction:column;align-items:stretch;background:var(--surface);border:1px solid #3a3a40;border-radius:12px;padding:4px;min-width:72px;box-shadow:0 12px 32px rgba(0,0,0,.45)}
.lang-dd .lang-pop a+a::before{display:none}
@media(min-width:981px) and (max-width:1179px){.nav-right>.lang{display:none}.lang-dd{display:block}.nav-links{gap:16px}}
/* alvos de toque >= 44px */
.nav-toggle{padding:10px;margin-right:-10px}
.attack{min-height:44px}
.pill-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.plat-tab{min-height:44px}
.plat-tab:active{transform:translateY(1px);border-color:#3a3a40}
.plat-tab[aria-selected="true"]:active{border-color:var(--text)}
/* cards: hover/foco sutil */
.nx .cv,.feat-post .cv{transition:transform .18s cubic-bezier(.2,.7,.2,1),border-color .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s cubic-bezier(.2,.7,.2,1)}
a.nx:hover .cv,a.nx:focus-visible .cv,a.feat-post:hover .cv,a.feat-post:focus-visible .cv{transform:translateY(-2px);border-color:#3a3a40;box-shadow:0 10px 28px rgba(0,0,0,.35)}
.post:focus-visible .cover{transform:translateY(-4px)}
.tcard:focus-visible{background:var(--surface)}
/* a11y · botão primário dentro de nota de artigo: a regra de link da prosa deixava o texto claro sobre laranja (2,6:1) */
.prose .note .btn-primary{color:#0B0B0C}
/* a11y · TOC: a barra de progresso saiu de dentro do <ol> (lista inválida); o invólucro tem a mesma caixa da lista */
.toc .toc-track{position:relative}
.toc .toc-track>.bar{left:0}
#findings:focus-visible,.tbl:focus-visible,.pj-tabs:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* hero mobile */
/* janela do "ataque ao vivo" com altura fixa: o terminal roda em loop (cresce, limpa e recomeça);
   antes a janela crescia e encolhia e empurrava a página inteira, e a rolagem parecia "voltar".
   O terminal e a lista de achados rolam por dentro, sempre mostrando a linha/achado mais recente. */
[data-page=home] #findings{flex:1 1 auto;min-height:0;overflow:hidden}
[data-page=home] #findings.scrolled{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 28px);mask-image:linear-gradient(to bottom,transparent,#000 28px)}
@media(min-width:761px){[data-page=home] .aw-body{height:500px;min-height:0}[data-page=home] .aw-body>.term,[data-page=home] .aw-panel{min-height:0;overflow:hidden}}
/* movimento reduzido: o terminal é montado de uma vez (sem loop), então pode rolar por mouse/toque/teclado */
@media(prefers-reduced-motion:reduce){[data-page=home] .aw-body>.term,[data-page=home] #findings{overflow-y:auto}}
@media(max-width:760px){[data-page=home] .term{height:280px;min-height:0;max-height:none;overflow:hidden}[data-page=home] .aw-panel{height:340px}}
/* CTA primário: anel no hover/foco, sem brilho pulsante */
.btn{transition:transform .15s,background .2s,border-color .2s,box-shadow .18s cubic-bezier(.2,.7,.2,1)}
.btn-primary:hover,.btn-primary:focus-visible,.cform button:hover,.cform button:focus-visible{box-shadow:0 0 0 4px rgba(249,106,2,.18)}
/* "Está sob ataque?": pulso contido (opacidade 1 -> .55, 2.4s, halo <= 6px) */
.pulse{animation:th-pulse 2.4s infinite}
@keyframes th-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,69,58,.45)}50%{opacity:.55;box-shadow:0 0 0 6px rgba(255,69,58,0)}}
/* formulário: erros por campo, estados, incidente */
.ferr{margin-top:8px;font-size:14px;line-height:1.4;color:var(--alert)}
.ferr:empty{display:none}
.field [aria-invalid="true"]{border-color:rgba(255,69,58,.8)}
.cform button:disabled{opacity:.65;cursor:progress}
.cform .sent.err{color:var(--text)}
.cform .sent.err a{color:var(--text);text-decoration:underline;text-decoration-color:rgba(255,69,58,.7);text-underline-offset:3px}
.cform.is-incident{border-color:rgba(255,69,58,.45)}
.inc-note{margin:0 0 22px;padding:12px 16px;border-left:2px solid var(--alert);border-radius:0 10px 10px 0;background:rgba(255,69,58,.07);font-size:15px;line-height:1.5;color:var(--text)}
/* blog: estado vazio com sugestões */
.empty .try{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px}
.empty .try .chip{min-height:36px;margin-top:0}
.empty .try .sep{color:var(--text-dim)}
/* detalhes globais (::selection já existe no CSS original e foi mantida) */
html{scrollbar-color:#222226 #000}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:#000}
*::-webkit-scrollbar-thumb{background:#222226}
*::-webkit-scrollbar-thumb:hover{background:#3a3a40}
@media(prefers-reduced-motion:reduce){a.nx:hover .cv,a.nx:focus-visible .cv,a.feat-post:hover .cv,a.feat-post:focus-visible .cv,.post:focus-visible .cover,.plat-tab:active{transform:none}}

/* ============ 30/09: terminal fora do hero ============ */
:where([data-page=home]) .hero .hero-ctas{margin-bottom:0}
:where([data-page=home]) .demo{padding:0 0 clamp(80px,10vw,128px)}

/* ============ 30/09: seletor de idioma em dropdown com bandeira ============
   Bandeiras em emoji, com fonte própria só para BR/US/ES (Twemoji, CC-BY 4.0)
   porque o Windows não desenha emoji de bandeira. */
@font-face{font-family:"TH Flags";src:url(flags.woff2?v=1) format("woff2");unicode-range:U+1F1E6-1F1FF;font-display:swap}
.nav-links a{white-space:nowrap}
.flag{flex:none;font-family:"TH Flags","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:17px;line-height:1;letter-spacing:0}
.lang a{gap:8px;padding:0 9px}
.nav-right>.lang{display:none!important}
@media(min-width:561px){.lang-dd{display:block}}
.lang-dd summary{height:40px;min-height:40px;padding:0 12px;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);transition:border-color .2s}
.lang-dd summary:hover,.lang-dd[open] summary{border-color:#3a3a40}
.lang-dd .lang-pop{top:calc(100% + 8px);min-width:184px;padding:6px;border-color:#2c2c31}
.lang-dd .lang-pop a{justify-content:flex-start;gap:12px;min-height:44px;padding:0 12px;border-radius:8px;font-family:var(--sans);font-size:15px;letter-spacing:0;color:var(--text-muted);transition:background-color .15s,color .15s}
.lang-dd .lang-pop a:hover{background:rgba(255,255,255,.04);color:var(--text)}
.lang-dd .lang-pop a[aria-current]{background:rgba(255,255,255,.07);color:var(--text)}
@media(prefers-reduced-motion:reduce){.lang-dd summary,.lang-dd .lang-pop a{transition:none}}

/* 30/09: nav compacta logo acima do breakpoint de 980px (rótulos PT são os mais longos) */
@media(min-width:981px) and (max-width:1060px){.nav{gap:12px}.nav-links{gap:12px}.nav-right{gap:8px}.nav-links a{font-size:14px}}

/* ============ 30/09: aviso de cookies (LGPD) ============
   Aceitar e Recusar com o mesmo peso visual; não bloqueia a leitura. */
.ck{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:120;width:min(420px,calc(100% - 32px));background:var(--surface);border:1px solid #2c2c31;border-radius:14px;padding:18px 18px 16px;box-shadow:0 18px 48px rgba(0,0,0,.55);font-family:var(--sans);animation:ck-in .35s var(--ease) both}
.ck p{font-size:14px;line-height:1.55;color:var(--text-muted);margin:0 0 14px}
.ck p a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.ck-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ck-btns button{min-height:44px;border-radius:999px;font:500 15px var(--sans);cursor:pointer;transition:background-color .2s,border-color .2s}
.ck-no{background:transparent;color:var(--text);border:1px solid #3a3a40}
.ck-no:hover{border-color:#5a5a62}
.ck-ok{background:var(--surface-inverse);color:var(--text-inverse);border:1px solid var(--surface-inverse)}
.ck-ok:hover{background:#dcdcd8;border-color:#dcdcd8}
.ck-btns button:focus-visible,.ck p a:focus-visible,.ck-manage:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ck-manage{display:block;background:none;border:0;padding:0;margin-bottom:12px;font:inherit;font-size:15px;color:var(--text);cursor:pointer;text-align:left;transition:color .2s}
.ck-manage:hover{color:var(--text-muted)}
@keyframes ck-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.ck{animation:none}}
