:root {
  color-scheme: dark;
  --ink: #07122d;
  --ink-deep: #03091a;
  --paper: #f5f1e8;
  --paper-dim: #c8c3bc;
  --cyan: #09c8ef;
  --magenta: #d6389f;
  --orange: #ff8838;
  --gold: #e6b758;
  --violet: #6634b8;
  --color-bg: var(--ink-deep);
  --color-surface: color-mix(in oklch, var(--ink) 88%, white);
  --color-border: color-mix(in oklch, var(--cyan) 26%, transparent);
  --color-text: var(--paper);
  --color-text-muted: color-mix(in oklch, var(--paper) 68%, var(--ink));
  --color-primary: oklch(77% 0.16 205);
  --color-accent: oklch(68% 0.23 340);
  --color-warm: oklch(76% 0.17 58);
  --gradient-brand: linear-gradient(100deg, var(--cyan), var(--magenta) 46%, var(--orange) 76%, var(--gold));
  --font-display: "Bebas Neue", Impact, sans-serif;
  --font-serif: "DM Serif Display", Georgia, serif;
  --font-body: "DM Sans", Arial, sans-serif;
  --text-xs: clamp(.72rem, .69rem + .18vw, .84rem);
  --text-sm: clamp(.84rem, .8rem + .24vw, 1rem);
  --text-base: clamp(1rem, .94rem + .3vw, 1.16rem);
  --text-lg: clamp(1.12rem, 1rem + .65vw, 1.45rem);
  --text-xl: clamp(1.35rem, 1.08rem + 1.2vw, 2rem);
  --text-2xl: clamp(1.8rem, 1.25rem + 2.4vw, 3.2rem);
  --text-3xl: clamp(2.6rem, 1.35rem + 5.6vw, 6.8rem);
  --text-4xl: clamp(4rem, 1.7rem + 10vw, 11.5rem);
  --leading-tight: .88;
  --leading-normal: 1.55;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --radius-sm: .3rem;
  --radius-md: .7rem;
  --radius-lg: 1.2rem;
  --radius-xl: 2rem;
  --radius-full: 999px;
  --shadow-sm: 0 10px 30px rgba(0,0,0,.18);
  --shadow-lg: 0 24px 80px rgba(0,0,0,.42);
  --ease-out-soft: cubic-bezier(.16,1,.3,1);
  --ease-in-out-snap: cubic-bezier(.65,0,.35,1);
  --ease-bounce: cubic-bezier(.34,1.56,.64,1);
  --duration-fast: 150ms;
  --duration-base: 350ms;
  --duration-slow: 700ms;
  --stagger-step: 70ms;
  --z-base: 0;
  --z-raised: 10;
  --z-overlay: 100;
  --z-nav: 400;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink-deep); }
[id] { scroll-margin-top: 5.5rem; }
body { margin: 0; overflow-x: hidden; background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); font-size: var(--text-base); line-height: var(--leading-normal); }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:90; opacity:.18; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; }
img, video, svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button, a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; font:inherit; }
:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
::selection { background:var(--orange); color:var(--ink-deep); }
::view-transition-old(root) { animation:spark-fade-out var(--duration-base) var(--ease-out-soft); }
::view-transition-new(root) { animation:spark-fade-in var(--duration-base) var(--ease-out-soft); }
@keyframes spark-fade-out { to { opacity:0; transform:translateY(-8px); } }
@keyframes spark-fade-in { from { opacity:0; transform:translateY(8px); } }

.skip-link { position:fixed; left:1rem; top:-100px; z-index:999; background:var(--paper); color:var(--ink); padding:.8rem 1rem; border-radius:.4rem; }
.skip-link:focus { top:1rem; }
.ink-field { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; opacity:.55; }
main, footer { position:relative; z-index:1; }

.site-chrome { position:fixed; inset:0 0 auto; z-index:var(--z-nav); pointer-events:none; padding:.65rem; }
.nav-shell { pointer-events:auto; max-width:86rem; margin:auto; min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.45rem .55rem .45rem .75rem; border:1px solid color-mix(in oklch, var(--paper) 18%, transparent); background:color-mix(in oklch, var(--ink) 72%, transparent); border-radius:var(--radius-full); backdrop-filter:blur(20px) saturate(140%); box-shadow:var(--shadow-sm); }
.brand-lockup { display:flex; align-items:center; min-height:48px; gap:.55rem; }
.brand-lockup img { width:44px; height:44px; object-fit:contain; }
.brand-lockup span { display:none; line-height:.88; }
.brand-lockup strong { display:block; font-family:var(--font-serif); font-size:1rem; font-weight:400; }
.brand-lockup small { font-size:.65rem; color:var(--color-text-muted); }
.nav-shell nav { display:none; }
.nav-cta { min-width:58px; min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 .8rem; border-radius:var(--radius-full); background:var(--paper); color:var(--ink); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.nav-cta-long { display:none; }

.hero { position:relative; min-height:auto; display:flex; align-items:flex-start; overflow:hidden; padding:6.6rem 1rem 4.5rem; isolation:isolate; background:radial-gradient(circle at 92% 20%,rgba(9,200,239,.14),transparent 27%),radial-gradient(circle at 8% 58%,rgba(214,56,159,.12),transparent 30%),linear-gradient(155deg,var(--ink),var(--ink-deep) 72%); }
.hero::before { content:""; position:absolute; left:1rem; right:1rem; top:6.3rem; height:1px; background:var(--gradient-brand); opacity:.55; }
.hero-video { display:none; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.85) contrast(1.08); z-index:-3; }
.hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg, rgba(3,9,26,.18), rgba(3,9,26,.7) 48%, rgba(3,9,26,.97) 94%), linear-gradient(90deg, rgba(3,9,26,.92), rgba(3,9,26,.2)); }
.hero-shade::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.06) 50%, transparent 50.2%), linear-gradient(transparent 49.8%, rgba(255,255,255,.05) 50%, transparent 50.2%); background-size:10rem 10rem; mask-image:linear-gradient(to bottom,black,transparent 78%); }
.hero-registration { position:absolute; width:26rem; right:-15rem; top:5rem; opacity:.18; color:var(--cyan); z-index:-1; animation:slow-turn 36s linear infinite; }
.hero-registration circle,.hero-registration path { fill:none; stroke:currentColor; stroke-width:1; }
@keyframes slow-turn { to { transform:rotate(360deg); } }
.hero-content { width:100%; min-width:0; margin:0; padding-top:2.8rem; }
.hero-eyebrow { margin-bottom:1.4rem; }
.eyebrow { display:flex; align-items:center; gap:.7rem; color:var(--paper-dim); font-size:var(--text-xs); font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.eyebrow i { display:block; width:2.5rem; height:1px; background:var(--gradient-brand); }
.hero-title { max-width:100%; margin:0; font-family:var(--font-display); font-size:clamp(2.9rem,12.3vw,3.45rem); font-weight:400; line-height:.9; letter-spacing:-.015em; text-transform:uppercase; text-wrap:balance; }
.hero-title .kinetic-mask { display:block; overflow:hidden; }
.kinetic-line { display:block; transform:translateY(110%); transition:transform var(--duration-slow) var(--ease-out-soft); }
.kinetic-mask.is-revealed .kinetic-line { transform:translateY(0); }
.gradient-word { width:auto; max-width:100%; color:var(--orange); background:var(--gradient-brand); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.serif-line { margin-top:.25rem; font-family:var(--font-serif); font-size:.48em; font-style:italic; font-weight:400; letter-spacing:0; text-transform:none; }
.spark-video-pop-headline { opacity:0; transform:scale(.9); transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slow) var(--ease-out-soft); }
.spark-video-pop-headline.is-popped { opacity:1; transform:scale(1); }
.hero-copy { width:100%; max-width:35rem; margin:1.35rem 0 0; color:color-mix(in oklch,var(--paper) 82%,transparent); font-size:var(--text-base); line-height:1.48; }
.hero-actions { display:flex; flex-direction:column; align-items:stretch; gap:.75rem; margin-top:2rem; }
.button { min-width:0; min-height:54px; display:inline-flex; align-items:center; justify-content:space-between; gap:.65rem; padding:.75rem 1.1rem; border:1px solid transparent; border-radius:var(--radius-full); font-size:var(--text-sm); font-weight:800; letter-spacing:.04em; transition:transform var(--duration-base) var(--ease-out-soft),border-color var(--duration-base) var(--ease-out-soft),background var(--duration-base) var(--ease-out-soft); }
.button span { white-space:nowrap; }
.button-primary { background:var(--gradient-brand); color:var(--ink-deep); box-shadow:0 10px 35px color-mix(in oklch,var(--magenta) 28%,transparent); }
.button-secondary { background:var(--paper); color:var(--ink-deep); }
.button-ghost { border-color:color-mix(in oklch,var(--paper) 28%,transparent); background:color-mix(in oklch,var(--ink) 55%,transparent); backdrop-filter:blur(12px); }
.spark-ripple-btn { position:relative; overflow:hidden; }
.spark-ripple-btn > *,.spark-ripple-btn { isolation:isolate; }
.spark-ripple-btn::after { content:""; position:absolute; z-index:-1; width:0; height:0; left:var(--mx,50%); top:var(--my,50%); transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.42),transparent 70%); transition:width var(--duration-base) var(--ease-out-soft),height var(--duration-base) var(--ease-out-soft); pointer-events:none; }
.hero-note { display:flex; align-items:center; gap:.65rem; margin-top:1.25rem; color:var(--paper-dim); font-size:var(--text-xs); }
.pulse-dot { width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 0 rgba(9,200,239,.5); animation:pulse 2s infinite; }
@keyframes pulse { 70% { box-shadow:0 0 0 10px rgba(9,200,239,0); } 100% { box-shadow:0 0 0 0 rgba(9,200,239,0); } }
.hero-index { position:absolute; right:1rem; bottom:1rem; display:none; align-items:center; gap:.6rem; writing-mode:vertical-rl; font-size:.62rem; letter-spacing:.14em; color:var(--paper-dim); }
.hero-index span { color:var(--orange); }
.scroll-cue { display:none; }

.section-shell { position:relative; max-width:88rem; margin:0 auto; padding:5.5rem 1.1rem; }
.section-kicker { display:flex; align-items:center; gap:.8rem; margin-bottom:2.5rem; color:var(--paper-dim); font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.18em; }
.section-kicker::after { content:""; flex:1; height:1px; background:linear-gradient(90deg,color-mix(in oklch,var(--cyan) 50%,transparent),transparent); }
.section-kicker span { display:grid; place-items:center; width:2.1rem; height:2.1rem; border:1px solid var(--cyan); border-radius:50%; color:var(--cyan); }
h2 { margin:0; font-family:var(--font-display); font-size:var(--text-3xl); font-weight:400; line-height:.93; letter-spacing:-.01em; text-transform:uppercase; }
h2 em { font-family:var(--font-serif); font-size:.74em; font-weight:400; text-transform:none; color:var(--gold); }
h3 { margin:0; font-size:var(--text-xl); line-height:1.1; }
.reveal { opacity:0; transform:translateY(26px); transition:opacity var(--duration-slow) var(--ease-out-soft),transform var(--duration-slow) var(--ease-out-soft); }
.reveal.is-visible { opacity:1; transform:none; }

.manifesto { overflow:hidden; }
.manifesto::before { content:""; position:absolute; width:25rem; height:25rem; left:-14rem; top:3rem; border:1px solid color-mix(in oklch,var(--magenta) 25%,transparent); border-radius:50%; box-shadow:0 0 80px rgba(214,56,159,.08); }
.manifesto-grid { display:grid; gap:2rem; }
.manifesto-copy { max-width:38rem; }
.manifesto-copy p { color:var(--color-text-muted); font-size:var(--text-lg); }
.manifesto-copy .pull-quote { padding-left:1.1rem; border-left:3px solid var(--orange); color:var(--paper); font-family:var(--font-serif); font-size:var(--text-xl); font-style:italic; }
.decision-strip { position:relative; margin-top:3.5rem; min-height:21rem; display:grid; align-items:center; gap:1rem; padding:1.25rem; border:1px solid var(--color-border); border-radius:var(--radius-xl); overflow:hidden; background:linear-gradient(145deg,color-mix(in oklch,var(--ink) 93%,white),var(--ink-deep)); }
.decision-strip::before { content:""; position:absolute; inset:0; opacity:.09; background-image:linear-gradient(var(--cyan) 1px,transparent 1px),linear-gradient(90deg,var(--cyan) 1px,transparent 1px); background-size:34px 34px; }
.scatter-stack { position:relative; height:8rem; }
.scatter-stack span { position:absolute; left:50%; top:50%; width:max-content; padding:.5rem .7rem; transform:translate(-50%,-50%) rotate(var(--r)); background:var(--paper); color:var(--ink); font-family:var(--font-display); font-size:var(--text-lg); letter-spacing:.04em; box-shadow:8px 12px 0 rgba(0,0,0,.25); }
.scatter-stack span:nth-child(1){ margin:-3rem 0 0 -3rem; }.scatter-stack span:nth-child(2){ margin:0 0 0 2rem; background:var(--magenta); color:white; }.scatter-stack span:nth-child(3){ margin:3rem 0 0 -2rem; background:var(--cyan); }.scatter-stack span:nth-child(4){ margin:0 0 0 -4rem; background:var(--orange); }
.decision-strip > svg { width:8rem; margin:auto; color:var(--gold); }
.decision-strip > svg path { fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; }
.clear-book { position:relative; display:grid; place-items:center; min-height:9rem; padding:1rem; border:2px solid var(--gold); background:var(--ink); box-shadow:inset 10px 0 0 rgba(230,183,88,.12),12px 14px 0 rgba(0,0,0,.3); text-align:center; }
.clear-book::before { content:""; position:absolute; right:-8px; top:8px; bottom:8px; width:7px; background:repeating-linear-gradient(to bottom,var(--paper) 0 2px,transparent 2px 4px); opacity:.55; }
.clear-book span { font-family:var(--font-display); font-size:var(--text-2xl); color:var(--gold); }
.clear-book b { font-size:.68rem; letter-spacing:.12em; color:var(--paper-dim); }

.inside { max-width:none; padding-left:0; padding-right:0; }
.inside > .section-kicker,.inside-head { max-width:88rem; margin-left:auto; margin-right:auto; padding-left:1.1rem; padding-right:1.1rem; }
.inside-head { display:grid; gap:1.4rem; }
.inside-head > p { max-width:40rem; color:var(--color-text-muted); font-size:var(--text-lg); }
.feature-stage { margin-top:3rem; display:grid; gap:2rem; }
.feature-visual { position:relative; overflow:hidden; }
.book-frame { position:relative; padding:1rem 0; }
.book-frame::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 70px 20px var(--ink-deep); pointer-events:none; }
.book-frame img { width:100%; height:auto; object-fit:contain; filter:saturate(.9) contrast(1.05); }
.book-tab { position:absolute; right:.4rem; padding:.42rem .55rem; border-radius:.35rem 0 0 .35rem; font-size:.55rem; font-weight:800; letter-spacing:.08em; writing-mode:vertical-rl; z-index:2; }
.tab-one { top:16%; background:var(--cyan); color:var(--ink); }.tab-two { top:43%; background:var(--magenta); }.tab-three { top:67%; background:var(--orange); color:var(--ink); }
.feature-list { padding:0 1.1rem; }
.feature-item { display:grid; grid-template-columns:3.2rem 1fr; gap:1rem; padding:1.5rem 0; border-top:1px solid color-mix(in oklch,var(--paper) 13%,transparent); }
.feature-item > span { color:var(--orange); font-family:var(--font-display); font-size:var(--text-xl); }
.feature-item h3 { font-family:var(--font-serif); font-weight:400; }
.feature-item p { margin:.45rem 0 0; color:var(--color-text-muted); }

.work { max-width:none; overflow:hidden; background:color-mix(in oklch,var(--ink) 90%,black); }
.work > .section-kicker,.work-intro { max-width:88rem; margin-left:auto; margin-right:auto; }
.work-intro { display:grid; gap:1.5rem; margin-bottom:2.5rem; }
.text-link { width:max-content; max-width:100%; padding-bottom:.35rem; border-bottom:1px solid var(--cyan); color:var(--cyan); font-weight:700; }
.work-rail { display:flex; gap:1rem; overflow-x:auto; padding:0 1.1rem 1.5rem; scroll-snap-type:x mandatory; scrollbar-width:none; }
.work-rail::-webkit-scrollbar { display:none; }
.work-card { flex:0 0 88vw; margin:0; scroll-snap-align:center; border:1px solid var(--color-border); background:var(--ink); box-shadow:var(--shadow-lg); }
.work-card img { width:100%; height:auto; object-fit:contain; }
.work-card figcaption { display:flex; justify-content:space-between; gap:1rem; padding:1rem; }
.work-card figcaption span { color:var(--cyan); font-size:var(--text-xs); letter-spacing:.08em; }
.work-card figcaption b { font-family:var(--font-serif); font-weight:400; text-align:right; }

.process { overflow:hidden; }
.process h2 { max-width:55rem; }
.process-line { height:4rem; position:relative; margin:1rem 0; }
.process-line::before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:linear-gradient(90deg,var(--cyan),var(--magenta),var(--orange)); }
.process-line i { position:absolute; top:calc(50% - 5px); left:0; width:10px; height:10px; border-radius:50%; background:var(--paper); box-shadow:0 0 20px var(--cyan); animation:travel 6s var(--ease-in-out-snap) infinite alternate; }
@keyframes travel { to { left:calc(100% - 10px); } }
.process-grid { display:grid; gap:1rem; }
.process-card { position:relative; min-height:17rem; display:grid; grid-template-columns:4.4rem 1fr; gap:1rem; padding:1.25rem; border:1px solid var(--color-border); background:linear-gradient(145deg,color-mix(in oklch,var(--ink) 94%,white),var(--ink-deep)); overflow:hidden; }
.process-card::after { content:""; position:absolute; right:-2rem; bottom:-5rem; width:10rem; height:10rem; border:1px solid color-mix(in oklch,var(--orange) 30%,transparent); border-radius:50%; }
.process-number { font-family:var(--font-display); font-size:4.6rem; line-height:.9; color:transparent; -webkit-text-stroke:1px var(--cyan); }
.mini-label { margin:0 0 1rem; color:var(--orange); font-size:var(--text-xs); font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.process-card h3 { font-family:var(--font-serif); font-weight:400; }
.process-card div > p:last-child { color:var(--color-text-muted); }

.offers { max-width:none; padding-left:1.1rem; padding-right:1.1rem; background:radial-gradient(circle at 80% 30%,rgba(214,56,159,.12),transparent 35%),radial-gradient(circle at 10% 80%,rgba(9,200,239,.1),transparent 30%); }
.offers > * { max-width:88rem; margin-left:auto; margin-right:auto; }
.offers-head { display:grid; gap:1.5rem; }
.offers-head > p { max-width:37rem; color:var(--color-text-muted); font-size:var(--text-lg); }
.offer-grid { display:grid; gap:1rem; margin-top:2.6rem; }
.offer-card { position:relative; display:flex; flex-direction:column; padding:1.4rem; border:1px solid color-mix(in oklch,var(--paper) 15%,transparent); background:color-mix(in oklch,var(--ink) 92%,black); box-shadow:var(--shadow-lg); overflow:hidden; }
.offer-card.flagship { border-color:color-mix(in oklch,var(--orange) 60%,var(--magenta)); background:linear-gradient(145deg,color-mix(in oklch,var(--ink) 90%,var(--magenta)),var(--ink-deep) 55%); }
.flagship-ribbon { position:absolute; top:1.5rem; right:-3rem; width:11rem; padding:.35rem; transform:rotate(35deg); background:var(--gold); color:var(--ink); text-align:center; font-size:.65rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.offer-top { display:grid; grid-template-columns:1fr auto; align-items:end; }
.offer-top > p:last-child { grid-column:2; margin:-.4rem 0 0; color:var(--color-text-muted); font-size:var(--text-xs); text-align:right; }
.offer-tag { width:max-content; align-self:start; padding:.35rem .6rem; border:1px solid var(--cyan); color:var(--cyan); border-radius:var(--radius-full); font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.price { margin:0; font-family:var(--font-display); font-size:4.8rem; line-height:1; color:var(--paper); }
.price sup { font-family:var(--font-body); font-size:1.1rem; vertical-align:top; }
.offer-card h3 { margin-top:2rem; font-family:var(--font-serif); font-size:var(--text-2xl); font-weight:400; }
.offer-lead { min-height:4.5rem; color:var(--color-text-muted); }
.offer-card ul { display:grid; gap:.7rem; margin:1rem 0 2rem; padding:0; list-style:none; }
.offer-card li { position:relative; padding-left:1.5rem; }
.offer-card li::before { content:"↗"; position:absolute; left:0; color:var(--orange); }
.offer-card .button { margin-top:auto; }
.fine-print { margin:.9rem 0 0; color:var(--color-text-muted); font-size:var(--text-xs); }
.ownership-note { display:grid; grid-template-columns:4.5rem 1fr; gap:1rem; align-items:center; margin-top:2rem; padding:1.2rem; border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); }
.ownership-note svg { width:4.5rem; color:var(--gold); }
.ownership-note svg * { fill:none; stroke:currentColor; stroke-width:1.5; }
.ownership-note span { font-family:var(--font-serif); font-size:var(--text-xl); }
.ownership-note p { margin:.25rem 0 0; color:var(--color-text-muted); }

.faq { overflow:hidden; }
.faq-grid { display:grid; gap:2.5rem; }
.accordion details { border-top:1px solid color-mix(in oklch,var(--paper) 16%,transparent); }
.accordion details:last-child { border-bottom:1px solid color-mix(in oklch,var(--paper) 16%,transparent); }
.accordion summary { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; list-style:none; font-weight:700; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary span { flex:0 0 auto; display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--cyan); border-radius:50%; color:var(--cyan); transition:transform var(--duration-base) var(--ease-out-soft); }
.accordion details[open] summary span { transform:rotate(45deg); }
.accordion details p { margin:0; padding:0 3rem 1.5rem 0; color:var(--color-text-muted); }

.final-cta { position:relative; min-height:82svh; display:grid; place-items:center; overflow:hidden; padding:6rem 1.1rem; background:var(--paper); color:var(--ink-deep); text-align:center; }
.final-cta::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,transparent 0 9.9%,rgba(7,18,45,.065) 10%); }
.cta-compass { position:absolute; width:min(125vw,55rem); color:rgba(7,18,45,.12); animation:slow-turn 46s linear infinite reverse; }
.cta-compass * { fill:none; stroke:currentColor; stroke-width:1; }
.final-copy { position:relative; z-index:2; max-width:54rem; }
.final-copy .eyebrow { justify-content:center; color:var(--ink); }
.final-copy h2 { font-size:var(--text-3xl); }
.final-copy h2 em { color:var(--magenta); }
.final-copy > p:not(.eyebrow) { font-size:var(--text-lg); }
.final-copy .button { width:min(100%,28rem); margin:1.5rem auto 0; }
.signature-mark { position:absolute; right:1rem; bottom:1rem; font-family:var(--font-serif); font-size:1.6rem; font-style:italic; color:var(--magenta); transform:rotate(-6deg); }
.signature-mark small { font-family:var(--font-body); font-size:.6rem; color:var(--ink); }

.chapter-rail { display:none; }
.mobile-cta { position:fixed; z-index:350; left:.65rem; right:.65rem; bottom:.65rem; display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.5rem .55rem .5rem .9rem; border:1px solid color-mix(in oklch,var(--paper) 20%,transparent); border-radius:var(--radius-full); background:color-mix(in oklch,var(--ink-deep) 88%,transparent); backdrop-filter:blur(18px); box-shadow:var(--shadow-lg); transform:translateY(160%); transition:transform var(--duration-slow) var(--ease-out-soft); }
.mobile-cta.is-visible { transform:none; }
.mobile-cta span { display:grid; line-height:1.15; }
.mobile-cta small { color:var(--color-text-muted); font-size:.65rem; }
.mobile-cta a { min-height:46px; display:grid; place-items:center; padding:0 1rem; border-radius:var(--radius-full); background:var(--gradient-brand); color:var(--ink); font-size:var(--text-xs); font-weight:900; text-transform:uppercase; }
.spark-consent { position:fixed; z-index:500; left:.75rem; right:.75rem; bottom:.75rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; padding:.8rem 1rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:color-mix(in oklch,var(--ink) 94%,transparent); backdrop-filter:blur(16px); box-shadow:var(--shadow-lg); }
.spark-consent[hidden] { display:none; }
.spark-consent p { margin:0; max-width:38rem; font-size:var(--text-xs); }
.spark-consent-actions { display:flex; gap:.4rem; }
.spark-consent button { min-height:44px; padding:0 .9rem; border:1px solid var(--color-border); border-radius:var(--radius-full); background:transparent; cursor:pointer; }
.spark-consent button:last-child { background:var(--paper); color:var(--ink); }

footer { display:grid; gap:1.5rem; justify-items:center; padding:4rem 1.1rem 7rem; border-top:1px solid var(--color-border); background:var(--ink-deep); text-align:center; }
.footer-logo img { width:6rem; height:6rem; object-fit:contain; }
footer p { margin:0; font-family:var(--font-serif); font-size:var(--text-xl); }
footer > div:not(.footer-logo) { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; color:var(--color-text-muted); font-size:var(--text-sm); }
footer small { color:var(--color-text-muted); }

@media (hover:hover) and (pointer:fine) {
  .button:hover,.nav-cta:hover { transform:translateY(-3px); }
  .spark-ripple-btn:hover::after { width:320%; height:320%; }
  .text-link:hover { color:var(--paper); border-color:var(--paper); }
  .work-card { transition:transform var(--duration-slow) var(--ease-out-soft),border-color var(--duration-base) var(--ease-out-soft); }
  .work-card:hover { transform:translateY(-8px) rotate(-.35deg); border-color:var(--orange); }
}

@media (min-width:700px) {
  .site-chrome { padding:1rem; }
  .nav-shell { padding:.45rem .55rem .45rem .9rem; }
  .brand-lockup span { display:block; }
  .nav-shell nav { display:flex; align-items:center; gap:1.2rem; font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
  .nav-cta { min-width:0; padding:0 1rem; font-size:var(--text-xs); }
  .nav-cta-short { display:none; }
  .nav-cta-long { display:inline; }
  .hero { min-height:100svh; align-items:flex-end; padding:9rem 3rem 5rem; background:var(--ink-deep) url("assets/brand-bible-cover.jpg") center/cover no-repeat; }
  .hero::before { display:none; }
  .hero-video { display:block; }
  .hero-registration { width:min(92vw,760px); right:-38vw; top:10%; opacity:.14; }
  .hero-content { width:min(100%,76rem); margin:0 auto; padding-top:0; }
  .hero-title { font-size:var(--text-4xl); }
  .hero-copy { max-width:44rem; font-size:var(--text-lg); line-height:var(--leading-normal); }
  .hero-actions { flex-direction:row; align-items:center; }
  .hero-actions .button { min-width:15rem; }
  .hero-index { display:flex; }
  .section-shell { padding:8rem 3rem; }
  .decision-strip { grid-template-columns:1fr 9rem 1fr; min-height:22rem; padding:2rem; }
  .inside > .section-kicker,.inside-head { padding-left:3rem; padding-right:3rem; }
  .feature-stage { grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr); align-items:center; }
  .book-frame img { aspect-ratio:1.35/1; object-fit:cover; }
  .feature-list { padding-right:3rem; }
  .work { padding-left:3rem; padding-right:3rem; }
  .work-rail { padding-left:0; padding-right:0; }
  .work-card { flex-basis:68vw; }
  .work-card img { aspect-ratio:1.45/1; object-fit:cover; }
  .process-grid { grid-template-columns:repeat(3,1fr); }
  .process-card { grid-template-columns:1fr; }
  .offer-grid { grid-template-columns:.84fr 1.16fr; align-items:stretch; }
  .offer-card { padding:2rem; }
  .offers-head { grid-template-columns:1.3fr .7fr; align-items:end; }
  .faq-grid { grid-template-columns:.78fr 1.22fr; }
  .mobile-cta { display:none; }
  footer { padding-bottom:4rem; }
}

@media (min-width:1100px) {
  .manifesto-grid { grid-template-columns:1.1fr .9fr; align-items:end; }
  .inside-head { grid-template-columns:1.25fr .75fr; align-items:end; }
  .work-intro { grid-template-columns:1fr auto; align-items:end; }
  .work-rail { overflow:visible; display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:auto auto; gap:1.4rem; }
  .work-card { width:auto; }
  .work-card:first-child { grid-row:span 2; align-self:center; transform:rotate(-1deg); }
  .work-card:nth-child(2) { transform:translateX(1.5rem) rotate(1deg); }
  .work-card:nth-child(3) { transform:translateX(-1rem) rotate(-.5deg); }
  .work-card figcaption { padding:1.25rem; }
  .process-card:nth-child(2) { margin-top:2rem; }.process-card:nth-child(3) { margin-top:4rem; }
  .chapter-rail { position:fixed; z-index:120; right:1rem; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:.35rem; }
  .rail-dot { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:var(--paper-dim); font-size:.55rem; transition:background var(--duration-base),color var(--duration-base),transform var(--duration-base); }
  .rail-dot::before { content:""; position:absolute; width:4px; height:4px; border-radius:50%; background:currentColor; }
  .rail-dot span { opacity:0; }
  .rail-dot.is-active { background:var(--paper); color:var(--ink); transform:scale(1.06); }
  .rail-dot.is-active::before { opacity:0; }.rail-dot.is-active span { opacity:1; }
}

@media (prefers-reduced-motion:reduce) {
  :root { --duration-fast:0ms; --duration-base:0ms; --duration-slow:0ms; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  .ink-field { display:none; }
  .hero-video { display:none; }
  .spark-video-pop-headline,.kinetic-line,.reveal { opacity:1; transform:none; }
}
