/* ══════════════════════════════════════════════════════════════════
   ADS · Landing page
   A identidade do app, levada para fora dele: papel quente, Jost 200
   para o que é dito em voz alta, Schibsted Grotesk para o resto, e um
   único sinal laranja. O motivo gráfico é o corte do logotipo — a fenda
   horizontal que atravessa A, D e S — e é por ela que o produto aparece.
   ══════════════════════════════════════════════════════════════════ */

/* ───── fontes: as do app + as das marcas de exemplo ───── */
@font-face{ font-family:"Jost"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("../fonts/jost-latin-wght-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Jost"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("../fonts/jost-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:"Schibsted Grotesk"; font-style:normal; font-weight:400 900; font-display:swap;
  src:url("../fonts/schibsted-grotesk-latin-wght-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Schibsted Grotesk"; font-style:normal; font-weight:400 900; font-display:swap;
  src:url("../fonts/schibsted-grotesk-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:"Fraunces"; font-style:normal; font-weight:100 900; font-display:swap; src:url("../fonts/fraunces-latin-wght-normal.woff2") format("woff2"); }
@font-face{ font-family:"Figtree"; font-style:normal; font-weight:300 900; font-display:swap; src:url("../fonts/figtree-latin-wght-normal.woff2") format("woff2"); }
@font-face{ font-family:"Bricolage Grotesque"; font-style:normal; font-weight:200 800; font-display:swap; src:url("../fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2"); }
@font-face{ font-family:"Instrument Serif"; font-style:normal; font-weight:400; font-display:swap; src:url("../fonts/instrument-serif-latin-400-normal.woff2") format("woff2"); }
@font-face{ font-family:"Instrument Serif"; font-style:italic; font-weight:400; font-display:swap; src:url("../fonts/instrument-serif-latin-400-italic.woff2") format("woff2"); }

/* ───── tokens — os mesmos eixos do app, paleta Sinal, tema claro ───── */
:root{
  color-scheme:light;
  --paper:       oklch(.968 .0036 58);
  --paper-2:     oklch(.952 .0054 58);
  --paper-3:     oklch(.938 .0072 62);
  --surface:     oklch(.996 .0008 58);
  --line-faint:  oklch(.925 .0059 58);
  --line:        oklch(.884 .0081 58);
  --line-strong: oklch(.800 .0108 58);
  --ink:         oklch(.205 .0203 58);
  --ink-2:       oklch(.372 .0171 58);
  --ink-3:       oklch(.500 .0135 58);
  --ink-4:       oklch(.620 .0108 58);
  --ink-5:       oklch(.790 .0080 58);

  --brand:       oklch(.620 .172 44);
  --brand-deep:  oklch(.547 .162 44);
  --brand-lift:  oklch(.677 .172 44);
  --brand-ink:   oklch(.505 .139 44);
  --brand-wash:  oklch(.962 .0206 44);
  --focus:       oklch(.620 .172 44 / .22);
  --ok:          oklch(.545 .105 152);
  --err:         oklch(.540 .170 30);

  --hi-top: oklch(1 0 0 / .92);
  --sh: .205 .0203 58;
  --elev-1: inset 0 1px 0 var(--hi-top), 0 0 0 1px var(--line-faint), 0 1px 2px oklch(var(--sh) / .05), 0 4px 10px -4px oklch(var(--sh) / .07);
  --elev-2: inset 0 1px 0 var(--hi-top), 0 0 0 1px var(--line-faint), 0 1px 2px oklch(var(--sh) / .05), 0 10px 24px -12px oklch(var(--sh) / .12), 0 36px 60px -36px oklch(var(--sh) / .18);
  --elev-3: inset 0 0 0 1px var(--line-faint), 0 1px 2px oklch(var(--sh) / .05), 0 12px 24px -12px oklch(var(--sh) / .12), 0 40px 80px -30px oklch(var(--sh) / .20), 0 90px 140px -60px oklch(var(--sh) / .24);

  --out:  cubic-bezier(.165,.84,.44,1);
  --out2: cubic-bezier(.19,1,.22,1);

  --wrap: 1360px;
  --gut: clamp(16px, 4vw, 56px);
  --nav-h: 72px;

  --display: "Jost", "Schibsted Grotesk", ui-sans-serif, system-ui, sans-serif;
  --text: "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  interpolate-size: allow-keywords;
}

*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none !important; }
html{ background:var(--paper); -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font:400 17px/1.6 var(--text); letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility; overflow-x:clip;
}
/* grão de papel — a mesma matéria do app, bem de leve */
body::before{
  content:""; position:fixed; inset:0; z-index:100; pointer-events:none; opacity:.035; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,video,svg{ max-width:100%; }
img{ height:auto; }
a{ color:inherit; }
::selection{ background:color-mix(in oklab, var(--brand) 22%, transparent); color:var(--ink); }
:focus-visible{ outline:2px solid var(--brand); outline-offset:3px; border-radius:6px; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.skip{ position:fixed; left:16px; top:-60px; z-index:200; background:var(--ink); color:var(--paper); padding:10px 16px; border-radius:10px; text-decoration:none; font-size:14px; transition:top .2s var(--out); }
.skip:focus{ top:calc(12px + env(safe-area-inset-top, 0px)); }

/* ───── tipografia ───── */
.eyebrow{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:0 0 28px;
  font-size:11.5px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3);
}
.eyebrow b{ font-weight:500; color:var(--brand-ink); }
.eyebrow .rule{ flex:0 0 40px; height:1px; background:var(--line-strong); }
.h2{
  margin:0; font-family:var(--display); font-weight:200;
  font-size:clamp(40px, 5.3vw, 84px); line-height:1.02; letter-spacing:-.014em;
  text-wrap:balance;
}
.h3{ margin:0; font-family:var(--display); font-weight:300; font-size:clamp(28px, 3vw, 44px); line-height:1.1; letter-spacing:-.01em; text-wrap:balance; }
.soft{ color:var(--ink-4); }
.sec{ position:relative; padding-block:clamp(96px, 13vw, 200px); }

/* ───── botões — os do app, com a varredura especular ───── */
.btn{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  height:48px; padding:0 22px; border:0; border-radius:13px; cursor:pointer;
  font:540 15px/1 var(--text); letter-spacing:-.008em; text-decoration:none; white-space:nowrap;
  transition:scale 150ms var(--out), box-shadow 150ms var(--out), filter 120ms linear, background-color .2s;
}
.btn svg{ width:14px; height:14px; flex:none; transition:transform 260ms var(--out); }
.btn-primary{
  color:#fff;
  background:linear-gradient(180deg, var(--brand-lift), var(--brand-deep));
  box-shadow:
    inset 0 1px 0 oklch(1 0 0 / .30),
    inset 0 0 0 1px color-mix(in oklab, var(--brand-deep) 92%, transparent),
    0 1px 2px color-mix(in oklab, var(--brand-deep) 34%, transparent),
    0 6px 14px -4px color-mix(in oklab, var(--brand-deep) 34%, transparent);
}
.btn-primary::after{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; z-index:-1;
  background:linear-gradient(105deg, transparent 38%, oklch(1 0 0 / .28) 50%, transparent 62%); translate:-115% 0;
}
.btn-ghost{ color:var(--ink-2); background:var(--surface); box-shadow:var(--elev-1); }
.btn-ghost .play{ width:11px; height:11px; color:var(--brand); }
@media (hover:hover){
  .btn-primary:hover{ filter:brightness(1.05); box-shadow:inset 0 1px 0 oklch(1 0 0 / .34), inset 0 0 0 1px color-mix(in oklab, var(--brand-deep) 92%, transparent), 0 1px 2px color-mix(in oklab, var(--brand-deep) 34%, transparent), 0 10px 22px -5px color-mix(in oklab, var(--brand-deep) 42%, transparent); }
  .btn-primary:hover svg{ transform:translateX(3px); }
  .btn-primary:hover::after{ animation:sweep 760ms var(--out) 1; }
  .btn-ghost:hover{ box-shadow:var(--elev-2); color:var(--ink); }
}
.btn:active{ scale:.972; transition-duration:80ms; }
@keyframes sweep{ to{ translate:115% 0; } }
.btn-sm{ height:38px; padding:0 15px; gap:10px; font-size:13.5px; border-radius:11px; }
.btn-sm svg{ width:12px; height:12px; }
.btn-lg{ height:54px; padding:0 26px; font-size:15.5px; border-radius:14px; }
.btn[aria-busy="true"]{ pointer-events:none; filter:saturate(.7) brightness(.98); }

/* ───── janela de app ───── */
.win{ position:relative; margin:0; border-radius:16px; overflow:hidden; background:var(--surface); box-shadow:var(--elev-3); }
.win-bar{
  position:relative; display:flex; align-items:center; gap:7px; height:34px; padding:0 14px;
  background:linear-gradient(180deg, var(--surface), var(--paper-2)); border-bottom:1px solid var(--line-faint);
}
.win-bar span{ width:9px; height:9px; border-radius:50%; background:var(--line); box-shadow:inset 0 0 0 .5px var(--line-strong); }
.win-bar em{
  position:absolute; left:50%; translate:-50% 0; font-style:normal; font-size:11.5px; color:var(--ink-4);
  background:var(--paper); padding:3px 14px; border-radius:7px; white-space:nowrap; letter-spacing:0;
  box-shadow:inset 0 0 0 1px var(--line-faint);
}
.win img{ display:block; width:100%; height:auto; }

/* ═════════════════════ NAV ═════════════════════ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:60;
  padding-top:env(safe-area-inset-top, 0px);
  transition:background-color .35s var(--out), box-shadow .35s var(--out), backdrop-filter .35s;
}
.nav.is-scrolled{
  background:color-mix(in oklab, var(--paper) 80%, transparent);
  -webkit-backdrop-filter:blur(16px) saturate(1.4); backdrop-filter:blur(16px) saturate(1.4);
  box-shadow:0 1px 0 var(--line-faint);
}
.nav-in{ display:flex; align-items:center; gap:32px; height:var(--nav-h); }
.nav-logo{ display:inline-flex; color:var(--ink); padding:6px 0; }
.nav-logo .mark{ width:70px; height:19px; display:block; }
.nav-links{ display:flex; gap:30px; margin-left:auto; }
.nav-links a{ font-size:14px; color:var(--ink-3); text-decoration:none; transition:color .2s; }
.nav-links a:hover{ color:var(--ink); }
.nav .btn{ margin-left:4px; }
.nav-progress{ position:absolute; left:0; right:0; bottom:0; height:1px; pointer-events:none; }
.nav-progress i{ display:block; height:100%; background:var(--brand); transform-origin:0 50%; transform:scaleX(var(--p, 0)); }

/* ═════════════════════ HERO ═════════════════════ */
.hero-stage{ position:relative; padding-top:calc(var(--nav-h) + env(safe-area-inset-top, 0px) + clamp(28px, 6vh, 72px)); }
.hero-grid{ display:grid; grid-template-columns:minmax(0, 1.4fr) minmax(0, .82fr); gap:36px 64px; align-items:end; }
.hero-title{
  margin:0; font-family:var(--display); font-weight:200;
  font-size:clamp(56px, 9vw, 146px); line-height:.94; letter-spacing:-.03em;
}
.hero-title .ln{ display:block; overflow:hidden; padding-block:.07em .05em; margin-block:-.07em -.05em; }
.hero-title .ln > i{ display:block; font-style:normal; }
.hero-title em{ font-style:normal; font-weight:300; color:var(--brand); letter-spacing:-.02em; }
.lede{ margin:0 0 26px; max-width:44ch; font-size:17px; line-height:1.62; color:var(--ink-3); text-wrap:pretty; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:12px; }
.hero-note{ display:flex; align-items:center; gap:9px; margin:20px 0 0; font-size:13px; color:var(--ink-4); }
.dot{ width:6px; height:6px; border-radius:50%; background:var(--brand); animation:breathe 2.8s var(--out2) infinite; }
@keyframes breathe{ 0%,100%{ opacity:1; } 50%{ opacity:.25; } }

/* o logotipo em duas metades — a fenda fica em 69,4% da altura */
.hero-mark{
  --mw:min(calc(100vw - 2 * var(--gut)), calc(var(--wrap) - 2 * var(--gut)));
  position:relative; width:var(--mw); aspect-ratio:2207 / 602; margin:clamp(56px, 9vh, 110px) auto 0; color:var(--ink);
  pointer-events:none;
}
.half{ position:absolute; inset:0; will-change:transform; }
.half svg{ display:block; width:100%; height:100%; }
.half.top{ clip-path:inset(0 0 30.6% 0); }
.half.bot{ clip-path:inset(69.4% 0 0 0); }

.hero-cue{ display:none; position:absolute; left:0; right:0; top:69.4%; translate:0 -50%; margin:0; text-align:center;
  font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-4); }
.hero-window{ position:relative; width:min(1180px, calc(100% - 2 * var(--gut))); margin:56px auto 0; }
.callouts{ list-style:none; margin:0; padding:0; }
.co{
  position:absolute; z-index:2; display:flex; align-items:center; gap:10px;
  padding:9px 14px 9px 12px; border-radius:11px; background:color-mix(in oklab, var(--surface) 92%, transparent);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  box-shadow:var(--elev-2); font-size:13px; color:var(--ink-3); white-space:nowrap;
}
.co b{ font-weight:500; color:var(--ink); }
.co i{ width:6px; height:6px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px var(--brand-wash); }
.co-a{ left:0; top:26%; translate:-38% 0; }
.co-b{ right:0; top:40%; translate:30% 0; }
.co-c{ left:0; top:82%; translate:-22% 0; }

/* com movimento: o palco fica preso e o produto sai da fenda */
@media (min-width:901px){
  .motion .hero-stage{ height:100vh; min-height:700px; overflow:hidden; }
  .motion .hero-copy{ position:relative; z-index:2; }
  .motion .hero-mark{ position:absolute; left:50%; margin:0; translate:-50% 0;
    bottom:calc(var(--mw) * 2728 / 10000 * -0.08); z-index:1; }
  .motion .hero-cue{ display:block; }
  .motion .hero-window{ position:absolute; left:50%; top:0; margin:0; z-index:3; translate:-50% 0; transform-origin:50% 50%; }
  .motion .co{ opacity:0; transform:translateY(10px) scale(.96); transition:opacity .6s var(--out2), transform .8s var(--out2); }
  .motion .hero-window.show-co .co{ opacity:1; transform:none; }
  .motion .hero-window.show-co .co-b{ transition-delay:.12s; }
  .motion .hero-window.show-co .co-c{ transition-delay:.24s; }
}

/* ═════════════════════ O PROBLEMA ═════════════════════ */
.problem-grid{ display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:0 32px; align-items:end; }
.problem-grid .eyebrow{ grid-column:1 / -1; }
.scrub-text{
  grid-column:1 / span 9; margin:0;
  font-family:var(--display); font-weight:300; font-size:clamp(28px, 3.4vw, 52px); line-height:1.17; letter-spacing:-.012em;
  text-wrap:pretty;
}
.stat{ grid-column:10 / -1; padding-top:24px; border-top:1px solid var(--line); position:relative; }
.stat::before{ content:""; position:absolute; left:0; top:-1px; width:28px; height:2px; background:var(--brand); }
.stat-v{ margin:0; font-family:var(--display); font-weight:200; font-size:clamp(64px, 6.4vw, 104px); line-height:.9; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.stat-v small{ font-size:.34em; font-weight:300; color:var(--ink-4); letter-spacing:0; }
.stat-k{ margin:16px 0 14px; font-size:15px; line-height:1.55; color:var(--ink-3); }
.stat-src{ margin:0; font-size:12px; color:var(--ink-4); }

/* ═════════════════════ A VIRADA ═════════════════════ */
.turn{ padding-top:0; }
.turn-lines{
  margin:0; display:grid; gap:.1em; justify-items:start;
  font-family:var(--display); font-weight:200; font-size:clamp(40px, 6.6vw, 112px); line-height:1.02; letter-spacing:-.025em;
}
.turn-a{ font-size:.56em; font-weight:200; color:var(--ink-4); letter-spacing:-.015em; margin-bottom:.12em; }
.st{ --strike:1; background:linear-gradient(var(--brand), var(--brand)) no-repeat 0 60% / calc(var(--strike) * 100%) max(2px, .05em);
  -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.turn-b em{ font-style:normal; font-weight:300; color:var(--brand); }
.turn-lede{ max-width:50ch; margin:clamp(40px, 5vw, 64px) 0 0 auto; font-size:clamp(17px, 1.4vw, 19px); line-height:1.62; color:var(--ink-3); text-wrap:pretty; }

.facts{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:0; margin:clamp(72px, 9vw, 128px) 0 0; }
.fact{ display:flex; flex-direction:column-reverse; justify-content:flex-end; gap:12px; padding:26px 24px 0 0; border-top:1px solid var(--line); position:relative; }
.fact + .fact{ padding-left:24px; border-left:1px solid var(--line-faint); }
.fact::before{ content:""; position:absolute; top:-1px; left:0; width:22px; height:2px; background:var(--ink); }
.fact + .fact::before{ left:24px; }
.fact:last-child::before{ background:var(--brand); }
.fact dd{ margin:0; font-family:var(--display); font-weight:200; font-size:clamp(56px, 6vw, 96px); line-height:.9; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.fact:last-child dd{ color:var(--brand); }
.fact dt{ font-size:14.5px; line-height:1.5; color:var(--ink-3); max-width:22ch; }

/* ═════════════════════ MÉTODO ═════════════════════ */
.method{ padding-bottom:0; }
.method-head{ margin-bottom:clamp(40px, 5vw, 64px); }
.method-stage{ position:relative; padding-bottom:clamp(96px, 13vw, 200px); }
.method-grid{ display:grid; grid-template-columns:minmax(0, 4.1fr) minmax(0, 7.9fr); gap:clamp(32px, 4.5vw, 72px); align-items:center; }
.steps{ list-style:none; margin:0; padding:0; border-bottom:1px solid var(--line); }
.step{ border-top:1px solid var(--line); position:relative; }
.step::before{ content:""; position:absolute; left:0; top:-1px; height:2px; width:0; background:var(--brand); transition:width .6s var(--out2); }
.step.is-on::before{ width:36px; }
.step-h{
  display:flex; align-items:baseline; gap:18px; width:100%; padding:20px 0; border:0; background:none; cursor:pointer; text-align:left;
  font-family:var(--display); font-weight:300; font-size:clamp(22px, 2vw, 28px); letter-spacing:-.01em; color:var(--ink-4);
  transition:color .35s var(--out);
}
.step-h .no{ font-family:var(--text); font-size:12px; font-weight:500; letter-spacing:.04em; font-variant-numeric:tabular-nums; width:22px; flex:none; transition:color .35s; }
.step-h:hover{ color:var(--ink-2); }
.step.is-on .step-h{ color:var(--ink); }
.step.is-on .step-h .no{ color:var(--brand-ink); }
.step-b{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s var(--out2); }
.step.is-on .step-b{ grid-template-rows:1fr; }
.step-in{ min-height:0; overflow:hidden; padding-left:40px; opacity:0; transition:opacity .4s var(--out); }
.step.is-on .step-in{ opacity:1; transition-delay:.12s; }
.step-in h3{ margin:0 0 8px; font-family:var(--display); font-weight:300; font-size:clamp(24px, 2.2vw, 32px); line-height:1.12; letter-spacing:-.01em; }
.step-in p{ margin:0; font-size:15.5px; line-height:1.6; color:var(--ink-3); max-width:42ch; text-wrap:pretty; }
.step-in .step-tag{ display:flex; align-items:center; gap:10px; margin:14px 0 24px; font-size:12.5px; color:var(--brand-ink); }
.step-in .step-tag::before{ content:""; width:14px; height:1px; background:currentColor; }

.method-view{ position:relative; }
.shots{ position:relative; aspect-ratio:2880 / 1800; background:var(--paper-2); }
.shot{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; clip-path:inset(50% 0 50% 0); transition:clip-path .95s var(--out2), opacity .5s var(--out); }
.shot.is-on{ opacity:1; clip-path:inset(0 0 0 0); z-index:1; }
.method-rail{ position:relative; height:1px; margin-top:22px; background:var(--line); }
.method-rail i{ position:absolute; inset:0; background:var(--brand); transform-origin:0 50%; transform:scaleX(var(--p, .2)); transition:transform .3s linear; }
@media (min-width:901px){
  .motion .method-stage{ height:100vh; min-height:680px; padding:calc(var(--nav-h) + 24px) 0 40px; display:flex; align-items:center; }
  .motion .method-stage > .wrap{ width:100%; }
}

/* ═════════════════════ MOMENTO DE GERAR ═════════════════════ */
.gen-head{ display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:0 32px; }
.gen-head > *{ grid-column:1 / span 9; }
.gen-lede{ grid-column:1 / span 7; margin:28px 0 0; font-size:clamp(17px, 1.35vw, 19px); line-height:1.62; color:var(--ink-3); text-wrap:pretty; }
.gen-grid{ display:grid; grid-template-columns:minmax(0, 3.5fr) minmax(0, 8.5fr); gap:clamp(28px, 4vw, 56px); align-items:start; margin-top:clamp(48px, 6vw, 80px); }
.chapters{ list-style:none; margin:0; padding:0; position:sticky; top:calc(var(--nav-h) + 32px); border-bottom:1px solid var(--line); }
.chapters li{ border-top:1px solid var(--line); }
.chapters button{
  position:relative; display:grid; grid-template-columns:44px 1fr; gap:4px; width:100%; padding:16px 0 17px;
  border:0; background:none; text-align:left; cursor:pointer; color:inherit; font:inherit;
}
.chapters .t{ font-size:12px; color:var(--ink-4); font-variant-numeric:tabular-nums; padding-top:3px; transition:color .3s; }
.chapters .c{ display:grid; gap:3px; }
.chapters b{ font-weight:500; font-size:15.5px; color:var(--ink-3); transition:color .3s; }
.chapters .c span{ font-size:13.5px; line-height:1.45; color:var(--ink-4); }
.chapters .bar{ position:absolute; left:0; right:0; bottom:-1px; height:2px; }
.chapters .bar i{ position:absolute; inset:0; background:var(--brand); transform-origin:0 50%; transform:scaleX(var(--p, 0)); }
.chapters li.is-on .t{ color:var(--brand-ink); }
.chapters li.is-on b{ color:var(--ink); }
.chapters button:hover b{ color:var(--ink); }

.gen-frame{ margin:0; }
.gen-frame figcaption{ margin-top:16px; font-size:12.5px; color:var(--ink-4); }
.video-box{ position:relative; aspect-ratio:1440 / 900; background:var(--paper-2); }
.video-box video{ display:block; width:100%; height:100%; object-fit:cover; }
.video-toggle{
  position:absolute; right:14px; bottom:14px; width:40px; height:40px; border:0; border-radius:50%; cursor:pointer;
  display:grid; place-items:center; background:color-mix(in oklab, var(--surface) 86%, transparent);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:var(--elev-2);
  opacity:.0; transition:opacity .3s;
}
.video-box:hover .video-toggle, .video-toggle:focus-visible, .video-box.is-paused .video-toggle{ opacity:1; }
.pz{ position:relative; width:12px; height:12px; }
.pz::before,.pz::after{ content:""; position:absolute; top:0; bottom:0; width:3.5px; border-radius:1px; background:var(--ink); }
.pz::before{ left:1px; } .pz::after{ right:1px; }
.video-box.is-paused .pz::before{ left:2px; width:0; height:0; border-radius:0; background:none; border-style:solid; border-width:6px 0 6px 10px; border-color:transparent transparent transparent var(--ink); }
.video-box.is-paused .pz::after{ display:none; }

/* ═════════════════════ ENTREGAS ═════════════════════ */
.deliver{ padding-bottom:0; }
.deliver-stage{ position:relative; padding-bottom:clamp(96px, 13vw, 200px); }
.deliver-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:32px 64px; flex-wrap:wrap; margin-bottom:clamp(36px, 4vw, 56px); }
.deliver-head .h2{ max-width:20ch; font-size:clamp(40px, 4.6vw, 72px); }
.deliver-aside{ max-width:34ch; }
.deliver-aside p{ margin:0; font-size:16px; line-height:1.6; color:var(--ink-3); }
.deliver-aside .deliver-count{ margin-top:18px; font-family:var(--display); font-weight:300; font-size:22px; color:var(--ink-4); font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.deliver-count b{ font-weight:300; color:var(--ink); }
.deliver-viewport{ overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.deliver-viewport::-webkit-scrollbar{ display:none; }
.deliver-track{
  --lead:max(var(--gut), calc((100vw - var(--wrap)) / 2 + var(--gut)));
  list-style:none; margin:0; display:flex; gap:20px; width:max-content;
  padding:6px var(--lead) 40px;
}
.dcard{
  scroll-snap-align:start; scroll-margin-left:var(--lead);
  flex:0 0 clamp(280px, 26vw, 368px); display:flex; flex-direction:column;
  padding:12px 12px 20px; border-radius:22px; background:var(--surface); box-shadow:var(--elev-2);
  transition:translate .5s var(--out2), box-shadow .5s var(--out2);
}
@media (hover:hover){ .dcard:hover{ translate:0 -6px; } }
.dv{
  position:relative; height:clamp(196px, 27vh, 248px); border-radius:14px; overflow:hidden;
  display:grid; place-items:center;
  box-shadow:inset 0 0 0 1px rgb(255 255 255 / .35);
}
.dv > :not(.amb){ will-change:transform; }
.db{ flex:1; padding:22px 10px 0; }
.dk{ margin:0; display:flex; gap:10px; font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-4); }
.dk span{ color:var(--brand-ink); font-variant-numeric:tabular-nums; letter-spacing:.04em; }
.db h3{ margin:10px 0 10px; font-family:var(--display); font-weight:300; font-size:26px; line-height:1.12; letter-spacing:-.01em; }
.dd{ margin:0; font-size:14.5px; line-height:1.55; color:var(--ink-3); text-wrap:pretty; }
.df{ display:flex; justify-content:space-between; gap:12px; margin:18px 10px 0; padding-top:14px; border-top:1px solid var(--line-faint); font-size:12.5px; color:var(--ink-4); }
.df span:first-child{ color:var(--ink-2); font-weight:500; }
.deliver-foot{ margin-top:8px; }
.deliver-bar{ display:block; position:relative; height:1px; background:var(--line); }
.deliver-bar i{ position:absolute; inset:0; background:var(--brand); transform-origin:0 50%; transform:scaleX(var(--p, .111)); }
@media (min-width:901px){
  .motion .deliver-stage{ height:100vh; min-height:720px; padding:calc(var(--nav-h) + 20px) 0 32px; display:flex; flex-direction:column; justify-content:center; }
  .motion .deliver-viewport{ overflow:visible; scroll-snap-type:none; }
  .motion .deliver-track{ will-change:transform; }
}

/* — miniaturas das entregas: as nove peças da Escola Aurora, com fotografia —
   Cada cartão tem a própria foto desfocada ao fundo (o "ambiente" da peça)
   e a peça em miniatura por cima, vestida com o design system da escola. */
.dv{ --noite:#1b2544; --noite9:#141b33; --noite7:#23305a; --aurora:#e2694c; --sol:#efb24a; --ap:#faf7f2; --al:#e4ddd2; --am:#6e665b;
  --metal:linear-gradient(100deg,#f2a48d 0%,#ffd6a0 34%,#fff3de 50%,#efb24a 66%,#e2694c 100%); isolation:isolate; background:#e9e2d9; }
.dv .amb{ position:absolute; left:-20%; top:-20%; width:140%; height:140%; max-width:none; object-fit:cover; z-index:-2; filter:blur(20px) saturate(1.2); opacity:.62; }
.dv::after{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgb(250 247 242 / .5) 0%, rgb(250 247 242 / .12) 48%, rgb(20 27 51 / .22) 100%); }
.dv em{ font-style:italic; background:var(--metal); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; padding-right:.06em; }
.dv img:not(.amb){ display:block; width:100%; height:100%; object-fit:cover; }
.ph-veil{ position:relative; isolation:isolate; }

/* peças verticais ganham um pouco mais de presença no cartão */
.mini-doc, .poster, .book, .posts{ scale:1.1; }
.lp-mini{ scale:1.06; transform-origin:50% 0; }

/* 01 · planejamento */
.mini-doc{ position:relative; width:142px; aspect-ratio:210 / 297; background:#fffdf9; border-radius:3px; rotate:-4deg;
  box-shadow:0 1px 2px rgb(20 27 51 / .14), 0 18px 32px -14px rgb(20 27 51 / .45); }
.mini-doc::before{ content:""; position:absolute; inset:0; z-index:-1; background:#fffdf9; border-radius:3px; rotate:7deg; translate:12px 5px; box-shadow:0 12px 24px -12px rgb(20 27 51 / .35); }
.md-cover{ position:relative; isolation:isolate; height:58%; overflow:hidden; border-radius:3px 3px 0 0; padding:10px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; }
.md-cover img{ position:absolute; inset:0; z-index:-2; }
.md-cover::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgb(20 27 51 / .12), rgb(20 27 51 / .35) 40%, rgb(20 27 51 / .9)); }
.md-cover::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:linear-gradient(90deg, var(--noite7), var(--aurora), var(--sol)); }
.md-brand{ display:flex; align-items:center; gap:4px; font:500 6px/1 "Fraunces", Georgia, serif; }
.md-brand i{ width:7px; height:4px; border-radius:7px 7px 0 0; background:var(--aurora); }
.md-title{ font:300 12.5px/1.02 "Fraunces", Georgia, serif; letter-spacing:-.01em; }
.md-body{ padding:8px 10px; display:grid; gap:5px; }
.md-h{ display:flex; gap:5px; align-items:baseline; font:400 7px/1 "Fraunces", Georgia, serif; color:var(--noite7); padding-bottom:4px; border-bottom:1px solid var(--al); margin-bottom:2px; }
.md-h i{ font:600 5px/1 "Figtree", sans-serif; font-style:normal; color:var(--aurora); }
.md-body > i{ height:2.5px; background:var(--al); border-radius:2px; }
.md-body > i.s{ width:62%; }

/* 02 · plano de ação */
.sheet{ width:88%; background:#fff; border-radius:9px; overflow:hidden; box-shadow:0 16px 30px -14px rgb(20 27 51 / .38); }
.sh-h{ position:relative; isolation:isolate; height:50px; display:flex; align-items:flex-end; padding:8px 12px; color:#fff; }
.sh-h img{ position:absolute !important; inset:0; z-index:-2; object-position:center 40%; }
.sh-h::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgb(20 27 51 / .92) 0%, rgb(20 27 51 / .55) 55%, rgb(20 27 51 / .15)); }
.sh-h span{ display:grid; gap:1px; font:500 7px/1.2 "Figtree", sans-serif; opacity:.95; }
.sh-h b{ font:300 13px/1 "Fraunces", Georgia, serif; }
.gantt{ display:grid; gap:8px; padding:11px 12px 12px; }
.gantt p{ margin:0; display:grid; grid-template-columns:76px 1fr; align-items:center; gap:8px; font:500 8px/1 "Figtree", sans-serif; color:var(--am); }
.gantt i{ position:relative; height:8px; background:linear-gradient(90deg, var(--al) 1px, transparent 1px) 0 0 / 25% 100%; }
.gantt i::after{ content:""; position:absolute; top:0; bottom:0; left:var(--s); width:var(--w); border-radius:4px; background:var(--noite7); }
.gantt i.a::after{ background:linear-gradient(90deg, var(--aurora), var(--sol)); }

/* 03 · apresentação */
.slides{ position:relative; width:80%; aspect-ratio:16 / 9; }
.slides > i{ position:absolute; inset:0; border-radius:6px; background:#fffdf9; box-shadow:0 12px 24px -12px rgb(20 27 51 / .35); }
.slides .s3{ translate:24px -20px; scale:.9; }
.slides .s2{ translate:12px -10px; scale:.95; background:#f4efe8; }
.s1{ position:absolute; inset:0; display:grid; grid-template-columns:56% 44%; border-radius:6px; overflow:hidden; box-shadow:0 18px 32px -14px rgb(20 27 51 / .5); }
.s1-p{ position:relative; display:flex; flex-direction:column; justify-content:flex-end; gap:3px; padding:12px; color:#fff; overflow:hidden;
  background:radial-gradient(90% 70% at 100% 110%, rgb(226 105 76 / .55), transparent 70%), var(--noite9); }
.s1-p span{ font:600 5.5px/1 "Figtree", sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--sol); }
.s1-p b{ font:300 42px/.9 "Fraunces", Georgia, serif; letter-spacing:-.03em; }
.s1-p small{ font:500 6.5px/1.3 "Figtree", sans-serif; opacity:.75; }

/* 04 · landing page */
.lp-mini{ width:132px; height:92%; margin-top:14%; align-self:start; background:#fffdf9; border-radius:10px 10px 0 0; overflow:hidden; box-shadow:0 16px 32px -14px rgb(20 27 51 / .45); }
.lp-hero{ position:relative; isolation:isolate; height:112px; padding:12px 10px 11px; display:flex; flex-direction:column; justify-content:flex-end; gap:7px; color:#fff; }
.lp-hero img{ position:absolute !important; inset:0; z-index:-2; }
.lp-hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgb(20 27 51 / .05), rgb(20 27 51 / .82)); }
.lp-hero b{ font:300 15px/1 "Fraunces", Georgia, serif; }
.lp-hero .cta{ align-self:flex-start; padding:4px 8px; border-radius:20px; background:var(--aurora); font:600 6.5px/1 "Figtree", sans-serif; font-style:normal; color:#fff; -webkit-text-fill-color:#fff; }
.lp-row{ display:grid; grid-template-columns:repeat(3, 1fr); gap:5px; padding:8px 10px 4px; }
.lp-row img{ aspect-ratio:1; height:auto !important; border-radius:3px; }
.lp-lines{ display:grid; gap:4px; padding:6px 10px; }
.lp-lines i{ height:2.5px; background:var(--al); border-radius:2px; }
.lp-lines i:last-child{ width:60%; }

/* 05 · website */
.br-mini{ width:88%; background:#fffdf9; border-radius:8px; overflow:hidden; box-shadow:0 16px 32px -14px rgb(20 27 51 / .42); }
.br-bar{ display:flex; gap:3px; padding:5px 7px; background:#efe9e1; }
.br-bar i{ width:4px; height:4px; border-radius:50%; background:#cfc6ba; }
.br-hero{ position:relative; isolation:isolate; height:104px; padding:9px 12px 11px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; }
.br-hero img{ position:absolute !important; inset:0; z-index:-2; object-position:center 60%; }
.br-hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgb(20 27 51 / .55), rgb(20 27 51 / .1) 40%, rgb(20 27 51 / .75)); }
.br-nav{ display:flex; align-items:center; gap:8px; font:500 6px/1 "Figtree", sans-serif; }
.br-nav b{ margin-right:auto; font:400 8px/1 "Fraunces", Georgia, serif; }
.br-nav i{ font-style:normal; opacity:.85; }
.br-t{ max-width:72%; font:300 15px/1.04 "Fraunces", Georgia, serif; }
.br-cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:5px; padding:7px; }
.br-cards img{ aspect-ratio:4 / 3; height:auto !important; border-radius:3px; }

/* 06 · brand book */
.spread{ position:relative; width:90%; aspect-ratio:2 / 1.28; display:grid; grid-template-columns:1fr 1fr; background:#fffdf9; border-radius:4px; overflow:hidden; box-shadow:0 18px 32px -14px rgb(20 27 51 / .45); }
.spread::after{ content:""; position:absolute; top:0; bottom:0; left:50%; width:18px; translate:-50% 0; background:linear-gradient(90deg, transparent, rgb(20 27 51 / .12), transparent); }
.sp-r{ display:flex; flex-direction:column; justify-content:center; gap:6px; padding:12px 14px; }
.sp-r b{ font:300 46px/.85 "Fraunces", Georgia, serif; color:var(--noite); letter-spacing:-.02em; }
.sp-f{ font:500 7px/1 "Figtree", sans-serif; color:var(--am); }
.swatches{ display:grid; grid-template-columns:repeat(4, 1fr); gap:4px; margin-top:4px; }
.swatches i{ aspect-ratio:1; border-radius:4px; background:var(--c); box-shadow:inset 0 0 0 1px rgb(0 0 0 / .06); }

/* 07 · manifesto */
.poster{ position:relative; isolation:isolate; width:128px; aspect-ratio:3 / 4; padding:12px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; border-radius:4px; overflow:hidden; box-shadow:0 18px 32px -14px rgb(20 27 51 / .5); rotate:2deg; }
.poster img{ position:absolute !important; inset:0; z-index:-2; }
.poster::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgb(20 27 51 / .55), rgb(20 27 51 / .05) 55%, rgb(20 27 51 / .4)); }
.manif{ margin:0; font:300 15.5px/1.05 "Fraunces", Georgia, serif; letter-spacing:-.01em; }
.pst-sig{ display:flex; align-items:center; gap:5px; font:600 5.5px/1 "Figtree", sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.pst-sig i{ width:12px; height:1px; background:var(--sol); }

/* 08 · e-book */
.book{ position:relative; isolation:isolate; width:118px; aspect-ratio:3 / 4.2; padding:12px 12px 12px 17px; display:flex; flex-direction:column; justify-content:space-between; color:#fff;
  border-radius:2px 6px 6px 2px; overflow:hidden; rotate:4deg; box-shadow:0 20px 32px -14px rgb(20 27 51 / .55); }
.book img{ position:absolute !important; inset:0; z-index:-2; object-position:center 30%; }
.book::before{ content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgb(0 0 0 / .32) 0 5px, rgb(255 255 255 / .12) 5px 6px, transparent 6px), linear-gradient(180deg, rgb(20 27 51 / .2), rgb(20 27 51 / .25) 45%, rgb(20 27 51 / .92)); }
.bk-k{ font:600 6px/1 "Figtree", sans-serif; letter-spacing:.18em; text-transform:uppercase; color:var(--sol); }
.book b{ font:300 14px/1.06 "Fraunces", Georgia, serif; }
.bk-f{ font:500 6px/1 "Figtree", sans-serif; opacity:.8; }

/* 09 · campanha */
.posts{ display:grid; grid-template-columns:repeat(3, 52px); gap:5px; rotate:-3deg; }
.posts > i{ position:relative; isolation:isolate; aspect-ratio:1; border-radius:5px; overflow:hidden; background:#fff; box-shadow:0 8px 14px -8px rgb(20 27 51 / .45); font-style:normal; display:flex; align-items:flex-end; padding:5px; color:#fff; }
.posts > i img{ position:absolute !important; inset:0; z-index:-2; }
.posts > i b{ font:400 7.5px/1.05 "Fraunces", Georgia, serif; }
.posts > i.k::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, transparent 30%, rgb(20 27 51 / .85)); }
.posts > i.o{ background:linear-gradient(140deg, var(--aurora), #c9533a); }
.posts > i.o2{ background:radial-gradient(circle at 70% 30%, var(--sol) 0 22%, transparent 23%), var(--noite7); }
.posts > i.n{ background:var(--sol); color:var(--noite); }
.posts > i.k2{ background:var(--noite9); align-items:center; justify-content:center; }

/* ═════════════════════ SUA MARCA ═════════════════════ */
.brand{ padding-bottom:0; }
.brand-stage{ position:relative; padding-bottom:clamp(96px, 13vw, 200px); }
.brand-grid{ display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 6fr); gap:clamp(32px, 5vw, 88px); align-items:center; }
.brand-lede{ margin:28px 0 0; font-size:17px; line-height:1.62; color:var(--ink-3); max-width:46ch; text-wrap:pretty; }
.brand-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin:32px 0 22px; }
.brand-tabs button{
  display:inline-flex; align-items:center; gap:10px; height:40px; padding:0 16px 0 12px; border:0; border-radius:999px; cursor:pointer;
  font:500 14px/1 var(--text); color:var(--ink-3); background:var(--surface); box-shadow:var(--elev-1);
  transition:color .25s, box-shadow .25s;
}
.brand-tabs button i{ width:12px; height:12px; border-radius:4px; background:var(--c); }
.brand-tabs button[aria-selected="true"]{ color:var(--ink); box-shadow:inset 0 0 0 1.5px var(--ink), 0 6px 14px -8px oklch(var(--sh) / .3); }
.brand-note{ margin:0; font-size:15px; line-height:1.6; color:var(--ink-3); max-width:46ch; }
.brand-fine{ margin:14px 0 0; font-size:12px; color:var(--ink-4); }

/* o quadro de marca: três peças da mesma escola, trocando juntas de design system */
.board{
  --k-cover:#141b33; --k-primary:#23305a; --k-accent:#e2694c; --k-high:#efb24a; --k-page:#fffdf9; --k-ink:#1e1b18; --k-ink2:#6e665b; --k-line:#e4ddd2;
  --k-head:"Fraunces", Georgia, serif; --k-body:"Figtree", system-ui, sans-serif; --k-tw:300; --k-tls:-.02em; --k-ts:normal; --k-hw:400;
  --k-metal:linear-gradient(100deg,#f2a48d 0%,#ffd6a0 34%,#fff3de 50%,#efb24a 66%,#e2694c 100%);
  --k-veil:linear-gradient(180deg, rgb(20 27 51 / .18) 0%, rgb(20 27 51 / .3) 38%, rgb(20 27 51 / .93) 100%);
  --k-r:4px; --k-r2:10px;
  container-type:inline-size; position:relative; width:100%; aspect-ratio:1 / 1.06;
}
.board[data-b="1"]{
  --k-cover:#0e2d25; --k-primary:#123d31; --k-accent:#e0a93b; --k-high:#b9e2c9; --k-page:#f8f9f5; --k-ink:#16201b; --k-ink2:#5b6a62; --k-line:#dde3db;
  --k-head:"Bricolage Grotesque", system-ui, sans-serif; --k-tw:700; --k-tls:-.045em; --k-hw:650;
  --k-metal:linear-gradient(100deg,#c98a1c 0%,#f3c65a 34%,#fff2c8 50%,#e0a93b 66%,#b0760f 100%);
  --k-veil:linear-gradient(200deg, rgb(14 45 37 / .05) 0%, rgb(14 45 37 / .38) 42%, rgb(14 45 37 / .95) 100%);
  --k-r:14px; --k-r2:16px;
}
.board[data-b="2"]{
  --k-cover:#3a1019; --k-primary:#5b1f2c; --k-accent:#e3a98e; --k-high:#f6d9c9; --k-page:#fdf8f6; --k-ink:#241a1c; --k-ink2:#7a6468; --k-line:#ecdcd7;
  --k-head:"Instrument Serif", Georgia, serif; --k-body:"Schibsted Grotesk", system-ui, sans-serif; --k-tw:400; --k-tls:-.01em; --k-ts:italic; --k-hw:400;
  --k-metal:linear-gradient(100deg,#d98f73 0%,#f6d9c9 38%,#fff5ef 50%,#e3a98e 64%,#b86a55 100%);
  --k-veil:linear-gradient(180deg, rgb(58 16 25 / .2) 0%, rgb(58 16 25 / .42) 42%, rgb(58 16 25 / .95) 100%);
  --k-r:2px; --k-r2:3px;
}
.board:not([data-b="0"]) :is(span, svg).b0, .board:not([data-b="1"]) :is(span, svg).b1, .board:not([data-b="2"]) :is(span, svg).b2{ display:none; }
.board .pc > *:not(.ph){ transition:opacity .3s var(--out); }
.board.swap .pc > *:not(.ph){ opacity:0; }

.pc{ position:absolute; margin:0; overflow:hidden; isolation:isolate;
  box-shadow:0 1px 2px rgb(20 20 30 / .08), 0 22px 44px -22px rgb(20 20 30 / .38), 0 70px 90px -60px rgb(20 20 30 / .4);
  transition:border-radius .7s var(--out), background-color .7s var(--out); will-change:transform; }
.ph{ position:absolute; inset:0; z-index:-2; }
.ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .8s var(--out); }
.board[data-b="0"] .ph .b0, .board[data-b="1"] .ph .b1, .board[data-b="2"] .ph .b2{ opacity:1; }
.ph::after{ content:""; position:absolute; inset:0; background:var(--k-veil); transition:background .7s; }
.lg{ display:block; width:1em; height:1em; flex:none; color:var(--k-accent); }
.pc em{ font-style:italic; background:var(--k-metal); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  padding-right:.07em; margin-right:-.02em; animation:sheen 7s ease-in-out infinite alternate; }
@keyframes sheen{ from{ background-position:0% 0; } to{ background-position:100% 0; } }
.board[data-b="1"] .pc em{ font-style:normal; background:linear-gradient(transparent 60%, var(--k-accent) 60% 92%, transparent 92%); -webkit-background-clip:border-box; background-clip:border-box; color:inherit; -webkit-text-fill-color:currentColor; animation:none; padding:0 .06em; }

/* slide do conselho */
.pc-slide{ top:0; right:0; width:54%; aspect-ratio:16 / 9; border-radius:var(--k-r2); z-index:1; background:var(--k-cover); }
.pc-slide .ph{ right:44%; }
.pc-slide .ph::after{ background:linear-gradient(90deg, transparent 55%, rgb(0 0 0 / .18)); }
.sl-panel{ position:absolute; top:0; right:0; bottom:0; width:44%; display:flex; flex-direction:column; justify-content:flex-end; gap:.5cqw; padding:2.6cqw; color:#fff; overflow:hidden;
  background:radial-gradient(90% 70% at 100% 115%, color-mix(in srgb, var(--k-accent) 55%, transparent), transparent 70%), var(--k-cover); }
.sl-logo{ position:absolute; top:2.4cqw; left:2.6cqw; font-size:3.2cqw; }
.sl-k{ font:600 1.25cqw/1.2 var(--k-body); letter-spacing:.16em; text-transform:uppercase; color:var(--k-high); }
.sl-n{ font:var(--k-ts) var(--k-tw) 9.5cqw/.9 var(--k-head); letter-spacing:var(--k-tls); }
.sl-l{ font:500 1.35cqw/1.3 var(--k-body); opacity:.75; }

/* documento principal */
.pc-doc{ top:5%; left:0; width:60%; border-radius:var(--k-r); background:var(--k-page); color:var(--k-ink); z-index:2; }
.dc-cover{ position:relative; isolation:isolate; aspect-ratio:1 / .88; padding:4cqw 4.2cqw 4cqw; display:flex; flex-direction:column; color:#fff; overflow:hidden; }
.dc-cover::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:.7cqw; background:linear-gradient(90deg, var(--k-primary), var(--k-accent), var(--k-high)); }
.board[data-b="1"] .dc-cover{ clip-path:polygon(0 0, 84% 0, 100% 16%, 100% 100%, 0 100%); }
.board[data-b="2"] .dc-cover::after{ top:2.2cqw; left:2.2cqw; right:2.2cqw; bottom:2.2cqw; height:auto; background:none; border:1px solid color-mix(in srgb, var(--k-high) 45%, transparent); }
.dc-top{ display:flex; align-items:center; justify-content:space-between; gap:2cqw; }
.dc-brand{ display:flex; align-items:center; gap:1.4cqw; font:var(--k-hw) 2.35cqw/1 var(--k-head); letter-spacing:-.005em; }
.dc-brand .lg{ font-size:3.8cqw; }
.board[data-b="2"] .dc-brand .lg{ filter:drop-shadow(0 0 1.2cqw rgb(246 217 201 / .7)); }
.dc-chip{ padding:.9cqw 1.7cqw; border-radius:999px; font:600 1.45cqw/1 var(--k-body); letter-spacing:.06em; white-space:nowrap;
  background:linear-gradient(115deg, rgb(255 255 255 / .22), rgb(255 255 255 / .08)); -webkit-backdrop-filter:blur(10px) saturate(1.6); backdrop-filter:blur(10px) saturate(1.6);
  box-shadow:inset 0 0 0 1px rgb(255 255 255 / .28), inset 0 1px 0 rgb(255 255 255 / .35); }
.dc-title{ margin:auto 0 1.6cqw; max-width:12ch; font:var(--k-ts) var(--k-tw) 5.6cqw/1.02 var(--k-head); letter-spacing:var(--k-tls); text-wrap:balance; }
.board[data-b="1"] .dc-title{ font-size:5.3cqw; line-height:1; }
.board[data-b="2"] .dc-title{ font-size:6.4cqw; }
.dc-meta{ margin:0; font:500 1.5cqw/1.3 var(--k-body); opacity:.78; }
.dc-body{ padding:3.4cqw 4.2cqw 3.8cqw; font-family:var(--k-body); }
.dc-sec{ position:relative; display:flex; align-items:baseline; gap:1.8cqw; padding-bottom:1.4cqw; margin-bottom:1.8cqw; border-bottom:1px solid var(--k-line); }
.dc-sec::after{ content:""; position:absolute; left:0; bottom:-1px; width:6cqw; height:2px; background:linear-gradient(90deg, var(--k-accent), var(--k-high)); }
.dc-no{ font:700 1.5cqw/1 var(--k-body); color:var(--k-accent); font-variant-numeric:tabular-nums; }
.board[data-b="1"] .dc-no{ padding:.4cqw .7cqw; border-radius:.6cqw; background:var(--k-accent); color:var(--k-cover); }
.dc-sec h4{ margin:0; font:var(--k-ts) var(--k-hw) 3.2cqw/1.1 var(--k-head); color:var(--k-primary); letter-spacing:-.01em; }
.dc-body > p{ margin:0; font-size:1.8cqw; line-height:1.55; color:var(--k-ink); }
.dc-metrics{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); margin-top:2.4cqw; border-top:1px solid var(--k-line); }
.dc-metrics div{ display:grid; gap:.6cqw; padding:1.8cqw 1.4cqw 0 0; }
.dc-metrics div + div{ padding-left:1.8cqw; border-left:1px solid var(--k-line); }
.dc-metrics b{ font:var(--k-ts) var(--k-tw) 4.6cqw/1 var(--k-head); color:var(--k-primary); letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.dc-metrics b small{ font-size:.5em; }
.dc-metrics span{ font-size:1.35cqw; line-height:1.3; color:var(--k-ink2); }

/* cartão de tokens — o que o ADS leu (interface do ADS, não da escola) */
.pc-tok{ top:34%; right:3%; width:35%; padding:2.4cqw 2.6cqw; border-radius:2cqw; z-index:1; overflow:visible;
  background:linear-gradient(150deg, rgb(255 255 255 / .92), rgb(255 255 255 / .74)); -webkit-backdrop-filter:blur(18px) saturate(1.6); backdrop-filter:blur(18px) saturate(1.6);
  box-shadow:inset 0 0 0 1px rgb(255 255 255 / .9), 0 1px 2px oklch(var(--sh) / .06), 0 20px 40px -20px oklch(var(--sh) / .3); }
.tk-h{ display:flex; align-items:center; gap:1cqw; margin:0 0 1.6cqw; font:600 1.55cqw/1 var(--text); color:var(--ink); letter-spacing:-.005em; }
.tk-h::before{ content:""; width:1cqw; height:1cqw; border-radius:50%; background:var(--ok); box-shadow:0 0 0 .6cqw oklch(.545 .105 152 / .15); }
.tk-sw{ display:grid; grid-template-columns:repeat(4, 1fr); gap:.9cqw; }
.tk-sw i{ aspect-ratio:1; border-radius:1cqw; box-shadow:inset 0 0 0 1px rgb(0 0 0 / .06); transition:background-color .7s var(--out); }
.tk-sw i:nth-child(1){ background:var(--k-cover); } .tk-sw i:nth-child(2){ background:var(--k-accent); }
.tk-sw i:nth-child(3){ background:var(--k-high); } .tk-sw i:nth-child(4){ background:var(--k-page); }
.tk-f{ margin:1.8cqw 0 .6cqw; font:400 1.6cqw/1.2 var(--text); color:var(--ink-3); }
.tk-f b{ font-weight:600; color:var(--ink); }
.tk-v{ margin:0; font:400 1.35cqw/1 var(--text); color:var(--ink-4); }

/* post de matrículas */
.pc-post{ right:0; bottom:0; width:40%; aspect-ratio:4 / 5; border-radius:var(--k-r2); z-index:3; color:#fff; background:var(--k-cover); }
.board[data-b="1"] .pc-post{ clip-path:polygon(0 0, 100% 0, 100% 86%, 86% 100%, 0 100%); }
.po-logo{ position:absolute; top:2.6cqw; left:2.6cqw; display:grid; place-items:center; width:6.4cqw; height:6.4cqw; border-radius:50%; font-size:3.4cqw;
  background:rgb(255 255 255 / .16); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); box-shadow:inset 0 0 0 1px rgb(255 255 255 / .3); }
.po-txt{ position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column; gap:1.3cqw; padding:3.2cqw; }
.po-k{ font:600 1.3cqw/1 var(--k-body); letter-spacing:.16em; text-transform:uppercase; color:var(--k-high); }
.po-h{ font:var(--k-ts) var(--k-tw) 4.3cqw/1.04 var(--k-head); letter-spacing:var(--k-tls); text-wrap:balance; }
.board[data-b="2"] .po-h{ font-size:5cqw; }
.po-cta{ align-self:flex-start; margin-top:.6cqw; padding:1cqw 2cqw; border-radius:999px; background:var(--k-accent); color:var(--k-cover); font:700 1.45cqw/1 var(--k-body); }
.board[data-b="0"] .po-cta{ color:#fff; }

.brand-src{ display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:26px; font-size:12px; color:var(--ink-4); }
.brand-src span{ display:inline-flex; align-items:center; gap:8px; }
.brand-src span::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--line-strong); }
.brand-src span:first-child::before{ background:var(--brand); }
@media (min-width:901px){
  .motion .brand-stage{ height:100vh; min-height:720px; padding:calc(var(--nav-h) + 24px) 0 40px; display:flex; align-items:center; }
  .motion .brand-stage > .wrap{ width:100%; }
  .brand-view{ max-width:min(640px, calc((100vh - var(--nav-h) - 120px) / 1.06)); justify-self:end; width:100%; }
}

/* ═════════════════════ CURVA ZERO ═════════════════════ */
.zero-head{ display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:0 32px; }
.zero-head > *{ grid-column:1 / span 9; }
.zero-lede{ grid-column:1 / span 7; margin:28px 0 0; font-size:clamp(17px, 1.35vw, 19px); line-height:1.62; color:var(--ink-3); text-wrap:pretty; }
.zero-grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; margin-top:clamp(48px, 6vw, 80px); }
.zpanel{ position:relative; border-radius:26px; padding:clamp(24px, 3vw, 40px); }
.zp-old{ background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--line-faint); }
.zp-new{ background:var(--surface); box-shadow:var(--elev-2); }
.zp-k{ margin:0 0 20px; font-size:11.5px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-4); }
.zp-new .zp-k{ color:var(--brand-ink); }
.prompt{ position:relative; padding:18px 20px; border-radius:16px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); }
.prompt-text{ margin:0; font-size:15px; line-height:1.65; color:var(--ink-3); }
.prompt-strike{ position:absolute; inset:10px; width:calc(100% - 20px); height:calc(100% - 20px); overflow:visible; pointer-events:none; }
.prompt-strike path{ fill:none; stroke:var(--brand); stroke-width:2; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:0; }
.zp-foot{ margin:18px 0 0; font-size:14px; line-height:1.55; color:var(--ink-4); }
.ask label{ display:block; font-size:14.5px; font-weight:500; color:var(--ink-2); }
.ask-field{ display:grid; align-content:end; min-height:92px; margin:12px 0 0; padding:0 0 12px; border-bottom:1.5px solid var(--brand);
  font-family:var(--display); font-weight:300; font-size:clamp(22px, 2vw, 28px); line-height:1.25; letter-spacing:-.01em; color:var(--ink); }
.ask-line{ display:block; }
.caret{ display:inline-block; width:2px; height:1.05em; margin-left:3px; margin-bottom:.12em; background:var(--brand); animation:blink 1.05s steps(1) infinite; flex:none; }
@keyframes blink{ 50%{ opacity:0; } }
.ask-hint{ display:flex; align-items:center; gap:8px; margin:14px 0 0; font-size:13px; color:var(--ok); }
.ask-hint svg{ width:14px; height:14px; }
.zero-list{ list-style:none; display:flex; flex-wrap:wrap; gap:10px 24px; margin:36px 0 0; padding:22px 0 0; border-top:1px solid var(--line-faint); }
.zero-list li{ display:flex; align-items:center; gap:9px; font-size:15px; color:var(--ink-2); }
.zero-list svg{ width:15px; height:15px; color:var(--brand); }

/* ═════════════════════ IMPACTO ═════════════════════ */
.impact-head{ margin-bottom:clamp(40px, 5vw, 72px); }
.impact-head .h2{ max-width:16ch; }
.impact-list{ list-style:none; margin:0; padding:0; border-bottom:1px solid var(--line); }
.irow{ position:relative; display:grid; grid-template-columns:minmax(0, 2.4fr) minmax(0, 5fr) minmax(0, 4.6fr); gap:12px 32px; align-items:baseline; padding:32px 0 34px; }
.irow::before{ content:""; position:absolute; left:0; right:0; top:0; height:1px; background:var(--line); transform-origin:0 50%; transform:scaleX(var(--draw, 1)); }
.irow::after{ content:""; position:absolute; left:0; top:0; height:2px; width:0; background:var(--brand); transition:width .6s var(--out2); }
.ik{ margin:0; font-size:11.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-4); transition:color .3s; }
.irow h3{ margin:0; font-family:var(--display); font-weight:300; font-size:clamp(26px, 2.5vw, 38px); line-height:1.1; letter-spacing:-.012em; transition:translate .6s var(--out2); }
.id{ margin:0; font-size:15.5px; line-height:1.6; color:var(--ink-3); text-wrap:pretty; }
@media (hover:hover){
  .irow:hover::after{ width:48px; }
  .irow:hover .ik{ color:var(--brand-ink); }
  .irow:hover h3{ translate:8px 0; }
}

/* ═════════════════════ CONFIANÇA ═════════════════════ */
.trust{ padding-top:0; }
.trust-title{ max-width:22ch; margin-bottom:clamp(36px, 4vw, 56px); }
.trust-grid{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); border-top:1px solid var(--line); }
.tcell{ padding:32px 32px 0 0; }
.tcell + .tcell{ padding-left:32px; border-left:1px solid var(--line-faint); }
.tcell svg{ width:26px; height:26px; color:var(--brand-ink); }
.tcell h3{ margin:18px 0 8px; font-size:17px; font-weight:600; letter-spacing:-.01em; }
.tcell p{ margin:0; font-size:15px; line-height:1.6; color:var(--ink-3); max-width:36ch; }

/* ═════════════════════ CONVITE ═════════════════════ */
.invite{ background:linear-gradient(180deg, var(--paper) 0, var(--paper-3) 22%, var(--paper-3) 100%); }
.invite-grid{ display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 6fr); gap:clamp(40px, 6vw, 104px); align-items:center; }
.invite-art{ margin:0; perspective:1400px; }
.invite-plate{ position:relative; aspect-ratio:1792 / 2304; border-radius:28px; overflow:hidden; background:#e4dfd6;
  box-shadow:inset 0 0 0 1px oklch(1 0 0 / .5), 0 1px 2px oklch(var(--sh) / .06), 0 30px 60px -30px oklch(var(--sh) / .28);
  transform-style:preserve-3d; will-change:transform; }
.invite-plate img{ position:absolute; left:0; top:-6%; width:100%; height:112%; object-fit:cover; display:block; }
.invite-copy .h2{ font-size:clamp(56px, 7vw, 112px); line-height:.95; letter-spacing:-.03em; }
.invite-lede{ margin:28px 0 0; max-width:48ch; font-size:17.5px; line-height:1.62; color:var(--ink-2); text-wrap:pretty; }
.invite-lede.soft{ margin-top:14px; font-size:16px; color:var(--ink-3); }
.itabs{ position:relative; display:inline-flex; gap:2px; margin:36px 0 24px; padding:4px; border-radius:13px; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--line-faint); }
.itabs button{ position:relative; z-index:1; height:40px; padding:0 18px; border:0; border-radius:10px; background:none; cursor:pointer; font:500 14px/1 var(--text); color:var(--ink-3); transition:color .25s; }
.itabs button[aria-selected="true"]{ color:var(--ink); }
.itabs-ink{ position:absolute; z-index:0; top:4px; bottom:4px; left:var(--x, 4px); width:var(--w, 50%); border-radius:10px; background:var(--surface); box-shadow:var(--elev-1); transition:left .45s var(--out2), width .45s var(--out2); }
.iform{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px 18px; max-width:560px; }
.iform[hidden]{ display:none !important; }
.span2{ grid-column:1 / -1; }
.field label{ display:block; margin-bottom:8px; font-size:12.5px; font-weight:500; color:var(--ink-3); }
.field input, .field select{
  width:100%; height:52px; padding:0 16px; border:0; border-radius:12px; appearance:none; -webkit-appearance:none;
  font:400 16px/1 var(--text); color:var(--ink); background:var(--surface);
  box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 var(--hi-top);
  transition:box-shadow .2s var(--out);
}
.field select{ background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='14' height='14' fill='none' stroke='%23918880' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center; padding-right:40px; }
.field input::placeholder{ color:var(--ink-5); }
.field input:focus, .field select:focus{ outline:none; box-shadow:inset 0 0 0 1.5px var(--brand), 0 0 0 4px var(--focus); }
.field input[aria-invalid="true"], .field select[aria-invalid="true"]{ box-shadow:inset 0 0 0 1.5px var(--err); }
#f-code{ font-family:var(--display); font-weight:400; font-size:19px; letter-spacing:.14em; text-transform:uppercase; font-variant-numeric:tabular-nums; }
.ferr{ grid-column:1 / -1; margin:0; font-size:13.5px; color:var(--err); }
.ferr:empty{ display:none; }
.iform .btn{ justify-self:start; margin-top:4px; }
.fok{ grid-column:1 / -1; display:flex; gap:14px; align-items:flex-start; padding:18px 20px; border-radius:16px; background:oklch(.962 .028 152); color:oklch(.36 .07 152); }
.fok svg{ width:20px; height:20px; flex:none; margin-top:2px; }
.fok p{ margin:0; font-size:15px; line-height:1.55; }
.fok small{ display:block; margin-top:6px; font-size:12.5px; opacity:.75; }
.iform.is-done .field, .iform.is-done .btn, .iform.is-done .ferr{ display:none; }

/* ═════════════════════ PERGUNTAS ═════════════════════ */
.faq{ background:var(--paper-3); padding-top:clamp(56px, 7vw, 96px); }
.faq-grid{ display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:40px clamp(40px, 6vw, 104px); align-items:start; }
.faq .h2{ font-size:clamp(40px, 4.4vw, 68px); }
.faq-list{ border-bottom:1px solid var(--line); }
.faq details{ border-top:1px solid var(--line); }
.faq summary{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; cursor:pointer; list-style:none;
  font-family:var(--display); font-weight:300; font-size:clamp(20px, 1.9vw, 26px); line-height:1.25; letter-spacing:-.008em; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary svg{ width:18px; height:18px; flex:none; color:var(--ink-4); transition:transform .45s var(--out2), color .3s; }
.faq details[open] summary svg{ transform:rotate(45deg); color:var(--brand); }
.faq details p{ margin:0; padding:0 0 26px; max-width:60ch; font-size:16px; line-height:1.62; color:var(--ink-3); }
.faq details::details-content{ block-size:0; overflow:clip; transition:block-size .5s var(--out2), content-visibility .5s allow-discrete; }
.faq details[open]::details-content{ block-size:auto; }

/* ═════════════════════ RODAPÉ ═════════════════════ */
.foot{ background:var(--paper-3); padding:clamp(80px, 10vw, 140px) 0 calc(36px + env(safe-area-inset-bottom, 0px)); }
.foot-mark{ position:relative; aspect-ratio:2207 / 602; color:var(--ink); }
.foot-mark .half.top{ transform:translateY(-4.5%); }
.foot-mark .half.bot{ transform:translateY(4.5%); }
.foot-slit{ position:absolute; left:0; right:0; top:69.4%; translate:0 -50%; margin:0; text-align:center;
  font-family:var(--display); font-weight:300; font-size:clamp(14px, 2vw, 30px); line-height:1; letter-spacing:.04em; color:var(--ink-3); white-space:nowrap; }
.foot-slit em{ font-style:normal; color:var(--brand); }
.foot-row{ display:grid; grid-template-columns:1fr auto; gap:18px 40px; align-items:center; margin-top:clamp(48px, 6vw, 80px); padding-top:26px; border-top:1px solid var(--line); }
.foot-brand{ margin:0; font-size:14px; color:var(--ink-3); }
.foot-brand b{ font-weight:500; color:var(--ink); }
.foot-links{ display:flex; flex-wrap:wrap; gap:8px 24px; }
.foot-links a{ font-size:14px; color:var(--ink-3); text-decoration:none; }
.foot-links a:hover{ color:var(--ink); }
.foot-legal{ grid-column:1 / -1; margin:0; font-size:12px; line-height:1.5; color:var(--ink-4); }

/* ═════════════════════ RESPONSIVO ═════════════════════ */
@media (max-width:1100px){
  .hero-grid{ grid-template-columns:minmax(0, 1fr) minmax(0, .9fr); gap:32px 40px; }
  .co{ display:none; }
}
@media (max-width:900px){
  :root{ --nav-h:64px; }
  .nav-links{ display:none; }
  .nav .btn{ margin-left:auto; }
  .hero-grid{ grid-template-columns:1fr; gap:28px; }
  .hero-title{ font-size:clamp(52px, 13vw, 96px); }
  .hero-window{ margin-top:40px; }
  .scrub-text{ grid-column:1 / -1; }
  .stat{ grid-column:1 / -1; margin-top:48px; max-width:420px; }
  .turn-lede{ margin-left:0; }
  .facts{ grid-template-columns:repeat(2, minmax(0, 1fr)); row-gap:36px; }
  .fact:nth-child(3){ padding-left:0; border-left:0; }
  .fact:nth-child(3)::before{ left:0; }
  .method-grid{ grid-template-columns:1fr; }
  .method-view{ order:-1; }
  .step .step-b{ grid-template-rows:1fr; }
  .step .step-in{ opacity:1; }
  .gen-head > *, .gen-lede, .zero-head > *, .zero-lede{ grid-column:1 / -1; }
  .gen-grid{ grid-template-columns:1fr; }
  .chapters{ position:static; order:2; }
  .brand-grid{ grid-template-columns:1fr; }
  .zero-grid{ grid-template-columns:1fr; }
  .irow{ grid-template-columns:1fr; gap:10px; padding:28px 0; }
  .trust-grid{ grid-template-columns:1fr; }
  .tcell, .tcell + .tcell{ padding:28px 0; border-left:0; }
  .tcell + .tcell{ border-top:1px solid var(--line-faint); }
  .invite-grid{ grid-template-columns:1fr; }
  .invite-art{ max-width:460px; }
  .faq-grid{ grid-template-columns:1fr; }
  .foot-row{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .hero-ctas .btn{ flex:1 1 auto; }
  .iform{ grid-template-columns:1fr; }
  .itabs{ display:flex; width:100%; }
  .itabs button{ flex:1; padding:0 10px; }
  .dcard{ flex-basis:82vw; }
  .win-bar em{ display:none; }
}

/* ═════════════════════ MOVIMENTO REDUZIDO ═════════════════════ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .caret, .dot{ animation:none; }
}
