/* Ghost — site de vendas. Visual "Bancada-Laudo" (mesmos tokens do painel v2). */
@font-face{font-family:"Chakra Petch";font-weight:500;font-display:swap;src:url(fonts/chakra-500.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-weight:600;font-display:swap;src:url(fonts/chakra-600.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-weight:700;font-display:swap;src:url(fonts/chakra-700.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:400;font-display:swap;src:url(fonts/atkinson-400.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:700;font-display:swap;src:url(fonts/atkinson-700.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(fonts/plexmono-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(fonts/plexmono-500.woff2) format("woff2")}

:root{
  --bar:#121416; --bench:#1c1f22; --bench2:#25282c; --bench3:#30343a; --edge:#0f1113;
  --bink:#ecebe6; --bmut:#979a9d; --bdim:#686c71;
  --signal:#ffc20e; --signal-d:#7a5d06; --on-signal:#16181a;
  --paper:#fbfcfc; --rule:#e2e6ea; --rule2:#cfd5db; --ink:#16202a; --mut:#5a6672;
  --crit:#b8281f; --crit-bg:#fbe9e7; --warn:#9a5b00; --warn-bg:#fdf1db; --ok:#1d7146; --ok-bg:#e4f2ea;
  --live:#3fd17a;
  --f-bench:"Chakra Petch","Bahnschrift","Arial Narrow",sans-serif;
  --f-text:"Atkinson Hyperlegible","Segoe UI",system-ui,sans-serif;
  --f-data:"IBM Plex Mono",Consolas,monospace;
  --eo:cubic-bezier(.23,1,.32,1);
  --cut:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  --gut:16px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-padding-top:64px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bench);color:var(--bink);font:400 16px/1.55 var(--f-text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--f-bench);font-weight:700;line-height:1.05;margin:0;letter-spacing:.01em;text-wrap:balance}
p{margin:0}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
[hidden]{display:none!important}
section:focus{outline:none}
.mono{font-family:var(--f-data);font-size:.82em;letter-spacing:0}
.mut{color:var(--bmut)}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 var(--gut)}
.wrap.narrow{max-width:820px}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--signal);color:var(--on-signal);padding:8px 12px;font:600 14px var(--f-bench)}
.skip:focus{left:8px}

/* ---------- tecla física ---------- */
.key{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;
  font:600 14px/1 var(--f-bench);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  color:var(--bink);background:var(--bench3);border-bottom:4px solid var(--edge);
  clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,0 8px);
  transition:transform .12s var(--eo),background .12s,border-bottom-width .12s}
.key:hover{background:#3a3f45}
.key:active{transform:translateY(3px);border-bottom-width:1px}
.key-sig{background:var(--signal);color:var(--on-signal);border-bottom-color:var(--signal-d)}
.key-sig:hover{background:#ffcd3a}

/* ---------- barra do topo (abas GX) ---------- */
.gx-bar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:6px;height:52px;padding:0 var(--gut);
  background:var(--bar);border-bottom:1px solid #000}
.gx-brand{display:flex;align-items:center;gap:9px;text-decoration:none;margin-right:6px;flex:0 0 auto}
.gx-word{width:auto;height:34px;margin-top:-3px}
.gx-tabs{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;flex:1}
.gx-tabs::-webkit-scrollbar{display:none}
.gx-tab{flex:0 0 auto;height:30px;display:flex;align-items:center;gap:7px;padding:0 12px 0 10px;
  font:600 12.5px/1 var(--f-bench);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#9da1a5;
  background:#1f2225;border-bottom:2px solid #0b0c0d;clip-path:polygon(7px 0,100% 0,100% 100%,0 100%,0 7px);
  transition:background .12s,color .12s}
.gx-tab em{width:6px;height:6px;border-radius:50%;background:#3f4348;flex:0 0 auto}
.gx-tab:hover{color:var(--bink);background:#272a2e}
.gx-tab.on{color:var(--on-signal);background:var(--signal);border-bottom-color:var(--signal-d)}
.gx-tab.on em{background:var(--live);box-shadow:0 0 0 1.5px #0d2a19,0 0 7px rgba(63,209,122,.9)}
.gx-cta{min-height:34px;padding:0 14px;font-size:12.5px;flex:0 0 auto;margin-left:6px}
@media (max-width:860px){.gx-tabs{display:none}.gx-bar{justify-content:space-between}}

/* ---------- chamada + chão de grade ---------- */
.hero{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:min(680px,92vh);
  background:radial-gradient(120% 70% at 70% 0%,#25282c 0%,var(--bench) 62%)}
.hero-floor{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.hero > .wrap{position:relative;z-index:1}
.hero-stat{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:22px;font-size:12px;color:var(--bmut)}
.hero-stat i{font-style:normal;color:var(--live)}
.hero-stage{flex:1;display:flex;align-items:flex-end;padding-top:56px;padding-bottom:18px}
.hero h1{font-size:clamp(2.4rem,8.6vw,7rem);line-height:.95;text-transform:uppercase;letter-spacing:-.01em}
.hero h1 span{display:block}
.hero h1 b{color:var(--signal)}
.hero-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:34px}
.lead{max-width:40ch;font-size:clamp(1.02rem,2.2vw,1.15rem);color:#cfd0cc}
.hero-keys{display:flex;flex-wrap:wrap;gap:6px}
.key kbd{font:600 11px/1 var(--f-data);padding:4px 5px;background:rgba(0,0,0,.18)}
@media (min-width:640px){.hero h1 span{white-space:nowrap}}

/* ---------- laudo (ilustração) ---------- */
.laudo{margin:0;background:var(--paper);color:var(--ink);padding:18px 18px 14px;box-shadow:0 24px 60px rgba(0,0,0,.55);
  position:relative}
.hud::before,.hud::after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--signal);pointer-events:none}
.hud::before{top:-7px;left:-7px;border-right:0;border-bottom:0}
.hud::after{bottom:-7px;right:-7px;border-left:0;border-top:0}
.laudo-head{display:flex;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:2px solid var(--ink);color:var(--ink)}
.laudo-head .mut,.laudo .mut{color:var(--mut)}
.laudo-head .mono{font-size:.7rem;white-space:nowrap}
@media (max-width:420px){.laudo-head{flex-direction:column;gap:4px}}
.laudo-verdict{font:700 1.15rem/1.3 var(--f-text);margin:14px 0 10px}
.laudo-verdict b{color:var(--crit)}
.laudo-rows{list-style:none;margin:0;padding:0}
.laudo-rows li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:9px 0;border-top:1px solid var(--rule);align-items:center}
.laudo-rows li span:nth-child(2){grid-column:1;font-size:.88rem;color:var(--mut)}
.laudo-rows i{grid-column:2;grid-row:1 / span 2;font:600 11px/1 var(--f-bench);letter-spacing:.08em;text-transform:uppercase;font-style:normal;
  padding:6px 8px;border:1px solid currentColor}
.r-crit i{color:var(--crit);background:var(--crit-bg)}
.r-warn i{color:var(--warn);background:var(--warn-bg)}
.r-ok i{color:var(--ok);background:var(--ok-bg)}
.laudo figcaption{margin-top:10px;font-size:.72rem}

/* ---------- seções: folha (clara) e bancada (escura) ---------- */
.sheet,.bench{padding:72px 0}
.sheet{background:var(--paper);color:var(--ink)}
.sheet .mut,.sheet .note{color:var(--mut)}
.bench{background:var(--bench)}
.bench + .bench{border-top:1px solid #000}
.kicker{font:600 12.5px/1 var(--f-bench);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;
  display:flex;align-items:center;gap:10px}

.sheet .kicker{color:var(--mut)}
.bench .kicker{color:var(--bmut)}
h2{font-size:clamp(1.8rem,5.4vw,3rem);text-transform:uppercase;max-width:22ch}
.hl{color:var(--crit)}
.bench .hl{background:none;color:var(--signal);padding:0}
.note{margin-top:28px;max-width:62ch;font-size:1rem}
.bench .note{color:var(--bmut)}

/* o problema */
.rule-split{display:grid;gap:16px;margin-top:34px}
.rule-col{padding:20px;border:1px solid var(--rule2);background:#fff}
.rule-col + .rule-col{border:2px solid var(--ink)}
.rule-lbl{font:700 12px/1 var(--f-bench);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.rule-lbl.ok{color:var(--ok)}
.rule-lbl.crit{color:var(--crit)}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ticks li{position:relative;padding-left:26px}
.ticks li::before{content:"";position:absolute;left:0;top:.18em;width:16px;height:18px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 22'%3E%3Cpath fill-rule='evenodd' d='M2 20V9a8 8 0 0 1 16 0v11Q15.3 23 12.67 20Q10 23 7.33 20Q4.7 23 2 20ZM6 9.5a1.5 2 0 1 0 3 0a1.5 2 0 1 0-3 0ZM11 9.5a1.5 2 0 1 0 3 0a1.5 2 0 1 0-3 0Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 22'%3E%3Cpath fill-rule='evenodd' d='M2 20V9a8 8 0 0 1 16 0v11Q15.3 23 12.67 20Q10 23 7.33 20Q4.7 23 2 20ZM6 9.5a1.5 2 0 1 0 3 0a1.5 2 0 1 0-3 0ZM11 9.5a1.5 2 0 1 0 3 0a1.5 2 0 1 0-3 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:boo 2.4s ease-in-out infinite}
.ticks li:nth-child(2)::before{animation-delay:-.6s}.ticks li:nth-child(3)::before{animation-delay:-1.2s}.ticks li:nth-child(4)::before{animation-delay:-1.8s}
@keyframes boo{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-3px) rotate(4deg)}}
.rule-col .ticks li::before{color:var(--crit)}
@media (min-width:760px){.rule-split{grid-template-columns:.8fr 1.2fr}}

/* como funciona */
.steps{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:14px;counter-reset:s}
.step{position:relative;background:var(--bench2);padding:22px 20px 22px;clip-path:var(--cut);border-top:2px solid var(--bench3)}
.step:hover{border-top-color:var(--signal)}
.fkey{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:32px;padding:0 8px;margin-bottom:16px;
  font:700 14px/1 var(--f-bench);letter-spacing:.06em;color:var(--on-signal);background:var(--signal);border-bottom:3px solid var(--signal-d);
  clip-path:polygon(6px 0,100% 0,100% 100%,0 100%,0 6px)}
.step h3{font-size:1.45rem;text-transform:uppercase;margin-bottom:8px}
.step p{color:#c4c6c3}
@media (min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}

/* recursos: blocos de canto cortado, tamanhos diferentes */
.feats{display:grid;gap:12px;margin-top:36px}
.feat{background:#fff;border:1px solid var(--rule2);padding:20px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
  transition:border-color .15s,transform .2s var(--eo)}
.feat:hover{border-color:var(--ink);transform:translateY(-2px)}
.feat h3{font-size:1.25rem;text-transform:uppercase;margin-bottom:8px}
.feat p{color:var(--mut)}
.feat-wide{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.feat-wide p{color:#c7ccd2}
.feat-wide h3{font-size:1.6rem;color:var(--signal)}
@media (min-width:700px){.feats{grid-template-columns:repeat(2,1fr)}.feat-wide{grid-column:1 / -1}}
@media (min-width:1000px){.feats{grid-template-columns:repeat(3,1fr)}.feat-wide{grid-column:span 2;grid-row:span 2;
  display:flex;flex-direction:column;justify-content:flex-end;min-height:260px}
  .feat:last-child{grid-column:1 / -1}}

/* segurança */
.guard{display:grid;gap:28px;margin-top:34px;align-items:start}
.guard-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.guard-list li{padding:16px 0;border-top:1px solid var(--bench3);color:#c4c6c3}
.guard-list li:last-child{border-bottom:1px solid var(--bench3)}
.guard-list b{display:block;font:700 1.15rem/1.2 var(--f-bench);text-transform:uppercase;color:var(--bink);margin-bottom:4px;letter-spacing:.02em}
.guard-not{position:relative;background:var(--bench2);padding:22px}
.guard-not .rule-lbl{color:var(--signal)}
.guard-not ul{margin:0;padding-left:18px;display:grid;gap:6px;color:#c4c6c3}
@media (min-width:860px){.guard{grid-template-columns:1.4fr 1fr}}

/* planos */
.plans{display:grid;gap:18px;margin-top:36px;max-width:820px}
.plan{position:relative;background:#fff;border:1px solid var(--rule2);padding:26px 22px 22px;display:flex;flex-direction:column;gap:16px}
.plan h3{font-size:1.6rem;text-transform:uppercase}
.price{font:600 1.6rem/1 var(--f-data);color:var(--ink)}
.plan .ticks li::before{color:var(--ink)}
.plan .key{margin-top:auto;align-self:stretch}
.plan:not(.plan-sig) .key{background:var(--ink);color:var(--paper);border-bottom-color:#000}
.plan:not(.plan-sig) .key:hover{background:#26323d}
.plan-sig{border:2px solid var(--ink);box-shadow:8px 8px 0 var(--signal)}
.plan-flag{position:absolute;top:-13px;left:18px;font:700 11.5px/1 var(--f-bench);letter-spacing:.1em;text-transform:uppercase;
  background:var(--signal);color:var(--on-signal);padding:7px 10px}
@media (min-width:700px){.plans{grid-template-columns:1fr 1fr}}

/* dúvidas */
.faq{margin-top:30px;border-top:1px solid var(--bench3)}
.faq details{border-bottom:1px solid var(--bench3)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 0;font:600 1.12rem/1.3 var(--f-bench);text-transform:uppercase;letter-spacing:.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 1.5rem/1 var(--f-data);color:var(--signal);transition:transform .2s var(--eo)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 18px;color:#c4c6c3;max-width:62ch}

/* rodapé */
.foot{background:var(--bar);border-top:1px solid #000;padding:34px 0}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}
.foot-brand{display:flex;gap:12px;align-items:center}
.foot-word{width:auto;height:44px}
.foot-contact{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:18px;font-size:.92rem}

/* entrada em cascata (só com JS e sem "reduzir movimento") */
.js-reveal [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .28s var(--eo),transform .28s var(--eo)}
.js-reveal [data-reveal].in{opacity:1;transform:none}
.js-reveal .steps [data-reveal]:nth-child(2),.js-reveal .feats [data-reveal]:nth-child(3n+2){transition-delay:.06s}
.js-reveal .steps [data-reveal]:nth-child(3),.js-reveal .feats [data-reveal]:nth-child(3n){transition-delay:.12s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media (max-width:639px){
  .hero{min-height:0}
  .hero-stage{padding-top:84px}
  .hero-row{padding-bottom:150px}
  .hero-keys .key{min-height:40px;padding:0 12px;font-size:12.5px}
}
/* título e teclas no meio da chamada (pedido do Nicolas), grade continua embaixo */
@media (min-width:640px){
  .hero-stage{padding-top:40px}
  .hero-row{padding-bottom:clamp(90px,17vh,170px)}
}
@media (min-width:640px){.hero-row{padding-bottom:clamp(130px,24vh,230px)}}

/* ---------- comparativo ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cmp{margin-top:48px;overflow-x:auto}
.cmp table{width:100%;min-width:560px;border-collapse:collapse;font-size:.98rem}
.cmp caption{text-align:left;font:700 clamp(1.3rem,3.4vw,1.8rem)/1.1 var(--f-bench);text-transform:uppercase;padding-bottom:16px;color:var(--ink)}
.cmp th,.cmp td{padding:14px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--rule2)}
.cmp thead th{font:600 12.5px/1 var(--f-bench);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);border-top:0;padding-bottom:10px}
.cmp tbody th{font:600 1rem/1.25 var(--f-bench);text-transform:uppercase;letter-spacing:.02em;width:22%;color:var(--ink)}
.cmp td{color:var(--mut)}
.cmp .cmp-g{background:var(--ink);color:var(--paper)}
.cmp thead .cmp-g{color:var(--signal)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:1px solid var(--rule2)}
.cmp tbody .cmp-g{border-top-color:#2a3540}

/* ---------- vídeo ---------- */
.vid{margin:40px 0 0;display:grid;gap:10px}
.vid-frame{position:relative;aspect-ratio:16/9;max-width:100%;background:#0d0f10;border:1px solid #000}
.vid-frame iframe,.vid-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.vid figcaption{color:var(--bmut);font-size:.8rem}

/* ---------- requisitos ---------- */
.req{margin-top:56px;padding-top:40px;border-top:2px solid var(--ink)}
.req h3{font-size:clamp(1.3rem,3.4vw,1.8rem);text-transform:uppercase}
.req-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.req-list li{display:grid;gap:4px;padding:16px 18px;background:#fff;border:1px solid var(--rule2)}
.req-list b{font:700 1.05rem/1.2 var(--f-bench);text-transform:uppercase;letter-spacing:.02em}
.req-list span{color:var(--mut)}
.req-h{margin-top:44px}
.dbg{display:grid;gap:14px;margin-top:20px}
.dbg-col{padding:18px 18px 16px;border:1px solid var(--rule2);background:#fff}
.dbg-brand{font:700 12.5px/1 var(--f-bench);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.dbg ol{margin:0;padding-left:20px;display:grid;gap:7px;color:var(--mut)}
.dbg ol b{color:var(--ink)}
@media (min-width:700px){.req-list{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.req-list{grid-template-columns:repeat(4,1fr)}.dbg{grid-template-columns:repeat(3,1fr)}}
@media (max-width:639px){
  .cmp{overflow:visible}
  .cmp table{min-width:0}
  .cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cmp table,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:auto}
  .cmp tbody tr{border-top:1px solid var(--rule2);padding:14px 0}
  .cmp tbody th,.cmp tbody td{border:0!important;padding:4px 0}
  .cmp tbody th{font-size:1.05rem;padding-bottom:8px;width:auto}
  .cmp td::before{content:attr(data-label);display:block;font:600 11px/1 var(--f-bench);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;color:var(--mut)}
  .cmp td.cmp-g{padding:12px 14px;margin-top:8px}
  .cmp td.cmp-g::before{color:var(--signal)}
  .cmp tbody tr:last-child{border-bottom:1px solid var(--rule2)}
}
