/* TwelveX brand book, Dawn theme. Values match tokens.json. */
@font-face { font-family: "Space Grotesk"; src: url("/assets/fonts/SpaceGrotesk-300.ttf") format("truetype"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Space Grotesk"; src: url("/assets/fonts/SpaceGrotesk-500.ttf") format("truetype"); font-weight: 500; font-display: swap; }

:root {
  --surface: #FFFCF6;
  --surface-soft: #F6EEE0;
  --line: #E9DDC9;
  --ink: #1E1A15;
  --ink-muted: #6A6157;
  --accent: #F0AE3A;
  --accent-ink: #985300;
  --accent-soft: #FCEBC9;
  --on-accent: #1E1A15;

  --display: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;
  --body: Inter, "Helvetica Neue", Arial, sans-serif;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 40px;
  --space-6: 64px;
  --space-7: 96px;

  --radius-sm: 6px;
  --radius-md: 14px;
  --radius-pill: 999px;

  --gutter: clamp(16px, 6.6vw, 96px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--surface); color: var(--ink); font: 400 16px/1.6 var(--body); }
h1, h2, h3, p, ul, ol, blockquote { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img, svg { display: block; }
a { color: var(--accent-ink); }
a:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }

h1, h2, h3, .eyebrow, .numeral { font-family: var(--display); font-weight: 500; }
h1, h2 { text-wrap: balance; }
.display-xl { font-size: clamp(52px, 7.5vw, 96px); line-height: .95; letter-spacing: -.03em; }
.display { font-size: clamp(40px, 5vw, 64px); line-height: 1; letter-spacing: -.025em; }
.heading-2 { font-size: clamp(26px, 2.6vw, 32px); line-height: 1.15; letter-spacing: -.015em; }
.heading-3 { font-size: 22px; line-height: 1.25; letter-spacing: -.01em; }
.eyebrow { font-size: 13px; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-ink); }
.body-lg { font-size: clamp(18px, 1.6vw, 20px); line-height: 1.5; }
.muted { color: var(--ink-muted); }
.caption { font-size: 13px; line-height: 1.45; color: var(--ink-muted); }

.wrap { max-width: 1440px; margin: 0 auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(64px, 9vw, 128px); }
.soft { background: var(--surface-soft); }
.section-head { display: grid; gap: var(--space-3); max-width: 1000px; margin-bottom: clamp(40px, 5vw, 64px); }
.section-head .body-lg { max-width: 62ch; }

.btn { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 24px; border-radius: var(--radius-pill); font: 500 16px/1.2 var(--display); text-decoration: none; color: var(--ink); border: 1px solid var(--ink); transition: background-color .15s; }
.btn:hover { background: var(--surface-soft); }
.btn-gold { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.btn-gold:hover { background: var(--accent); border-color: var(--ink); }

/* Nav */
.nav { position: sticky; top: 0; z-index: 10; background: var(--surface); border-bottom: 1px solid var(--line); }
.nav .wrap { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: 72px; }
.nav img { width: 124px; height: auto; }
.nav ul { display: flex; align-items: center; gap: var(--space-5); }
.nav li a { color: var(--ink); text-decoration: none; font: 500 15px/1.2 var(--display); }
.nav li a:hover { color: var(--accent-ink); }
@media (max-width: 760px) { .nav li:nth-last-child(n+3) { display: none; } }

/* Hero: the horizon field, with the symbol rising from the bottom edge */
.hero { position: relative; overflow: hidden; background: linear-gradient(to top, var(--accent-soft), var(--surface) 70%); }
.hero .wrap { position: relative; padding-block: clamp(72px, 11vw, 160px) clamp(200px, 18vw, 260px); }
.hero h1 { max-width: 9.5em; margin-block: var(--space-3) var(--space-4); }
.hero .body-lg { max-width: 34em; color: var(--ink-muted); }
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.sun { position: absolute; right: -6vw; bottom: calc(clamp(420px, 56vw, 860px) * -.5); width: clamp(420px, 56vw, 860px); pointer-events: none; animation: rise 1.6s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes rise { from { transform: translateY(14%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .sun { animation: none; } html { scroll-behavior: auto; } }
@media (max-width: 760px) { .sun { right: -24vw; } }

/* The moment */
.moment-copy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); max-width: 1100px; }
@media (max-width: 760px) { .moment-copy { grid-template-columns: 1fr; gap: var(--space-4); } }

/* Faith: the one gold statement panel */
.statement { background: var(--accent); color: var(--on-accent); }
.statement .eyebrow { color: var(--on-accent); }
.statement h2 { margin-block: var(--space-3) var(--space-4); }
.statement p { max-width: 42em; }
.statement blockquote { margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--on-accent); max-width: 42em; font: 500 clamp(22px, 2.4vw, 32px)/1.2 var(--display); letter-spacing: -.015em; }
.statement cite { display: block; margin-top: var(--space-2); font: 400 16px/1.6 var(--body); }

/* Name */
.name-rows { max-width: 1000px; }
.name-rows li { display: grid; grid-template-columns: minmax(96px, 200px) 1fr; gap: var(--space-4); padding-block: var(--space-4); border-top: 1px solid var(--line); }
.name-rows li:last-child { border-bottom: 1px solid var(--line); }
.numeral { font-weight: 300; font-size: clamp(44px, 5vw, 64px); line-height: 1; letter-spacing: -.025em; color: var(--accent-ink); }
.name-rows h3 { margin-bottom: var(--space-1); }
@media (max-width: 560px) { .name-rows li { grid-template-columns: 1fr; gap: var(--space-2); } }

/* Why now */
.shifts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-5); }
.shifts li { display: grid; align-content: start; gap: var(--space-2); padding-top: var(--space-3); border-top: 1px solid var(--line); }
.shifts .eyebrow { margin-bottom: var(--space-2); }
@media (max-width: 1100px) { .shifts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .shifts { grid-template-columns: 1fr; gap: var(--space-4); } }

/* Ventures */
.ventures li { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-5); padding-block: var(--space-5); border-top: 1px solid var(--line); }
.ventures li:last-child { border-bottom: 1px solid var(--line); }
.ventures .eyebrow { margin-top: var(--space-2); }
.ventures .question { color: var(--ink-muted); }
@media (max-width: 860px) { .ventures li { grid-template-columns: 1fr; gap: var(--space-2); padding-block: var(--space-4); } }

.open-head { display: grid; gap: var(--space-2); margin-block: var(--space-6) var(--space-4); }
.open-sectors { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.open-sectors li { padding: var(--space-4); border-radius: var(--radius-md); background: var(--surface-soft); }
.open-sectors h3 { margin-bottom: var(--space-2); }
@media (max-width: 1100px) { .open-sectors { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .open-sectors { grid-template-columns: 1fr; } }

/* Method */
.stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.stages li { display: grid; align-content: start; gap: var(--space-2); padding-top: var(--space-4); border-top: 4px solid var(--line); }
.stages li.gate-stage { border-top-color: var(--accent); }
.stages .numeral { margin-bottom: var(--space-2); }
@media (max-width: 960px) { .stages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--space-4); } }
@media (max-width: 560px) { .stages { grid-template-columns: 1fr; } }

/* Studio */
.engine { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.engine li { display: grid; align-content: start; gap: var(--space-2); padding: var(--space-5); border-radius: var(--radius-md); background: var(--surface-soft); }
.sisters { margin-top: var(--space-5); }
@media (max-width: 960px) { .engine { grid-template-columns: 1fr; } .engine li { padding: var(--space-4); } }

/* Close and footer */
.close { display: grid; gap: var(--space-4); justify-items: start; }
.close a { font: 500 clamp(26px, 2.6vw, 32px)/1.15 var(--display); letter-spacing: -.015em; }
.footer { padding-block: var(--space-5); }
.footer .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); }
.footer img { width: 124px; height: auto; margin-bottom: var(--space-2); }

/* Investor gate */
.gate { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-6); align-items: start; }
.gate-intro { display: grid; gap: var(--space-3); }
.gate-form { display: grid; gap: var(--space-2); padding: var(--space-5); border-radius: var(--radius-md); background: var(--surface-soft); }
.gate-form label { font-weight: 600; }
.gate-form input { width: 100%; min-height: 48px; margin-bottom: var(--space-3); padding: 10px 14px; border: 1px solid var(--ink-muted); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font: 400 16px/1.4 var(--body); }
.gate-form input:focus-visible, .btn:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
.gate-form .hero-actions { margin-top: var(--space-2); }
button.btn { cursor: pointer; background: transparent; }
button.btn-gold { background: var(--accent); }
.hidden-field { position: absolute; left: -9999px; }
.form-message { margin-bottom: var(--space-3); padding: 12px 16px; border-radius: var(--radius-sm); background: var(--accent-soft); }
.form-error { font-weight: 600; }
@media (max-width: 860px) { .gate { grid-template-columns: 1fr; gap: var(--space-5); } .gate-form { padding: var(--space-4); } }

/* Investor deck */
.todo { padding: 0 4px; border-radius: var(--radius-sm); background: var(--accent-soft); color: var(--accent-ink); }
.deck-hero p.deck-meta { margin-top: var(--space-5); }
.venture { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--space-6); padding-block: var(--space-6); border-top: 1px solid var(--line); }
.venture h3.display { margin-block: var(--space-2); }
.venture-lede { font: 400 clamp(22px, 2.4vw, 28px)/1.25 var(--display); margin-bottom: var(--space-4); }
.venture dl { margin: 0; }
.venture dt { padding-top: var(--space-3); border-top: 1px solid var(--line); }
.venture dd { margin: var(--space-2) 0 var(--space-4); }
.venture-side { display: grid; align-content: start; gap: var(--space-3); }
.venture-photos { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.venture-photos img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-md); }
.venture-photos img:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.venture-image { display: grid; place-items: center; min-height: 240px; padding: var(--space-4); border-radius: var(--radius-md); background: var(--surface-soft); }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-3); }
.stat { display: grid; gap: var(--space-1); padding: var(--space-4); border-radius: var(--radius-md); background: var(--accent-soft); }
.stat strong { font: 500 clamp(32px, 3.4vw, 44px)/1.08 var(--display); letter-spacing: -.02em; }
.batch-table { width: 100%; border-collapse: collapse; }
.batch-table th { text-align: left; font: 500 13px/1.2 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--accent-ink); }
.batch-table th, .batch-table td { padding: var(--space-3) var(--space-3) var(--space-3) 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.batch-table td:first-child { font: 500 22px/1.25 var(--display); }
.table-scroll { overflow-x: auto; }
.table-scroll table { min-width: 720px; }
.two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.panel { display: grid; align-content: start; gap: var(--space-2); padding: var(--space-5); border-radius: var(--radius-md); background: var(--surface-soft); }
.soft .panel { background: var(--surface); }
.team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.terms { margin-top: var(--space-5); padding: var(--space-4); border-radius: var(--radius-md); background: var(--surface-soft); }
@media (max-width: 960px) { .venture, .two-col { grid-template-columns: 1fr; gap: var(--space-4); } .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .panel { padding: var(--space-4); } }
@media (max-width: 560px) { .team-grid { grid-template-columns: 1fr; } }
.close a.btn { font: 500 16px/1.2 var(--display); letter-spacing: 0; }

/* Landing page journey: darkness to dawn, driven by scroll in index.html.
   Everything below is scoped to .journey, which only the inline script sets,
   so without JavaScript the page stays plain Dawn. */
.prompt, .open-scene, .glows, .rays { display: none; }
.faith { display: grid; gap: var(--space-4); }
.faith p { max-width: 42em; }
.faith blockquote { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--ink); max-width: 42em; font: 500 clamp(22px, 2.4vw, 32px)/1.2 var(--display); letter-spacing: -.015em; }
.faith cite { display: block; margin-top: var(--space-2); font: 400 16px/1.6 var(--body); }
.scene { padding-block: var(--space-6); }
.stack { display: grid; gap: var(--space-4); max-width: 1000px; }
.stack .lockup { width: clamp(160px, 16vw, 220px); height: auto; }
.verse { font: 500 clamp(36px, 5.4vw, 72px)/1.05 var(--display); letter-spacing: -.025em; }
.verse cite { display: block; margin-top: var(--space-3); font: 400 16px/1.6 var(--body); letter-spacing: 0; color: var(--ink-muted); }
.close-scene { position: relative; display: grid; align-content: start; justify-items: center; gap: var(--space-4); text-align: center; padding-block: var(--space-7) var(--space-6); }
.close-scene .wordmark { width: clamp(120px, 12vw, 170px); height: auto; }
.close-scene .email { font: 500 clamp(26px, 2.6vw, 32px)/1.15 var(--display); letter-spacing: -.015em; }
.half-sun { display: block; width: min(92vw, 1100px); margin: var(--space-5) auto 0; overflow: hidden; }
.half-sun svg { width: 100%; height: auto; }

.journey, .journey body { background: #050403; }
.journey body { background: transparent; overflow-x: clip; }
.journey { --sun: min(150vw, 84svh, 1200px); }

.journey .tone-dark { --ink: #F7F1E6; --ink-muted: #B5AA9A; --accent-ink: #F5C766; --line: rgb(247 241 230 / .2); color: var(--ink); }
.journey .tone-gold { --ink-muted: #1E1A15; --accent-ink: #1E1A15; --line: rgb(30 26 21 / .28); color: var(--ink); }
.journey .tone-light { --line: rgb(30 26 21 / .16); color: var(--ink); }
.journey .tone-dark a, .journey .tone-gold a { color: var(--accent-ink); }

.journey .open-scene { display: block; position: relative; height: 100svh; margin-bottom: -38svh; }
.journey .section { padding-block: clamp(96px, 14vw, 200px); }
.journey .scene { padding-block: 0; height: var(--len, 300vh); }
.journey .scene-pin { position: sticky; top: 0; height: 100svh; display: grid; align-items: center; }
.journey .pivot .stack-pair { display: grid; }
.journey .pivot .stack-pair > * { grid-area: 1 / 1; align-self: center; }
.journey .scene.unpinned { height: auto; padding-block: var(--space-6); }
.journey .scene.unpinned .scene-pin { position: static; height: auto; }
.journey .scene.unpinned .stack-pair { gap: var(--space-6); }
.journey .scene.unpinned .stack-pair > * { grid-area: auto; }
.journey .open-sectors li, .journey .engine li { background: rgb(255 252 246 / .62); }

.journey .prompt { display: grid; position: absolute; left: 0; right: 0; bottom: max(32px, env(safe-area-inset-bottom)); justify-items: center; gap: var(--space-2); color: #F7F1E6; opacity: 0; transition: opacity .9s ease; pointer-events: none; }
.journey .prompt.show { opacity: .78; }
.journey .prompt i { display: block; width: 3px; height: 28px; border-radius: var(--radius-pill); background: var(--accent); animation: nudge 1.8s ease-in-out infinite; }
@keyframes nudge { 0%, 100% { transform: translateY(-4px); opacity: .4; } 50% { transform: translateY(6px); opacity: 1; } }

.journey .glows { display: block; position: fixed; inset: auto 0 0; height: 70svh; z-index: -1; pointer-events: none; }
.journey .glows > * { position: absolute; inset: 0; transform-origin: 50% 100%; background: radial-gradient(ellipse 75% 100% at 50% 100%, rgb(240 174 58 / .75), rgb(240 174 58 / 0) 72%); opacity: 0; }
/* One breath of light, then a slow pulse that never goes out, so the top of the page is never fully black. */
.journey .flare.go { animation: flare 2.2s cubic-bezier(.2, .7, .3, 1) forwards, breathe 5s ease-in-out 2.2s infinite; }
@keyframes flare { 0% { opacity: 0; transform: scaleY(.3); } 10% { opacity: .95; transform: scaleY(1); } 100% { opacity: .42; transform: scaleY(.6); } }
@keyframes breathe { 0%, 100% { opacity: .42; transform: scaleY(.6); } 50% { opacity: .24; transform: scaleY(.5); } }

.journey .rays { display: block; position: fixed; right: 18px; bottom: 18px; width: 40px; height: 40px; z-index: 5; opacity: 0; transition: opacity .6s ease; pointer-events: none; }
.journey .rays.show { opacity: 1; }
.journey .rays svg { width: 100%; height: 100%; }
.journey .rays line { stroke: var(--ray, #F0AE3A); }

.journey .close-scene { min-height: 100svh; overflow: hidden; padding-block: clamp(56px, 9svh, 110px) calc(var(--sun) / 2 + 24px); }
.journey .half-sun { position: absolute; left: 50%; bottom: 0; width: var(--sun); margin: 0; overflow: visible; transform: translate(-50%, 50%); }

@media (prefers-reduced-motion: reduce) {
  .journey .prompt i { animation: none; }
  .journey .flare.go { animation: none; opacity: .35; transform: scaleY(.55); }
}

/* Photos: real schools we work with, shown in daylight */
.photo-band { padding-block: clamp(48px, 7vw, 96px) 0; }
.photo-band img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-md); }
figure { margin: 0; }
figcaption { margin-top: var(--space-2); font-size: 14px; line-height: 1.45; color: var(--ink-muted); }
.photo-strip { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: var(--space-3); margin-bottom: clamp(40px, 5vw, 64px); }
.photo-strip img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-md); }
.photo-strip figure:first-child img { aspect-ratio: auto; }
@media (max-width: 760px) { .photo-strip { grid-template-columns: 1fr 1fr; } .photo-strip figure:first-child { grid-column: 1 / -1; } .photo-strip figure:first-child img { aspect-ratio: 3 / 2; height: auto; } }

/* Partners: logo, name, one line, link to their site */
.partners { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--space-4); }
.partners a { display: grid; align-content: start; gap: var(--space-2); height: 100%; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: rgb(255 252 246 / .7); color: var(--ink); text-decoration: none; transition: border-color .15s; }
.partners a:hover { border-color: var(--accent-ink); }
.partners a { overflow: hidden; }
.partners .photo { display: block; margin: calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-2); }
.partners .photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.partners .logo { display: flex; align-items: center; height: 52px; margin-bottom: var(--space-2); }
.partners .logo img { width: auto; height: auto; max-width: min(100%, 168px); max-height: 52px; }
.partners .site { font: 500 14px/1.2 var(--display); color: var(--accent-ink); }

/* Unicorn Machine endorsement: their symbol and gradient, linked to their site */
.um-link { font-weight: 600; text-decoration: none; background: linear-gradient(90deg, #4F55D6, #8A4FA6); -webkit-background-clip: text; background-clip: text; color: transparent !important; transition: filter .15s; }
.um-link img { display: inline-block; width: 1.6em; height: 1.6em; margin: -.4em .2em 0 0; vertical-align: middle; }
.um-link:hover { filter: brightness(1.2); }
.um-link:focus-visible { outline: 2px solid #4F55D6; outline-offset: 2px; border-radius: 4px; }
.close-scene .caption { font-size: 15px; }
/* Four partners: one row of four, or two by two, never three plus one */
.partners:has(> li:nth-child(4)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .partners:has(> li:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .partners:has(> li:nth-child(4)) { grid-template-columns: 1fr; } }
/* Deck: use-of-funds table under the ask */
.funds-table { margin-top: var(--space-5); }
.funds-table td:first-child { font: 400 16px/1.5 var(--body); }
.funds-table td:not(:first-child), .funds-table th:not(:first-child) { text-align: right; white-space: nowrap; padding-left: var(--space-3); }
.funds-table td:last-child, .funds-table th:last-child { padding-right: 0; }

/* Mailing-list sign-up */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.signup { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-6); align-items: start; }
.signup .section-head { margin-bottom: 0; }
.signup-form { display: grid; gap: var(--space-4); padding: var(--space-5); border-radius: var(--radius-md); background: var(--surface); border: 1px solid var(--line); }
.signup-fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.signup-fields input { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--ink-muted); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font: 400 16px/1.4 var(--body); }
.signup-fields input:focus-visible, .signup-option input:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
.signup-form fieldset { display: grid; gap: var(--space-2); margin: 0; padding: 0; border: 0; }
.signup-form legend { margin-bottom: var(--space-2); font-weight: 600; }
.signup-option { display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-sm); cursor: pointer; transition: border-color .15s; }
.signup-option:hover, .signup-option:has(input:checked) { border-color: var(--accent-ink); }
.signup-option input { width: 18px; height: 18px; margin: 3px 0 0; flex: none; accent-color: var(--accent-ink); }
.signup-option strong { display: block; }
.signup-option .muted { display: block; font-size: 15px; }
.signup-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.signup-status:empty { display: none; }
.signup-status { padding: 12px 16px; border-radius: var(--radius-sm); background: var(--accent-soft); }
.signup-status.is-error { font-weight: 600; }
.message-page { display: grid; gap: var(--space-4); max-width: 760px; }
.message-list { display: grid; gap: var(--space-2); }
@media (max-width: 860px) { .signup { grid-template-columns: 1fr; gap: var(--space-5); } .signup-form { padding: var(--space-4); } }
@media (max-width: 560px) { .signup-fields { grid-template-columns: 1fr; } }
/* Why now: a pinned scene whose five shifts arrive one by one */
.now-stack { max-width: none; }
.now-stack .section-head { margin-bottom: clamp(32px, 4vw, 56px); }
@media (max-width: 560px) {
  .now-stack .shifts { gap: var(--space-3); }
  .now-stack .shifts li { grid-template-columns: 2.2em 1fr; align-items: baseline; gap: var(--space-2); padding-top: var(--space-3); }
  .now-stack .shifts .eyebrow { margin: 0; }
  .now-stack .shifts .heading-3 { font-size: 19px; }
  .now-stack .shifts p.muted { display: none; }
}
