@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap");
:root {
  --ink: #080b10;
  --navy: #071b36;
  --blue: #123f86;
  --red: #e52f3f;
  --red-deep: #9b1024;
  --paper: #f1ecdf;
  --white: #faf8f2;
  --line-light: rgba(255, 255, 255, .2);
  --line-dark: rgba(8, 11, 16, .18);
  --sans: "Manrope", Arial, sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0; color: var(--ink); background: var(--ink); font-family: var(--sans);
  font-size: 16px; -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
body::before {
  content: ""; position: fixed; z-index: 999; inset: 0; pointer-events: none; opacity: .035;
  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='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }
svg { width: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.55; }
::selection { color: white; background: var(--red); }
:focus-visible { outline: 3px solid #ff7b85; outline-offset: 4px; }

.scroll-progress {
  position: fixed; z-index: 1000; top: 0; left: 0; width: 100%; height: 3px;
  transform-origin: left; background: var(--red); will-change: transform;
}
.site-nav {
  position: absolute; z-index: 50; top: 0; left: 0; width: 100%; min-height: 96px;
  padding: 0 clamp(24px, 4.5vw, 76px); display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; color: white; border-bottom: 1px solid var(--line-light);
}
.brand { display: inline-flex; align-items: center; gap: 11px; justify-self: start; }
.brand > span { color: var(--red); font: italic 62px/.72 var(--serif); letter-spacing: -.08em; }
.brand div { display: flex; flex-direction: column; gap: 1px; }
.brand b { font-size: 12px; letter-spacing: .2em; }
.brand small { color: rgba(255,255,255,.48); font-size: 7px; letter-spacing: .25em; }
.site-nav nav { display: flex; gap: clamp(22px,3vw,52px); color: rgba(255,255,255,.62); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-nav nav a { transition: color .25s; }
.site-nav nav a:hover { color: white; }
.nav-cta {
  justify-self: end; min-height: 46px; padding: 0 18px; display: inline-flex; align-items: center;
  gap: 20px; border: 1px solid rgba(255,255,255,.45); font-size: 11px; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase; cursor: pointer; background: transparent;
  transition: color .25s, background .25s;
}
.nav-cta:hover { color: var(--ink); background: white; }

.hero {
  position: relative; min-height: 100svh; height: max(800px,100svh); overflow: hidden;
  color: white; background: var(--ink);
}
.hero::after {
  content: ""; position: absolute; z-index: 3; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size: 8vw 8vw; pointer-events: none;
}
.hero-art { position: absolute; inset: 0 0 0 auto; width: 62%; overflow: hidden; }
.hero-art img {
  width: 100%; height: 100%; object-fit: cover; object-position: 64% 48%;
  filter: contrast(1.08) saturate(1.05);
  animation: heroScale 1.8s cubic-bezier(.2,.8,.2,1) both, heroRotate 64s linear infinite;
}
.hero-art-wash {
  position: absolute; inset: 0;
  background: linear-gradient(90deg,var(--ink) 0%,rgba(8,11,16,.94) 14%,rgba(8,11,16,.35) 42%,rgba(8,11,16,.08) 76%,rgba(8,11,16,.38) 100%),
              linear-gradient(0deg,rgba(8,11,16,.82),transparent 40%);
}
.hero-index {
  position: absolute; z-index: 2; top: 126px; right: clamp(24px,4.5vw,76px);
  color: rgba(255,255,255,.54); font-size: 9px; font-weight: 800; letter-spacing: .2em;
}
.hero-ghost {
  position: absolute; z-index: 1; right: -4vw; top: 49%; color: transparent;
  font: 500 clamp(130px,19vw,300px)/.72 var(--serif); letter-spacing: -.065em;
  -webkit-text-stroke: 1px rgba(255,255,255,.12); transform: translateY(-50%) rotate(-90deg);
  transform-origin: center; white-space: nowrap; pointer-events: none;
}
.hero-copy {
  position: absolute; z-index: 5; top: 50%; left: clamp(24px,4.5vw,76px);
  width: min(68vw,940px); transform: translateY(-47%);
}
.kicker {
  margin: 0 0 30px; display: flex; align-items: center; gap: 13px; color: rgba(255,255,255,.62);
  font-size: 9px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;
}
.kicker i { display: block; width: 42px; height: 1px; background: var(--red); }
.kicker.dark { color: rgba(8,11,16,.56); }
.hero h1 {
  margin: 0; max-width: 920px; font: 400 clamp(78px,11vw,168px)/.72 var(--serif);
  letter-spacing: -.065em; text-wrap: balance; animation: rise .9s .1s both;
}
.hero h1 span { display: block; margin-left: 12vw; color: #f24a59; font-style: italic; white-space: nowrap; }
.hero-deck {
  width: min(480px,48vw); margin: clamp(34px,5vh,60px) 0 0; color: rgba(255,255,255,.68);
  font-size: clamp(14px,1.15vw,18px); line-height: 1.75;
}
.hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 34px; }
.magnetic-cta {
  width: 164px; height: 164px; padding: 28px; display: flex; align-items: center; justify-content: space-between;
  border: 0; border-radius: 50%; color: white; background: var(--red); cursor: pointer;
  font-size: 12px; font-weight: 800; line-height: 1.4; text-align: left;
  transition: transform .35s cubic-bezier(.2,.8,.2,1),background .3s;
}
.magnetic-cta svg { align-self: flex-start; width: 22px; }
.magnetic-cta:hover { transform: rotate(-6deg) scale(1.05); background: #fa3d4d; }
.discover { display: inline-flex; align-items: center; gap: 18px; color: rgba(255,255,255,.6); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.discover svg { width: 18px; transform: rotate(90deg); }
.hero-facts {
  position: absolute; z-index: 6; left: clamp(24px,4.5vw,76px); bottom: 34px;
  display: flex; gap: clamp(20px,3vw,52px); color: rgba(255,255,255,.5); font-size: 9px;
  font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.hero-facts span { display: flex; align-items: center; gap: 9px; }
.hero-facts b { color: var(--red); font: italic 18px var(--serif); }
.hero-caption {
  position: absolute; z-index: 6; right: clamp(24px,4.5vw,76px); bottom: 34px;
  max-width: 270px; color: rgba(255,255,255,.45); font: italic 16px/1.35 var(--serif); text-align: right;
}

.manifesto {
  min-height: 95vh; padding: clamp(90px,12vw,190px) clamp(24px,6vw,110px);
  display: grid; grid-template-columns: 130px 1fr; gap: clamp(30px,7vw,110px); background: var(--paper);
}
.manifesto-side { display: flex; flex-direction: column; justify-content: space-between; color: rgba(8,11,16,.4); }
.manifesto-side span { font-size: 8px; font-weight: 800; letter-spacing: .2em; writing-mode: vertical-rl; transform: rotate(180deg); }
.manifesto-side i { color: var(--red); font: italic 45px var(--serif); }
.manifesto-copy { align-self: center; }
.manifesto-copy h2 {
  margin: 0; font: 400 clamp(68px,10vw,150px)/.84 var(--serif); letter-spacing: -.055em;
}
.manifesto-copy h2 em { color: var(--red); font-weight: 400; }
.manifesto-copy h2 strong { color: var(--blue); font-weight: 400; font-style: italic; }
.manifesto-bottom {
  margin: 80px 0 0 32%; display: grid; grid-template-columns: 1fr 1fr; gap: 50px;
  color: rgba(8,11,16,.62); font-size: 14px; line-height: 1.75;
}
.manifesto-bottom p { margin: 0; border-top: 1px solid var(--line-dark); padding-top: 20px; }

.system {
  padding: clamp(90px,10vw,160px) clamp(24px,5vw,86px); display: grid;
  grid-template-columns: .72fr 1.28fr; gap: clamp(60px,9vw,150px); color: white; background: var(--navy);
}
.system-intro { position: sticky; top: 120px; align-self: start; }
.system-intro h2 {
  margin: 0; font: 400 clamp(64px,7.8vw,120px)/.82 var(--serif); letter-spacing: -.055em;
}
.system-intro h2 span { color: var(--red); font-style: italic; }
.system-intro > p:not(.kicker) {
  width: min(440px,90%); margin: 42px 0 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.8;
}
.system-signal {
  position: relative; width: min(410px,88vw); aspect-ratio: 1; margin: 58px 0 0 -3%;
  display: grid; place-items: center; border-radius: 50%;
  background: radial-gradient(circle,rgba(235,43,65,.2),transparent 48%),
              repeating-radial-gradient(circle,transparent 0 49px,rgba(255,255,255,.045) 50px 51px);
}
.system-signal::before,.system-signal::after {
  content: ""; position: absolute; left: 50%; top: 50%; background: var(--red); transform: translate(-50%,-50%);
}
.system-signal::before { width: 82%; height: 1px; }
.system-signal::after { width: 1px; height: 82%; }
.signal-orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); }
.signal-orbit-a { inset: 8%; border-left-color: var(--red); border-bottom-color: var(--red); animation: orbitSpin 14s linear infinite; }
.signal-orbit-b { inset: 25%; border-style: dashed; animation: orbitSpin 10s linear infinite reverse; }
.system-signal strong { position: relative; z-index: 2; color: var(--paper); font: italic 400 150px/.7 var(--serif); text-shadow: 10px 14px 0 rgba(235,43,65,.72); }
.system-signal > span { position: absolute; z-index: 3; color: rgba(255,255,255,.64); font-size: 7px; font-weight: 800; letter-spacing: .22em; }
.system-signal > span:nth-of-type(1) { top: 2%; left: 50%; transform: translateX(-50%); }
.system-signal > span:nth-of-type(2) { top: 50%; right: -2%; transform: rotate(90deg) translateY(-50%); }
.system-signal > span:nth-of-type(3) { bottom: 2%; left: 50%; transform: translateX(-50%); }
.system-signal > span:nth-of-type(4) { top: 50%; left: -2%; transform: rotate(-90deg) translateY(-50%); }
.system-signal small { position: absolute; right: 6%; bottom: 12%; color: var(--red); font-size: 7px; font-weight: 800; letter-spacing: .16em; }
.format-stage { border-top: 1px solid var(--line-light); }
.format-strip {
  position: relative; min-height: 146px; padding: 28px 10px; display: grid;
  grid-template-columns: 52px 100px minmax(190px,.8fr) 1fr 30px; gap: 20px; align-items: center;
  border-bottom: 1px solid var(--line-light); overflow: hidden;
}
.format-strip::before {
  content: ""; position: absolute; inset: 0; background: var(--red); transform: translateX(-101%);
  transition: transform .48s cubic-bezier(.2,.8,.2,1);
}
.format-strip > * { position: relative; z-index: 1; }
.format-strip:hover::before { transform: translateX(0); }
.strip-no { color: var(--red); font: italic 18px var(--serif); transition: color .3s; }
.strip-verb { color: rgba(255,255,255,.42); font-size: 8px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.format-strip h3 { margin: 0; font: 400 clamp(26px,2.6vw,40px) var(--serif); }
.format-strip p { margin: 0; color: rgba(255,255,255,.54); font-size: 12px; line-height: 1.65; transition: color .3s; }
.strip-arrow { justify-self: end; color: rgba(255,255,255,.45); font-size: 20px; }
.format-strip:hover .strip-no,.format-strip:hover p { color: white; }

.voice { min-height: 100vh; display: grid; grid-template-columns: 1.08fr .92fr; color: white; background: var(--ink); }
.voice-image { position: relative; min-height: 800px; overflow: hidden; }
.voice-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 55%,var(--ink)), linear-gradient(0deg,var(--ink),transparent 28%); }
.voice-image img {
  width: 100%; height: 100%; object-fit: cover; transform-origin: 76% 48%;
  animation: portraitBreath 5.2s cubic-bezier(.45,0,.55,1) infinite;
}
.voice-wave {
  position: absolute; z-index: 2; left: 7%; right: 14%; top: 50%; height: 180px;
  display: flex; align-items: center; gap: 8px; transform: translateY(-50%); opacity: .58;
  animation: voiceCurrent 3.4s ease-in-out infinite;
}
.voice-wave i { width: 1px; height: calc(18px + (var(--wave,1) * 3px)); background: rgba(255,255,255,.5); animation: wave 1.8s ease-in-out infinite alternate; }
.voice-wave i:nth-child(3n) { height: 88px; animation-delay: -.6s; }
.voice-wave i:nth-child(4n) { height: 132px; animation-delay: -1.1s; }
.voice-wave i:nth-child(5n) { height: 52px; animation-delay: -.2s; }
.breath-stream { position: absolute; z-index: 3; left: 8%; right: 15%; top: 49%; height: 210px; pointer-events: none; transform: translateY(-50%); }
.breath-stream i {
  position: absolute; right: 0; top: 50%; width: 34px; height: 72px; opacity: 0;
  border-left: 1px solid rgba(236,56,78,.8); border-radius: 50%;
  filter: drop-shadow(0 0 9px rgba(235,43,65,.52));
  transform: translate(0,-50%) scale(.28); animation: breathTravel 3.8s cubic-bezier(.18,.58,.35,1) infinite;
}
.breath-stream i:nth-child(2) { animation-delay: -.62s; }
.breath-stream i:nth-child(3) { animation-delay: -1.24s; }
.breath-stream i:nth-child(4) { animation-delay: -1.86s; }
.breath-stream i:nth-child(5) { animation-delay: -2.48s; }
.breath-stream i:nth-child(6) { animation-delay: -3.1s; }
.voice-copy { padding: clamp(90px,10vw,160px) clamp(28px,6vw,100px); align-self: center; }
.voice-copy h2 { margin: 0; font: 400 clamp(58px,6.4vw,104px)/.86 var(--serif); letter-spacing: -.05em; }
.voice-lede { margin: 38px 0 0; color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.8; }
.voice-sequence { margin: 52px 0 0; padding: 0; border-top: 1px solid var(--line-light); list-style: none; }
.voice-sequence li { min-height: 100px; display: grid; grid-template-columns: 54px 1fr; gap: 20px; align-items: center; border-bottom: 1px solid var(--line-light); }
.voice-sequence li > span { color: var(--red); font: italic 17px var(--serif); }
.voice-sequence b { font: 400 24px var(--serif); }
.voice-sequence p { margin: 8px 0 0; color: rgba(255,255,255,.48); font-size: 11px; }

.grammar { padding: clamp(90px,11vw,180px) clamp(24px,6vw,110px); background: var(--paper); }
.grammar-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px 110px; align-items: end; }
.grammar-head .kicker { grid-column: 1/-1; }
.grammar-head h2 { margin: 0; font: 400 clamp(70px,8vw,126px)/.82 var(--serif); letter-spacing: -.055em; }
.grammar-head h2 em { color: var(--red); font-weight: 400; }
.grammar-head > p:last-child { margin: 0; color: rgba(8,11,16,.6); font-size: 14px; line-height: 1.8; }
.grammar-object { position: relative; margin-top: 110px; padding: 82px 0 0; border-top: 1px solid var(--line-dark); }
.grammar-axis { position: absolute; top: 18px; left: 0; right: 0; display: flex; justify-content: space-between; color: rgba(8,11,16,.45); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.grammar-step {
  min-height: 128px; padding-left: calc(var(--step) * 7vw); display: grid;
  grid-template-columns: 70px minmax(220px,.55fr) 1fr; gap: 24px; align-items: center;
  border-bottom: 1px solid var(--line-dark); opacity: 0; transform: translateX(-14vw);
  background: linear-gradient(90deg,rgba(235,43,65,.045),transparent 68%);
  transition: opacity .55s ease calc(var(--step) * 90ms),transform .9s cubic-bezier(.16,1,.3,1) calc(var(--step) * 90ms);
}
.grammar-step.is-stacked { opacity: 1; transform: translateX(0); }
.grammar-step span { color: var(--red); font: italic 19px var(--serif); }
.grammar-step h3 { margin: 0; font: 400 clamp(34px,4vw,62px) var(--serif); }
.grammar-step p { width: min(520px,100%); margin: 0; color: rgba(8,11,16,.54); font-size: 12px; line-height: 1.7; }
.grammar-foot { margin-top: 32px; display: flex; justify-content: space-between; gap: 24px; color: rgba(8,11,16,.5); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

.immersion { padding: clamp(90px,10vw,160px) clamp(24px,5vw,86px); color: white; background: var(--blue); }
.immersion-title { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 68px; }
.immersion-title > span { color: rgba(255,255,255,.5); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.immersion-title > span b { color: rgba(255,255,255,.82); font: inherit; }
.interaction-mobile { display: none; }
.immersion-title h2 { max-width: 880px; margin: 0; font: italic 400 clamp(60px,8vw,128px)/.82 var(--serif); letter-spacing: -.05em; text-align: right; }
.immersion-grid {
  display: grid; grid-template-columns: 1.05fr repeat(3,.72fr); min-height: 610px;
  border: 1px solid var(--line-light);
}
.immersion-grid > article { min-width: 0; padding: 28px; border-right: 1px solid var(--line-light); }
.immersion-grid > article:last-child { border-right: 0; }
.immersion-main { padding: 0 !important; }
.film-frame {
  position: relative; height: 100%; min-height: 610px; overflow: hidden;
  background: #080b10;
}
.film-frame > img {
  width: 100%; height: 100%; object-fit: cover; object-position: 52% 50%;
  filter: saturate(.9) contrast(1.08); transform: scale(1.035); animation: cinemaDrift 12s ease-in-out infinite alternate;
}
.film-shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg,rgba(5,12,24,.18),rgba(5,12,24,.05) 32%,rgba(5,12,24,.9) 100%),
              linear-gradient(90deg,rgba(6,19,42,.58),transparent 70%);
}
.film-topline {
  position: absolute; top: 25px; left: 25px; right: 25px; display: flex; justify-content: space-between;
  color: rgba(255,255,255,.7); font-size: 7px; font-weight: 800; letter-spacing: .16em;
}
.film-topline span:last-child { color: rgba(255,255,255,.42); }
.film-dialogue {
  position: absolute; left: 0; right: 0; bottom: 75px; padding: 22px 28px 20px;
  border-top: 1px solid rgba(255,255,255,.18); background: rgba(5,12,24,.76); backdrop-filter: blur(9px);
}
.film-dialogue > span { color: var(--red); font-size: 7px; font-weight: 800; letter-spacing: .2em; }
.film-dialogue strong {
  display: block; margin-top: 10px; font: italic 400 clamp(30px,3.3vw,52px)/.9 var(--serif);
  letter-spacing: -.035em; text-wrap: balance;
}
.film-dialogue small { display: block; margin-top: 11px; color: rgba(255,255,255,.68); font-size: 10px; letter-spacing: .03em; }
.film-timeline {
  position: absolute; left: 28px; right: 28px; bottom: 30px; display: grid; grid-template-columns: 1fr auto;
  gap: 18px; align-items: center; color: rgba(255,255,255,.54); font-size: 7px; font-weight: 800; letter-spacing: .12em;
}
.film-timeline > div { height: 32px; display: flex; align-items: center; gap: 3px; overflow: hidden; }
.film-timeline i { width: 2px; height: 28%; flex: 1; background: rgba(255,255,255,.76); animation: wave .8s ease-in-out infinite alternate; }
.film-timeline i:nth-child(3n) { height: 78%; animation-delay: -.25s; }
.film-timeline i:nth-child(4n) { height: 48%; animation-delay: -.5s; }
.film-timeline i:nth-child(7n) { height: 100%; animation-delay: -.7s; }
.reveal-card {
  position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between;
  overflow: hidden; cursor: crosshair; background: transparent;
  transition: opacity .35s, background .5s, transform .65s cubic-bezier(.16,1,.3,1), box-shadow .65s cubic-bezier(.16,1,.3,1);
}
.reveal-card::before {
  content: ""; position: absolute; z-index: 3; inset: 14px; pointer-events: none;
  border: 1px solid rgba(255,255,255,.34); opacity: 0; transform: scale(.94);
  transition: opacity .45s,transform .65s cubic-bezier(.16,1,.3,1);
}
.reveal-card::after {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(180deg,rgba(7,27,54,.28) 5%,rgba(7,27,54,.96) 88%);
}
.reveal-object {
  position: absolute; z-index: -2; inset: 0; opacity: .1;
  background-position: center; background-size: cover; background-repeat: no-repeat;
  filter: saturate(.8) contrast(1.08); transform: scale(1.22);
  transition: opacity .5s, transform .75s cubic-bezier(.16,1,.3,1),filter .5s;
}
.reveal-see.is-ready .reveal-object {
  background-image: image-set(url("/conversation-reply-640.webp") 1x, url("/conversation-reply-960.webp") 2x);
  background-position: 68% center;
}
.reveal-follow.is-ready .reveal-object {
  background-image: image-set(url("/conversation-question-640.webp") 1x, url("/conversation-question-960.webp") 2x);
  background-position: 32% center;
}
.reveal-feel.is-ready .reveal-object {
  background-image: image-set(url("/conversation-cafe-walk-640.webp") 1x, url("/conversation-cafe-walk-960.webp") 2x);
  background-position: 49% center;
}
.reveal-follow::after { background: linear-gradient(180deg,rgba(126,8,30,.18),rgba(67,5,18,.95) 88%); }
.reveal-feel::after { background: linear-gradient(180deg,rgba(5,9,15,.22),rgba(5,9,15,.96) 88%); }
.reveal-format {
  position: absolute; z-index: 2; top: 30px; right: 28px; color: rgba(255,255,255,.34);
  font-size: 7px; font-weight: 800; letter-spacing: .2em; writing-mode: vertical-rl;
}
.reveal-count { color: rgba(255,255,255,.58); font: italic 18px var(--serif); }
.reveal-copy { position: relative; z-index: 2; transform: translateY(0); transition: transform .6s cubic-bezier(.16,1,.3,1); }
.reveal-copy > span {
  display: block; max-width: 0; overflow: hidden; opacity: 0; white-space: nowrap;
  color: rgba(255,255,255,.65); font-size: 7px; font-weight: 800; letter-spacing: .18em;
  transition: max-width .7s,opacity .35s;
}
.reveal-card h3 { max-width: 250px; margin: 18px 0 0; font: 400 clamp(30px,3vw,48px)/.96 var(--serif); text-wrap: balance; }
.reveal-card p {
  max-width: 280px; margin: 18px 0 0; color: rgba(255,255,255,.6);
  font-size: 12px; line-height: 1.7; transition: color .35s;
}
.reveal-card:is(:hover,:focus-visible) {
  z-index: 4; opacity: 1; outline-offset: -4px;
  transform: translateY(-16px) scale(1.035);
  box-shadow: 0 34px 70px rgba(3,10,24,.38), inset 0 0 0 1px rgba(255,255,255,.32);
}
.reveal-card:is(:hover,:focus-visible)::before { opacity: 1; transform: scale(1); }
.reveal-see:is(:hover,:focus-visible) { background: #07162c; }
.reveal-follow:is(:hover,:focus-visible) { background: #c71f35; }
.reveal-feel:is(:hover,:focus-visible) { background: #080b10; }
.reveal-card:is(:hover,:focus-visible) .reveal-object { opacity: .92; transform: scale(1.05); filter: saturate(1.05) contrast(1.12); }
.reveal-card:is(:hover,:focus-visible) .reveal-copy { transform: translateY(-4px); }
.reveal-card:is(:hover,:focus-visible) .reveal-copy > span { max-width: 260px; opacity: 1; }
.reveal-card:is(:hover,:focus-visible) p { color: rgba(255,255,255,.88); }

.ownership { position: relative; overflow: hidden; padding: 130px clamp(24px,6vw,110px) 90px; color: white; background: var(--red); }
.ownership-marquee {
  position: absolute; top: -26px; left: 0; display: flex; width: max-content;
  color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.28);
  font: 400 clamp(95px,13vw,200px)/.8 var(--serif); white-space: nowrap; animation: marquee 30s linear infinite;
}
.ownership-marquee span { padding-right: 4vw; }
.ownership-copy { position: relative; z-index: 2; max-width: 1000px; margin-top: 90px; }
.ownership-copy h2 { margin: 0; font: 400 clamp(65px,8vw,128px)/.84 var(--serif); letter-spacing: -.05em; }
.ownership-copy > p:last-child { max-width: 650px; margin: 38px 0 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.8; }
.ownership-facts { position: relative; z-index: 2; margin-top: 80px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.38); }
.ownership-facts > div { min-height: 130px; display: flex; align-items: center; gap: 25px; border-right: 1px solid rgba(255,255,255,.32); }
.ownership-facts > div:last-child { border-right: 0; }
.ownership-facts strong { font: italic 55px var(--serif); }
.ownership-facts span { color: rgba(255,255,255,.7); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }

.offer { position: relative; min-height: 110vh; padding: 0 clamp(24px,5vw,86px) 48px; overflow: hidden; color: white; background: var(--ink); }
.offer-watermark { position: absolute; right: -2vw; bottom: -15vw; color: var(--red); font: italic 700 min(74vw,1050px)/.7 var(--serif); opacity: .1; }
.offer-top,.offer-bottom { position: relative; z-index: 2; min-height: 76px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-light); color: rgba(255,255,255,.48); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.offer { display: grid; grid-template-columns: 1.05fr .95fr; grid-template-rows: auto 1fr auto auto; column-gap: clamp(70px,10vw,170px); }
.offer-top,.offer-bottom { grid-column: 1/-1; }
.offer-copy { position: relative; z-index: 2; align-self: center; }
.offer-copy h2 { margin: 0; font: 400 clamp(80px,9vw,145px)/.76 var(--serif); letter-spacing: -.06em; }
.offer-copy h2 em { color: var(--red); font-weight: 400; }
.offer-copy > p:not(.kicker) { max-width: 580px; margin: 40px 0 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.8; }
.offer-button {
  width: 200px; height: 200px; margin-top: 45px; padding: 34px; display: flex; align-items: center;
  justify-content: space-between; border: 0; border-radius: 50%; color: var(--ink); background: var(--paper); cursor: pointer;
  font-size: 13px; font-weight: 800; line-height: 1.45; transition: color .3s,background .3s,transform .3s;
}
.offer-button:hover { color: white; background: var(--red); transform: rotate(-5deg); }
.offer-list { position: relative; z-index: 2; align-self: center; border-top: 1px solid var(--line-light); }
.offer-list > p { margin: 20px 0 35px; color: rgba(255,255,255,.42); font-size: 8px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.offer-list ul { margin: 0; padding: 0; list-style: none; }
.offer-list li { min-height: 60px; display: grid; grid-template-columns: 44px 1fr; align-items: center; border-bottom: 1px solid var(--line-light); color: rgba(255,255,255,.72); font-size: 12px; }
.offer-list li span { color: var(--red); font: italic 15px var(--serif); }
.trust-strip {
  position: relative; z-index: 3; grid-column: 1/-1; padding: 26px 0; display: grid;
  grid-template-columns: 1fr auto; gap: 32px; align-items: center; border-top: 1px solid var(--line-light);
}
.trust-strip > div:first-child > span { color: rgba(255,255,255,.76); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.trust-strip p { margin: 8px 0 0; color: rgba(255,255,255,.42); font-size: 10px; }
.trust-row { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.trust-badge {
  min-width: 54px; height: 38px; padding: 8px 10px; display: grid; place-items: center;
  border-radius: 7px; background: rgba(255,255,255,.94); transition: transform .25s,background .25s;
}
.trust-badge:hover { transform: translateY(-2px); background: white; }
.trust-badge img { width: auto; height: 20px; max-width: 48px; }
.offer-bottom { border-top: 1px solid var(--line-light); border-bottom: 0; }

.faq { padding: clamp(90px,11vw,180px) clamp(24px,6vw,110px); display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px,10vw,160px); background: var(--paper); }
.faq-title h2 { margin: 0; font: 400 clamp(70px,8vw,126px)/.82 var(--serif); letter-spacing: -.05em; }
.faq-list { border-top: 1px solid var(--line-dark); }
.faq-list details { border-bottom: 1px solid var(--line-dark); }
.faq-list summary { min-height: 96px; display: grid; grid-template-columns: 50px 1fr auto; gap: 20px; align-items: center; cursor: pointer; list-style: none; font: 400 clamp(20px,2vw,29px) var(--serif); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--red); font: italic 16px var(--serif); }
.faq-list summary b { color: var(--red); font: 400 28px var(--sans); transition: transform .25s; }
.faq-list details[open] summary b { transform: rotate(45deg); }
.faq-list details p { max-width: 650px; margin: -5px 0 30px 70px; color: rgba(8,11,16,.58); font-size: 13px; line-height: 1.75; }

footer { min-height: 120px; padding: 0 clamp(24px,5vw,86px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; color: white; background: var(--navy); }
footer > button { display: inline-flex; align-items: center; gap: 16px; padding: 0; border: 0; cursor: pointer; background: transparent; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
footer > span { justify-self: end; color: rgba(255,255,255,.4); font-size: 8px; letter-spacing: .15em; }

.ecwid-buy-mount { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; opacity: .01; }

[data-scroll-reveal] {
  opacity: 0; transform: translateY(26px); will-change: opacity,transform;
  transition: opacity .72s ease,transform .9s cubic-bezier(.16,1,.3,1);
}
[data-scroll-reveal="left"] { transform: translateX(-34px); }
[data-scroll-reveal="right"] { transform: translateX(34px); }
[data-scroll-reveal].is-visible { opacity: 1; transform: translate3d(0,0,0); }

@keyframes rise { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: none; } }
@keyframes heroScale { from { opacity: .18; } to { opacity: 1; } }
@keyframes heroRotate { from { transform: scale(1.16) rotate(0deg); } to { transform: scale(1.16) rotate(360deg); } }
@keyframes wave { from { transform: scaleY(.45); opacity: .25; } to { transform: scaleY(1); opacity: .75; } }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes objectFloat { from { transform: translate3d(-6px,8px,0) rotate(-1deg); } to { transform: translate3d(10px,-12px,0) rotate(1.5deg); } }
@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes cinemaDrift { from { transform: scale(1.035) translateX(-.5%); } to { transform: scale(1.09) translateX(1.5%); } }
@keyframes portraitBreath {
  0%,100% { transform: scale(1.018) translate3d(0,0,0); filter: brightness(.94) saturate(.92); }
  48% { transform: scale(1.038) translate3d(-.35%,.22%,0); filter: brightness(1.035) saturate(1); }
}
@keyframes voiceCurrent { 0%,100% { opacity: .32; transform: translateY(-50%) scaleX(.96); } 50% { opacity: .68; transform: translateY(-50%) scaleX(1.02); } }
@keyframes breathTravel {
  0% { opacity: 0; transform: translate(0,-50%) scale(.28); }
  14% { opacity: .8; }
  78% { opacity: .24; }
  100% { opacity: 0; transform: translate(-440px,-50%) scale(2.35); }
}

@media (hover: hover) and (min-width: 1101px) {
  .immersion-grid:has(.reveal-card:is(:hover,:focus-visible)) .reveal-card:not(:is(:hover,:focus-visible)) { opacity: .36; }
}

@media (max-width: 1100px) {
  .site-nav { grid-template-columns: 1fr auto; }
  .site-nav nav { display: none; }
  .hero-art { width: 70%; }
  .hero-copy { width: 80vw; }
  .hero h1 { font-size: clamp(76px,12vw,132px); }
  .hero-caption { display: none; }
  .manifesto { grid-template-columns: 70px 1fr; }
  .system { grid-template-columns: 1fr; }
  .system-intro { position: static; }
  .system-intro > p:not(.kicker) { width: 520px; max-width: 100%; }
  .system-signal { width: min(440px,70vw); margin-left: 0; }
  .voice { grid-template-columns: 1fr; }
  .voice-image { min-height: 70vw; max-height: 760px; }
  .voice-image::after { background: linear-gradient(0deg,var(--ink),transparent 34%); }
  .voice-copy { width: min(760px,100%); }
  .grammar-head { grid-template-columns: 1fr; }
  .grammar-head .kicker { grid-column: auto; }
  .grammar-head > p:last-child { max-width: 580px; }
  .immersion-grid { grid-template-columns: 1.3fr 1fr; }
  .immersion-grid > article:nth-child(3),.immersion-grid > article:nth-child(5) { border-right: 0; }
  .immersion-grid > article:not(.immersion-main) { min-height: 260px; border-top: 1px solid var(--line-light); }
  .offer { grid-template-columns: 1fr 1fr; column-gap: 60px; }
}

@media (max-width: 720px) {
  .site-nav { min-height: 78px; padding-inline: 18px; }
  .brand > span { font-size: 48px; }
  .nav-cta { min-height: 40px; padding: 0 12px; gap: 10px; font-size: 9px; }
  .hero { height: 900px; }
  .hero-art { width: 100%; opacity: .72; }
  .hero-art img { object-position: 62% 50%; }
  .hero-art-wash { background: linear-gradient(90deg,rgba(8,11,16,.9),rgba(8,11,16,.2)),linear-gradient(0deg,var(--ink) 0%,transparent 48%,rgba(8,11,16,.4)); }
  .hero-copy { left: 20px; top: 45%; width: calc(100% - 40px); }
  .hero h1 { font-size: clamp(68px,22vw,100px); line-height: .78; }
  .hero h1 span { margin: 8px 0 0 8vw; white-space: normal; }
  .hero-deck { width: 88%; font-size: 13px; line-height: 1.65; }
  .hero-actions { gap: 22px; }
  .magnetic-cta { width: 138px; height: 138px; padding: 22px; font-size: 10px; }
  .discover { font-size: 8px; gap: 10px; }
  .hero-facts { left: 20px; right: 20px; bottom: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
  .hero-index,.hero-ghost { display: none; }
  .manifesto { min-height: auto; grid-template-columns: 1fr; padding: 100px 22px; }
  .manifesto-side { display: none; }
  .manifesto-copy h2 { font-size: 18vw; line-height: .88; }
  .manifesto-bottom { margin: 55px 0 0; grid-template-columns: 1fr; gap: 24px; }
  .system { min-width: 0; padding: 100px 20px; overflow: hidden; }
  .system-intro { width: 100%; min-width: 0; }
  .system-intro h2 { max-width: 100%; font-size: clamp(58px,18vw,76px); overflow-wrap: anywhere; }
  .system-intro > p:not(.kicker) {
    width: 100%; max-width: none; margin-top: 34px; padding-right: 0;
    font-size: 13px; line-height: 1.72; overflow-wrap: anywhere;
  }
  .system-signal { width: min(82vw,340px); max-width: 100%; margin: 52px auto 34px; }
  .system-signal > span:nth-of-type(2) { right: 1%; }
  .system-signal > span:nth-of-type(4) { left: 1%; }
  .system-signal small {
    right: auto; left: 50%; bottom: 7%; width: max-content; max-width: 84%;
    transform: translateX(-50%); white-space: nowrap; font-size: 6px; letter-spacing: .1em;
  }
  .format-strip { min-height: 140px; grid-template-columns: 34px 1fr 22px; gap: 13px; }
  .strip-verb { display: none; }
  .format-strip h3 { font-size: 27px; }
  .format-strip p { grid-column: 2/4; font-size: 11px; }
  .strip-arrow { grid-column: 3; grid-row: 1; }
  .voice-image { min-height: 540px; }
  .voice-copy { padding: 90px 22px; }
  .voice-copy h2 { font-size: 17vw; }
  .grammar { padding: 100px 22px; }
  .grammar-head h2 { font-size: 17vw; }
  .grammar-object { margin-top: 75px; }
  .grammar-step { min-height: 160px; padding-left: calc(var(--step) * 2vw); grid-template-columns: 42px 1fr; gap: 10px; }
  .grammar-step p { grid-column: 2; }
  .grammar-foot { flex-wrap: wrap; }
  .immersion { padding: 100px 20px; }
  .immersion-title { align-items: start; flex-direction: column; }
  .interaction-desktop { display: none; }
  .interaction-mobile { display: inline; }
  .immersion-title h2 { font-size: 17vw; text-align: left; }
  .immersion-grid { grid-template-columns: 1fr; }
  .immersion-grid > article { border-right: 0; border-bottom: 1px solid var(--line-light); }
  .film-frame { min-height: 460px; }
  .immersion-grid > article:not(.immersion-main) { min-height: 410px; }
  .reveal-card { opacity: .72; scroll-margin-top: 12vh; }
  .reveal-card .reveal-copy { transform: translateY(26px); }
  .reveal-card .reveal-copy > span { max-width: 260px; }
  .reveal-card.is-revealed { opacity: 1; }
  .reveal-card.is-revealed.reveal-see { background: #07162c; }
  .reveal-card.is-revealed.reveal-follow { background: #c71f35; }
  .reveal-card.is-revealed.reveal-feel { background: #080b10; }
  .reveal-card.is-revealed .reveal-object { opacity: .92; transform: scale(1.05) rotate(0); filter: saturate(1.22) contrast(1.08); }
  .reveal-card.is-revealed .reveal-copy { transform: translateY(0); }
  .reveal-card.is-revealed .reveal-copy > span { opacity: 1; }
  .reveal-card.is-revealed p { color: rgba(255,255,255,.9); }
  .ownership { padding: 110px 22px 60px; }
  .ownership-copy h2 { font-size: 17vw; }
  .ownership-facts { grid-template-columns: 1fr; }
  .ownership-facts > div { min-height: 100px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.3); }
  .offer { min-height: auto; padding: 0 22px 40px; display: block; }
  .offer-top { min-height: 70px; }
  .offer-top span:last-child { display: none; }
  .offer-copy { padding: 100px 0 80px; }
  .offer-copy h2 { font-size: 19vw; }
  .offer-list { margin-bottom: 80px; }
  .trust-strip { margin-bottom: 30px; grid-template-columns: 1fr; }
  .trust-row { justify-content: flex-start; }
  .trust-badge { min-width: 47px; height: 34px; padding: 7px 8px; }
  .trust-badge img { height: 17px; max-width: 42px; }
  .offer-bottom { min-height: 100px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 10px; }
  .faq { grid-template-columns: 1fr; padding: 100px 22px; }
  .faq-title h2 { font-size: 20vw; }
  .faq-list summary { min-height: 82px; grid-template-columns: 32px 1fr auto; font-size: 20px; }
  .faq-list details p { margin-left: 52px; }
  footer { min-height: 170px; grid-template-columns: 1fr auto; padding-inline: 22px; }
  footer > button { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none !important; transition-duration: .01ms !important; }
  [data-scroll-reveal] { opacity: 1; transform: none; }
}
