/* PHOTON RITUAL · Design system v2 · 23 September 2026
   Direction: "Obsidiana y señal". A dark gallery lit by a single red signal.
   Display: Instrument Serif roman. UI and text: DM Sans. Emphasis by colour, never italics.
   Tokens are the only source of colour and type; see DESIGN.md. */

@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url(assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.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:"DM Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url(assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jizBRFtNs2ka5fXjeivQ4LroWlx-6zUTjg.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:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jizBRFtNs2ka5fXjeivQ4LroWlx-6zsTjmbI.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}

:root{
 --c-bg:#0b0b0d;--c-bg-2:#0f0f12;--c-surface:#141417;--c-surface-2:#1b1b1f;--c-line:#28282d;--c-line-2:#3b3b41;
 --c-ink:#f2efe9;--c-ink-2:#d9d5ce;--c-muted:#aaa6ad;--c-faint:#57545b;
 --c-signal:#ff3b2f;--c-signal-ink:#140706;--c-accent:#ff7269;--c-deep:#7a1f2b;--c-glow:rgba(255,59,47,.5);
 --c-scrim:rgba(11,11,13,.94);--c-glass:rgba(255,255,255,.035);--c-header:rgba(11,11,13,.74);
 --spec-a:#ff3b2f;--spec-b:#a3243a;--spec-c:#4a1522;
 --f-display:"Instrument Serif","Iowan Old Style","Times New Roman",serif;--f-ui:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
 --t-meta:.71875rem;--t-small:.875rem;--t-body:1.0625rem;--t-lead:clamp(1.125rem,1.4vw,1.3rem);
 --t-h3:clamp(1.6rem,2.2vw,2.05rem);--t-h2:clamp(2.5rem,5vw,4.75rem);--t-h1:clamp(3.1rem,7.6vw,8rem);
 --ease:cubic-bezier(.22,1,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur-micro:140ms;--dur-short:260ms;--dur-long:900ms;
 --gutter:clamp(20px,5vw,80px);--maxw:1480px;--header-h:72px;--r-sm:4px;--r-md:10px;--r-pill:999px;
 color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px);overflow-x:clip;background:var(--c-bg)}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font:400 var(--t-body)/1.65 var(--f-ui);overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
h1,h2,h3,h4,dt{margin:0;font-family:var(--f-display);font-weight:400;font-style:normal;letter-spacing:-.012em;text-wrap:balance;min-width:0;overflow-wrap:anywhere}
p{margin:0;text-wrap:pretty}
em,i{font-style:normal}
::selection{background:var(--c-signal);color:var(--c-signal-ink)}
:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:2px}
a,button,summary,input,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.accent{color:var(--c-accent)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c-signal);box-shadow:0 0 0 3px rgba(255,59,47,.14),0 0 14px var(--c-glow);flex:none}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0;font:500 var(--t-meta)/1.3 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted)}
.section{--pad-x:max(var(--gutter),calc((100% - var(--maxw)) / 2));padding:clamp(88px,11vw,168px) var(--pad-x)}
.skip{position:fixed;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:var(--r-pill);background:var(--c-ink);color:var(--c-bg);font-size:var(--t-small);transition:top var(--dur-short) var(--ease-out)}
.skip:focus{top:12px}

/* Buttons & links */
.btn{--btn-bg:var(--c-ink);--btn-ink:var(--c-bg);--chip-bg:var(--c-bg);--chip-ink:var(--c-ink);display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;padding:6px 6px 6px 24px;border:1px solid transparent;border-radius:var(--r-pill);background:var(--btn-bg);color:var(--btn-ink);font:500 var(--t-small)/1 var(--f-ui);letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-long) var(--ease-out)}
.btn>i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--chip-bg);color:var(--chip-ink);font-size:1rem;transition:transform var(--dur-short) var(--ease-out)}
.btn:hover>i{transform:rotate(45deg)}
.btn:active{transform:scale(.975)}
.btn-light:hover{box-shadow:0 0 0 1px var(--c-ink),0 10px 40px -10px rgba(242,239,233,.35)}
.btn-signal{--btn-bg:var(--c-signal);--btn-ink:var(--c-signal-ink);--chip-bg:var(--c-signal-ink);--chip-ink:var(--c-ink)}
.btn-signal:hover{box-shadow:0 0 0 1px var(--c-signal),0 10px 44px -8px var(--c-glow)}
.btn-outline{--btn-bg:transparent;--btn-ink:var(--c-ink);--chip-bg:var(--c-ink);--chip-ink:var(--c-bg);border-color:var(--c-line-2)}
.btn-outline:hover{border-color:var(--c-ink)}
.btn-sm{min-height:42px;padding:4px 4px 4px 18px;gap:14px}.btn-sm>i{width:32px;height:32px;font-size:.875rem}
.link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--c-ink);font:500 var(--t-small)/1.2 var(--f-ui);letter-spacing:.02em;white-space:nowrap;background:linear-gradient(var(--c-accent),var(--c-accent)) 0 calc(100% - 10px)/0 1px no-repeat;transition:background-size var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}
.link:hover{background-size:100% 1px;color:var(--c-accent)}
.link i{transition:transform var(--dur-short) var(--ease-out)}.link:hover i{transform:translate(2px,-2px)}

/* Ticker & header */
.ticker{display:flex;justify-content:center;align-items:center;gap:28px;min-height:36px;padding:8px var(--gutter);border-bottom:1px solid var(--c-line);background:var(--c-bg);color:var(--c-muted);font:500 .6875rem/1.3 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;text-align:center}
.ticker span+span::before{content:"";display:inline-block;width:4px;height:4px;margin-right:28px;border-radius:50%;background:var(--c-signal);vertical-align:middle;transform:translateY(-1px)}
.site-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;height:var(--header-h);padding:0 var(--gutter);border-bottom:1px solid transparent;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),backdrop-filter var(--dur-short)}
.site-header.is-solid,.page-article .site-header{background:var(--c-header);border-bottom-color:var(--c-line);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}
.brand img{width:clamp(124px,11vw,158px);height:auto}
.nav{display:flex;justify-content:center;gap:clamp(20px,2.6vw,40px)}
.nav a{position:relative;padding:10px 0;color:var(--c-ink-2);font-size:var(--t-small);letter-spacing:.01em;white-space:nowrap;transition:color var(--dur-short) var(--ease-out)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--c-signal);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-short) var(--ease-out)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--c-ink)}.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.menu-toggle{display:none;position:relative;width:44px;height:44px;border:1px solid var(--c-line-2);border-radius:50%;background:transparent;cursor:pointer}
.menu-toggle span{position:absolute;left:13px;right:13px;height:1.5px;background:var(--c-ink);transition:transform var(--dur-short) var(--ease-out),top var(--dur-short) var(--ease-out)}
.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:25px}
.menu-toggle[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:calc(var(--header-h) + 36px) 0 0;z-index:39;display:flex;flex-direction:column;gap:4px;padding:28px var(--gutter) 40px;background:var(--c-bg);overflow-y:auto}
.mobile-menu[hidden]{display:none}
.mobile-menu>a:not(.btn){padding:16px 0;border-bottom:1px solid var(--c-line);font:400 2.1rem/1.1 var(--f-display)}
.mobile-menu .btn{margin-top:28px;align-self:flex-start}

/* Hero */
.hero{position:relative;display:grid;align-content:end;min-height:calc(100svh - 36px);margin-top:calc(var(--header-h) * -1);padding:calc(var(--header-h) + 40px) var(--gutter) clamp(40px,6vw,72px);isolation:isolate;overflow:hidden;background:var(--c-bg)}
.hero-visual{position:absolute;inset:0;z-index:-1}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--c-scrim) 0%,rgba(11,11,13,.66) 30%,rgba(11,11,13,0) 58%),linear-gradient(0deg,var(--c-bg) 0%,rgba(11,11,13,0) 26%),linear-gradient(180deg,rgba(11,11,13,.7) 0%,rgba(11,11,13,0) 18%);pointer-events:none}
.gl-poster,.gl-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .gl-poster{object-position:72% 50%}
.gl-canvas{opacity:0;transition:opacity .9s var(--ease-out)}
.gl-live .gl-canvas{opacity:1}.gl-live .gl-poster{opacity:0}
.gl-fallback .gl-canvas{display:none}
.gl-label{position:absolute;left:0;top:0;z-index:1;translate:-50% 12px;padding:5px 10px;border:1px solid rgba(242,239,233,.16);border-radius:var(--r-pill);background:rgba(11,11,13,.5);color:var(--c-ink-2);font:500 .625rem/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .8s var(--ease-out) 1.6s;pointer-events:none}
.gl-live .gl-label{opacity:1}
.hero-inner{position:relative;max-width:var(--maxw);width:100%;margin-inline:auto;display:grid;gap:28px;padding-bottom:clamp(56px,7vw,96px)}
.hero h1{max-width:9.5em;font-size:var(--t-h1);line-height:.92;letter-spacing:-.025em}
.hero-lead{max-width:30em;color:var(--c-ink-2);font-size:var(--t-lead);line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:8px}
.hero-status{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:var(--maxw);width:100%;margin:0 auto;border-top:1px solid var(--c-line-2)}
.hero-status div{padding:18px 20px 0 0}.hero-status div+div{padding-left:20px;border-left:1px solid var(--c-line)}
.hero-status dt{font:500 .6875rem/1.3 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted)}
.hero-status dd{margin:6px 0 0;font:400 1.35rem/1.2 var(--f-display);color:var(--c-ink)}

/* Section heads */
.section-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:32px 64px;margin-bottom:clamp(48px,6vw,88px)}
.section-head>div{display:grid;gap:22px}
.section-head h2,.editorial-copy h2,.faq-head h2,.signup h2{font-size:var(--t-h2);line-height:.98}
.section-head>p{max-width:30em;justify-self:end;color:var(--c-muted);font-size:var(--t-body)}

/* Manifesto & spectrum */
.manifesto{display:grid;gap:40px;padding-bottom:clamp(64px,8vw,120px)}
.manifesto-text{max-width:18em;font:400 clamp(2.1rem,4.6vw,4.4rem)/1.08 var(--f-display);letter-spacing:-.015em;color:var(--c-ink)}
.lit-ready .manifesto-text .w{color:var(--c-faint);transition:color .6s var(--ease-out)}.lit-ready .manifesto-text .w.on{color:var(--c-ink)}.lit-ready .manifesto-text .w.on.hl{color:var(--c-accent)}
.spectrum{margin:24px 0 0;width:100%}
.spectrum svg{width:100%;height:42px;overflow:visible}
.spectrum-ticks line{stroke:var(--c-line-2);stroke-width:1;vector-effect:non-scaling-stroke}
.spectrum-band{opacity:.95}
.spectrum-cursor{stroke:var(--c-ink);stroke-width:1.5;vector-effect:non-scaling-stroke;animation:scan 9s var(--ease) infinite alternate}
@keyframes scan{from{transform:translateX(60px)}to{transform:translateX(940px)}}
.spectrum-scale{position:relative;height:22px;margin-top:6px;color:var(--c-muted);font:500 .6875rem/1 var(--f-ui);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.spectrum-scale span{position:absolute;top:0;translate:-50% 0}.spectrum-scale em{position:absolute;right:0;top:0}
.spectrum figcaption{display:flex;flex-wrap:wrap;gap:10px 32px;margin-top:18px;color:var(--c-muted);font:500 .6875rem/1.4 var(--f-ui);letter-spacing:.14em;text-transform:uppercase}
.spectrum figcaption .spectrum-note{margin-left:auto;letter-spacing:.04em;text-transform:none;font-size:var(--t-small);font-weight:400}
.sw{display:inline-block;width:18px;height:3px;margin-right:10px;vertical-align:middle;background:var(--spec-a)}.sw-nir{background:linear-gradient(90deg,var(--spec-b),var(--spec-c))}

/* Collection */
.collection{padding-top:clamp(64px,8vw,120px);background:linear-gradient(180deg,var(--c-bg),var(--c-bg-2))}
.rituals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.ritual{position:relative;display:flex;flex-direction:column;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);overflow:hidden;transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-long) var(--ease-out)}
.ritual:hover{border-color:var(--c-line-2);transform:translateY(-4px)}
.ritual-stage{position:relative;aspect-ratio:9/10;background:var(--c-bg);overflow:hidden}
.ritual-stage::after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(0deg,var(--c-surface),rgba(20,20,23,0));pointer-events:none}
.ritual-code{position:absolute;top:18px;left:20px;z-index:1;font:400 1.1rem/1 var(--f-display);color:var(--c-ink-2)}
.ritual-info{display:grid;gap:14px;padding:4px 24px 22px;margin-top:-28px;position:relative}
.ritual h3{font-size:var(--t-h3);line-height:1.08}
.ritual-status{display:flex;align-items:center;gap:10px;color:var(--c-muted);font:500 .6875rem/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase}
.ritual .link{justify-self:start}
.carousel-nav{display:none}
.collection-note{display:flex;align-items:center;gap:12px;margin-top:40px;padding-top:28px;border-top:1px solid var(--c-line);color:var(--c-muted);font-size:var(--t-small)}

/* Standard */
.standard{background:var(--c-bg-2);border-top:1px solid var(--c-line)}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin:0 auto;padding:0;list-style:none;counter-reset:p}
.pillars li{position:relative;display:grid;align-content:start;gap:18px;padding-top:32px;border-top:1px solid var(--c-line-2)}
.pillars li::before{content:"";position:absolute;left:0;top:-1px;width:56px;height:1px;background:var(--c-signal);box-shadow:0 0 12px var(--c-glow);transition:width var(--dur-long) var(--ease-out)}
.pillars li:hover::before{width:100%}
.pillar-num{color:var(--c-accent);font:500 var(--t-meta)/1 var(--f-ui);letter-spacing:.16em;font-variant-numeric:tabular-nums}
.pillars h3{font-size:var(--t-h3);line-height:1.08}.pillars p{color:var(--c-muted);max-width:28em}
.standard-foot{margin-top:clamp(56px,7vw,96px);padding-top:28px;border-top:1px solid var(--c-line);color:var(--c-ink-2);font:500 var(--t-meta)/1.5 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;text-align:center}

/* Editorial */
.editorial{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:var(--c-surface);border-block:1px solid var(--c-line)}
.editorial-image{position:relative;margin:0;min-height:560px;overflow:hidden}
.editorial-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.editorial-image figcaption{position:absolute;left:24px;bottom:22px;right:24px;color:var(--c-ink-2);font:500 .6875rem/1.4 var(--f-ui);letter-spacing:.14em;text-transform:uppercase}
.editorial-copy{display:grid;align-content:center;gap:24px;padding:clamp(56px,8vw,128px) var(--gutter)}
.editorial-copy p:not(.eyebrow){max-width:32em;color:var(--c-ink-2)}
.editorial-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:8px}

/* Guides */
.guide-list{display:grid;border-bottom:1px solid var(--c-line)}
.guide-row{display:grid;grid-template-columns:170px minmax(0,1.3fr) minmax(0,1fr) 44px;align-items:center;gap:24px;padding:30px 0;border-top:1px solid var(--c-line);background:linear-gradient(90deg,rgba(255,59,47,.07),rgba(255,59,47,0) 60%) 0 0/0 100% no-repeat;transition:background-size var(--dur-long) var(--ease-out)}
.guide-row:hover{background-size:100% 100%}
.guide-tag{color:var(--c-muted);font:500 var(--t-meta)/1.3 var(--f-ui);letter-spacing:.14em}
.guide-title{font:400 clamp(1.5rem,2.2vw,2.1rem)/1.1 var(--f-display);transition:color var(--dur-short) var(--ease-out)}
.guide-text{color:var(--c-muted);font-size:var(--t-small)}
.guide-row b{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--c-line-2);border-radius:50%;font-weight:400;transition:transform var(--dur-short) var(--ease-out),background-color var(--dur-short),color var(--dur-short)}
.guide-row:hover .guide-title{color:var(--c-accent)}.guide-row:hover b{transform:rotate(45deg);background:var(--c-ink);color:var(--c-bg)}

/* FAQ */
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:48px clamp(40px,8vw,140px)}
.faq-head{display:grid;align-content:start;gap:22px;position:sticky;top:calc(var(--header-h) + 32px);align-self:start}
.faq-head .link{justify-self:start}
details{border-top:1px solid var(--c-line)}details:last-child{border-bottom:1px solid var(--c-line)}
summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:44px;padding:24px 0;cursor:pointer;list-style:none;font:400 clamp(1.3rem,1.8vw,1.6rem)/1.25 var(--f-display);transition:color var(--dur-short) var(--ease-out)}
summary::-webkit-details-marker{display:none}summary:hover{color:var(--c-accent)}
summary b{position:relative;flex:none;width:36px;height:36px;border:1px solid var(--c-line-2);border-radius:50%;transition:transform var(--dur-short) var(--ease-out),border-color var(--dur-short)}
summary b::before,summary b::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;translate:-50% -50%}
summary b::after{rotate:90deg;transition:rotate var(--dur-short) var(--ease-out)}
details[open] summary b{border-color:var(--c-signal)}details[open] summary b::after{rotate:0deg}
details p{max-width:44em;padding:0 56px 28px 0;color:var(--c-muted)}

/* Signup */
.signup{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:48px clamp(40px,7vw,120px);padding:clamp(96px,12vw,180px) var(--gutter);overflow:hidden;isolation:isolate;border-top:1px solid var(--c-line)}
.signup-light{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 36% 60% at 78% 55%,rgba(255,59,47,.34),rgba(122,31,43,.14) 45%,rgba(11,11,13,0) 72%),var(--c-bg)}
.signup-light::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,rgba(0,0,0,.16) 1px 3px,rgba(255,255,255,0) 3px 15px);-webkit-mask:radial-gradient(ellipse 42% 70% at 78% 55%,#000 20%,transparent 75%);mask:radial-gradient(ellipse 42% 70% at 78% 55%,#000 20%,transparent 75%)}
.signup-copy{display:grid;gap:24px;max-width:36em}.signup-copy>p:not(.eyebrow){color:var(--c-ink-2);font-size:var(--t-lead)}
.signup-form{display:grid;gap:18px;width:100%;max-width:560px;padding:clamp(24px,3vw,40px);border:1px solid rgba(242,239,233,.12);border-radius:16px;background:rgba(15,15,18,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.signup-form>label:first-child{color:var(--c-muted);font:500 var(--t-meta)/1.3 var(--f-ui);letter-spacing:.16em;text-transform:uppercase}
.email-row{display:flex;gap:8px;padding:6px;border:1px solid var(--c-line-2);border-radius:var(--r-pill);background:var(--c-bg);transition:border-color var(--dur-short) var(--ease-out)}
.email-row:focus-within{border-color:var(--c-ink)}
.email-row input{flex:1 1 0;width:0;min-width:0;min-height:44px;padding:0 16px;border:0;background:transparent;font-size:1rem;outline:none}
.email-row input::placeholder{color:var(--c-faint)}
.email-row .btn{min-height:46px;padding-left:20px}.email-row .btn>i{width:36px;height:36px}
.consent{display:flex;align-items:flex-start;gap:12px;color:var(--c-muted);font-size:var(--t-small);line-height:1.5;cursor:pointer}
.consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--c-signal)}
.consent a{color:var(--c-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--c-line-2)}
.form-status{min-height:1.5em;color:var(--c-muted);font-size:var(--t-small)}
.form-status[data-state="success"]{color:#8fd6a8}.form-status[data-state="error"]{color:var(--c-accent)}.form-status[data-state="loading"],.form-status[data-state="preview"]{color:var(--c-ink-2)}

/* Footer */
.site-footer{padding:clamp(72px,9vw,128px) var(--gutter) 28px;border-top:1px solid var(--c-line);background:var(--c-bg)}
.site-footer>*{max-width:var(--maxw);margin-inline:auto}
.footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:56px}
.footer-claim{display:grid;align-content:start;gap:24px}.footer-claim .btn{justify-self:start}
.claim{font:400 clamp(3rem,6.4vw,6.2rem)/.95 var(--f-display);letter-spacing:-.02em}
.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.footer-cols>div{display:grid;align-content:start;gap:4px}
.footer-cols .eyebrow{margin-bottom:12px}
.footer-cols a{display:flex;align-items:center;min-height:36px;color:var(--c-ink-2);font-size:var(--t-small);white-space:nowrap;transition:color var(--dur-short)}
.footer-cols a:hover{color:var(--c-accent)}
.footer-cols p{margin-top:10px;color:var(--c-muted);font-size:var(--t-small)}
.footer-wordmark{margin-top:clamp(72px,9vw,128px);margin-bottom:28px;-webkit-mask:linear-gradient(180deg,#000 10%,rgba(0,0,0,.08));mask:linear-gradient(180deg,#000 10%,rgba(0,0,0,.08))}
.footer-wordmark img{width:100%;height:auto;opacity:.14}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 28px;padding-top:24px;border-top:1px solid var(--c-line);color:var(--c-muted);font:500 .6875rem/1.5 var(--f-ui);letter-spacing:.12em;text-transform:uppercase}
.footer-bottom nav{display:flex;gap:22px}.footer-bottom a:hover{color:var(--c-ink)}

/* Article pages */
.article-hero{display:grid;gap:26px;padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(48px,5vw,72px);border-bottom:1px solid var(--c-line);background:radial-gradient(ellipse 50% 90% at 88% 0%,rgba(255,59,47,.12),rgba(11,11,13,0) 70%)}
.article-hero>*{width:100%}
.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:var(--c-muted);font-size:var(--t-small)}.breadcrumb a{color:var(--c-ink-2)}.breadcrumb a:hover{color:var(--c-accent)}
.article-hero h1{max-width:13em;font-size:clamp(2.8rem,6.2vw,6rem);line-height:.96;letter-spacing:-.022em}
.article-lead{max-width:36em;color:var(--c-ink-2);font-size:var(--t-lead);line-height:1.55}
.byline{color:var(--c-muted);font-size:var(--t-small)}.byline a{color:var(--c-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--c-line-2)}
.article-layout{display:grid;grid-template-columns:260px minmax(0,720px);justify-content:center;gap:clamp(40px,7vw,120px);padding-top:clamp(56px,6vw,96px)}
.article-layout>*{margin:0}
.toc{position:sticky;top:calc(var(--header-h) + 32px);align-self:start;display:grid;gap:2px;max-height:calc(100vh - var(--header-h) - 64px);overflow-y:auto}
.toc .eyebrow{margin-bottom:14px}
.toc a:not(.btn){display:grid;grid-template-columns:28px 1fr;gap:8px;padding:9px 0 9px 14px;border-left:1px solid var(--c-line);color:var(--c-muted);font-size:var(--t-small);line-height:1.4;transition:color var(--dur-short),border-color var(--dur-short)}
.toc a span{color:var(--c-faint);font-variant-numeric:tabular-nums}
.toc a:not(.btn):hover,.toc a[aria-current="true"]{color:var(--c-ink);border-left-color:var(--c-signal)}
.toc .btn{margin-top:24px;justify-self:start}
.toc-letters a:not(.btn){grid-template-columns:1fr}
.prose>section{margin-bottom:clamp(48px,5vw,72px)}
.prose h2{margin-bottom:20px;font-size:clamp(2rem,3vw,2.6rem);line-height:1.06}
.prose h2 .sec-num,.glossary .sec-num{display:block;margin-bottom:14px;color:var(--c-accent);font:500 var(--t-meta)/1 var(--f-ui);letter-spacing:.16em}
.prose p{color:var(--c-ink-2);line-height:1.75}.prose p+p{margin-top:1.1em}
.prose p a{color:var(--c-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--c-accent)}
.answer{position:relative;display:grid;gap:14px;padding:30px 32px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface)}
.answer::before{content:"";position:absolute;left:-1px;top:24px;bottom:24px;width:2px;background:var(--c-signal);box-shadow:0 0 14px var(--c-glow)}
.answer h2,.answer h3{margin:0;font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.1}
.answer p{color:var(--c-ink)}
.facts h2{margin-bottom:18px}
.facts ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-line);overflow:hidden}
.facts li{position:relative;padding:20px 20px 20px 44px;background:var(--c-bg);color:var(--c-ink-2);font-size:var(--t-small);line-height:1.55}
.facts li::before{content:"";position:absolute;left:20px;top:28px;width:12px;height:1px;background:var(--c-signal)}
.article-faq details p{padding-right:0}
.article-faq summary{font-size:1.3rem}
.sources ol{display:grid;gap:10px;margin:16px 0 18px;padding-left:1.4em;color:var(--c-muted);font-size:var(--t-small)}
.sources ol a{color:var(--c-ink-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--c-line-2);overflow-wrap:anywhere}
.sources ol a:hover{color:var(--c-accent)}
.sources>p{font-size:var(--t-small);color:var(--c-muted)}
.article-next{display:grid;gap:4px;padding-top:28px;border-top:1px solid var(--c-line)}
.article-next .eyebrow{margin-bottom:10px}
.article-next a{display:flex;justify-content:space-between;align-items:center;min-height:56px;border-bottom:1px solid var(--c-line);font:400 1.5rem/1.2 var(--f-display);transition:color var(--dur-short)}
.article-next a:hover{color:var(--c-accent)}

/* Glossary & calculator */
.glossary{margin:0}
.term{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:12px 40px;padding:28px 0;border-top:1px solid var(--c-line);scroll-margin-top:calc(var(--header-h) + 32px);transition:background-color var(--dur-long)}
.term:target{background:linear-gradient(90deg,rgba(255,59,47,.08),rgba(255,59,47,0))}
.term dt{font-size:1.55rem;line-height:1.15}.term dd{margin:0;color:var(--c-ink-2);line-height:1.7}
.calculator{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px clamp(40px,6vw,96px);align-items:center;border-bottom:1px solid var(--c-line)}
.calc-copy{display:grid;gap:24px}.calc-copy h2{font-size:var(--t-h2);line-height:.98}
.calc-note{color:var(--c-muted);font-size:var(--t-small)}
.calc{display:grid;gap:22px;padding:clamp(24px,3vw,40px);border:1px solid var(--c-line-2);border-radius:16px;background:radial-gradient(ellipse 70% 60% at 100% 100%,rgba(255,59,47,.16),rgba(20,20,23,0)),var(--c-surface)}
.calc label{display:grid;gap:10px}
.calc label>span:first-child{color:var(--c-muted);font:500 var(--t-meta)/1.3 var(--f-ui);letter-spacing:.14em;text-transform:uppercase}
.calc-field{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--c-line-2);transition:border-color var(--dur-short)}
.calc-field:focus-within{border-color:var(--c-ink)}
.calc-field input{flex:1;min-width:0;min-height:56px;border:0;background:transparent;font:400 2.4rem/1 var(--f-display);font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield;appearance:textfield}
.calc-field input::-webkit-inner-spin-button,.calc-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.calc-field em,.calc-out em{color:var(--c-muted);font:500 var(--t-small)/1 var(--f-ui)}
.calc-out{display:flex;align-items:baseline;gap:14px;padding-top:8px}
.calc-out span{color:var(--c-accent);font:400 clamp(3.6rem,7vw,5.6rem)/1 var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.calc-formula{color:var(--c-muted);font-size:var(--t-small);font-variant-numeric:tabular-nums}

/* Responsive */
@media (max-width:1100px){
 .nav{display:none}.site-header{grid-template-columns:auto 1fr auto auto;gap:16px}.menu-toggle{display:block;grid-column:4}.header-cta{grid-column:3}
 .guide-row{grid-template-columns:120px minmax(0,1fr) 44px}.guide-text{display:none}
 .footer-top{grid-template-columns:minmax(0,1fr)}
 .article-layout{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto}
 .toc{position:static;max-height:none;padding-bottom:8px;border-bottom:1px solid var(--c-line)}
 .toc-letters{display:none}
}
@media (max-width:860px){
 :root{--header-h:64px}
 .ticker-extra{display:none}
 .hero{min-height:0;align-content:start;padding-top:0}
 .hero-visual{position:relative;inset:auto;height:min(62svh,560px);margin:0 calc(var(--gutter) * -1)}
 .hero-visual::after{background:linear-gradient(0deg,var(--c-bg) 2%,rgba(11,11,13,0) 40%),linear-gradient(180deg,rgba(11,11,13,.75) 0%,rgba(11,11,13,0) 22%)}
 .hero .gl-poster{object-position:50% 50%}
 .hero-inner{margin-top:-56px;gap:22px;padding-bottom:40px}
 .hero-status{grid-template-columns:minmax(0,1fr)}.hero-status div,.hero-status div+div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-left:0;border-bottom:1px solid var(--c-line)}
 .hero-status dd{margin:0;font-size:1.15rem}
 .section-head{grid-template-columns:minmax(0,1fr)}.section-head>p{justify-self:start}
 .rituals{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82vw,360px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--pad-x) * -1);padding:4px var(--pad-x) 8px;scroll-padding-inline:var(--pad-x)}
 .rituals::-webkit-scrollbar{display:none}
 .ritual{scroll-snap-align:start}.ritual:hover{transform:none}
 .carousel-nav{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin:-24px 0 20px}
 .carousel-nav>div{display:flex;gap:8px}
 .carousel-nav button{width:44px;height:44px;border:1px solid var(--c-line-2);border-radius:50%;background:var(--c-surface);cursor:pointer;transition:opacity var(--dur-micro),background-color var(--dur-short)}
 .carousel-nav button:disabled{opacity:.3;cursor:default}
 .carousel-count{color:var(--c-muted);font:500 var(--t-meta)/1 var(--f-ui);letter-spacing:.12em;font-variant-numeric:tabular-nums}.carousel-count b{color:var(--c-accent);font-weight:500}
 .carousel-progress{grid-column:1/-1;display:block;height:1px;background:var(--c-line)}.carousel-progress i{display:block;height:100%;background:var(--c-signal);transform:scaleX(var(--p,.333));transform-origin:left;transition:transform var(--dur-short) var(--ease-out)}
 .pillars{grid-template-columns:minmax(0,1fr)}
 .editorial{grid-template-columns:minmax(0,1fr)}.editorial-image{min-height:0;aspect-ratio:4/5}
 .faq{grid-template-columns:minmax(0,1fr)}.faq-head{position:static}
 .signup{grid-template-columns:minmax(0,1fr)}
 .signup-light{background:radial-gradient(ellipse 80% 40% at 60% 78%,rgba(255,59,47,.3),rgba(122,31,43,.12) 45%,rgba(11,11,13,0) 72%),var(--c-bg)}
 .signup-light::after{-webkit-mask:radial-gradient(ellipse 80% 45% at 60% 78%,#000 20%,transparent 75%);mask:radial-gradient(ellipse 80% 45% at 60% 78%,#000 20%,transparent 75%)}
 .footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
 .facts ul{grid-template-columns:minmax(0,1fr)}
 .term{grid-template-columns:minmax(0,1fr)}
 .calculator{grid-template-columns:minmax(0,1fr)}
 .spectrum figcaption .spectrum-note{margin-left:0}
}
@media (max-width:560px){
 .header-cta{display:none}
 .guide-row{grid-template-columns:minmax(0,1fr) 44px;gap:10px 16px}.guide-tag{grid-column:1/-1}.guide-row b{grid-row:2;grid-column:2}
 .footer-cols{grid-template-columns:minmax(0,1fr)}
 .footer-bottom{flex-direction:column}
 .email-row{flex-wrap:wrap;border-radius:18px}.email-row input{flex-basis:100%;width:100%;min-height:48px}.email-row .btn{width:100%}
 .answer{padding:24px 22px}
 details p{padding-right:0}
 .ticker{gap:18px}.ticker span+span::before{margin-right:18px}
}
@media (max-width:380px){.ticker span:last-child{display:none}.hero-actions .btn{width:100%}}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
 .spectrum-cursor{animation:none;transform:translateX(560px)}
}
@media (forced-colors:active){.btn,.email-row,.ritual{border:1px solid CanvasText}.dot{forced-color-adjust:none}}
/* Page-level refinements */
.page-home .footer-claim .btn{display:none}
@media (max-width:1100px){.ticker-extra{display:none}.guide-row{grid-template-columns:150px minmax(0,1fr) 44px}}
.prose h2.eyebrow{margin-bottom:18px;font:500 var(--t-meta)/1.3 var(--f-ui);letter-spacing:.16em}

/* ==========================================================================
   Cinematic home · one fixed WebGL scene behind the page, scroll-driven camera.
   ========================================================================== */
.scene-layer{position:fixed;inset:0 0 auto;height:100lvh;z-index:0;pointer-events:none;background:var(--c-bg);overflow:hidden}
.scene-layer .gl-poster{opacity:0}.no-gl .scene-layer .gl-poster{opacity:1}
.scene-layer .gl-canvas{opacity:1}
.scene-layer .gl-label{opacity:0;transition:none}
.scene-grain{position:absolute;inset:-50%;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22180%22 height=%22180%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.9%22 numOctaves=%222%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23n)%22/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.page-home .ticker{position:relative;z-index:41;background:rgba(11,11,13,.7)}
.page-home main,.page-home .site-footer{position:relative;z-index:1}
.page-home .manifesto,.page-home .standard,.page-home .editorial,.page-home .knowledge,.page-home .faq{position:relative;z-index:1;background:var(--c-bg)}
.page-home .standard{background:var(--c-bg-2)}

/* Hero */
.page-home .hero{min-height:calc(100svh - 36px - var(--header-h));margin-top:0;padding-top:48px;background:none;overflow:visible}
.page-home .hero::before{content:"";position:absolute;inset:calc(var(--header-h) * -1 - 36px) 0 0;z-index:-1;background:linear-gradient(90deg,rgba(11,11,13,.86) 0%,rgba(11,11,13,.45) 34%,rgba(11,11,13,0) 58%),linear-gradient(0deg,rgba(11,11,13,.92) 0%,rgba(11,11,13,0) 30%);pointer-events:none}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.hero h1 .line>span{display:block}
.js .hero h1 .line>span{animation:lineUp 1.3s var(--ease-out) .15s both}.js .hero h1 .line:nth-child(2)>span{animation-delay:.27s}
.js .hero-inner>:not(h1),.js .page-home .hero-status,.js .scroll-cue{animation:fadeUp 1.1s var(--ease-out) .5s both}
.js .hero-inner>.hero-lead{animation-delay:.6s}.js .hero-inner>.hero-actions{animation-delay:.7s}.js .page-home .hero-status{animation-delay:.85s}
.intro-on .hero h1 .line>span{animation-delay:1.55s}.intro-on .hero h1 .line:nth-child(2)>span{animation-delay:1.67s}
.intro-on .hero-inner>:not(h1){animation-delay:1.85s}.intro-on .hero-inner>.hero-lead{animation-delay:1.95s}.intro-on .hero-inner>.hero-actions{animation-delay:2.05s}.intro-on .page-home .hero-status,.intro-on .scroll-cue{animation-delay:2.2s}
@keyframes lineUp{from{transform:translateY(108%)}to{transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.scroll-cue{position:absolute;right:var(--gutter);bottom:clamp(120px,14vh,170px);width:1px;height:72px;background:var(--c-line-2);overflow:hidden}
.scroll-cue i{display:block;width:100%;height:28px;background:var(--c-signal);box-shadow:0 0 10px var(--c-glow);animation:cue 2.4s var(--ease) infinite}
@keyframes cue{from{transform:translateY(-100%)}to{transform:translateY(260%)}}

/* Intro (first visit per session, CSS-only so it never waits for scripts) */
.intro{display:none}
.intro-on .intro{display:block;position:fixed;inset:0;z-index:100;pointer-events:none;animation:introOff .01s linear 2.35s forwards}
.intro-shutter{position:absolute;left:0;right:0;height:50.5%;background:var(--c-bg);animation:shutA 1.05s cubic-bezier(.77,0,.18,1) 1.25s forwards}
.intro-shutter-a{top:0}.intro-shutter-b{bottom:0;animation-name:shutB}
.intro-core{position:absolute;inset:0;z-index:2;display:grid;place-items:center;align-content:center;gap:26px;animation:coreOut .55s var(--ease) 1.1s forwards}
.intro-line{display:block;width:min(60vw,560px);height:1px;background:var(--c-signal);box-shadow:0 0 22px var(--c-glow),0 0 3px var(--c-signal);transform:scaleX(0);animation:lineGrow .95s cubic-bezier(.77,0,.18,1) .05s forwards}
.intro-logo{width:min(52vw,320px);height:auto;clip-path:inset(0 50% 0 50%);animation:logoIn 1s cubic-bezier(.77,0,.18,1) .3s forwards}
.intro-meta{display:flex;gap:28px;color:var(--c-muted);font:500 .6875rem/1 var(--f-ui);letter-spacing:.2em;opacity:0;animation:fadeIn .6s var(--ease) .6s forwards}
@keyframes lineGrow{to{transform:scaleX(1)}}@keyframes logoIn{to{clip-path:inset(0 0 0 0)}}@keyframes fadeIn{to{opacity:1}}
@keyframes coreOut{to{opacity:0;transform:scale(1.05)}}@keyframes shutA{to{transform:translateY(-100%)}}@keyframes shutB{to{transform:translateY(100%)}}@keyframes introOff{to{visibility:hidden}}

/* Manifesto */
.manifesto-sign{display:flex;align-items:center;gap:12px;color:var(--c-muted);font:500 var(--t-meta)/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase}

/* Pinned sequences (native sticky; no scroll hijacking) */
.seq{position:relative;z-index:1}
.js .seq-rituals{height:430svh}.js .seq-spectrum{height:300svh}
.seq-sticky{position:relative;display:grid;gap:24px;padding:calc(var(--header-h) + 40px) var(--gutter) 40px;isolation:isolate}
.js .seq-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.seq-sticky::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,11,13,.84) 0%,rgba(11,11,13,.35) 40%,rgba(11,11,13,0) 62%),linear-gradient(0deg,rgba(11,11,13,.75) 0%,rgba(11,11,13,0) 28%),linear-gradient(180deg,rgba(11,11,13,.65) 0%,rgba(11,11,13,0) 24%);pointer-events:none}
.seq-rituals .seq-sticky{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto}
.seq-head{grid-column:1;display:grid;gap:16px}.seq-head h2{max-width:14em;font-size:clamp(1.9rem,3.2vw,3.1rem);line-height:1.02}
.seq-rail{grid-column:2;grid-row:1;align-self:start;display:flex;gap:6px;margin:0;padding:0;list-style:none}
.seq-rail li{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--c-line-2);border-radius:var(--r-pill);background:rgba(11,11,13,.55);color:var(--c-muted);font:500 var(--t-meta)/1 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;transition:border-color .6s var(--ease-out),color .6s var(--ease-out),background-color .6s}
.seq-rail li b{color:var(--c-faint);font-weight:500;transition:color .6s}
.seq-rail li.is-on{border-color:rgba(255,59,47,.55);color:var(--c-ink);background:rgba(255,59,47,.08)}.seq-rail li.is-on b{color:var(--c-accent)}
.seq-panels{grid-column:1/-1;grid-row:2;position:relative;min-height:300px}
.seq-panel{display:grid;gap:18px;width:min(540px,100%)}
.js .seq-panel{position:absolute;left:0;top:50%;opacity:0;visibility:hidden;transform:translateY(calc(-50% + 36px));transition:opacity .6s var(--ease-out),transform .8s var(--ease-out),visibility 0s linear .8s}
.js .seq-panel.is-active{opacity:1;visibility:visible;transform:translateY(-50%);transition:opacity .9s var(--ease-out) .12s,transform 1.1s var(--ease-out) .12s,visibility 0s}
.seq-index{font:400 clamp(5.5rem,12vw,10.5rem)/.8 var(--f-display);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(242,239,233,.34)}
.seq-panel h3{font-size:clamp(2.5rem,5vw,4.8rem);line-height:.98;letter-spacing:-.02em}
.seq-status{display:flex;align-items:center;gap:10px;color:var(--c-ink-2);font:500 var(--t-meta)/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase}
.seq-panel .link{justify-self:start}
.seq-foot{grid-column:1/-1;display:grid;gap:14px}
.seq-bar{display:block;height:1px;background:var(--c-line-2)}.seq-bar i{display:block;height:100%;background:var(--c-signal);box-shadow:0 0 10px var(--c-glow);transform-origin:left;transform:scaleX(0)}
.seq-foot p{display:flex;align-items:center;gap:10px;color:var(--c-muted);font-size:var(--t-small)}

.seq-spectrum .seq-sticky{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}
.spec-copy{grid-column:1;display:grid;gap:18px;max-width:30em}.spec-copy h2{font-size:clamp(2.3rem,4.2vw,4.1rem);line-height:.98}.spec-copy>p:not(.eyebrow){color:var(--c-ink-2)}.spec-copy .link{justify-self:start}
.spec-readout{grid-column:1;grid-row:2;align-self:end;display:grid;gap:12px}
.spec-readout p:first-child{display:flex;align-items:baseline;gap:14px}
.spec-readout [data-nm]{font:400 clamp(5rem,13vw,11.5rem)/.82 var(--f-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--c-ink);text-shadow:0 0 calc(60px * var(--nm-vis,1)) rgba(255,59,47,calc(.6 * var(--nm-vis,1)))}
.spec-readout em{color:var(--c-muted);font:500 var(--t-small)/1 var(--f-ui);letter-spacing:.1em}
.spec-band{color:var(--c-accent);font:500 var(--t-meta)/1.3 var(--f-ui);letter-spacing:.16em;text-transform:uppercase}
.spec-ruler{grid-column:1/-1;grid-row:3;position:relative}
.spec-ruler .spectrum{margin:0}.spec-ruler .spectrum-cursor{display:none}
.spec-marker{position:absolute;top:0;left:var(--m,5.9%);width:2px;height:42px;background:var(--c-ink);box-shadow:0 0 14px rgba(242,239,233,.9),0 0 30px var(--c-glow);translate:-50% 0;transition:left .12s linear}

/* Finale */
.signup-scene{min-height:100svh;background:none;border-top:0}
.signup-scene .signup-light{background:linear-gradient(90deg,rgba(11,11,13,.9) 0%,rgba(11,11,13,.45) 45%,rgba(11,11,13,.1) 75%),linear-gradient(0deg,rgba(11,11,13,.8),rgba(11,11,13,0) 30%)}
.signup-scene .signup-light::after{display:none}
.signup-scene .signup-form{background:rgba(11,11,13,.55)}

/* Desktop cursor light & magnetic buttons */
.cursor-light{position:fixed;left:0;top:0;z-index:2;width:620px;height:620px;margin:-310px 0 0 -310px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,59,47,.11),rgba(255,59,47,0));mix-blend-mode:screen;pointer-events:none;opacity:0;transition:opacity .8s var(--ease-out)}
.has-cursor .cursor-light{opacity:1}
[data-magnetic]{will-change:transform}

@media (max-width:860px){
 .page-home .hero{min-height:calc(100svh - 36px - var(--header-h));align-content:end;padding-top:0}
 .page-home .hero::before{background:linear-gradient(0deg,rgba(11,11,13,.97) 0%,rgba(11,11,13,.72) 34%,rgba(11,11,13,0) 58%),linear-gradient(180deg,rgba(11,11,13,.7),rgba(11,11,13,0) 20%)}
 .page-home .hero-inner{margin-top:0;padding-bottom:28px}
 .page-home .hero h1{font-size:clamp(2.9rem,13vw,4.4rem)}
 .scroll-cue{display:none}
 .seq-sticky{padding:calc(var(--header-h) + 20px) var(--gutter) 24px}
 .seq-sticky::before{background:linear-gradient(0deg,rgba(11,11,13,.96) 0%,rgba(11,11,13,.6) 36%,rgba(11,11,13,0) 56%),linear-gradient(180deg,rgba(11,11,13,.82) 0%,rgba(11,11,13,0) 26%)}
 .seq-rituals .seq-sticky{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px}
 .seq-rail{grid-column:1;grid-row:2}.seq-rail li{padding:8px 11px;gap:6px;font-size:.625rem}
 .seq-panels{grid-row:3;min-height:0}
 .js .seq-panel{top:auto;bottom:0;transform:translateY(30px)}.js .seq-panel.is-active{transform:none}
 .seq-index{font-size:4.6rem}.seq-panel{gap:14px}.seq-panel h3{font-size:clamp(2.1rem,9.5vw,2.9rem)}
 .seq-foot{grid-row:4}
 .seq-spectrum .seq-sticky{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}
 .spec-copy{gap:14px}.spec-copy>p:not(.eyebrow){font-size:var(--t-small)}.spec-copy h2{font-size:clamp(2.1rem,9vw,2.8rem)}
 .spec-readout{grid-row:3}.spec-readout [data-nm]{font-size:clamp(4.6rem,24vw,6.5rem)}
 .spec-ruler{grid-row:4}.spec-ruler figcaption .spectrum-note{display:none}
 .signup-scene .signup-light{background:linear-gradient(0deg,rgba(11,11,13,.94) 0%,rgba(11,11,13,.6) 50%,rgba(11,11,13,.35))}
}
@media (max-width:380px){.seq-rail li span{display:none}}
@media (prefers-reduced-motion:reduce){.scene-grain{animation:none}.intro{display:none!important}}
/* Mobile hero status: one compact row; no blur over live WebGL */
.page-home .site-header.is-solid{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(11,11,13,.88)}
@media (max-width:860px){
 .page-home .hero-status{grid-template-columns:repeat(3,minmax(0,1fr))}
 .page-home .hero-status div,.page-home .hero-status div+div{display:grid;gap:4px;padding:12px 8px 0 0;border-bottom:0;border-left:0}
 .page-home .hero-status dt{font-size:.5625rem}.page-home .hero-status dd{font-size:.95rem}
 .page-home .hero-actions{gap:10px 20px}
}
@media (max-width:860px){.spec-copy .link,.spectrum-scale em{display:none}.spec-copy>p:not(.eyebrow){max-width:28em;font-size:.8125rem;line-height:1.55}.seq-spectrum .seq-sticky{gap:12px}}
/* Overlap guard (v2.2): panels stack in one grid cell and never float over headings;
   display sizes follow viewport height as well as width, so short laptop screens fit. */
.seq-panels{display:grid;min-height:0;align-self:end}
.js .seq-panel{position:relative;left:auto;top:auto;bottom:auto;grid-area:1/1;align-self:end;transform:translateY(30px)}
.js .seq-panel.is-active{transform:none}
.seq-rituals .seq-sticky{grid-template-rows:auto minmax(min-content,1fr) auto}
.seq-index{font-size:min(clamp(5.5rem,12vw,10.5rem),16vh)}
.seq-panel h3{font-size:min(clamp(2.5rem,5vw,4.8rem),8vh)}
.seq-spectrum .seq-sticky{grid-template-rows:auto minmax(min-content,1fr) auto;align-content:space-between}
.spec-copy h2{font-size:min(clamp(2.3rem,4.2vw,4.1rem),7.5vh)}
.spec-copy{gap:min(18px,2vh)}
.spec-readout{align-self:end}
.spec-readout [data-nm]{font-size:min(clamp(5rem,13vw,11.5rem),20vh)}
@media (max-height:760px) and (min-width:861px){.spec-copy>p:not(.eyebrow){font-size:var(--t-small)}.seq-sticky{padding-top:calc(var(--header-h) + 24px);padding-bottom:24px}.seq-rituals .seq-sticky,.seq-spectrum .seq-sticky{gap:14px}}
@media (max-width:860px){
 .seq-rituals .seq-sticky{grid-template-rows:auto auto minmax(min-content,1fr) auto}
 .seq-spectrum .seq-sticky{grid-template-rows:auto minmax(min-content,1fr) auto auto}
 .seq-index{font-size:min(4.6rem,11vh)}.seq-panel h3{font-size:min(clamp(2.1rem,9.5vw,2.9rem),6.2vh)}
 .spec-readout [data-nm]{font-size:min(clamp(4.6rem,24vw,6.5rem),13vh)}
}
/* v2.3 · reveal without blink; faster ritual sequence with lifting glass */
.rv{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.js .seq-rituals{height:340svh}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
