/* ═══════════════════════════════════════════════════════════════════════════
   emissary.css — a página do Emissário (pt/en/es)
   Consumidores: emissary-pt.html · emissary-en.html · emissary-es.html
   ⚠️ RECORTE VERBATIM do <style> inline (LOOP 05, 04/09/2026): o <style> era byte-idêntico nas três edições de idioma — 37 KB, o maior gêmeo do corpus.
   ⛔ NÃO devolva estas regras para dentro do HTML de uma das páginas: elas eram
      IDÊNTICAS byte a byte nas cópias e é isso que torna a folha legítima. Duas
      cópias divergem no primeiro conserto (R5 desta casa).
   ⚠️ A ORDEM das regras é a original — ⛔ não reordene, ⛔ não "agrupe por tema":
      a cascata desta folha é a cascata que o inline tinha.
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  --bg: oklch(0.17 0.014 265);
  --bg-2: oklch(0.20 0.015 265);
  --elev: oklch(0.23 0.016 265);
  --elev-2: oklch(0.27 0.018 265);
  --ink: oklch(0.97 0.008 90);
  --mute: oklch(0.74 0.018 265);
  --dim: oklch(0.60 0.018 265);
  --line: oklch(0.32 0.016 265);
  --line-soft: oklch(0.27 0.014 265);
  --ping: oklch(0.84 0.17 88);
  --ping-deep: oklch(0.66 0.13 80);
  --profit: oklch(0.76 0.17 152);
  --profit-deep: oklch(0.60 0.15 154);
  --blue: oklch(0.70 0.14 245);
  --violet: oklch(0.72 0.15 305);
  --font: "Geist", -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: "Geist Mono", ui-monospace, monospace;
  --serif: "Instrument Serif", Georgia, serif;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font); line-height:1.55; letter-spacing:-0.006em;
  -webkit-font-smoothing:antialiased;
}
.wrap{ max-width:1060px; margin:0 auto; padding:0 28px; }
section{ padding:74px 0; border-bottom:1px solid var(--line-soft); }
.eyebrow{
  font-family:var(--mono); font-size:11.5px; font-weight:500; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--ping); display:inline-flex; align-items:center; gap:9px;
}
.eyebrow::before{ content:""; width:18px; height:1px; background:var(--ping); display:inline-block; }
.sec-h{ font-size:13px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--dim); margin:0 0 28px; }

/* ── HERO ── */
html,body{ overflow-x:clip; }
.hero{ position:relative; min-height:90vh; display:flex; align-items:center; padding:90px 0; border-bottom:1px solid var(--line-soft); }
.hero-bg{ position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%); width:100vw; background-size:cover; background-position:right center; z-index:0; }
.hero-scrim{ position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%); width:100vw; z-index:0; background:linear-gradient(90deg, var(--bg) 8%, oklch(0.17 0.014 265 / 0.62) 44%, oklch(0.17 0.014 265 / 0.12) 70%, transparent 88%), linear-gradient(0deg, var(--bg) 1%, transparent 26%); }
.hero-glow{ position:absolute; inset:-30% 30% auto -10%; height:520px; background:radial-gradient(closest-side, oklch(0.76 0.17 152 / 0.14), transparent); pointer-events:none; z-index:0; }
.hero-glow.b{ inset:-20% -15% auto auto; right:-10%; left:auto; width:560px; background:radial-gradient(closest-side, oklch(0.84 0.17 88 / 0.1), transparent); }
.hero-inner{ position:relative; z-index:1; max-width:600px; }
.hero-q{ font-family:var(--mono); font-size:14px; letter-spacing:0.02em; color:var(--mute); margin:20px 0 2px; }
.hero h1{
  font-family:var(--serif); font-weight:400; font-size:clamp(54px, 9vw, 104px);
  line-height:0.92; letter-spacing:-0.02em; margin:6px 0 0; max-width:14ch;
}
.hero h1 em{ font-style:italic; color:var(--profit); }
.hero .lede{ font-size:19px; line-height:1.6; color:var(--mute); max-width:600px; margin:26px 0 0; text-wrap:pretty; }
.hero .lede b{ color:var(--ink); font-weight:600; }
.hero-claim{ font-size:16px; line-height:1.6; color:var(--mute); max-width:560px; margin:20px 0 0; padding-left:16px; border-left:2px solid var(--profit-deep); text-wrap:pretty; }
.hero-claim b{ color:var(--ink); font-weight:600; }
.cta-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; align-items:center; }
.btn{
  display:inline-flex; align-items:center; gap:9px; font-size:15px; font-weight:600;
  padding:14px 24px; border-radius:13px; text-decoration:none; cursor:pointer; border:0;
  transition:transform 0.12s, filter 0.14s;
}
.btn:hover{ transform:translateY(-1px); filter:brightness(1.05); }
.btn-primary{ background:var(--profit); color:oklch(0.18 0.03 154); }
.btn-ghost{ background:transparent; color:var(--ink); border:1px solid var(--line); }
.hero-stats{ display:flex; flex-wrap:wrap; gap:34px; margin-top:52px; }
.hstat .n{ font-family:var(--serif); font-size:42px; line-height:1; color:var(--ping); }
.hstat .n.g{ color:var(--profit); }
.hstat .l{ font-size:13px; color:var(--dim); margin-top:8px; max-width:20ch; }

/* ── PROFIT BATTERY visual ── */
.pbat-card{
  background:linear-gradient(160deg, var(--elev), var(--bg-2));
  border:1px solid var(--line); border-radius:22px; padding:30px 32px;
  display:grid; grid-template-columns:1.1fr 1fr; gap:34px; align-items:center;
}
.pbat-label{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--profit); }
.pbat-title{ font-size:24px; font-weight:700; letter-spacing:-0.02em; margin:8px 0 6px; }
.pbat-sub{ font-size:14.5px; color:var(--mute); line-height:1.6; text-wrap:pretty; }
.pbat-visual{ display:flex; flex-direction:column; gap:14px; }
.bat-shell{
  height:64px; border:2px solid var(--line); border-radius:14px; padding:6px;
  position:relative; background:oklch(0.15 0.012 265);
}
.bat-shell::after{ content:""; position:absolute; right:-9px; top:50%; transform:translateY(-50%); width:6px; height:24px; border-radius:0 4px 4px 0; background:var(--line); }
.bat-fill{
  height:100%; width:80%; border-radius:8px;
  background:linear-gradient(90deg, var(--profit-deep), var(--profit));
  position:relative; overflow:hidden;
}
.bat-fill::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, oklch(1 0 0 / 0.22), transparent);
  animation:sheen 2.6s ease-in-out infinite;
}
@keyframes sheen{ 0%{ transform:translateX(-100%); } 60%,100%{ transform:translateX(220%); } }
.bat-meta{ display:flex; align-items:baseline; justify-content:space-between; }
.bat-pct{ font-family:var(--mono); font-weight:600; font-size:26px; color:var(--profit); }
.bat-amt{ font-family:var(--mono); font-size:13px; color:var(--dim); }
.bat-drain{ display:flex; gap:8px; }
.bat-drain span{
  flex:1; text-align:center; font-family:var(--mono); font-size:11px; letter-spacing:0.04em;
  padding:9px 6px; border-radius:9px; border:1px solid var(--line); color:var(--mute); background:var(--bg-2);
}
.bat-drain span.on{ border-color:var(--profit-deep); color:var(--profit); background:oklch(0.76 0.17 152 / 0.1); }
.pbat-auto{ margin-top:12px; font-size:11.5px; letter-spacing:0.04em; color:var(--profit); display:flex; align-items:center; gap:7px; }
.pbat-auto::before{ content:"⚡"; }

/* ── STEPS ── */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.step{
  background:var(--elev); border:1px solid var(--line); border-radius:18px; padding:26px 24px;
  position:relative;
}
.step-n{ font-family:var(--serif); font-size:40px; line-height:1; color:var(--dim); }
.step.s1 .step-n{ color:var(--ping); }
.step.s2 .step-n{ color:var(--blue); }
.step.s3 .step-n{ color:var(--profit); }
.step h3{ font-size:18px; letter-spacing:-0.02em; margin:14px 0 8px; }
.step p{ font-size:14px; color:var(--mute); line-height:1.6; margin:0; text-wrap:pretty; }
.step p b{ color:var(--ink); font-weight:600; }
.step .tag{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--dim); margin-top:14px; display:block; }

/* ── ECONOMICS example ── */
.econ{ display:grid; grid-template-columns:1fr; gap:0; background:var(--elev); border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.econ-row{ display:grid; grid-template-columns:46px 1fr auto; gap:18px; align-items:center; padding:22px 26px; border-bottom:1px solid var(--line-soft); }
.econ-row:last-child{ border-bottom:0; }
.econ-ic{ width:46px; height:46px; border-radius:12px; display:grid; place-items:center; }
.econ-ic.buy{ background:oklch(0.84 0.17 88 / 0.14); color:var(--ping); }
.econ-ic.use{ background:oklch(0.70 0.14 245 / 0.14); color:var(--blue); }
.econ-ic.profit{ background:oklch(0.76 0.17 152 / 0.14); color:var(--profit); }
.econ-k{ font-size:16px; font-weight:600; }
.econ-k small{ display:block; font-size:13px; font-weight:400; color:var(--mute); margin-top:3px; text-wrap:pretty; }
.econ-v{ font-family:var(--mono); font-size:20px; font-weight:600; text-align:right; white-space:nowrap; }
.econ-v.buy{ color:var(--ping); }
.econ-v.use{ color:var(--mute); }
.econ-v.profit{ color:var(--profit); }
.econ-v small{ display:block; font-size:11px; color:var(--dim); font-weight:400; margin-top:2px; }
.econ-foot{ background:oklch(0.76 0.17 152 / 0.08); border-top:1px solid var(--line); padding:20px 26px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.econ-foot .lbl{ font-size:14px; color:var(--mute); }
.econ-foot .lbl b{ color:var(--profit); font-weight:700; }
.econ-note{ font-size:13px; color:var(--dim); margin:18px 2px 0; text-wrap:pretty; }

/* ── ROLE cards ── */
.roles{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.role{ background:var(--elev); border:1px solid var(--line); border-radius:18px; padding:24px 26px; }
.role-ic{ width:40px; height:40px; border-radius:11px; display:grid; place-items:center; background:var(--elev-2); color:var(--ping); margin-bottom:14px; }
.role h3{ font-size:17px; letter-spacing:-0.015em; margin:0 0 7px; }
.role p{ font-size:14px; color:var(--mute); line-height:1.6; margin:0; text-wrap:pretty; }

/* ── FUNNEL ── */
.funnel{ display:flex; flex-direction:column; gap:14px; max-width:720px; }
.fstep{ display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; }
.fstep-dot{ display:flex; flex-direction:column; align-items:center; gap:6px; }
.fstep-num{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-family:var(--mono); font-weight:600; font-size:14px; background:var(--elev-2); color:var(--ping); border:1px solid var(--line); }
.fstep-line{ width:1px; flex:1; min-height:22px; background:var(--line); }
.fstep:last-child .fstep-line{ display:none; }
.fstep-body{ padding-bottom:8px; }
.fstep-body h4{ font-size:16px; margin:5px 0 5px; letter-spacing:-0.015em; }
.fstep-body p{ font-size:14px; color:var(--mute); margin:0; line-height:1.55; text-wrap:pretty; }
.fstep-body .keys{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.fkey{ display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:11.5px; color:var(--mute); background:var(--bg-2); border:1px solid var(--line); border-radius:8px; padding:5px 10px; }

/* ── FAQ ── */
.faq{ display:flex; flex-direction:column; gap:10px; max-width:760px; }
.faq-group{ font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--profit); margin:20px 0 2px; display:flex; align-items:center; gap:10px; }
.faq-group:first-child{ margin-top:0; }
.faq-group::after{ content:""; flex:1; height:1px; background:var(--line-soft); }
.faq-item{ border:1px solid var(--line); border-radius:14px; background:var(--elev); overflow:hidden; transition:border-color 0.16s; }
.faq-item[open]{ border-color:oklch(0.76 0.17 152 / 0.4); }
.faq-item summary{ list-style:none; cursor:pointer; padding:18px 22px; font-size:15.5px; font-weight:600; color:var(--ink); display:flex; align-items:center; justify-content:space-between; gap:14px; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-chev{ flex:none; width:13px; height:13px; position:relative; transition:transform 0.2s; }
.faq-chev::before, .faq-chev::after{ content:""; position:absolute; top:50%; width:9px; height:2px; border-radius:2px; background:var(--profit); }
.faq-chev::before{ left:0; transform:rotate(45deg); }
.faq-chev::after{ right:0; transform:rotate(-45deg); }
.faq-item[open] .faq-chev{ transform:rotate(180deg); }
.faq-a{ padding:0 22px 20px; }
.faq-a p{ margin:0; font-size:14px; line-height:1.62; color:var(--mute); text-wrap:pretty; }
.faq-a b{ color:var(--ink); font-weight:600; }

/* ── final CTA ── */
.final{ text-align:center; border-bottom:0; padding:90px 0 100px; }
.final h2{ font-family:var(--serif); font-weight:400; font-size:clamp(38px, 6vw, 60px); line-height:1; letter-spacing:-0.02em; margin:0 0 18px; }
.final p{ font-size:17px; color:var(--mute); max-width:540px; margin:0 auto 32px; text-wrap:pretty; }
.foot-meta{ font-family:var(--mono); font-size:11.5px; color:var(--dim); letter-spacing:0.04em; text-align:center; padding:0 0 60px; display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; }
.lang-select{ appearance:none; -webkit-appearance:none; background:var(--elev) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23888' stroke-width='1.6'><path d='M1 1.5 6 6.5l5-5'/></svg>") no-repeat right 9px center/9px; border:1px solid var(--line); color:var(--mute); font-size:11.5px; letter-spacing:0.04em; padding:6px 26px 6px 11px; border-radius:8px; cursor:pointer; }
.lang-select:hover{ color:var(--ink); border-color:var(--profit-deep); }

/* ── FLOW MACHINE (animated) ── */
.fm{ position:relative; display:grid; grid-template-columns:1fr 120px 1fr; gap:0; align-items:stretch; background:linear-gradient(160deg, var(--elev), var(--bg-2)); border:1px solid var(--line); border-radius:22px; padding:28px 30px; overflow:hidden; }
.fm-col-h{ font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--dim); margin-bottom:18px; }
.fm-clients{ display:flex; flex-direction:column; }
.fm-client{ margin-bottom:16px; }
.fm-client-top{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:7px; }
.fm-client-name{ font-size:13.5px; color:var(--ink); font-weight:500; }
.fm-client-pct{ font-size:12px; color:var(--mute); }
.fm-tag{ display:inline-flex; align-items:center; font-size:8.5px; font-weight:700; letter-spacing:0.05em; padding:1.5px 6px; border-radius:4px; vertical-align:middle; }
.fm-tag.b2b{ color:oklch(0.8 0.12 250); background:oklch(0.7 0.14 250 / 0.2); }
.fm-tag.hub{ color:oklch(0.84 0.15 62); background:oklch(0.8 0.14 60 / 0.22); }
.fm-bat{ height:14px; border:1px solid var(--line); border-radius:999px; background:oklch(0.15 0.012 265); padding:2px; overflow:hidden; }
.fm-bat-fill{ height:100%; border-radius:999px; background:linear-gradient(90deg, var(--profit-deep), var(--profit)); transition:width 0.25s linear, background 0.4s; }
.fm-bat-fill.warn{ background:linear-gradient(90deg, oklch(0.62 0.15 70), oklch(0.78 0.16 80)); }
.fm-bat-fill.low{ background:linear-gradient(90deg, oklch(0.55 0.2 25), oklch(0.66 0.2 28)); }
.fm-foot{ font-size:11px; color:var(--dim); margin:6px 0 0; }

.fm-flow{ position:relative; }
.fm-track{ position:absolute; left:0; right:0; top:50%; height:2px; transform:translateY(-50%); background:repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 12px); }
.fm-pip{ position:absolute; top:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; display:grid; place-items:center; font-size:9px; color:oklch(0.2 0.03 154); background:radial-gradient(circle at 40% 35%, var(--profit), var(--profit-deep)); box-shadow:0 0 10px oklch(0.76 0.17 152 / 0.7); will-change:left, opacity, transform; }

.fm-profit{ display:flex; flex-direction:column; }
.fm-profit-body{ display:flex; gap:18px; align-items:stretch; flex:1; }
.fm-vbat{ display:flex; flex-direction:column; align-items:center; width:62px; flex:none; }
.fm-vbat-cap{ width:22px; height:6px; border-radius:3px 3px 0 0; background:var(--line); }
.fm-vbat-shell{ position:relative; width:100%; flex:1; min-height:150px; border:2px solid var(--line); border-radius:11px; background:oklch(0.15 0.012 265); padding:5px; display:flex; flex-direction:column-reverse; overflow:hidden; }
.fm-vbat-fill{ position:relative; width:100%; height:0%; border-radius:7px; background:linear-gradient(0deg, var(--profit-deep), var(--profit)); transition:height 0.25s linear; overflow:hidden; }
.fm-vbat-sheen{ position:absolute; inset:0; background:linear-gradient(180deg, oklch(1 0 0 / 0.25), transparent 60%); }
.fm-vbat-pct{ position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); text-align:center; font-size:13px; font-weight:600; color:var(--ink); mix-blend-mode:difference; }
.fm-profit-meta{ display:flex; flex-direction:column; justify-content:center; }
.fm-realized-l{ font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--dim); }
.fm-realized{ display:flex; align-items:center; gap:7px; font-size:30px; font-weight:700; color:var(--profit); line-height:1.1; margin-top:4px; }
.fm-realized .fm-bolt{ font-size:20px; }
.fm-payouts{ font-size:11.5px; color:var(--mute); margin-top:8px; }

.fm-burst{ position:absolute; right:30px; top:50%; transform:translateY(-50%) scale(0.8); opacity:0; pointer-events:none; font-family:var(--mono); font-size:12px; font-weight:600; color:oklch(0.2 0.03 154); background:var(--profit); padding:8px 14px; border-radius:10px; box-shadow:0 8px 24px oklch(0.76 0.17 152 / 0.5); }
.fm-burst.show{ animation:fmBurst 1.4s ease-out; }
@keyframes fmBurst{ 0%{ opacity:0; transform:translateY(-50%) scale(0.7); } 15%{ opacity:1; transform:translateY(-50%) scale(1.05); } 70%{ opacity:1; transform:translateY(calc(-50% - 6px)) scale(1); } 100%{ opacity:0; transform:translateY(calc(-50% - 22px)) scale(0.95); } }
.fm-vbat-shell.flash{ animation:fmFlash 0.5s ease-out; }
@keyframes fmFlash{ 0%,100%{ box-shadow:none; } 40%{ box-shadow:0 0 0 3px oklch(0.76 0.17 152 / 0.5), 0 0 30px oklch(0.76 0.17 152 / 0.6); } }

@media (max-width:820px){
  .fm{ grid-template-columns:1fr; gap:8px; }
  .fm-flow{ height:44px; }
  .fm-track{ top:50%; }
  .fm-profit-body{ justify-content:center; }
  .fm-vbat-shell{ min-height:120px; }
  .fm-burst{ right:50%; transform:translate(50%,-50%); }
}
@media (prefers-reduced-motion: reduce){
  .fm-pip{ display:none !important; }
  .fm-burst{ display:none; }
}

/* ── FRENTES DE GANHO ── */
.fronts{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.front{ position:relative; background:var(--elev); border:1px solid var(--line); border-radius:18px; padding:26px 26px 22px; }
.front-n{ font-size:12px; color:var(--dim); letter-spacing:0.1em; }
.front h3{ font-size:18px; letter-spacing:-0.015em; margin:8px 0 7px; }
.front>p{ font-size:13.5px; color:var(--mute); line-height:1.55; margin:0 0 14px; text-wrap:pretty; }
.front-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.front-list li{ position:relative; padding-left:20px; font-size:13.5px; color:var(--mute); line-height:1.5; }
.front-list li::before{ content:""; position:absolute; left:2px; top:8px; width:7px; height:7px; border-radius:2px; background:var(--profit); }
.front-list b{ color:var(--ink); font-weight:600; }

/* ── WHITE LABEL ── */
.wl-card{ display:grid; grid-template-columns:1.25fr 1fr; gap:0; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:linear-gradient(160deg, var(--elev), var(--bg-2)); }
.wl-intro{ padding:32px 34px; }
.wl-badge{ display:inline-block; font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ping); background:oklch(0.84 0.17 88 / 0.12); border:1px solid oklch(0.84 0.17 88 / 0.3); border-radius:999px; padding:5px 12px; }
.wl-lede{ font-size:16px; line-height:1.6; color:var(--mute); margin:18px 0 22px; text-wrap:pretty; }
.wl-lede b{ color:var(--ink); font-weight:600; }
.wl-perks{ display:flex; flex-direction:column; gap:13px; }
.wl-perk{ display:flex; align-items:center; gap:12px; font-size:14px; color:var(--mute); }
.wl-perk b{ color:var(--ink); font-weight:600; }
.wl-perk-ic{ width:34px; height:34px; flex:none; border-radius:10px; display:grid; place-items:center; background:var(--elev-2); color:var(--profit); }
.wl-example{ padding:32px 30px; background:oklch(0.76 0.17 152 / 0.06); border-left:1px solid var(--line); display:flex; flex-direction:column; }
.wl-ex-h{ font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--dim); margin-bottom:18px; }
.wl-ex-row{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:13px 0; border-bottom:1px solid var(--line-soft); font-size:14px; color:var(--mute); }
.wl-ex-row b{ font-family:var(--mono); font-size:17px; color:var(--ink); font-weight:600; }
.wl-ex-row.hi b{ color:var(--profit); font-size:22px; }
.wl-ex-rec{ color:var(--ping) !important; font-size:13px !important; }
.wl-ex-foot{ font-size:11.5px; color:var(--dim); margin-top:16px; line-height:1.5; text-wrap:pretty; }

/* ── AGÊNCIA PRÓPRIA ── */
.ag-card{ border:1px solid var(--line); border-radius:22px; padding:32px 34px; background:linear-gradient(160deg, var(--elev), var(--bg-2)); }
.ag-lede{ font-size:16px; line-height:1.6; color:var(--mute); margin:0 0 26px; max-width:760px; text-wrap:pretty; }
.ag-lede b{ color:var(--ink); font-weight:600; }
.ag-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ag-item{ background:var(--bg-2); border:1px solid var(--line); border-radius:16px; padding:22px 22px; }
.ag-ic{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:var(--elev-2); color:var(--ping); margin-bottom:13px; }
.ag-item h3{ font-size:16px; letter-spacing:-0.015em; margin:0 0 6px; }
.ag-item p{ font-size:13.5px; color:var(--mute); line-height:1.55; margin:0; text-wrap:pretty; }
.ag-foot{ font-size:12px; color:var(--ping); margin:24px 0 0; letter-spacing:0.02em; }

.mono{ font-family:var(--mono); font-feature-settings:"ss01","zero"; letter-spacing:0; }
.bolt{ color:var(--ping); }
/* ── A MISSÃO ── */
.mis-em{ font-style:italic; color:var(--profit); }
.mis-lede{ font-size:17px; line-height:1.65; color:var(--mute); max-width:780px; margin:0 0 30px; text-wrap:pretty; }
.mis-lede b{ color:var(--ink); font-weight:600; }
/* ── O CÓDIGO (valores) ── */
.code-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-top:30px; }
.code-item{ background:var(--elev); padding:28px 28px; }
.code-n{ font-family:var(--serif); font-size:30px; line-height:1; color:var(--profit); display:block; margin-bottom:12px; }
.code-item h4{ font-size:18px; letter-spacing:-0.015em; margin:0 0 8px; color:var(--ink); }
.code-item p{ font-size:14px; line-height:1.6; color:var(--mute); margin:0; text-wrap:pretty; }
.code-item p b{ color:var(--ink); font-weight:600; }
@media (max-width:820px){
  .code-grid{ grid-template-columns:1fr; }
  #codigo::before{ background-image:url('images/codigo-sigilo-mobile.webp') !important; width:130% !important; aspect-ratio:9/16 !important; opacity:0.6 !important; -webkit-mask-image:radial-gradient(ellipse 70% 60% at center, #000 22%, transparent 72%) !important; mask-image:radial-gradient(ellipse 70% 60% at center, #000 22%, transparent 72%) !important; }
}
/* ── fundo conceitual do Código (Tábua da Lei) ── */
#codigo{ position:relative; }
#codigo::before{ content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(820px,96%); aspect-ratio:1/1; background:url('images/codigo-sigilo.webp') center/contain no-repeat; opacity:0.55; z-index:0; pointer-events:none; -webkit-mask-image:radial-gradient(ellipse 62% 72% at center, #000 18%, transparent 68%); mask-image:radial-gradient(ellipse 62% 72% at center, #000 18%, transparent 68%); }
#codigo > *{ position:relative; z-index:1; }
#codigo .code-n{ color:var(--ping); }
#codigo .code-grid{ background:transparent; gap:0; }
#codigo .code-item{ background:color-mix(in oklch, var(--elev) 34%, transparent); backdrop-filter:blur(3px); border:1px solid color-mix(in oklch, var(--line) 60%, transparent); margin:-0.5px; }
/* ── A CULTURA (manifesto) ── */
.creed{ text-align:center; max-width:760px; margin:24px auto 6px; }
.creed-kicker{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--profit); margin:0 0 18px; }
.creed-quote{ font-family:var(--serif); font-weight:400; font-size:clamp(44px,7vw,80px); line-height:0.98; letter-spacing:-0.02em; margin:0; color:var(--ink); }
.creed-quote em{ font-style:italic; color:var(--profit); }
.creed-sub{ font-size:17px; line-height:1.65; color:var(--mute); max-width:600px; margin:24px auto 0; text-wrap:pretty; }
.creed-sub b{ color:var(--ink); font-weight:600; }
/* ── faixa-manifesto da Cultura (A tropa) — sticky reveal ── */
#cultura{ position:relative; }
.cultura-sticky{ position:sticky; top:0; height:100vh; width:100%; margin:0; overflow:hidden; border-radius:0 0 20px 20px; z-index:0; }
.cultura-sticky .creed-bg{ position:absolute; inset:0; background-size:cover; background-position:center 30%; }
.cultura-content{ position:relative; z-index:1; margin-top:-100vh; padding-top:74vh; }
.creed-inner{ position:relative; text-align:center; padding:0 28px 20vh; }
.creed-inner::before{ content:""; position:absolute; left:50%; top:48%; transform:translate(-50%,-50%); width:150%; height:170%; background:radial-gradient(ellipse at center, oklch(0.12 0.012 265 / 0.82) 28%, oklch(0.12 0.012 265 / 0.35) 52%, transparent 72%); z-index:-1; pointer-events:none; }
.creed-inner .eyebrow{ justify-content:center; display:flex; }
.creed-inner .creed-quote{ margin-top:10px; }
.creed-inner .creed-sub{ margin-left:auto; margin-right:auto; color:oklch(0.95 0.008 265); text-shadow:0 1px 10px oklch(0.1 0.01 265 / 0.85); }
.creed-inner .creed-quote{ color:#fff; text-shadow:0 2px 16px oklch(0.1 0.01 265 / 0.8); }
#cultura .code-grid{ background:transparent; gap:0; position:relative; box-shadow:0 -34px 60px 26px var(--bg); border-bottom-left-radius:0; border-bottom-right-radius:0; }
#cultura .code-item{ background:color-mix(in oklch, var(--elev) 50%, transparent); backdrop-filter:blur(4px); border:1px solid color-mix(in oklch, var(--line) 55%, transparent); margin:-0.5px; }
#cultura .code-n{ color:var(--ping); }
#cultura .code-item h4{ color:#fff; text-shadow:0 1px 10px oklch(0.1 0.01 265 / 0.85); }
#cultura .code-item p{ color:oklch(0.92 0.01 265); text-shadow:0 1px 8px oklch(0.1 0.01 265 / 0.8); }
#cultura .code-item p b{ color:#fff; }
@media (max-width:820px){
  .cultura-sticky{ position:sticky; top:0; height:62vh; width:calc(100% + 56px); margin:0 -28px; border-radius:0; }
  .cultura-sticky .creed-bg{ background-position:center 28%; -webkit-mask-image:none; mask-image:none; }
  .cultura-content{ margin-top:-62vh; padding-top:46vh; }
  .creed-inner{ padding:0 28px 0; }
  .creed-inner::before{ display:block; }
  #cultura .code-grid{ box-shadow:0 -28px 44px 22px var(--bg); margin-top:30px; }
}
#cultura .code-grid{ margin-top:40px; }
/* ── O DESPACHO (ritmo) ── */
.desp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:32px; }
.desp-card{ background:var(--elev); border:1px solid var(--line); border-radius:18px; padding:26px 26px; }
.desp-card.desp-mensal{ border-color:color-mix(in oklch, var(--profit) 40%, var(--line)); background:linear-gradient(180deg, color-mix(in oklch, var(--profit) 7%, var(--elev)), var(--elev)); }
.desp-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.desp-ic{ width:40px; height:40px; border-radius:11px; display:grid; place-items:center; background:var(--elev-2); color:var(--profit); flex:none; }
.desp-tag{ font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--dim); }
.desp-card h3{ font-size:20px; letter-spacing:-0.02em; margin:0 0 8px; color:var(--ink); }
.desp-card p{ font-size:14.5px; line-height:1.62; color:var(--mute); margin:0; text-wrap:pretty; }
.desp-card p b{ color:var(--ink); font-weight:600; }
.desp-foot{ margin:24px 0 0; font-size:13px; color:var(--dim); text-align:center; text-wrap:pretty; }
@media (max-width:760px){ .desp-grid{ grid-template-columns:1fr; } }
.desp-liga{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:18px 0 4px; }
.desp-liga-chip{ display:inline-flex; align-items:center; gap:6px; background:#000; color:oklch(0.92 0.03 90); border:1px solid oklch(0.5 0.12 75 / 0.5); border-radius:999px; padding:6px 14px; font-size:14px; font-weight:600; letter-spacing:-0.01em; }
.desp-liga-chip svg{ color:oklch(0.86 0.16 75); }
.desp-liga-note{ font-size:12.5px; color:var(--dim); }
.chain{ display:flex; align-items:stretch; gap:0; flex-wrap:wrap; }
.chain-node{ flex:1; min-width:150px; background:var(--elev); border:1px solid var(--line); border-radius:16px; padding:20px 20px; display:flex; flex-direction:column; gap:5px; }
.chain-node.gain{ background:linear-gradient(160deg, oklch(0.76 0.17 152 / 0.14), var(--elev)); border-color:oklch(0.76 0.17 152 / 0.4); }
.chain-k{ font-size:11px; color:var(--dim); letter-spacing:0.1em; }
.chain-node.gain .chain-k{ color:var(--profit); }
.chain-v{ font-size:19px; font-weight:700; letter-spacing:-0.015em; color:var(--ink); }
.chain-node.gain .chain-v{ color:var(--profit); }
.chain-d{ font-size:12.5px; line-height:1.45; color:var(--mute); text-wrap:pretty; }
.chain-arrow{ display:flex; align-items:center; padding:0 12px; color:var(--dim); font-size:20px; }
@media (max-width:820px){
  #missao .chain{ flex-direction:column; }
  .chain-arrow{ transform:rotate(90deg); padding:8px 0; align-self:center; }
}
@media (max-width:820px){
  .pbat-card{ grid-template-columns:1fr; gap:26px; }
  .fronts{ grid-template-columns:1fr; }
  .ag-grid{ grid-template-columns:1fr; }
  .wl-card{ grid-template-columns:1fr; }
  .wl-example{ border-left:0; border-top:1px solid var(--line); }
  .steps{ grid-template-columns:1fr; }
  .roles{ grid-template-columns:1fr; }
  .econ-row{ grid-template-columns:40px 1fr; }
  .econ-v{ grid-column:2; text-align:left; }
}
/* ── BANDS (full-bleed image sections) ── */
.band{ position:relative; min-height:560px; display:flex; align-items:center; padding:84px 0; border-bottom:1px solid var(--line-soft); }
.band-bg{ position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%); width:100vw; background-size:cover; z-index:0; }
.band-scrim{ position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%); width:100vw; z-index:0; }
.band-inner{ position:relative; z-index:1; max-width:560px; }
.band.txt-left .band-bg{ background-position:right center; }
.band.txt-left .band-scrim{ background:linear-gradient(90deg, var(--bg) 6%, oklch(0.17 0.014 265 / 0.6) 42%, oklch(0.17 0.014 265 / 0.1) 70%, transparent 90%), linear-gradient(0deg, var(--bg) 1%, transparent 24%); }
#visao, #origem, #mesa{ min-height:640px; border-bottom:0; }
#visao .band-bg{ background-position:right top !important; }
#origem .band-bg{ background-position:center top !important; }
#visao .band-bg, #origem .band-bg, #mesa .band-bg{ background-size:cover !important; -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 34%), linear-gradient(180deg, transparent 0%, #000 18%, #000 80%, transparent 100%); -webkit-mask-composite:source-in; mask-image:linear-gradient(90deg, transparent 0%, #000 34%), linear-gradient(180deg, transparent 0%, #000 18%, #000 80%, transparent 100%); mask-composite:intersect; }
#visao .band-scrim, #origem .band-scrim, #mesa .band-scrim{ background:linear-gradient(90deg, var(--bg) 8%, oklch(0.17 0.014 265 / 0.5) 36%, transparent 60%); }
.band-eyebrow{ font-family:var(--mono); font-size:11.5px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--ping); display:inline-flex; align-items:center; gap:9px; }
.band-eyebrow::before{ content:""; width:18px; height:1px; background:var(--ping); }
.band-eyebrow.g{ color:var(--profit); }
.band-eyebrow.g::before{ background:var(--profit); }
.band h2{ font-family:var(--serif); font-weight:400; font-size:clamp(38px, 5.5vw, 64px); line-height:1; letter-spacing:-0.02em; margin:18px 0 0; }
.band h2 em{ font-style:italic; color:var(--profit); }
.band-p{ font-size:17px; line-height:1.65; color:var(--mute); margin:22px 0 0; text-wrap:pretty; }
.band-p b{ color:var(--ink); font-weight:600; }

/* ── framed media (contained) ── */
.media-row{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.media-row.flip .media-frame{ order:-1; }
.media-frame{ position:relative; border-radius:18px; overflow:hidden; border:1px solid var(--line); aspect-ratio:16/10; }
.media-frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.media-frame::after{ content:""; position:absolute; inset:0; box-shadow:inset 0 0 80px oklch(0.12 0.01 265 / 0.6); pointer-events:none; }
.media-txt h2{ font-family:var(--serif); font-weight:400; font-size:clamp(32px, 4.5vw, 52px); line-height:1.02; letter-spacing:-0.02em; margin:14px 0 0; }
.media-txt h2 em{ font-style:italic; color:var(--profit); }
.media-txt p{ font-size:16px; line-height:1.65; color:var(--mute); margin:18px 0 0; text-wrap:pretty; }
.media-txt p b{ color:var(--ink); font-weight:600; }

/* ── política de expansão (axes) ── */
.axes-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:34px; }
.axis-card{ display:flex; gap:16px; background:var(--elev); border:1px solid var(--line); border-radius:16px; padding:24px 24px; }
.axis-ic{ width:42px; height:42px; flex:none; border-radius:12px; display:grid; place-items:center; background:var(--elev-2); color:var(--profit); }
.axis-card h4{ font-size:16px; letter-spacing:-0.015em; margin:0 0 6px; color:var(--ink); }
.axis-card p{ font-size:13.5px; line-height:1.55; color:var(--mute); margin:0; text-wrap:pretty; }
.axis-card p b{ color:var(--ink); font-weight:600; }

/* ── comercial intro (a racionalização) ── */
.rational{ text-align:center; padding:66px 0 8px; border-bottom:0; }
.rational .eyebrow{ justify-content:center; }
.rational h2{ font-family:var(--serif); font-weight:400; font-size:clamp(30px,4vw,46px); line-height:1.05; letter-spacing:-0.02em; margin:18px auto 14px; max-width:18ch; }
.rational h2 em{ font-style:italic; color:var(--mute); }
.rational p{ font-size:16px; color:var(--mute); max-width:560px; margin:0 auto; text-wrap:pretty; }

/* ── juramento band (sigilo) ── */
.jura{ text-align:center; }
.jura .band-inner{ max-width:680px; margin:0 auto; text-align:center; }
.jura .band-scrim{ background:linear-gradient(0deg, var(--bg) 4%, oklch(0.17 0.014 265 / 0.66) 50%, var(--bg) 96%); }
.jura .band-eyebrow{ justify-content:center; }

@media (max-width:820px){
  .band{ min-height:480px; }
  .axes-grid{ grid-template-columns:1fr; }
  .media-row{ grid-template-columns:1fr; gap:24px; }
  .media-row.flip .media-frame{ order:0; }
}
/* ── responsivo robusto (imagens nunca tampam texto) ── */
@media (max-width:900px){
  .hero{ min-height:0; padding-top:72px; padding-bottom:60px; }
  .hero-bg{ background-position:74% center; }
  .hero-scrim{ background:linear-gradient(0deg, var(--bg) 16%, oklch(0.17 0.014 265 / 0.6) 60%, oklch(0.17 0.014 265 / 0.42) 100%); }
  .hero-inner{ max-width:100%; }
  .hero h1{ font-size:clamp(44px,13vw,72px); }
  .hero .lede{ font-size:16px; }
  .hero-stats{ gap:22px; margin-top:40px; }
  .hstat .n{ font-size:34px; }

  .band{ display:flex; flex-direction:column; min-height:0; padding:56px 0 0; }
  .band-inner{ position:relative; z-index:2; max-width:100%; order:1; }
  .band-scrim{ display:none !important; }
  .band-bg{ order:2; position:relative; left:auto; transform:none; width:calc(100% + 56px); margin:-10px -28px 0; top:auto; bottom:auto; height:60vw !important; min-height:0 !important; max-height:60vw; aspect-ratio:auto !important; background-size:cover !important; background-position:center !important; -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%) !important; mask-image:linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%) !important; }
  #visao, #origem, #mesa{ min-height:0 !important; }
  #visao .band-bg{ background-position:center !important; }
  #origem .band-bg{ background-position:center top !important; }
  .band h2{ font-size:clamp(34px,9vw,52px); }
  .jura{ text-align:center; }
  .jura .band-inner{ text-align:center; }

  /* foto da forja colada à base da águia: sem gap nem divisor */
  #visao{ border-bottom:0 !important; padding-bottom:0; }
  #visao .band-bg{ margin-bottom:0; }
  .sec-media{ padding-top:0 !important; border-top:0 !important; }
  .media-row.flip{ display:flex; flex-direction:column; }
  .media-row.flip .media-frame{ order:0; margin-top:0; }
  .media-row.flip .media-txt{ order:1; }

  /* media-row: foto full-bleed acima do texto, vinheta na base */
  .media-row{ gap:0; }
  .media-frame{ width:auto; position:static; transform:none; margin-left:-28px; margin-right:-28px; margin-bottom:30px; border:0; border-radius:0; aspect-ratio:4/5; }
  .media-frame::after{ box-shadow:none; }
  .media-frame img{ -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 12%, #000 80%, transparent 100%); mask-image:linear-gradient(180deg, transparent 0%, #000 12%, #000 80%, transparent 100%); }
  #funnel .media-frame{ aspect-ratio:16/11; }

  .cta-row{ gap:10px; flex-direction:column; align-items:stretch; }
  .cta-row .btn{ width:100%; justify-content:center; }
}
@media (max-width:560px){
  .hero-bg{ opacity:0.6; }
  .band-bg{ height:72vh; }
  .axis-card{ flex-direction:row; }
  .hero-stats{ flex-direction:column; gap:16px; text-align:center; align-items:center; }
  .hstat{ align-items:center; }
}
/* força hero/band em fluxo normal — só o fundo (absolute+transform) sangra */
.hero, .band{ width:auto !important; max-width:none; margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; }
