/* DG ONE · G3 marca primeiro · sistema editorial comum (23/10/2026). Carregada por ÚLTIMO nas 96 páginas.
   Só tokens já existentes (#0B0B0B, #83EA05, tinta, cinzas). Não toca em conteúdo financeiro, fotos ou artes R1.
   Verbo de movimento único: "acender" (leve elevação + brilho verde), desligado com reduced-motion. */

:root{--ease-brand:cubic-bezier(.16,1,.3,1);--rule:linear-gradient(90deg,var(--green),rgba(131,234,5,0) 80%)}

/* ---------- header: menu completo só onde cabe sem apertar ---------- */
.top .wrap{gap:12px}
.nav-inline{gap:2px}
.nav-inline a{padding:0 12px;font-size:14px}
.nav-inline a.nav-sup{color:var(--muted);margin-left:8px;padding:0 12px;border:1px solid var(--line-2)}
.nav-inline a.nav-sup:hover{color:var(--ink);border-color:var(--green);background:transparent}
.nav-inline a.nav-wa{margin-left:6px;padding:0 18px;white-space:nowrap}
@media (min-width:980px) and (max-width:1239px){
  .top:not(.on-hero) .nav-inline{display:none}
  .top:not(.on-hero) .menu-btn{display:inline-flex}
}
.brand img{height:46px}

/* menu móvel: nove destinos + dois canais, sem cortar em 360x640 */
.menu-panel .menu-foot{gap:10px;justify-content:flex-start;margin-top:20px}
.menu-panel .menu-foot .btn{flex:1 1 220px}
.menu-panel .menu-foot .btn-ghost{flex:1 1 auto;min-height:48px;padding:0 18px;white-space:nowrap}
.menu-panel .menu-foot .motion-toggle{flex:0 0 auto}
/* celular: nove destinos + canais cabem em 360x640 sem rolar; se a tela for menor, o painel rola */
@media (max-width:700px){
  .menu-panel{padding-top:calc(var(--header) + 8px);padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .menu-panel li a{font-size:22px;padding:0;min-height:44px;align-items:center}
  .menu-panel .menu-foot .btn{flex:1 1 100%;min-height:48px}
  .menu-panel .menu-foot .btn-ghost{flex:1 1 0}
}

/* ---------- abertura das páginas: o mesmo traço verde em todas (page-head ganha o que ix-head já tinha) ---------- */
.page-head .wrap::after{content:"";position:absolute;left:0;bottom:calc(-.5*clamp(32px,4.5vw,60px));width:56px;height:2px;background:var(--green);border-radius:2px;opacity:.9}
.jx-head .wrap::after{content:"";position:absolute;left:0;bottom:-18px;width:56px;height:2px;background:var(--green);border-radius:2px;opacity:.9}

/* ---------- botões: um só sistema ---------- */
.btn{min-height:52px;letter-spacing:0}
.btn-ghost{border-color:var(--line-2)}
.btn:focus-visible,.link-arrow:focus-visible,.nav-inline a:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media (hover:hover){
  .btn-ghost:hover{transform:translateY(-2px);box-shadow:0 10px 30px -14px var(--green-glow)}
}
html.reduce-motion .btn:hover,html.reduce-motion .btn-ghost:hover{transform:none}
@media (prefers-reduced-motion:reduce){.btn:hover,.btn-ghost:hover{transform:none}}

/* ---------- faixa de contato (todas as páginas que têm .contact) ---------- */
.contact{border-color:var(--line-2)}
.contact .h2{max-width:18ch}

/* ---------- separadores ---------- */
.sec-head .h2,.hm-head .h2{letter-spacing:-.03em}

/* ---------- rodapé: identidade, slogan e canais distintos ---------- */
.fx-slogan{font-size:clamp(20px,1.8vw,24px);font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:14px 0 6px;max-width:16ch}
.fx-brand .small{max-width:34ch}
.foot .badge-staging{letter-spacing:.16em}
.foot.fx{background:linear-gradient(180deg,rgba(131,234,5,.035),transparent 140px)}

/* P2.6 (23/10/2026): o CTA fixo do produto nunca cobre o fim da página; respeita a área segura do aparelho */
@media (max-width:979px){body:has(.sticky-cta) main{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}

/* ---------- mobile first / fluidez (23/10/2026) ---------- */
/* header mais fino no celular (56 px, logo 40 px), que some ao descer e volta ao subir (core.js) */
@media (max-width:979px){
  :root{--header:56px}
  .brand img{height:40px}
  .top.is-hidden{transform:translateY(-100%)}
  .top.is-hidden:focus-within{transform:none}
}
html.reduce-motion .top{transition:background .4s,border-color .4s}
@media (prefers-reduced-motion:reduce){.top{transition:background .4s,border-color .4s}}
/* âncoras: o título nunca fica sob o header */
main section[id],main [id^="etapa-"],main [id^="uso-"]{scroll-margin-top:calc(var(--header) + 16px)}
/* rodapé: links de 44 px no toque (antes 36 px) */
@media (pointer:coarse),(max-width:979px){.foot a{min-height:44px;display:inline-flex;align-items:center}}
/* ficha: o trilho de capítulos fica sob o header só quando ele está à vista */
.chapter-nav{transition:top .4s var(--ease-brand)}
body:has(.top.is-hidden) .chapter-nav{top:0}
/* ficha no celular: os 6 capítulos à vista numa grade 3×2 (antes 3 de 6 escondidos numa faixa que desliza) */
@media (max-width:599px){
  .chapter-nav{position:relative;top:auto}
  .chapter-nav ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible;padding:8px 0}
  .chapter-nav a{justify-content:flex-start;gap:6px;padding:0 10px;font-size:13.5px;white-space:normal;line-height:1.15;border:1px solid var(--line);border-radius:12px}
}
