
@font-face { font-family: 'Instrument Serif'; src: url('/fonts/instrument-serif-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Instrument Serif'; src: url('/fonts/instrument-serif-latin-400-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Instrument Sans'; src: url('/fonts/instrument-sans-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Instrument Sans'; src: url('/fonts/instrument-sans-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url('/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }

:root {
  --bone: #F3F1EC;
  --bone-deep: #EAE7DF;
  --ink: #191713;
  --ink-soft: rgba(25, 23, 19, .74);
  --ink-faint: rgba(25, 23, 19, .52);
  --line: rgba(25, 23, 19, .13);
  --rust: #C75B22;
  --mint: #1F7A46;
  --kraft: #EBDDC3;
  --serif: 'Instrument Serif', Georgia, 'Noto Serif SC', 'Songti SC', SimSun, serif;
  --sans: 'Instrument Sans', -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --spring: cubic-bezier(.34, 1.56, .64, 1);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--bone); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
::selection { background: #DCD4C2; }

nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 40;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.2rem 2.6rem; transition: background .3s, box-shadow .3s;
}
nav.scrolled { background: rgba(243,241,236,.92); backdrop-filter: blur(10px); box-shadow: 0 1px 0 var(--line); }
.wordmark { font-family: var(--serif); font-size: 1.45rem; color: var(--ink); text-decoration: none; }
.nav-links { display: flex; align-items: center; gap: 1.7rem; }
.nav-links a.plain { font-weight: 700; font-size: .86rem; color: var(--ink-soft); text-decoration: none; transition: color .2s; }
.nav-links a.plain:hover { color: var(--ink); }
.nav-cta {
  font-weight: 700; font-size: .85rem; color: var(--bone); background: var(--ink);
  text-decoration: none; padding: .68rem 1.35rem; border-radius: 99px;
  transition: transform .3s var(--spring), background .3s;
}
.nav-cta:hover { transform: translateY(-2px); background: #000; }

/* hero stage lives in landing-hero.css — it outgrew this file's 400-line ratchet
   once the fold had to fit a real form AND stay inside a 630px viewport. */

.kicker { font-family: var(--mono); font-size: .76rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-faint); display: block; margin-bottom: .9rem; }
footer { padding: 2.2rem 2.8rem; display: flex; justify-content: space-between; font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; color: var(--ink-faint); text-transform: uppercase; border-top: 1px solid var(--line); }
@media(max-width:760px){nav{padding:1rem 1.3rem}.nav-links{gap:.9rem}.nav-links a.plain{font-size:.76rem}.nav-links a.plain[href='#loop'],body:not(.cp) .nav-links .nav-cta{display:none}footer{padding:1.6rem 1.3rem;gap:1rem;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.stagebar .caret{animation:none}.answer .plate,.answer .halo,.answer .made,.specchip{opacity:1!important;transform:none!important}}
.platform-section-head p a{color:var(--ink,inherit);text-underline-offset:3px}
