/* The accepted r5b neural header, on its own. claude, 2026-11-12.
   These are the header's rules from the 2026-11-10 restyle's journey.css, lifted without change,
   plus the fonts and the few variables they need. Nothing else from the old site is here. */

@font-face { font-family: 'Newsreader'; src: url('assets/fonts/newsreader-latin-opsz-normal.woff2') format('woff2'); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Newsreader'; src: url('assets/fonts/newsreader-latin-opsz-italic.woff2') format('woff2'); font-weight: 200 800; font-style: italic; font-display: swap; }
@font-face { font-family: 'Geist'; src: url('assets/fonts/geist.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'Geist Mono'; src: url('assets/fonts/geist-mono-latin-wght-normal.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'Outfit'; src: url('assets/fonts/outfit.woff2') format('woff2'); font-weight: 400 600; font-display: swap; }

:root {
  --night: #07100c;
  --gutter: clamp(28px, 5vw, 88px);
  --strip-h: clamp(52px, 8svh, 80px);
  --sc-font-display: 'Outfit', system-ui, sans-serif;
  --sc-font-text: 'Geist', system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: auto; }
body { margin: 0; }
[hidden] { display: none !important; }

.assembly { --sc-canvas: #07100c; --sc-ink: #eee9de; --sc-ink-soft: #a7b2a5; --sc-accent: #d3ae62; color: #eee9de; background: var(--night); font-family: 'Geist', system-ui, sans-serif; line-height: 1.5; -webkit-font-smoothing: antialiased; position: relative; z-index: 2; }
.stage[data-sc-stage] { isolation: isolate; }
.assembly .stage { background: #07100c; isolation: isolate; }
.atmos { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(60% 70% at 72% 50%, color-mix(in oklab, #1d4a33 38%, transparent), transparent 70%), radial-gradient(90% 80% at 10% 100%, color-mix(in oklab, #10281c 60%, transparent), transparent 70%); }
.field { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.field--far { z-index: 1; } .field--near { z-index: 5; }
.hero-scrim { position: absolute; inset: 0; z-index: 10; pointer-events: none; background: radial-gradient(ellipse 66% 58% at 23% 76%, rgb(7 16 12 / .91), rgb(7 16 12 / .55) 58%, transparent 100%); }
.hero-copy { position: absolute; z-index: 20; left: var(--sc-gutter); bottom: clamp(3rem, 13vh, 9rem); }
.brand-line { margin: 0; font-family: var(--sc-font-display); color: var(--sc-ink); }
.brand-line__lead { display: block; font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.6rem); font-weight: 400; letter-spacing: -.015em; line-height: 1.1; margin-bottom: clamp(.4rem, 1.4vh, 1rem); color: var(--sc-ink-soft); }
.brand-line__main { display: block; font-size: clamp(3.2rem, 1rem + 8.2vw, 10rem); font-weight: 600; letter-spacing: -.045em; line-height: .9; padding-bottom: .06em; }
.build-copy { position: absolute; z-index: 20; left: var(--sc-gutter); top: 20%; width: min(35rem, 42vw); }
.build-copy__title { margin: 0 0 1.5rem; font-family: var(--sc-font-display); font-weight: 500; font-size: clamp(2rem, 3.5vw, 3.8rem); line-height: 1.04; letter-spacing: -.03em; text-wrap: balance; }
.build-copy__support { max-width: 30rem; font-size: clamp(1.125rem, 1.3vw, 1.25rem); line-height: 1.6; color: #c4ccc0; margin: 0; }
.approach-link { display: inline-flex; align-items: center; gap: 1.1rem; margin-top: 1.75rem; color: var(--sc-ink); text-decoration: none; border-bottom: 1px solid #8e9a87; padding-bottom: .35rem; font-size: 1rem; }
.approach-link:hover { color: var(--sc-accent); }
.approach-link:focus-visible { outline: 2px solid var(--sc-accent); outline-offset: 6px; }
html.js:not(.rm) .assembly[data-sc-span="5.6"] { height: 560vh; }


@media (max-width: 760px) {
  :root { --gutter: 16px; --strip-h: 44px; }
  .hero-copy { bottom: 9vh; right: var(--sc-gutter); }
  .brand-line__lead { font-size: 1.35rem; }
  .brand-line__main { font-size: clamp(2.6rem, 11.6vw, 3.6rem); line-height: .94; }
  .hero-scrim { background: linear-gradient(0deg, #07100cf2, #07100cc9 37%, #07100c22 70%, transparent); }
  .build-copy { top: 50%; bottom: auto; right: var(--sc-gutter); width: auto; }
  .build-copy__title { font-size: clamp(1.75rem, 7.2vw, 2.4rem); margin-bottom: 1rem; }
  .build-copy__support { font-size: 1.0625rem; line-height: 1.5; }
  .approach-link { margin-top: 1.1rem; font-size: 1rem; }
}
@media (max-width: 760px) and (max-height: 700px) {
  .build-copy { top: 51%; }
  .build-copy__title { font-size: 1.65rem; margin-bottom: .7rem; }
  .build-copy__support { font-size: 1.0625rem; }
  .approach-link { display: none; }
}

/* static compositions: no JavaScript, or reduced motion */
html:not(.js) .assembly :is([data-sc-cue], [data-sc-in]) { opacity: 1; transform: none; }
html:not(.js) .assembly .stage, html.rm .assembly .stage { position: relative; height: auto; min-height: 100svh; display: grid; align-content: center; gap: 32px; padding: calc(var(--strip-h) + 32px) var(--sc-gutter, var(--gutter)) 48px; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); }
html:not(.js) :is(.hero-copy, .build-copy), html.rm :is(.hero-copy, .build-copy) { position: relative; inset: auto; translate: none; width: auto; max-width: 46rem; grid-column: 1; }
html:not(.js) .brand-line__main, html.rm .brand-line__main { font-size: clamp(2.6rem, .6rem + 5.2vw, 6.4rem); }
html:not(.js) .field { display: none; }
html:not(.js) .assembly .stage { grid-template-columns: minmax(0, 1fr); }
html.rm .hero-scrim, html:not(.js) .hero-scrim { display: none; }
html:not(.js) .assembly[data-sc-span="5.6"] { height: auto; }
@media (max-width: 760px) { html.rm .assembly .stage, html:not(.js) .assembly .stage { grid-template-columns: 1fr; } }
