:root {
  --bg: #07090d;
  --ink: #f2f4f7;
  --muted: #929aa8;
  --line: rgba(223, 232, 243, .16);
  --blue: #669dff;
  --blue-bright: #a7c7ff;
  --mono: "DM Mono", monospace;
  --sans: "Manrope", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--bg); font-family: var(--sans); overflow-x: hidden; }
body.awaiting-mode, body.click-mode { overflow: hidden; }
a { color: inherit; text-decoration: none; }
.topbar, main, footer { position: relative; z-index: 1; }
.loader-screen { position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; justify-content: space-between; padding: 28px 3.2vw; color: var(--ink); background: var(--bg); transition: opacity .75s ease, visibility .75s ease; }
.is-ready .loader-screen { opacity: 0; visibility: hidden; pointer-events: none; }
.is-loading .topbar, .is-loading main, .is-loading footer { visibility: hidden; opacity: 0; }
.topbar { transition: none; }
main, footer { transition: opacity .7s ease; }
.loader-head, .loader-foot, .loader-readout, .loader-label { font-family: var(--mono); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.loader-label { max-width: 760px; margin: 0 0 22px; color: var(--ink); font-size: clamp(22px, 3.1vw, 48px); line-height: .98; letter-spacing: -.045em; }
.loader-head, .loader-foot, .loader-readout { display: flex; justify-content: space-between; color: var(--muted); }
.loader-head span:first-child, .loader-foot span:last-child { color: var(--blue-bright); }
.loader-center { width: min(720px, 76vw); margin: auto; }
.mode-picker { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 10vw 5vw; overflow: hidden; isolation: isolate; background: #05070b; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .7s ease, visibility .7s ease; }
.mode-picker::after { content: ''; position: absolute; inset: -8%; z-index: 1; pointer-events: none; background: radial-gradient(ellipse at 52% 46%, rgba(5,7,11,0) 0%, rgba(5,7,11,.08) 38%, rgba(5,7,11,.46) 100%), radial-gradient(ellipse at 8% 50%, rgba(5,7,11,.34) 0%, rgba(5,7,11,0) 54%), linear-gradient(0deg, rgba(5,7,11,.28), transparent 48%, rgba(5,7,11,.12)); filter: blur(16px); }
.mode-picker canvas { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; }
.awaiting-mode .mode-picker { opacity: 1; visibility: visible; pointer-events: auto; }
.mode-picker-inner { position: relative; z-index: 2; width: min(900px, 90vw); }
.mode-question { display: flex; flex-direction: column; gap: 18px; margin: 0; }
.mode-question-top { display: flex; align-items: center; gap: 16px; color: var(--muted); font-family: var(--mono); font-size: clamp(11px, 1vw, 15px); font-weight: 400; letter-spacing: .18em; line-height: 1; }
.mode-question-main { display: block; width: 100%; padding-right: .04em; font-size: clamp(36px, 7.2vw, 112px); line-height: .84; letter-spacing: -.09em; white-space: nowrap; }
.mode-question-main em { color: var(--blue-bright); font-style: normal; }
.awaiting-mode .mode-question-top { animation: question-top-in .8s cubic-bezier(.2,.8,.2,1) both; }
.awaiting-mode .mode-question-main { animation: question-main-in 1s .08s cubic-bezier(.2,.8,.2,1) both; }
.mode-switch { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(430px, 100%); margin-top: 56px; padding: 5px; border: 1px solid rgba(167,199,255,.42); background: rgba(255,255,255,.035); }
.mode-switch-track { position: absolute; inset: 5px 50% 5px 5px; background: var(--blue); box-shadow: 0 0 28px rgba(102,157,255,.35); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.mode-switch:has([data-mode="click"]:hover) .mode-switch-track, .mode-switch:has([data-mode="click"]:focus-visible) .mode-switch-track { transform: translateX(100%); }
.mode-switch-option { position: relative; z-index: 1; min-height: 56px; border: 0; background: transparent; color: var(--ink); font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: .16em; cursor: pointer; transition: color .3s ease; }
.mode-switch-option:hover, .mode-switch-option:focus-visible { color: var(--ink); outline: none; }
.mode-switch-option::after { content: ''; position: absolute; right: 0; bottom: 10px; left: 0; height: 1px; background: currentColor; opacity: 0; transform: scaleX(.35); transition: opacity .3s ease, transform .3s ease; }
.mode-switch-option:hover::after, .mode-switch-option:focus-visible::after { opacity: .8; transform: scaleX(.7); }
.loader-track { height: 5px; background: rgba(224, 233, 245, .14); overflow: hidden; }
.loader-track span { display: block; width: 0; height: 100%; background: var(--blue-bright); transform-origin: left; box-shadow: 0 0 16px rgba(102, 157, 255, .45); }
.loader-readout { margin-top: 12px; }
.loader-readout span:first-child { color: var(--ink); font-size: 17px; letter-spacing: .04em; }
.site-noise { display: none; }
.topbar { position: fixed; z-index: 100; inset: 0 0 auto; display: grid; grid-template-columns: 1fr auto; align-items: center; min-height: 76px; padding: 0 3.2vw; border-bottom: 1px solid var(--line); background: rgba(7, 9, 13, .96); backdrop-filter: blur(16px); }
.awaiting-mode .topbar { background: linear-gradient(180deg, rgba(5,7,11,.72), transparent); border-bottom: 0; backdrop-filter: none; }
.is-ready .topbar { position: fixed; opacity: 1; visibility: visible; }
.brand { width: min(190px, 22vw); display: block; transition: filter .35s ease, transform .35s ease; }
.awaiting-mode .brand { filter: drop-shadow(0 0 18px rgba(102,157,255,.22)); transform: translateY(-1px); }
.brand img { width: 100%; display: block; filter: invert(1); }
.topbar-status, .topbar-link, .eyebrow, .section-kicker, .manifesto-meta, .manifesto-footer, .footer { font-family: var(--mono); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.topbar-status { color: var(--muted); justify-self: center; }
.topbar-nav { display: flex; align-items: center; gap: 28px; justify-self: end; }
.menu-toggle { display: none; }
.status-dot { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 14px var(--blue); }
.topbar-link { justify-self: end; color: var(--blue-bright); transition: color .3s ease, opacity .3s ease; }
.awaiting-mode .topbar-link { color: var(--ink); opacity: .84; }
.awaiting-mode .topbar-link:hover { color: var(--blue-bright); opacity: 1; }
.topbar-link span, .contact-link span { display: inline-block; margin-left: 8px; transition: transform .3s ease; }
.topbar-link:hover span, .contact-link:hover span { transform: translate(4px, -4px); }

.manifesto { position: relative; height: 500vh; background: #07090d; }
.manifesto-sticky { position: sticky; top: 0; height: 100svh; min-height: 650px; display: flex; flex-direction: column; justify-content: space-between; padding: 112px 5vw 28px; overflow: hidden; }
.manifesto-sticky::before { content: ""; position: absolute; inset: 76px auto 0 5vw; width: 1px; background: var(--line); }
.manifesto-sticky::after { content: ""; position: absolute; top: 76px; left: 5vw; width: 8px; height: 8px; border: 1px solid var(--blue); transform: translate(-4px, -4px); background: var(--bg); }
.manifesto-grid { position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(rgba(115, 149, 204, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(115, 149, 204, .06) 1px, transparent 1px); background-size: 100% 120px, 12.5vw 100%; }
.manifesto::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent 0, transparent calc(50% - 1px), rgba(102, 157, 255, .12) 50%, transparent calc(50% + 1px)); }
.manifesto-orbit { display: none; }
.manifesto > *:not(.manifesto-sticky) { z-index: 1; }
.manifesto-sticky { z-index: 2; }
.manifesto-meta, .manifesto-footer { position: relative; display: flex; justify-content: space-between; color: var(--muted); }
.manifesto-footer { position: static; }
.manifesto-meta span:last-child { color: var(--blue-bright); }
.scroll-rail { position: absolute; top: 27%; right: 3.2vw; bottom: 25%; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: space-between; width: 62px; color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.rail-label { writing-mode: vertical-rl; transform: rotate(180deg); color: var(--blue-bright); }
.rail-track { position: relative; width: 1px; flex: 1; margin: 14px 0; background: rgba(224, 233, 245, .18); }
.rail-track i { position: absolute; top: 0; left: 0; width: 1px; height: 0; background: var(--blue-bright); box-shadow: 0 0 10px rgba(102, 157, 255, .7); transition: height .25s linear; }
.rail-readout { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.rail-readout b { color: var(--ink); font-size: 16px; font-weight: 400; letter-spacing: .03em; }
.rail-readout small { white-space: nowrap; font-size: 8px; }
.manifesto-main { position: relative; width: min(1050px, 90vw); margin: auto; padding-left: 4vw; }
.sequence-stage { position: relative; min-height: clamp(270px, 43vw, 560px); }
.boot-screen { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; transition: opacity .7s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.is-ready .boot-screen { opacity: 0; transform: translateY(-18px); pointer-events: none; }
.loading-line { width: min(380px, 54vw); height: 2px; margin-bottom: 22px; background: rgba(255,255,255,.16); overflow: hidden; }
.loading-line span { display: block; width: 30%; height: 100%; background: var(--blue); box-shadow: 0 0 18px var(--blue); animation: loading 2.1s cubic-bezier(.7,0,.3,1) infinite; }
@keyframes loading { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(430%); } }
.eyebrow { margin: 0 0 25px; color: var(--blue-bright); }
.boot-text { max-width: 1050px; margin: 0; font-size: clamp(45px, 8vw, 130px); line-height: .92; letter-spacing: -.075em; font-weight: 700; }
.boot-text em { color: var(--blue-bright); font-style: normal; }
.statement-stack { position: absolute; inset: 0; min-height: clamp(270px, 43vw, 560px); }
.is-loading .statement { opacity: 0; }
.statement { position: absolute; inset: 0; display: flex; align-items: center; overflow: hidden; opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .7s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.has-gsap-motion .statement { transition: none; }
.statement.is-active { opacity: 1; transform: translateY(0); }
.statement h1, .statement h2 { max-width: 1050px; margin: 0; font-size: clamp(45px, 8vw, 130px); line-height: .92; letter-spacing: -.025em; font-weight: 700; text-wrap: balance; }
.statement h2 { font-size: clamp(43px, 7.3vw, 118px); }
.statement em { color: var(--blue-bright); font-style: normal; }
.two-tier-statement .statement-soft, .two-tier-statement .statement-core { display: block; }
.two-tier-statement .statement-soft { margin-bottom: .18em; color: rgba(242, 244, 247, .62); font-size: .58em; letter-spacing: -.015em; }
.two-tier-statement .statement-core { padding-left: .22em; border-left: 1px solid var(--blue); }
.two-tier-statement .statement-core em { display: block; }
.statement h2 > span { will-change: transform; }
.motion-line { display: block; will-change: transform; }
.manifesto-caption { margin: 22px 0 0; color: var(--muted); font-family: var(--mono); font-size: 13px; }
.scroll-cue { position: absolute; left: 50%; bottom: 20px; display: flex; flex-direction: column; align-items: center; gap: 2px; width: 34px; height: 44px; overflow: hidden; transform: translateX(-50%); }
.scroll-cue i { display: block; width: 14px; height: 14px; border-right: 1.5px solid var(--blue-bright); border-bottom: 1.5px solid var(--blue-bright); transform: rotate(45deg) translate(-3px, -3px); animation: cue-down 1.8s ease-in-out infinite; }
.scroll-cue i + i { opacity: .45; animation-delay: .2s; }
.mode-next { position: absolute; left: 50%; bottom: 76px; z-index: 4; display: none; align-items: center; gap: 22px; padding: 16px 19px 16px 22px; border: 1px solid var(--blue); background: rgba(102,157,255,.08); color: var(--ink); font-family: var(--mono); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; transform: translateX(-50%); transition: background .3s ease, box-shadow .3s ease, transform .3s ease; }
.click-mode .mode-next { display: inline-flex; animation: mode-button-in .8s cubic-bezier(.2,.8,.2,1) both; }
.mode-next i { color: var(--blue-bright); font-size: 18px; font-style: normal; transition: transform .3s ease; }
.mode-next:hover, .mode-next:focus-visible { background: rgba(102,157,255,.2); box-shadow: 0 0 30px rgba(102,157,255,.2); outline: none; transform: translateX(-50%) translateY(-4px); }
.mode-next:hover i, .mode-next:focus-visible i { transform: translate(4px, -4px); }
@keyframes mode-button-in { from { opacity: 0; transform: translateX(-50%) translateY(18px) scale(.94); } to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); } }
@keyframes question-top-in { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: translateX(0); } }
@keyframes question-main-in { from { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateY(20px); } to { opacity: 1; clip-path: inset(0 0 0 0); transform: translateY(0); } }
@keyframes mode-mobile-field { from { transform: scale(1) translate3d(-2%, -1%, 0); } to { transform: scale(1.1) translate3d(3%, 2%, 0); } }
@keyframes cue-down { 0%, 100% { transform: rotate(45deg) translate(-4px, -4px); opacity: .2; } 45% { transform: rotate(45deg) translate(0, 0); opacity: 1; } 70% { transform: rotate(45deg) translate(4px, 4px); opacity: .2; } }

.section-shell { position: relative; max-width: 1500px; margin: 0 auto; padding: 15vw 5vw; }
.section-kicker { display: flex; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--line); color: var(--muted); }
.section-kicker span:first-child { color: var(--blue-bright); }
.offer-intro { display: grid; grid-template-columns: .6fr 1.8fr .9fr; gap: 3.8vw; padding: 8vw 0 7vw; align-items: start; }
.offer-intro .eyebrow { margin: 7px 0 0; }
.offer-intro h2, .contact h2 { margin: 0; font-size: clamp(38px, 5.1vw, 85px); line-height: .98; letter-spacing: -.065em; font-weight: 600; }
.offer-accent { display: inline-block; white-space: nowrap; color: var(--blue-bright); font-size: .8em; letter-spacing: -.045em; }
.section-lead { max-width: 360px; margin: 7px 0 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.offer-list { border-top: 1px solid var(--line); }
.offer-row { display: grid; grid-template-columns: 7% 30% 1fr 25px; gap: 20px; align-items: center; min-height: 112px; border-bottom: 1px solid var(--line); }
.offer-row { position: relative; transition: padding-left .35s ease, background-color .35s ease; }
.offer-row::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--blue); transform: scaleY(0); transform-origin: bottom; transition: transform .35s ease; }
.offer-row:hover { padding-left: 14px; background: rgba(102, 157, 255, .045); }
.offer-row:hover::before { transform: scaleY(1); }
.js-ready .offer-row { opacity: 0; transform: translateX(-42px); clip-path: inset(0 100% 0 0); transition: opacity .75s ease, transform .9s cubic-bezier(.2,.8,.2,1), clip-path .9s cubic-bezier(.2,.8,.2,1), padding-left .35s ease, background-color .35s ease; }
.js-ready .offer-row::after { content: ""; position: absolute; top: 0; bottom: 0; left: 7%; width: 2px; background: var(--blue-bright); opacity: 0; transition: opacity .2s linear; }
.js-ready .offer-row.from-right::after { right: 7%; left: auto; }
.js-ready .offer-row.is-visible::after { opacity: 1; }
.offer-row span, .offer-row i { color: var(--blue-bright); font-family: var(--mono); font-size: 11px; font-style: normal; }
.offer-row h3 { margin: 0; font-size: 20px; letter-spacing: -.03em; }
.offer-row p { margin: 0; color: var(--muted); font-size: 15px; }
.contact { min-height: 85vh; display: grid; grid-template-columns: .7fr 1.5fr 1fr; gap: 5vw; align-content: center; overflow: hidden; }
.contact-mark { position: absolute; right: -2vw; bottom: -5vw; color: rgba(102, 157, 255, .07); font-size: 44vw; font-weight: 800; letter-spacing: -.15em; line-height: .7; pointer-events: none; }
.contact-copy { grid-column: 2 / 4; position: relative; z-index: 1; max-width: 1000px; }
.contact-copy h2 { max-width: 840px; margin-bottom: 7vw; }
.contact-link { display: inline-block; padding-bottom: 9px; border-bottom: 1px solid var(--blue); color: var(--blue-bright); font-family: var(--mono); font-size: clamp(18px, 2vw, 30px); }
.contact-note { max-width: 380px; margin-top: 35px; color: var(--muted); line-height: 1.6; }
.footer { display: flex; justify-content: space-between; padding: 23px 3.2vw; border-top: 1px solid var(--line); color: var(--muted); }
.footer-legal { display: inline-flex; gap: 22px; }
.footer a { color: inherit; transition: color .25s ease; }
.footer a:hover { color: var(--ink); }

@media (max-width: 760px) {
  .topbar { position: fixed; top: 0; right: 0; left: 0; min-height: 62px; grid-template-columns: 1fr auto; padding: 0 18px; }
  .loader-screen { padding: 20px; }
  .loader-head, .loader-foot, .loader-readout { font-size: 8px; }
  .loader-label { margin-bottom: 18px; font-size: clamp(20px, 7vw, 31px); }
  .mode-picker { padding: 32px 20px; }
  .mode-picker::before { content: ''; position: absolute; inset: -20%; z-index: 0; background: radial-gradient(ellipse at 84% 18%, rgba(159,195,255,.25), transparent 25%), radial-gradient(ellipse at 16% 82%, rgba(48,87,155,.22), transparent 32%), linear-gradient(rgba(159,195,255,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(159,195,255,.05) 1px, transparent 1px); background-size: auto, auto, 72px 72px, 72px 72px; opacity: .82; animation: mode-mobile-field 18s ease-in-out infinite alternate; }
  .mode-picker canvas { display: none; }
  .mode-question { gap: 13px; }
  .mode-question-top { gap: 10px; font-size: 9px; letter-spacing: .13em; }
  .mode-question-main { font-size: clamp(28px, 7.8vw, 64px); }
  .mode-switch { width: 100%; margin-top: 40px; }
  .mode-next { bottom: 68px; width: max-content; max-width: calc(100% - 40px); padding: 14px 16px; font-size: 9px; }
  .loader-center { width: 100%; }
  .brand { width: 155px; }
  .topbar-status { display: none; }
  .topbar-nav { position: absolute; top: 62px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 20px 18px; border-bottom: 1px solid var(--line); background: rgba(7, 9, 13, .96); }
  .menu-toggle { position: relative; z-index: 101; display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 34px; height: 34px; padding: 7px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); cursor: pointer; }
  .menu-toggle span { display: block; width: 100%; height: 1px; background: currentColor; transition: transform .25s ease, opacity .25s ease; }
  .topbar-link { width: 100%; padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 10px; }
  .topbar-link:last-child { border-bottom: 0; }
  .menu-open { overflow: hidden; }
  .menu-open .topbar { opacity: 1; visibility: visible; }
  .menu-open .topbar-nav { display: flex; z-index: 12; opacity: 1; visibility: visible; }
  .menu-open .menu-toggle span:first-child { transform: translateY(6px) rotate(45deg); }
  .menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
  .menu-open .menu-toggle span:last-child { transform: translateY(-6px) rotate(-45deg); }
  .manifesto-sticky { padding: 88px 20px 20px; min-height: 600px; }
  .manifesto-meta, .manifesto-footer { font-size: 8px; }
  .scroll-cue { bottom: 15px; width: 38px; height: 48px; }
  .scroll-cue i { width: 15px; height: 15px; }
  .manifesto-main { width: 100%; }
  .loading-line { width: 100%; margin-bottom: 17px; }
  .eyebrow { font-size: 9px; margin-bottom: 18px; }
  .sequence-stage, .statement-stack { min-height: 360px; }
  .boot-text { font-size: clamp(41px, 12vw, 72px); line-height: .95; }
  .statement h1, .statement h2 { font-size: clamp(41px, 12vw, 72px); line-height: .95; letter-spacing: -.015em; }
  .two-tier-statement .statement-soft { margin-bottom: .22em; font-size: .58em; }
  .two-tier-statement .statement-core { padding-left: .2em; }
  .manifesto-caption { font-size: 11px; }
  .scroll-rail { right: 14px; width: 34px; top: 25%; bottom: 24%; font-size: 8px; }
  .rail-readout b { font-size: 13px; }
  .js-ready .offer-row::after { left: 28px; }
  .js-ready .offer-row.from-right::after { right: 28px; left: auto; }
  .rail-readout small { font-size: 7px; }
  .orbit-one { width: 135vw; height: 135vw; left: -18vw; top: 28vh; }
  .orbit-two { width: 90vw; height: 90vw; left: 5vw; top: 39vh; }
  .section-shell { padding: 100px 20px; }
  .offer-intro { display: block; padding: 55px 0 45px; }
  .contact { display: block; padding: 55px 20px 45px; }
  .offer-intro .eyebrow { margin-bottom: 30px; }
  .offer-intro h2, .contact h2 { font-size: clamp(37px, 11vw, 62px); }
  .offer-accent { font-size: .68em; }
  .section-lead { margin-top: 30px; font-size: 15px; }
  .offer-row { grid-template-columns: 28px 1fr 18px; gap: 12px; padding: 25px 0; align-items: start; }
  .offer-row h3 { font-size: 16px; }
  .offer-row p { grid-column: 2 / 3; margin-top: 5px; font-size: 13px; line-height: 1.55; }
  .contact { min-height: 75vh; }
  .contact-copy { max-width: none; }
  .contact-copy h2 { margin: 0 0 70px; }
  .contact-link { font-size: 16px; }
  .footer { display: grid; gap: 10px; padding: 20px; font-size: 8px; }
}
