/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/site-assets/geist-latin-ext.58a6b173d5ca1dec.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/site-assets/geist-latin.9b6f5ff45b278c74.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;
}

:root, .dark { color-scheme: dark; --background: #020306; --foreground: #eeeef4; --signal: #c8d9ff; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--background); }
body { color: var(--foreground); font-family: var(--font-geist-sans), Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
button { font: inherit; color: inherit; }
::selection { background: #c8d9ff; color: #020306; }
:focus-visible { outline: 1px solid #c8d9ff; outline-offset: 8px; }
.vex-shell { position: relative; min-height: 100svh; isolation: isolate; overflow: clip; }
.site-header { position: absolute; left: 0; right: 0; top: 0; padding: 38px 5.4vw; display: flex; justify-content: center; align-items: center; z-index: 4; pointer-events: none; }
.brand-heading { margin: 0; font-size: inherit; font-weight: inherit; }
.brand { display: inline-flex; align-items: center; gap: 12px; pointer-events: auto; }
.wordmark { font-size: 29px; line-height: 1; font-weight: 550; letter-spacing: -.065em; }
.brand-ai { font-weight: 300; color: #c6c8d7; letter-spacing: -.08em; }
.brand-os { font-size: 12px; font-weight: 450; letter-spacing: .05em; padding: 5px 6px; border: 1px solid #cbd4f038; border-radius: 4px; color: #c1c6d5; }
.gateway { position: relative; min-height: 100svh; display: flex; align-items: flex-end; justify-content: center; }
/* Horizontal touch gestures can play with the field; vertical scrolling and
   pinch zoom stay native. Text and controls keep their own hit targets. */
.gateway { touch-action: pan-y pinch-zoom; }
.gateway-interface > .mantra { pointer-events: auto; }
.world-field { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.world-canvas, .ambient-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; opacity: 0; transition: opacity 1.5s cubic-bezier(.22,.61,.36,1); }
.ambient-canvas { z-index: 1; }
.world-field[data-ambient-renderer='ready'] .ambient-canvas { opacity: .72; }
.world-field[data-renderer='ready'] .world-canvas { opacity: 1; }
.field-fallback { position: absolute; left: 50%; top: 50%; width: min(1300px, 140vw); max-width: none; transform: translate(-63%, -59%); opacity: .5; pointer-events: none; transition: opacity 1s; }
.world-field[data-renderer='ready'] .field-fallback { opacity: 0; }
.world-field::after { z-index: 2; content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to bottom, #02030655 0%, transparent 16%, transparent 60%, #0203068a 78%, #020306 100%); }
.gateway-interface { position: relative; z-index: 2; padding: 0 24px clamp(40px, 7.5vh, 90px); display: flex; flex-direction: column; align-items: center; width: 100%; pointer-events: none; animation: interface-in 1.7s .15s both; }
.mantra { font-size: clamp(17px, 1.45vw, 23px); font-weight: 350; line-height: 1.5; letter-spacing: .035em; color: #b8bbcc; margin: 0 0 31px; text-wrap: balance; }
.entry-grid { display: flex; align-items: center; gap: 28px; pointer-events: auto; }
.entry-link { display: inline-flex; align-items: center; justify-content: center; gap: 23px; padding: 16px 23px; min-height: 56px; border-radius: 4px; font-size: 16px; font-weight: 400; letter-spacing: -.015em; color: #e6e8f1; transition: background .4s, color .4s, text-shadow .4s; position: relative; }
.entry-link svg { color: #8993ac; transition: color .35s, transform .35s; }
.entry-link:hover, .entry-link:focus-visible { background: #b0c5ff0c; color: white; text-shadow: 0 0 25px #c9d6ff5c; }
.entry-link:hover svg, .entry-link:focus-visible svg { color: #e2e9ff; transform: translate(3px,-3px); }
.entry-divider { display: block; height: 24px; width: 1px; background: linear-gradient(transparent, #b3c1e647, transparent); }
.motion-toggle { position: absolute; right: 35px; bottom: 30px; z-index: 4; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #cbd6ff24; border-radius: 50%; background: #0a0d16a3; color: #9da8bf; cursor: pointer; transition: border-color .3s, color .3s; }
.motion-toggle:hover { color: #eef2ff; border-color: #cbd6ff70; }
.motion-toggle:disabled { cursor: default; opacity: .6; }
.motion-toggle svg { width: 12px; height: 12px; }
.back-link { pointer-events: auto; position: absolute; left: 5.4vw; display: inline-flex; gap: 9px; align-items: center; color: #b7bfd2; font-size: 14px; }
.audience-shell .world-field { opacity: .32; position: fixed; }
.audience-main { position: relative; z-index: 2; width: min(1100px, 90%); margin: auto; padding: 170px 0 75px; }
.audience-title { font-size: clamp(40px, 6vw, 80px); font-weight: 400; letter-spacing: -.055em; margin: 0 0 18px; }
.audience-main .mantra { font-size: 17px; margin-bottom: 60px; }
.perspective-grid { display: grid; grid-template-columns: repeat(3, 1fr); background: #030509a6; backdrop-filter: blur(20px); border-top: 1px solid #c9d6ff26; border-bottom: 1px solid #c9d6ff26; }
.perspective-step { padding: 28px; }
.perspective-step:first-child { padding-left: 0; }
.perspective-step + .perspective-step { border-left: 1px solid #c9d6ff1a; }
.perspective-step h2 { font-weight: 400; font-size: 19px; margin: 0 0 16px; letter-spacing: -.02em; }
.perspective-step p { font-size: 16px; line-height: 1.75; color: #a6afc3; margin: 0; }
.alternate-link { display: inline-flex; align-items: center; gap: 15px; font-size: 15px; margin-top: 35px; color: #bbc7df; }
@keyframes interface-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 700px) {
  .site-header { padding: 29px 24px; }
  .wordmark { font-size: 26px; }
  .gateway-interface { padding-bottom: 71px; }
  .mantra { font-size: 17px; margin-bottom: 20px; letter-spacing: .015em; }
  .entry-grid { gap: 8px; }
  .entry-link { font-size: 14px; padding: 14px 10px; gap: 10px; }
  .entry-link svg { width: 15px; }
  .entry-divider { height: 20px; }
  .motion-toggle { width: 32px; height: 32px; right: 20px; bottom: 18px; }
  .back-link { left: 22px; font-size: 13px; }
  .back-link span { display: none; }
  .audience-main { padding-top: 145px; }
  .perspective-grid { grid-template-columns: 1fr; }
  .perspective-step, .perspective-step:first-child { padding: 23px 0; }
  .perspective-step + .perspective-step { border-left: none; border-top: 1px solid #c9d6ff1a; }
}
@media (max-width: 360px) { .entry-grid { gap: 1px; } .entry-link { padding-left: 6px; padding-right: 6px; gap: 7px; } }
@media (max-height: 600px) and (min-width: 700px) { .site-header { padding-top: 20px; } .gateway-interface { padding-bottom: 22px; } .mantra { margin-bottom: 6px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
/* The alternative renderer preserves the process; it never substitutes a sculpture. */
.field-fallback { position: absolute; width: min(1400px, 98vw); height: auto; left: 50%; top: 45%; transform: translate(-50%, -50%); opacity: .95; }
.fallback-token { animation: token-arrival 5s linear infinite; }
.fallback-path { stroke-dasharray: 12 5; animation: causal-arrival 4s linear infinite; }
@keyframes token-arrival { 0% { transform: translateX(-35px); opacity: 0; } 15%,75% { opacity: 1; } 100% { transform: translateX(45px); opacity: 0; } }
@keyframes causal-arrival { to { stroke-dashoffset: -102; } }
@media (max-width:700px) { .field-fallback { width: 170vw; } }
@media (prefers-reduced-motion: reduce) { .fallback-token, .fallback-path { animation: none; } }

.world-field[data-paused='true'] .fallback-token,
.world-field[data-paused='true'] .fallback-path { animation-play-state: paused; }
.world-field[data-renderer='ready'] .fallback-token,
.world-field[data-renderer='ready'] .fallback-path { animation: none; }

.studio-dashboard-link { display: inline-flex; align-items: center; gap: 14px; padding: 15px 18px; margin-top: 28px; border: 1px solid #c9d6ff42; border-radius: 5px; color: #e0e9ff; background: #c2d5ff09; font-size: 16px; transition: background .25s; }.studio-dashboard-link:hover { background: #c2d5ff18; }
.audience-main .studio-dashboard-link + .alternate-link { display: flex; width: fit-content; }


:root { --font-geist-sans: Geist; }
[hidden] { display: none !important; }
.token-0 { animation-delay: 0.0s; }
.token-1 { animation-delay: -1.1s; }
.token-2 { animation-delay: -2.2s; }
.token-3 { animation-delay: -3.3s; }
.token-4 { animation-delay: -4.4s; }
.token-5 { animation-delay: -5.5s; }
.token-6 { animation-delay: -6.6s; }
.token-7 { animation-delay: -7.7s; }
.token-8 { animation-delay: -8.8s; }
.motion-toggle svg { fill: currentColor; }
.motion-toggle .pause-symbol, .motion-toggle.is-playing .play-symbol { display: none; }
.motion-toggle.is-playing .pause-symbol { display: block; }
.capital-interface { padding-bottom: clamp(65px, 12vh, 135px); }
.capital-audience { color: #b8bbcc; font-size: 16px; letter-spacing: .035em; margin: 0 0 15px; }
.capital-title { font-weight: 350; font-size: clamp(36px, 5vw, 60px); letter-spacing: -.045em; margin: 0 0 24px; }
.capital-interface .entry-link { pointer-events: auto; font-size: 14px; }

/* A restrained finish around the original composition. The hairline appears
   only on intent; neither audience reads as a heavy card or a competing hero. */
.entry-grid .entry-link::after { content: ''; position: absolute; left: 23px; right: 23px; bottom: 6px; height: 1px; background: linear-gradient(90deg, transparent, #b8d7f866, transparent); opacity: 0; transform: scaleX(.65); transition: opacity .45s, transform .55s cubic-bezier(.22,.61,.36,1); }
.entry-grid .entry-link[data-audience='capital']::after { background: linear-gradient(90deg, transparent, #c2b2ec66, transparent); }
.entry-grid .entry-link:hover::after, .entry-grid .entry-link:focus-visible::after { opacity: 1; transform: scaleX(1); }
@media (max-width: 700px) { .entry-grid .entry-link::after { left: 10px; right: 10px; } }
@media (prefers-reduced-motion: reduce) { .world-canvas, .ambient-canvas, .entry-grid .entry-link::after { transition: none; } }
