/* Shared by every layout: tokens, the fixed field behind the page, and the hero */
:root {
  --bg: #000; --text: #ededf0; --muted: #9a9aa3; --faint: #5d5d66; --line: rgba(237, 237, 240, .09); --card: rgba(255, 255, 255, .025);
  --glow: #f3c79b; --sans: 'Inter Tight', system-ui, sans-serif; --mono: 'JetBrains Mono', ui-monospace, monospace; --gutter: clamp(20px, 5vw, 72px);
  --ease: cubic-bezier(.2, .7, .2, 1);
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 16px/1.6 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; margin: 0; padding: 0; }
.label { font: 400 11px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--faint); }

#field { position: fixed; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 1s var(--ease); pointer-events: none; z-index: 0; }
#field.on { opacity: 1; }
.page { position: relative; z-index: 1; }

.hero { position: relative; height: 100svh; min-height: 560px; }
.name-fallback { position: absolute; left: 0; right: 0; top: 30%; text-align: center; font: 300 clamp(64px, 16vw, 220px)/1 var(--sans); letter-spacing: -.04em; display: none; }
.no3d .name-fallback { display: block; }
.bar { position: absolute; z-index: 2; top: 0; left: 0; right: 0; display: flex; justify-content: space-between; align-items: center; padding: 22px var(--gutter); }
.bar b { font-weight: 500; font-size: 15px; }
.bar nav { display: flex; gap: 2px; }
.bar nav a { padding: 10px 12px; color: var(--muted); font-size: 14px; transition: color .2s; }
.bar nav a:hover { color: var(--text); }
.copy { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 var(--gutter) clamp(40px, 9vh, 96px); text-align: center; }
.copy h1 { margin: 0 auto; font: 300 clamp(32px, 4.6vw, 64px)/1.02 var(--sans); letter-spacing: -.04em; }
.copy h1 span { color: var(--muted); }
.copy p { margin: 20px auto 0; max-width: 40ch; font-size: clamp(16px, 1.5vw, 18px); color: var(--muted); }
.copy p b { display: block; font-weight: 400; color: var(--text); margin-bottom: .5em; }
.cue { display: block; width: 1px; height: 40px; margin: 28px auto 0; background: linear-gradient(var(--faint), transparent); }

.after { opacity: 0; transform: translateY(10px); transition: opacity 1.4s ease, transform 1.4s var(--ease); }
.ready .after { opacity: 1; transform: none; }
.ready .bar.after { transition-delay: .5s; } .ready .copy .after:nth-child(2) { transition-delay: .25s; } .ready .copy .after:nth-child(3) { transition-delay: .9s; }
.rest.after { transform: none; transition-delay: .6s; }

.in { opacity: 0; transform: translateY(16px); transition: opacity 1.1s ease, transform 1.1s var(--ease); }
.in.seen { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .after, .in { opacity: 1 !important; transform: none !important; transition: none !important; } #field { transition: none; } }

.foot { max-width: 1240px; margin: 0 auto; padding: 28px var(--gutter) 44px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; color: var(--faint); font-size: 14px; border-top: 1px solid var(--line); }
.foot a { color: var(--muted); }
