.origin-story { max-width: var(--max,1280px); margin: auto; padding: 90px var(--gutter,24px) 40px; color: var(--text); }
.origin-heading { padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.origin-eyebrow { color: var(--accent); font: 400 11px/1.8 var(--display); letter-spacing: .08em; margin-bottom: 22px; }
.origin-heading h2 { max-width: 850px; font: 400 clamp(34px,5.4vw,68px)/1.18 var(--display); letter-spacing: .01em; }
.origin-heading h2 span { color: var(--accent); }
.origin-heading>p:last-of-type { max-width: 600px; color: var(--muted); font: 400 15px/1.9 var(--body); margin-top: 26px; }
.origin-nav { display: flex; flex-wrap: wrap; gap: 4px 26px; margin-top: 26px; }
.origin-nav a { display: inline-flex; align-items: center; min-height: 44px; gap: 10px; font: 400 13px/1.5 var(--body); text-decoration: none; }
.origin-nav a span { color: var(--accent); font: 400 10px/1 var(--display); }
.origin-nav a.is-current { text-decoration: underline; text-decoration-thickness: 1px; }
.origin-nav a:focus-visible, .origin-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.origin-visual { display: none; }
.origin-chapters { min-width: 0; }
.origin-chapter { position: relative; max-width: 760px; padding: 48px 0; border-bottom: 1px solid var(--line); scroll-margin-top: calc(var(--header,76px) + 24px); }
.origin-chapter:last-child { border-bottom: 0; }
.origin-chapter-label { color: var(--accent); font: 400 11px/1.8 var(--display); letter-spacing: .03em; margin-bottom: 18px; }
.origin-chapter h3 { max-width: 580px; font: 400 clamp(34px,4vw,52px)/1.16 var(--title); letter-spacing: -.02em; margin-bottom: 24px; }
.origin-copy { max-width: 39em; color: var(--muted); font: 400 16px/1.9 var(--body); }
.origin-copy+.origin-copy { margin-top: 15px; }
.origin-inline { max-width: 440px; margin: 0 0 28px; background: var(--surface); border: 1px solid var(--line); }
.origin-drawing { display: block; width: 100%; height: auto; overflow: visible; }
.origin-grid-lines { stroke: var(--line); stroke-width: 1; opacity: .55; }
.origin-build { transform: translateY(var(--origin-lift,0px)); transform-origin: center; }
.origin-block { --origin-block-color: var(--blue); stroke: var(--bg); stroke-width: 1; }
.origin-block--gold { --origin-block-color: var(--gold); }
.origin-block-top { fill: var(--origin-block-color); fill-opacity: .92; }
.origin-block-side { fill: var(--origin-block-color); fill-opacity: .6; }
.origin-block-front { fill: var(--origin-block-color); fill-opacity: .78; }
.origin-studs { fill: var(--origin-block-color); stroke: var(--paper); stroke-opacity: .6; stroke-width: 1.5; }
.origin-guide { fill: none; stroke: var(--accent); stroke-width: 2; stroke-dasharray: 4 7; opacity: .7; }
.origin-robot-arm, .origin-robot-detail { fill: none; stroke: var(--blue); stroke-width: 6; stroke-linecap: round; }
.origin-robot-hand { fill: none; stroke: var(--accent); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.origin-robot-body, .origin-robot-head { fill: var(--paper); stroke: var(--blue); stroke-width: 2.5; }
.origin-robot-signal, .origin-robot-eye, .origin-robot-foot { fill: var(--blue); }
.origin-robot-control { fill: var(--gold); stroke: var(--accent); stroke-width: 2; }
.origin-network-line { fill: none; stroke: var(--blue); stroke-width: 2; }
.origin-network-nodes { fill: var(--paper); stroke: var(--blue); stroke-width: 2.5; }
.origin-network-core { fill: var(--gold); stroke: var(--accent); stroke-width: 2; }
.origin-core-mark { fill: none; stroke: #070a10; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.origin-court-surface { fill: var(--blue); fill-opacity: .1; stroke: var(--blue); stroke-width: 2; }
.origin-court-lines { fill: none; stroke: var(--blue); stroke-width: 2; }
.origin-court-net { fill: none; stroke: var(--accent); stroke-width: 3; }
.origin-court-ball { fill: var(--gold); stroke: var(--accent); stroke-width: 2; }
.origin-people { fill: var(--paper); stroke: var(--blue); stroke-width: 2.5; stroke-linecap: round; }
.origin-people path { fill: none; }
.origin-photo { margin-top: 28px; }
.origin-photo img { display: block; width: 100%; max-height: 340px; aspect-ratio: 1.55; object-fit: cover; background: var(--photo-mat); }
.origin-photo--graphic img { object-fit: contain; padding: 20px; }
.origin-photo figcaption { margin-top: 10px; color: var(--muted); font: 400 11px/1.8 var(--body); }
.origin-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 20px; color: var(--blue); font: 400 13px/1.7 var(--body); }
.origin-stage-label { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; color: var(--accent); font: 400 11px/1.6 var(--display); }
.origin-stage-screen { background: var(--surface); border: 1px solid var(--line); }
.origin-stage-screen .origin-drawing { max-height: min(58svh,490px); }
.origin-stage-screen .origin-scene { opacity: 0; transition: opacity .4s ease; pointer-events: none; }
.origin-stage-screen .origin-scene.is-current { opacity: 1; }
.origin-stage-screen .origin-network-line { stroke-dasharray: 1; stroke-dashoffset: var(--origin-trace,0); }
.origin-stage-rule { height: 2px; margin-top: 24px; overflow: hidden; background: var(--line); }
.origin-stage-rule span { display: block; width: 100%; height: 100%; background: var(--accent); transform: scaleX(var(--origin-progress,0)); transform-origin: left; }
.origin-stage-caption { color: var(--muted); font: 400 12px/1.8 var(--body); margin-top: 14px; }
@media (min-width:1080px) and (min-height:760px) {
  .origin-enhanced .origin-layout { display: grid; grid-template-columns: 1.03fr 1fr; gap: 8%; align-items: start; }
  .origin-enhanced .origin-visual { display: block; position: sticky; top: calc(var(--header,76px) + 26px); align-self: start; padding-top: 46px; min-width: 0; }
  .origin-enhanced .origin-inline { display: none; }
  .origin-enhanced .origin-chapter { display: flex; flex-direction: column; justify-content: center; min-height: 68svh; padding: 58px 0; }
  .origin-enhanced .origin-chapter h3 { font-size: clamp(34px,3.3vw,46px); }
}
@media (max-width:760px) {
  .origin-story { padding-top: 58px; padding-bottom: 24px; }
  .origin-heading { padding-bottom: 26px; }
  .origin-eyebrow { margin-bottom: 18px; }
  .origin-heading h2 { font-size: clamp(29px,7.6vw,44px); }
  .origin-nav { gap: 0 22px; margin-top: 20px; }
  .origin-nav a { font-size: 12px; }
  .origin-chapter { padding: 36px 0; }
  .origin-inline { max-width: 360px; margin-bottom: 24px; }
  .origin-chapter h3 { font-size: clamp(32px,8vw,42px); }
  .origin-copy { font-size: 15px; line-height: 1.9; }
  .origin-photo img { max-height: 300px; }
}
@media (prefers-reduced-motion:reduce) {
  .origin-story *, .origin-story *::before, .origin-story *::after { transition: none !important; animation: none !important; }
  .origin-story .origin-build { transform: none; }
  .origin-story .origin-network-line { stroke-dashoffset: 0; }
}
