:root {
  --paper: #fbfcfa;
  --paper-pure: #ffffff;
  --surface: #f2f5ef;
  --ink: #111411;
  --muted: #59605a;
  --quiet: #697169;
  --line: rgba(17, 20, 17, .14);
  --line-strong: rgba(17, 20, 17, .28);
  --green: #4b8652;
  --green-dark: #2f5f3d;
  --green-soft: #a0c879;
  --green-pale: #e8f0e2;
  --focus: #2f6e3e;
  --font: 'Archivo', 'Helvetica Neue', sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --max: 1480px;
  --read: 760px;
  --gutter: clamp(20px, 4vw, 72px);
  --section: clamp(84px, 10vw, 156px);
  --radius: 4px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea { font: inherit; }
::selection { background: var(--green-pale); color: var(--ink); }

.skip-link {
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 100;
  transform: translateY(-160%);
  background: var(--ink);
  color: white;
  padding: 10px 14px;
  text-decoration: none;
  border-radius: 2px;
}
.skip-link:focus { transform: translateY(0); }

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--focus) 70%, white);
  outline-offset: 4px;
}

.shell { width: min(100%, var(--max)); margin: 0 auto; padding-inline: var(--gutter); }
.reading { max-width: var(--read); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: color-mix(in srgb, var(--paper) 94%, transparent);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease, background .2s ease;
}
.site-header.scrolled { border-bottom-color: var(--line); background: color-mix(in srgb, var(--paper) 98%, transparent); }
.nav-wrap { min-height: 78px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; }
.brand-link { display: inline-flex; align-items: center; text-decoration: none; width: 188px; }
.brand-link img { width: 100%; display: block; }
.primary-nav { display: flex; justify-content: center; gap: clamp(18px, 2.2vw, 34px); }
.primary-nav a, .nav-external {
  position: relative;
  text-decoration: none;
  font-size: 14px;
  font-weight: 560;
  letter-spacing: -.01em;
  padding: 8px 0;
}
.primary-nav a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1px;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
}
.primary-nav a:hover::after,
.primary-nav a[aria-current='page']::after { transform: scaleX(1); }
.nav-external { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.nav-external span { width: 7px; height: 7px; border-right: 1px solid currentColor; border-top: 1px solid currentColor; }
.menu-toggle { display: none; border: 0; background: transparent; padding: 10px; width: 44px; height: 44px; cursor: pointer; }
.menu-toggle i, .menu-toggle i::before, .menu-toggle i::after { display: block; width: 22px; height: 1px; background: var(--ink); content: ''; transition: transform .2s ease, opacity .2s ease; }
.menu-toggle i { position: relative; }
.menu-toggle i::before { position: absolute; transform: translateY(-7px); }
.menu-toggle i::after { position: absolute; transform: translateY(7px); }
.menu-open .menu-toggle i { background: transparent; }
.menu-open .menu-toggle i::before { transform: rotate(45deg); }
.menu-open .menu-toggle i::after { transform: rotate(-45deg); }

main { overflow: clip; }
.hero {
  min-height: min(900px, calc(100svh - 78px));
  padding-block: clamp(64px, 7vw, 110px) 56px;
  display: flex;
  align-items: center;
}
.hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(330px, 5fr); gap: clamp(42px, 7vw, 120px); align-items: center; }
.hero-copy { position: relative; z-index: 2; max-width: 960px; }
.hero h1, .page-hero h1 {
  margin: 0;
  font-size: clamp(52px, 7.2vw, 112px);
  line-height: .94;
  letter-spacing: -.055em;
  font-weight: 620;
  font-variation-settings: 'wdth' 91;
  text-wrap: balance;
}
.hero .lede {
  max-width: 720px;
  margin: clamp(28px, 4vw, 48px) 0 0;
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.35;
  letter-spacing: -.025em;
  color: var(--muted);
}
.actions { margin-top: 34px; display: flex; gap: 12px; flex-wrap: wrap; }
.button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 1px solid var(--ink);
  border-radius: var(--radius);
  padding: 11px 17px;
  font-size: 14px;
  font-weight: 620;
  letter-spacing: -.01em;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.button.primary { background: var(--ink); color: white; }
.button.primary:hover { background: var(--green-dark); border-color: var(--green-dark); }
.button.secondary:hover { background: var(--surface); }

.coordinate-field {
  position: relative;
  min-height: clamp(420px, 50vw, 690px);
  aspect-ratio: 1;
  isolation: isolate;
}
.coordinate-ring,
.coordinate-ring::before,
.coordinate-ring::after {
  position: absolute;
  border: 1px solid color-mix(in srgb, var(--green) 42%, transparent);
  border-radius: 50%;
  content: '';
}
.coordinate-ring { inset: 3%; animation: meridian-settle 1.35s cubic-bezier(.2,.7,.2,1) both; }
.coordinate-ring::before { inset: 12%; border-color: color-mix(in srgb, var(--green) 24%, transparent); }
.coordinate-ring::after { left: 50%; top: -1px; bottom: -1px; width: 0; border-radius: 0; border-left: 1px solid color-mix(in srgb, var(--green) 42%, transparent); border-top: 0; border-right: 0; border-bottom: 0; }
.coordinate-equator { position: absolute; left: 2%; right: 2%; top: 50%; height: 1px; background: color-mix(in srgb, var(--green) 28%, transparent); transform: rotate(-8deg); transform-origin: center; }
.coordinate-axis { position: absolute; inset: 9% 49.9%; width: 1px; background: var(--line); transform: rotate(26deg); transform-origin: center; }
.coordinate-center { position: absolute; left: 49%; top: 48%; width: 13px; height: 13px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 10px color-mix(in srgb, var(--green) 10%, transparent); }
.coordinate-mark { position: absolute; width: 58%; left: 21%; top: 32%; z-index: 2; mix-blend-mode: multiply; }
.coordinate-meta { position: absolute; left: 4%; bottom: 6%; max-width: 190px; font-family: var(--mono); font-size: 11px; line-height: 1.55; color: var(--green-dark); letter-spacing: .03em; }
.coordinate-tick { position: absolute; width: 34px; height: 1px; background: var(--green); transform-origin: left; }
.coordinate-tick.t1 { top: 12%; left: 19%; transform: rotate(28deg); }
.coordinate-tick.t2 { top: 75%; right: 8%; transform: rotate(155deg); }
.coordinate-tick.t3 { top: 45%; left: -1%; transform: rotate(-2deg); }
@keyframes meridian-settle { from { transform: rotate(-18deg) scale(.97); opacity: .4; } to { transform: rotate(0) scale(1); opacity: 1; } }

.proof-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.proof-item { padding: 26px 26px 28px 0; min-width: 0; }
.proof-item + .proof-item { padding-left: 26px; border-left: 1px solid var(--line); }
.proof-item strong { display: block; font-size: 16px; font-weight: 620; letter-spacing: -.02em; }
.proof-item span { display: block; margin-top: 6px; color: var(--muted); font-size: 14px; line-height: 1.45; }

.section { padding-block: var(--section); }
.section.compact { padding-block: clamp(62px, 8vw, 110px); }
.section-rule { border-top: 1px solid var(--line); }
.section-head { display: grid; grid-template-columns: minmax(0, 4fr) minmax(320px, 5fr); gap: 40px; align-items: start; margin-bottom: clamp(44px, 6vw, 80px); }
.section-kicker, .section-context { font-family: var(--mono); font-size: 12px; color: var(--green-dark); line-height: 1.5; padding-top: 6px; }
.section-context { max-width: 220px; color: var(--quiet); }
.section-head-plain { grid-template-columns: minmax(0, 1fr); }
.section-head-plain > div { max-width: 920px; }
.section-title { margin: 0; font-size: clamp(40px, 5vw, 76px); line-height: .98; letter-spacing: -.045em; font-weight: 590; font-variation-settings: 'wdth' 93; text-wrap: balance; }
.section-copy { margin: 0; color: var(--muted); max-width: 660px; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.45; letter-spacing: -.02em; }

.measure-layout { display: grid; grid-template-columns: minmax(270px, 4fr) minmax(0, 8fr); gap: clamp(36px, 7vw, 100px); align-items: start; }
.measure-aside { position: sticky; top: 112px; }
.measure-aside h3 { margin: 0 0 16px; font-size: 22px; letter-spacing: -.025em; }
.measure-aside p { color: var(--muted); font-size: 15px; line-height: 1.6; }
.measure-stack { border-top: 1px solid var(--line-strong); }
.measure-row { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: 28px; padding: 34px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.measure-number { font-size: clamp(54px, 7vw, 96px); line-height: .9; letter-spacing: -.06em; font-weight: 620; color: var(--green-dark); }
.measure-detail h3 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.measure-detail p { margin: 10px 0 0; max-width: 700px; color: var(--muted); }
.caveat { margin-top: 18px; font-family: var(--mono); font-size: 11px; line-height: 1.55; color: var(--quiet); }

.epicycle-layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(46px, 8vw, 120px); align-items: start; }
.epicycle-copy h2 { margin: 0; font-size: clamp(46px, 6vw, 82px); line-height: .96; letter-spacing: -.05em; font-weight: 610; }
.epicycle-copy p { margin: 26px 0 0; color: var(--muted); max-width: 580px; font-size: 19px; }
.gear-list { border-top: 1px solid var(--line-strong); }
.gear { position: relative; display: grid; grid-template-columns: 170px 1fr; gap: 28px; padding: 27px 0; border-bottom: 1px solid var(--line); }

.gear-name { font-family: var(--mono); font-size: 13px; color: var(--green-dark); }
.gear h3 { margin: 0 0 6px; font-size: 18px; letter-spacing: -.015em; }
.gear p { margin: 0; color: var(--muted); font-size: 15px; }

.editorial-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(300px, 5fr); gap: clamp(40px, 7vw, 100px); align-items: stretch; }
.editorial-primary { border-top: 1px solid var(--line-strong); padding-top: 26px; }
.editorial-primary h2 { margin: 0; font-size: clamp(44px, 5vw, 72px); line-height: 1; letter-spacing: -.045em; font-weight: 600; }
.editorial-primary p { max-width: 700px; color: var(--muted); font-size: 19px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-weight: 620; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.text-link:hover { color: var(--green-dark); }
.mascot-frame { position: relative; overflow: hidden; min-height: 560px; background: white; border-left: 1px solid var(--line); }
.mascot-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; display: block; }
.mascot-caption { position: absolute; left: 20px; bottom: 18px; background: rgba(251,252,250,.92); padding: 10px 12px; font-family: var(--mono); font-size: 11px; color: var(--green-dark); border: 1px solid var(--line); }

.news-list { border-top: 1px solid var(--line-strong); }
.news-row { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: 28px; padding: 27px 0; border-bottom: 1px solid var(--line); align-items: start; text-decoration: none; }
.news-row:hover .news-title { color: var(--green-dark); }
.news-date { font-family: var(--mono); font-size: 12px; color: var(--quiet); padding-top: 5px; }
.news-title { font-size: clamp(21px, 2vw, 28px); line-height: 1.15; letter-spacing: -.025em; font-weight: 580; transition: color .16s ease; }
.news-desc { color: var(--muted); margin-top: 7px; max-width: 760px; font-size: 15px; }
.news-source { font-size: 13px; color: var(--muted); padding-top: 5px; white-space: nowrap; }

.page-hero { padding-block: clamp(80px, 10vw, 150px) clamp(70px, 8vw, 120px); border-bottom: 1px solid var(--line); }
.page-hero .page-intro { max-width: 790px; margin-top: 34px; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.4; color: var(--muted); letter-spacing: -.025em; }
.page-hero .meta-line { margin-top: 28px; font-family: var(--mono); font-size: 12px; color: var(--green-dark); }

.article-layout { display: grid; grid-template-columns: minmax(180px, 3fr) minmax(0, 9fr); gap: clamp(34px, 7vw, 100px); }
.article-index { position: sticky; top: 112px; align-self: start; font-family: var(--mono); font-size: 12px; color: var(--quiet); }
.article-index a { display: block; margin: 0 0 10px; color: inherit; text-decoration: none; }
.article-index a:hover { color: var(--green-dark); }
.prose { max-width: 900px; }
.prose h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.02; letter-spacing: -.04em; margin: 0 0 28px; font-weight: 600; }
.prose h3 { font-size: 23px; line-height: 1.2; letter-spacing: -.025em; margin: 44px 0 14px; }
.prose p { color: var(--muted); max-width: 760px; margin: 0 0 22px; }
.prose strong { color: var(--ink); }
.prose a { text-underline-offset: 4px; }
.prose a:hover { color: var(--green-dark); }
.prose-section { padding: 0 0 clamp(74px, 8vw, 118px); margin-bottom: clamp(74px, 8vw, 118px); border-bottom: 1px solid var(--line); }
.prose-section:last-child { margin-bottom: 0; border-bottom: 0; }

.spec-table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 30px 0; }
.spec-table th, .spec-table td { text-align: left; vertical-align: top; padding: 14px 10px 14px 0; border-bottom: 1px solid var(--line); }
.spec-table th { width: 34%; font-weight: 590; color: var(--ink); }
.spec-table td { color: var(--muted); }
.spec-table thead th { font-family: var(--mono); font-size: 11px; font-weight: 500; color: var(--quiet); border-top: 1px solid var(--line-strong); }

.code-block { overflow-x: auto; background: var(--ink); color: #f7f7f2; padding: 24px; border-radius: 2px; font-family: var(--mono); font-size: 13px; line-height: 1.65; }
.code-block code { font-family: inherit; }

.release-note { padding: 26px 0; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 170px 1fr; gap: 26px; }
.release-note strong { font-family: var(--mono); font-size: 12px; color: var(--green-dark); }
.release-note p { margin: 0; color: var(--muted); }

.model-empty { display: grid; grid-template-columns: minmax(0, 5fr) minmax(320px, 7fr); gap: clamp(44px, 8vw, 120px); align-items: center; }
.model-mark { position: relative; aspect-ratio: 1.25; border: 1px solid var(--line); background: var(--paper-pure); overflow: hidden; }
.model-mark::before { content: ''; position: absolute; width: 78%; aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--green) 34%, transparent); border-radius: 50%; left: -18%; top: 4%; }
.model-mark::after { content: ''; position: absolute; height: 1px; width: 90%; background: var(--green); left: 8%; top: 58%; transform: rotate(-14deg); }
.model-mark img { position: absolute; width: 42%; right: 8%; bottom: 14%; z-index: 2; }

.principles { border-top: 1px solid var(--line-strong); }
.principle { display: grid; grid-template-columns: minmax(180px, 3fr) minmax(0,9fr); gap: 40px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.principle h3 { margin: 0; font-size: 19px; letter-spacing: -.02em; }
.principle p { margin: 0; color: var(--muted); max-width: 760px; }

.footer { border-top: 1px solid var(--line); padding: 58px 0 36px; }
.footer-grid { display: grid; grid-template-columns: minmax(240px, 5fr) minmax(0, 7fr); gap: clamp(44px, 8vw, 120px); align-items: start; }
.footer-brand { max-width: 210px; }
.footer-copy { color: var(--muted); font-size: 14px; max-width: 360px; margin-top: 18px; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.footer-links a { color: var(--muted); font-size: 14px; text-decoration: none; padding: 13px 0; border-bottom: 1px solid var(--line); }
.footer-links a:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--line); }
.footer-links a:hover { color: var(--green-dark); text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom { margin-top: 50px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; color: var(--quiet); font-family: var(--mono); font-size: 11px; }

@media (max-width: 980px) {
  .nav-wrap { grid-template-columns: auto 1fr auto; min-height: 68px; }
  .brand-link { width: 158px; }
  .menu-toggle { display: block; justify-self: end; }
  .nav-external { display: none; }
  .primary-nav {
    position: fixed;
    inset: 68px 0 0;
    background: var(--paper);
    display: none;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 42px var(--gutter);
    gap: 2px;
    border-top: 1px solid var(--line);
  }
  .menu-open .primary-nav { display: flex; }
  .primary-nav a { width: 100%; font-size: clamp(28px, 7vw, 48px); line-height: 1.1; padding: 15px 0; border-bottom: 1px solid var(--line); font-weight: 560; }
  .primary-nav a::after { display: none; }
  .hero { min-height: auto; padding-top: 72px; }
  .hero-grid { grid-template-columns: 1fr; }
  .coordinate-field { width: min(640px, 90vw); justify-self: end; margin-top: -10px; }
  .proof-grid { grid-template-columns: repeat(2,1fr); }
  .proof-item:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .proof-item:nth-child(4) { border-top: 1px solid var(--line); }
  .section-head, .measure-layout, .epicycle-layout, .editorial-grid, .model-empty { grid-template-columns: 1fr; }
  .measure-aside { position: static; max-width: 680px; }
  .mascot-frame { min-height: 660px; border-left: 0; border-top: 1px solid var(--line); }
  .article-layout { grid-template-columns: 1fr; }
  .article-index { position: static; display: flex; flex-wrap: wrap; gap: 8px 18px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
  .article-index a { margin: 0; }
  .footer-grid { grid-template-columns: minmax(220px, 1fr) minmax(0, 1.35fr); }
}

@media (max-width: 680px) {
  body { font-size: 16px; }
  .hero h1, .page-hero h1 { font-size: clamp(46px, 15vw, 68px); letter-spacing: -.05em; }
  .hero .lede { font-size: 20px; }
  .coordinate-field { min-height: 360px; width: 100%; }
  .coordinate-meta { left: 2%; bottom: 2%; }
  .proof-grid { grid-template-columns: 1fr; }
  .proof-item, .proof-item + .proof-item, .proof-item:nth-child(3), .proof-item:nth-child(4) { padding: 22px 0; border-left: 0; border-top: 1px solid var(--line); }
  .proof-item:first-child { border-top: 0; }
  .section-head { gap: 22px; }
  .section-title { font-size: 44px; }
  .measure-row { grid-template-columns: 1fr; gap: 14px; }
  .measure-number { font-size: 64px; }
  .gear { grid-template-columns: 1fr; gap: 12px; }
  .news-row { grid-template-columns: 1fr; gap: 8px; }
  .news-source { padding-top: 0; }
  .principle { grid-template-columns: 1fr; gap: 10px; }
  .release-note { grid-template-columns: 1fr; gap: 8px; }
  .spec-table, .spec-table tbody, .spec-table tr, .spec-table th, .spec-table td { display: block; width: 100%; }
  .spec-table tr { padding: 12px 0; border-bottom: 1px solid var(--line); }
  .spec-table th, .spec-table td { border: 0; padding: 3px 0; }
  .spec-table thead { display: none; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-links { grid-template-columns: 1fr; }
  .footer-links a:nth-child(even) { padding-left: 0; border-left: 0; }
  .footer-bottom { flex-direction: column; }
  .mascot-frame { min-height: 520px; }
}

@media (max-width: 390px) {
  :root { --gutter: 18px; }
  .brand-link { width: 142px; }
  .actions { flex-direction: column; align-items: stretch; }
  .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* Model family */
.model-page-hero { padding-bottom: 0; }
.model-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(300px, 5fr); gap: clamp(40px, 7vw, 100px); align-items: end; }
.model-character { margin: 0; min-height: 520px; align-self: stretch; overflow: hidden; border-left: 1px solid var(--line); background: var(--paper-pure); }
.model-character img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.model-lineup { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.model-card { min-height: 520px; padding: clamp(28px, 3.5vw, 52px); display: flex; flex-direction: column; background: var(--paper); position: relative; overflow: hidden; }
.model-card + .model-card { border-left: 1px solid var(--line); }
.model-card::after { content: ''; position: absolute; width: 72%; aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--green) 22%, transparent); border-radius: 50%; right: -38%; bottom: -38%; }
.model-card-meridian::after { width: 94%; right: -48%; bottom: -52%; }
.model-card-zenith::after { width: 118%; right: -62%; bottom: -66%; border-color: color-mix(in srgb, var(--green) 34%, transparent); }
.model-card-top { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.model-seal { width: 44px; height: 44px; border: 1px solid var(--green); border-radius: 50%; display: grid; place-items: center; font-family: var(--mono); font-size: 13px; color: var(--green-dark); }
.model-status { font-family: var(--mono); font-size: 11px; color: var(--quiet); }
.model-card h2 { margin: auto 0 18px; font-size: clamp(54px, 6vw, 86px); line-height: .9; letter-spacing: -.06em; font-weight: 620; }
.model-card p { margin: 0; max-width: 440px; color: var(--muted); font-size: 17px; line-height: 1.5; position: relative; z-index: 1; }
.model-foot { margin-top: 42px; padding-top: 16px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 10px; color: var(--green-dark); letter-spacing: .04em; position: relative; z-index: 1; }
.current-model-band { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 7vw, 100px); align-items: end; }
.current-model-band h2 { margin: 16px 0 0; font-size: clamp(44px, 5vw, 76px); line-height: .98; letter-spacing: -.045em; font-weight: 600; }
.current-model-specs { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--line-strong); }
.current-model-specs div { padding: 24px 0; border-bottom: 1px solid var(--line); }
.current-model-specs div:nth-child(even) { padding-left: 28px; border-left: 1px solid var(--line); }
.current-model-specs strong { display: block; font-size: clamp(36px, 4vw, 58px); line-height: 1; letter-spacing: -.05em; font-weight: 610; color: var(--green-dark); }
.current-model-specs span { display: block; margin-top: 8px; color: var(--muted); font-size: 13px; }

/* Careers */
.career-intro { display: grid; grid-template-columns: minmax(0, 7fr) minmax(300px, 5fr); gap: clamp(40px, 7vw, 100px); align-items: end; }
.career-list { border-top: 1px solid var(--line-strong); }
.career-role { border-bottom: 1px solid var(--line); }
.career-role summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 0; }
.career-role summary::-webkit-details-marker { display: none; }
.career-role summary span { display: grid; grid-template-columns: minmax(260px, 1fr) 180px; gap: 28px; align-items: baseline; flex: 1; }
.career-role summary strong { font-size: clamp(23px, 2.5vw, 34px); line-height: 1.1; letter-spacing: -.035em; font-weight: 590; }
.career-role summary em { font-family: var(--mono); font-style: normal; font-size: 11px; color: var(--green-dark); text-transform: uppercase; }
.career-role summary b { font-family: var(--mono); font-size: 22px; font-weight: 400; color: var(--green-dark); transition: transform .16s ease; }
.career-role[open] summary b { transform: rotate(45deg); }
.career-body { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(0, 1.4fr); gap: 28px; padding: 0 0 34px; }
.career-body p { margin: 0; color: var(--muted); font-size: 17px; max-width: 520px; }
.career-body ul { margin: 0; padding-left: 20px; color: var(--muted); }
.career-body li + li { margin-top: 8px; }
.career-close { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.career-close h2 { margin: 0; font-size: clamp(44px, 5vw, 72px); line-height: 1; letter-spacing: -.045em; }
.career-close p { margin: 16px 0 0; color: var(--muted); }

/* Contact */
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--line-strong); }
.contact-topic { min-height: 300px; padding: 34px 34px 40px 0; border-bottom: 1px solid var(--line); }
.contact-topic:nth-child(even) { padding-left: 34px; border-left: 1px solid var(--line); }
.contact-topic span { font-family: var(--mono); font-size: 11px; color: var(--green-dark); }
.contact-topic h2 { margin: 90px 0 16px; font-size: clamp(36px, 4vw, 56px); line-height: .98; letter-spacing: -.04em; }
.contact-topic p { margin: 0; color: var(--muted); max-width: 520px; }
.contact-topic-note { background: var(--surface); padding-right: 34px; }
.contact-topic-note h2 { max-width: 520px; }

@media (max-width: 980px) {
  .model-hero-grid, .current-model-band, .career-intro { grid-template-columns: 1fr; }
  .model-character { min-height: 620px; border-left: 0; border-top: 1px solid var(--line); margin-top: 30px; }
  .model-lineup { grid-template-columns: 1fr; }
  .model-card { min-height: 420px; }
  .model-card + .model-card { border-left: 0; border-top: 1px solid var(--line); }
  .career-body { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .model-character { min-height: 500px; }
  .model-card { min-height: 390px; padding: 26px 0; }
  .model-card::after { right: -46%; }
  .current-model-specs { grid-template-columns: 1fr; }
  .current-model-specs div:nth-child(even) { padding-left: 0; border-left: 0; }
  .career-role summary span { grid-template-columns: 1fr; gap: 7px; }
  .career-role summary { padding: 24px 0; }
  .career-close { align-items: stretch; flex-direction: column; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-topic, .contact-topic:nth-child(even) { padding: 28px 0 34px; border-left: 0; }
  .contact-topic-note { padding-inline: 18px !important; margin-inline: -18px; }
}

/* Arc: an open technical record framed by the original character, not a product dashboard. */
.arc-hero { padding-block: 40px 64px; }
.back-link { font-size:14px; text-underline-offset:5px; }
.release-meta { font-size:14px; color:var(--muted); margin:0 0 24px; }
.arc-title-row { display:grid; grid-template-columns:1fr minmax(220px,34%); align-items:center; gap:8%; margin-top:42px; }
.arc-title-row h1 { font-size:clamp(48px,8.5vw,124px); line-height:.98; letter-spacing:-.065em; font-weight:520; margin:0; }
.arc-title-row h1 span { font-size:1.55em; font-weight:660; letter-spacing:-.075em; }
.arc-portrait { margin:0; max-width:330px; justify-self:end; }
.arc-portrait img { display:block; width:100%; aspect-ratio:1122/1402; object-fit:contain; }
.arc-portrait figcaption { font-size:12px; margin-top:12px; color:var(--muted); }
.arc-intro { max-width:750px; margin-top:36px; }
.arc-intro p { font-size:clamp(20px,2vw,27px); line-height:1.5; letter-spacing:-.025em; }
.card-nav { display:flex; gap:28px; padding-block:20px; border-block:1px solid var(--line); background:var(--paper); overflow:auto; }
.card-nav a { text-decoration:none; font-size:14px; padding-block:8px; white-space:nowrap; }
.card-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.model-document { max-width:1320px; }
.document-section { display:grid; grid-template-columns:1fr 1fr; gap:40px 9%; padding-block:84px; border-bottom:1px solid var(--line); scroll-margin-top:105px; }
.document-section h2 { font-size:clamp(28px,3vw,42px); line-height:1.15; letter-spacing:-.04em; font-weight:540; margin:0 0 24px; }
.document-section p { max-width:65ch; }
.spec-sheet { margin:0; }
.spec-sheet > div { display:flex; gap:24px; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--line); }
.spec-sheet dt { color:var(--muted); font-size:14px; }
.spec-sheet dd { margin:0; text-align:right; font-weight:550; }
.spec-sheet small { display:block; font-weight:400; color:var(--muted); }
.annotation { font-size:14px; color:var(--muted); line-height:1.65; }
.training-track { margin-block:30px; }
.training-track > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:14px; }
.training-track meter { display:block; width:100%; height:16px; margin:10px 0 24px; accent-color:var(--green-dark); }
.speed-measure { border-left:2px solid var(--green); padding-left:28px; align-self:start; }
.speed-measure > strong { font-size:clamp(56px,6vw,82px); font-weight:550; line-height:1; letter-spacing:-.06em; }
.speed-measure > strong span { display:block; font-size:16px; font-weight:450; letter-spacing:0; margin-top:14px; }
.evaluation-wide { grid-column:1/-1; }
.table-scroll { overflow:auto; }
.evaluation-wide table { width:100%; border-collapse:collapse; text-align:left; font-size:15px; }
.evaluation-wide caption { text-align:left; padding:0 0 20px; font-size:18px; font-weight:550; }
.evaluation-wide th,.evaluation-wide td { padding:16px 12px; border-bottom:1px solid var(--line); }
.evaluation-wide thead { background:var(--surface); }
.evaluation-wide tbody th { font-weight:500; }
.transcript-heading { margin-top:50px; font-size:26px; font-weight:550; }
.eval-case { border-top:1px solid var(--line); }
.eval-case summary { display:flex; justify-content:space-between; gap:24px; padding:20px 0; cursor:pointer; font-size:16px; }
.eval-case summary::after { content:'+'; margin-left:8px; }
.eval-case[open] summary::after { content:'−'; }
.verdict { margin-left:auto; font-size:13px; color:var(--muted); }
.case-content { max-width:800px; padding:0 0 28px; }
.case-content h4 { font-size:13px; color:var(--muted); font-weight:500; margin:24px 0 8px; }
.case-content pre { font:15px/1.7 var(--font); white-space:pre-wrap; overflow-wrap:anywhere; padding:22px; background:var(--surface); border-left:2px solid var(--line-strong); }
.limitations-list { padding-left:20px; }
.limitations-list li { margin-block:14px; }
.document-links { display:grid; gap:16px; margin-block:26px; text-underline-offset:5px; }
.arc-feature-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:12%; align-items:center; }
.arc-feature h2 { font-size:clamp(34px,4.5vw,64px); line-height:1.08; letter-spacing:-.045em; font-weight:550; margin:0 0 24px; }
.arc-feature p { max-width:58ch; }
.arc-feature-proof { border-left:1px solid var(--line); padding-left:40px; }
.arc-letter { display:block; font-size:clamp(80px,12vw,170px); line-height:1; font-weight:650; letter-spacing:-.08em; }
.arc-feature-proof p { font-size:15px; }
.arc-feature-proof a { font-size:15px; text-underline-offset:5px; }
.model-card .text-link { display:block; margin-top:20px; }
@media(max-width:700px) {
  .arc-title-row { grid-template-columns:1fr 32%; gap:20px; }
  .arc-title-row h1 { font-size:clamp(32px,8vw,54px); }
  .arc-portrait figcaption { display:none; }
  .release-meta { font-size:12px; }
  .arc-intro { margin-top:28px; }
  .document-section { grid-template-columns:1fr; gap:26px; padding-block:52px; }
  .card-nav { gap:24px; }
  .arc-feature-grid { grid-template-columns:1fr; gap:40px; }
  .arc-feature-proof { padding-left:24px; }
  .evaluation-wide th,.evaluation-wide td { padding:12px 7px; font-size:13px; }
  .arc-hero { padding-block:28px 42px; }
}
@media print {
 .site-header,.footer,.card-nav,.menu-toggle { display:none; }
 .document-section { break-inside:avoid; }
 .arc-title-row h1 { font-size:50px; }
 .arc-portrait { max-width:120px; }
}
.writing-excerpt { border-left:2px solid var(--green); padding-left:28px; }
.writing-excerpt blockquote { margin:0; font-size:clamp(22px,2.5vw,32px); line-height:1.5; letter-spacing:-.025em; }
.cost-results { display:grid; gap:28px; }
.cost-results > div { display:grid; gap:8px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.cost-results span { font-size:14px; color:var(--muted); }
.cost-results strong { font-size:clamp(34px,4vw,54px); font-weight:550; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.arc-identity { width:44px; height:44px; display:block; margin-bottom:20px; }
.arc-feature-mark { display:block; width:120px; height:120px; margin-bottom:24px; }
.model-entry { display:grid; grid-template-columns:72px minmax(180px,1fr) minmax(0,1.7fr); gap:32px; padding:48px 0; border-top:1px solid var(--line); align-items:start; }
.model-entry > img { width:64px; height:64px; }
.model-entry h2 { margin:0; font-size:clamp(34px,4vw,58px); line-height:1.1; letter-spacing:-.045em; font-weight:550; }
.model-entry .release-meta { margin:0 0 14px; }
.model-entry p { margin-top:0; }
@media(max-width:700px) {
 .model-entry { grid-template-columns:52px minmax(0,1fr); gap:20px; padding-block:32px; }
 .model-entry > img { width:48px; height:48px; }
 .model-entry > div:last-child { grid-column:2; }
 .arc-identity { width:32px; height:32px; margin-bottom:12px; }
}
#model-lineup { scroll-margin-top:100px; }
@media(max-width:700px) {
 .model-character { min-height:0; max-height:260px; border:0; }
 .model-character img { height:260px; object-fit:contain; }
}
