:root {
  --motion-paper: #f4f7fb;
  --motion-paper-soft: #eaf0f5;
  --motion-ink: #13283a;
  --motion-muted: #627588;
  --motion-blue: #2e6fa6;
  --motion-blue-dark: #245f8d;
  --motion-yellow: #d4a437;
  --motion-night: #173247;
  --motion-hairline: rgba(25, 54, 77, .13);
}

html:has(.narrative-home) { background: var(--motion-paper); }

body.narrative-home {
  color: var(--motion-ink);
  background: var(--motion-paper);
  overflow-x: clip;
}

body.narrative-home::before,
body.narrative-home::after { display: none; }

.narrative-home .scroll-progress {
  height: 2px;
  background: var(--motion-blue);
  box-shadow: none;
}

.narrative-home .site-header { color: var(--motion-ink); }
.narrative-home .site-header.scrolled {
  background: rgba(248, 251, 253, .9);
  border-color: rgba(26, 56, 80, .08);
  backdrop-filter: blur(12px) saturate(110%);
}
.narrative-home .brand-mark::before,
.narrative-home .brand-mark::after { border-color: var(--motion-blue); box-shadow: none; }
.narrative-home .brand-mark::after { border-color: #7ba7c5; }
.narrative-home .brand-text { color: var(--motion-ink); }
.narrative-home .brand-text small { color: #7b8c99; }
.narrative-home .desktop-nav a { color: #4d6273; }
.narrative-home .desktop-nav a:hover,
.narrative-home .desktop-nav a.active { color: var(--motion-ink); }
.narrative-home .desktop-nav a.active::after { background: var(--motion-blue); box-shadow: none; }
.narrative-home .lang-toggle { color: #45494e; }
.narrative-home .product-link {
  color: var(--motion-ink);
  border-color: rgba(39,96,137,.24);
  background: rgba(255,255,255,.62);
}
.narrative-home .menu-toggle { color: var(--motion-ink); border-color: rgba(17,18,20,.16); }
.narrative-home .site-header.over-night {
  color: white;
  background: rgba(23, 50, 71, .9);
  border-color: rgba(255,255,255,.1);
}
.narrative-home .site-header.over-night .brand-mark::before { border-color: #8ab6d4; }
.narrative-home .site-header.over-night .brand-mark::after { border-color: #d4e5ef; }
.narrative-home .site-header.over-night .brand-text,
.narrative-home .site-header.over-night .desktop-nav a:hover,
.narrative-home .site-header.over-night .desktop-nav a.active { color: white; }
.narrative-home .site-header.over-night .brand-text small,
.narrative-home .site-header.over-night .desktop-nav a,
.narrative-home .site-header.over-night .lang-toggle { color: rgba(255,255,255,.7); }
.narrative-home .site-header.over-night .product-link {
  color: white;
  border-color: rgba(255,255,255,.26);
  background: rgba(255,255,255,.07);
}

.homepage-narrative { position: relative; background: var(--motion-paper); }
.narrative-scene { position: relative; min-height: 160vh; }
.human-motion-scene { min-height: 150vh; }
.gait-scene { min-height: 185vh; }
.shared-space-scene { min-height: 180vh; }
.deploy-scene { min-height: 180vh; }
.time-scene { min-height: 205vh; }

.narrative-frame {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 640px;
  overflow: hidden;
  isolation: isolate;
  background: var(--motion-paper);
}

.narrative-frame::after { display: none; }

.scene-copy { position: absolute; z-index: 12; }
.scene-index {
  display: block;
  margin-bottom: 18px;
  color: var(--motion-blue);
  font: 650 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .15em;
}
.scene-kicker {
  margin: 0 0 18px;
  color: #55748b;
  font-size: 14px;
  letter-spacing: .12em;
}
.scene-copy h1,
.scene-copy h2,
.finale-copy h2 {
  margin: 0;
  color: var(--motion-ink);
  font-weight: 520;
  line-height: .99;
  letter-spacing: -.065em;
}
.scene-copy h1 { font-size: clamp(56px, 7.1vw, 112px); }
.compact-copy h2 { font-size: clamp(42px, 5.4vw, 82px); }

/* Scene 01 */
.human-frame { background: #e8eef2; }
.human-poster {
  position: absolute;
  z-index: 1;
  inset: -3%;
  width: 106%;
  height: 106%;
  object-fit: cover;
  object-position: center 60%;
  filter: saturate(.82) contrast(1.015);
  transform: scale(calc(1 + var(--p, 0) * .022)) translate3d(0, calc(var(--p, 0) * -.7%), 0);
  transform-origin: 58% 72%;
  will-change: transform;
}
.human-wash {
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(244,247,251,.93) 0%, rgba(244,247,251,.72) 28%, rgba(244,247,251,.08) 56%, rgba(244,247,251,0) 75%),
    linear-gradient(0deg, rgba(244,247,251,.96) 0%, rgba(244,247,251,.45) 9%, transparent 24%),
    linear-gradient(180deg, rgba(244,247,251,.25), transparent 28%, rgba(19,40,58,.05));
}
.human-copy {
  left: max(30px, calc((100vw - 1240px) / 2));
  top: 50%;
  width: min(730px, 58vw);
  transform: translateY(-49%);
  opacity: clamp(0, calc(1.45 - var(--p, 0) * 2.15), 1);
  will-change: opacity, transform;
}
.hero-career-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
  padding-bottom: 8px;
  color: #244b66;
  border-bottom: 1px solid rgba(36,75,102,.32);
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
}
.hero-career-link i { font-style: normal; transition: transform .25s ease; }
.hero-career-link:hover i { transform: translateX(5px); }
.landing-signal {
  position: absolute;
  z-index: 8;
  left: 48%;
  top: 84%;
  width: min(22vw, 260px);
  height: 72px;
  opacity: clamp(0, calc((var(--p, 0) - .15) * 3.5), 1);
  transform: translate(-50%, -50%) scale(calc(.96 + var(--p, 0) * .04));
}
.contact-heat {
  position: absolute;
  left: 5%;
  right: 22%;
  bottom: 3px;
  height: 28px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(46,111,166,.55) 0%, rgba(46,111,166,.2) 45%, rgba(46,111,166,0) 76%);
  filter: blur(3px);
  transform: scaleX(calc(.7 + var(--p, 0) * .3));
}
.cop-line,
.gait-cop {
  fill: none;
  stroke: var(--motion-blue);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-dasharray: 4 7;
}
.gait-cop + .gait-cop-start { fill: #f6f8f9; stroke: var(--motion-blue); stroke-width: 2; }
#copArrow path { fill: var(--motion-blue); }
.cop-dot,
.gait-cop-dot { fill: var(--motion-yellow); stroke: #fff; stroke-width: 2; }
.landing-event {
  position: absolute;
  right: -35%;
  bottom: -2px;
  padding: 5px 7px;
  color: #355b76;
  border-left: 2px solid rgba(46,111,166,.55);
  background: rgba(244,247,251,.82);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  white-space: nowrap;
}
.landing-event::after { display: none; }
.scroll-cue {
  position: absolute;
  z-index: 12;
  left: max(30px, calc((100vw - 1240px) / 2));
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: #557083;
  font: 600 9px/1 ui-monospace, monospace;
  letter-spacing: .14em;
  opacity: clamp(0, calc(1 - var(--p, 0) * 3), 1);
}
.scroll-cue i { width: 42px; height: 1px; background: var(--motion-ink); transform-origin: left; animation: cuePulse 1.8s ease-in-out infinite; }

/* Scene 02 */
.gait-frame { background: var(--motion-paper); }
.gait-copy { left: 7vw; top: 14%; width: 54vw; }
.gait-copy .signal-sentence { opacity: clamp(0, calc(2.05 - var(--p, 0) * 5), 1); }
.gait-copy .motion-sentence {
  position: absolute;
  inset: 28px auto auto 0;
  width: max-content;
  max-width: 80vw;
  opacity: clamp(0, calc((var(--p, 0) - .45) * 6), 1);
}
.gait-visual { position: absolute; z-index: 4; inset: 0; }
.observation-label {
  position: absolute;
  z-index: 6;
  color: #55748b;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
}
.observation-label::after { content: ""; display: block; width: 28px; height: 1px; margin-top: 8px; background: rgba(46,111,166,.42); }
.pressure-label { left: 14vw; top: 32%; }
.inertia-label { right: 42vw; top: 29.5%; }
.trajectory-note {
  position: absolute;
  z-index: 6;
  left: 14vw;
  top: calc(32% + 42px);
  color: #8293a0;
  font-size: 9px;
  letter-spacing: .06em;
}
.foot-observation {
  position: absolute;
  left: 11vw;
  top: 28%;
  width: min(30vw, 360px);
  height: 61%;
  overflow: visible;
  opacity: clamp(.08, calc(1 - var(--p, 0) * .3), 1);
  transform: translate3d(calc(var(--p, 0) * 8vw), 0, 0) scale(calc(1 - var(--p, 0) * .08));
  will-change: transform;
}
.foot-contour { fill: rgba(46,111,166,.025); stroke: rgba(25,54,77,.46); stroke-width: 1.15; }
.toe-contours ellipse { fill: rgba(46,111,166,.018); stroke: rgba(25,54,77,.38); stroke-width: 1; }
.footprint-base > * { fill: url(#pressureBase); opacity: .68; }
.pressure-nodes [data-pressure] {
  opacity: .05;
  transform-box: fill-box;
  transform-origin: center;
}
.pressure-nodes [data-pressure] ellipse { fill: url(#pressureActive); }
.cop-start-label,
.cop-end-label {
  fill: #61798b;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .03em;
}
.imu-reference circle { fill: var(--motion-yellow); stroke: var(--motion-paper); stroke-width: 3; }
.imu-reference path { fill: none; stroke: var(--motion-ink); stroke-width: 1; }
.waveform-field {
  position: absolute;
  right: 7vw;
  top: 34%;
  width: min(47vw, 680px);
  height: 43%;
  padding: 34px 0 24px;
}
.waveform-field::before {
  content: "";
  position: absolute;
  inset: 24px -12px 12px -12px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(230,238,244,.2));
  box-shadow: inset 0 0 0 1px rgba(47,91,121,.06);
}
.waveform-field svg { position: relative; z-index: 2; width: 100%; height: 100%; overflow: visible; }
.imu-panel-heading {
  position: absolute;
  z-index: 3;
  left: 9%;
  right: 1%;
  top: 0;
  display: flex;
  justify-content: space-between;
  color: #71899a;
  font: 650 8px/1 ui-monospace, monospace;
  letter-spacing: .11em;
}
.imu-panel-heading b { color: #345d78; font-size: 10px; font-weight: 650; }
.imu-grid path { fill: none; stroke: rgba(48,87,113,.095); stroke-width: 1; vector-effect: non-scaling-stroke; }
.imu-channel-labels text,
.imu-time-start,
.imu-time-end { fill: #71899a; font: 650 9px/1 ui-monospace, monospace; letter-spacing: .07em; }
.imu-time-start,
.imu-time-end { font-size: 8px; }
.wave-lines path { fill: none; stroke: #3b7fae; stroke-width: 1.35; vector-effect: non-scaling-stroke; }
.wave-lines path:nth-child(2) { stroke: #6b9fbe; }
.wave-lines path:nth-child(3) { stroke: #276d9e; stroke-width: 1.6; }
.wave-lines path:nth-child(4) { stroke: #6f8f9f; }
.wave-lines path:nth-child(5) { stroke: #9b8560; }
.wave-lines path:nth-child(6) { stroke: #527989; }
.wave-cursor { stroke: var(--motion-blue); stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.wave-cursor-dot { fill: var(--motion-yellow); stroke: white; stroke-width: 2; }
.imu-panel-key {
  position: absolute;
  z-index: 3;
  left: 13%;
  bottom: 0;
  display: flex;
  gap: 18px;
  color: #71899a;
  font-size: 9px;
}
.imu-panel-key span { display: flex; align-items: center; gap: 6px; }
.imu-panel-key i { width: 16px; height: 2px; background: #3b7fae; }
.imu-panel-key span:nth-child(2) i { background: #778d98; }
.imu-panel-key b { font-weight: 600; }
.gait-events {
  position: absolute;
  right: 7vw;
  bottom: 14%;
  width: min(47vw, 680px);
  display: flex;
  justify-content: space-between;
  color: #8b8e91;
  font: 650 9px/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.gait-events span { position: relative; padding-top: 13px; transition: color .15s ease; }
.gait-events span::before { content: ""; position: absolute; left: 50%; top: 0; width: 4px; height: 4px; border-radius: 50%; background: #b7b8b5; transform: translateX(-50%); }
.gait-events span.active { color: var(--motion-ink); }
.gait-events span.active::before { width: 7px; height: 7px; top: -2px; background: var(--motion-yellow); }

/* Scene 03 */
.shared-frame { background: var(--motion-paper-soft); }
.shared-copy { left: 7vw; top: 12%; z-index: 14; }
.shared-copy h2 { font-size: clamp(42px, 5vw, 76px); }
.motion-space-canvas { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; }
.space-core-label {
  position: absolute;
  z-index: 7;
  left: 50%; top: 58%;
  transform: translate(-50%, -50%);
  color: var(--motion-blue);
  font: 650 10px/1.2 ui-monospace, monospace;
  letter-spacing: .16em;
  white-space: nowrap;
  opacity: clamp(0, calc((var(--p, 0) - .22) * 4), 1);
}
.device-silhouette { position: absolute; z-index: 5; width: 70px; color: #63798a; text-align: center; opacity: 0; transform: translateY(16px); }
.device-silhouette svg { width: 46px; height: 46px; fill: none; stroke: currentColor; stroke-width: 1.25; }
.device-silhouette span { display: block; margin-top: 8px; font: 650 8px/1 ui-monospace, monospace; letter-spacing: .1em; }
.device-foot { left: 11%; bottom: 20%; }
.device-watch { left: 27%; bottom: 9%; }
.device-ring { right: 28%; bottom: 8%; }
.device-phone { right: 12%; bottom: 20%; }
.device-medical { right: 7%; top: 28%; }

/* Scene 04 */
.deploy-frame { background: var(--motion-paper); }
.deploy-copy { left: 7vw; top: 11%; width: 70vw; }
.deploy-copy h2 { font-size: clamp(42px, 5vw, 76px); }
.rich-sensing-visual {
  position: absolute;
  z-index: 3;
  left: 7vw;
  top: 39%;
  width: min(38vw, 560px);
  height: 45%;
  overflow: hidden;
  background:
    radial-gradient(circle at 74% 68%, rgba(75,142,190,.12), transparent 34%),
    linear-gradient(145deg, rgba(250,252,253,.98), rgba(225,235,242,.93));
  border-radius: 20px;
  box-shadow: 0 22px 55px rgba(41,70,91,.09), inset 0 0 0 1px rgba(36,82,113,.08);
  transform: translateX(calc(var(--p, 0) * -1.5vw)) scale(calc(1 - var(--p, 0) * .045));
}
.rich-sensing-visual::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, rgba(255,255,255,.38), transparent 32%, transparent 72%, rgba(82,134,169,.05)); }
.model-data-heading {
  position: absolute;
  z-index: 3;
  left: 8%;
  right: 8%;
  top: 7%;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}
.model-data-heading span { color: #7790a2; font: 650 8px/1 ui-monospace, monospace; letter-spacing: .12em; }
.model-data-heading b { color: #294c64; font-size: 13px; font-weight: 650; }
.model-data-svg { position: absolute; inset: 10% 3% 11%; width: 94%; height: 79%; }
.model-section-labels text,
.model-bottom-meta text { fill: #6a8496; font: 650 9px/1 ui-monospace, monospace; letter-spacing: .07em; }
.model-bottom-meta text { font-size: 8px; }
.tensor-frame > rect:first-child { fill: rgba(255,255,255,.5); stroke: rgba(49,98,132,.2); stroke-width: 1; }
.tensor-frame > path:not(.tensor-ridge) { fill: none; stroke: rgba(53,101,133,.12); stroke-width: 1; vector-effect: non-scaling-stroke; }
.tensor-ridge { fill: none; stroke: rgba(44,111,158,.82); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.tensor-frame circle { fill: url(#tensorHeat); opacity: .42; filter: blur(9px); }
.tensor-window { fill: rgba(65,135,181,.08); stroke: rgba(43,109,155,.55); stroke-width: 1.1; animation: tensorScan 5.4s ease-in-out infinite; }
.encoder-links path { fill: none; stroke: rgba(52,106,143,.34); stroke-width: 1; vector-effect: non-scaling-stroke; }
.encoder-tokens rect { fill: rgba(255,255,255,.62); stroke: rgba(48,103,140,.22); stroke-width: 1; }
.encoder-tokens text { fill: #436a84; font: 650 8px/1 ui-monospace, monospace; letter-spacing: .06em; }
.encoder-tokens circle:first-of-type { fill: rgba(54,124,171,.12); stroke: rgba(45,109,153,.48); stroke-width: 1; }
.encoder-tokens circle:last-of-type { fill: #347bab; }
.latent-entry { fill: none; stroke: #347bab; stroke-width: 1.25; vector-effect: non-scaling-stroke; }
#dataArrow path { fill: #347bab; }
.latent-axes path { fill: none; stroke: rgba(50,91,118,.34); stroke-width: 1; vector-effect: non-scaling-stroke; }
.latent-axes text { fill: #8092a0; font: 650 8px/1 ui-monospace, monospace; }
.latent-orbits path { fill: none; stroke: rgba(53,112,152,.34); stroke-width: 1; stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; }
.latent-space circle { fill: #3a7fac; opacity: .38; animation: latentPulse 3.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.latent-space circle:nth-child(2n) { fill: #d4a437; animation-delay: -1.3s; }
.latent-space circle:nth-child(3n) { animation-delay: -2.4s; }
.model-data-footer {
  position: absolute;
  z-index: 3;
  left: 8%;
  right: 8%;
  bottom: 5%;
  display: grid;
  grid-template-columns: 1.2fr .8fr .9fr;
  gap: 12px;
  color: #607d91;
  font-size: 9px;
  font-weight: 650;
}
.model-data-footer span:nth-child(2),
.model-data-footer span:nth-child(3) { text-align: right; }
.sensing-terms { position: absolute; z-index: 2; inset: auto 10% 8% 9%; display: flex; justify-content: space-between; color: #425f73; font: 650 8px/1 ui-monospace, monospace; letter-spacing: .08em; }
.deploy-flow { position: absolute; z-index: 2; left: 24vw; right: 7vw; top: 37%; width: 69vw; height: 47%; overflow: visible; }
.rich-line { fill: none; stroke: var(--motion-blue); stroke-width: 1.1; stroke-linecap: round; stroke-dasharray: 1 7; vector-effect: non-scaling-stroke; opacity: .62; }
.deploy-model-node {
  position: absolute;
  z-index: 7;
  left: 51%;
  top: 60%;
  min-width: 116px;
  padding: 12px 16px;
  color: var(--motion-blue);
  border-top: 1px solid rgba(46,111,166,.45);
  border-bottom: 1px solid rgba(46,111,166,.45);
  background: rgba(244,247,251,.88);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .08em;
  text-align: center;
  opacity: clamp(0, calc((var(--p, 0) - .16) * 5), 1);
  transform: translate(-50%, -50%);
}
.deploy-devices { position: absolute; z-index: 5; right: 6vw; top: 44%; width: 25vw; height: 33%; display: grid; grid-template-columns: repeat(2, 1fr); gap: 42px 34px; }
.deploy-device { display: grid; place-items: center; align-content: center; color: #526f84; opacity: 0; transform: translateX(18px); }
.deploy-device svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 1.25; }
.deploy-device b { margin-top: 8px; font: 650 8px/1 ui-monospace, monospace; letter-spacing: .1em; }

/* Scene 05 */
.time-frame { background: var(--motion-night); }
.time-frame::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: var(--motion-paper);
  opacity: clamp(0, calc(1 - var(--p, 0) * 4.5), 1);
  pointer-events: none;
}
.time-copy { left: 7vw; top: 12%; color: white; }
.time-copy h2 { color: #f5f8fb; font-size: clamp(40px, 4.7vw, 72px); }
.time-copy .scene-index,
.finale-copy .scene-index { color: #7ea1ff; }
.motion-archive-canvas { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; }
.time-labels { position: absolute; z-index: 5; left: 7vw; right: 7vw; bottom: 8%; display: flex; justify-content: space-between; color: rgba(255,255,255,.35); font: 600 9px/1 ui-monospace, monospace; letter-spacing: .1em; }
.time-labels span { transition: color .2s ease; }
.time-labels span.active { color: var(--motion-yellow); }
.archive-label { position: absolute; z-index: 5; right: 7vw; top: 19%; color: rgba(255,255,255,.48); font: 600 9px/1 ui-monospace, monospace; letter-spacing: .13em; }
.finale-copy {
  position: absolute;
  z-index: 12;
  left: 50%; top: 51%;
  width: min(1000px, 86vw);
  text-align: center;
  transform: translate(-50%, -46%);
  opacity: clamp(0, calc((var(--p, 0) - .63) * 4), 1);
  pointer-events: none;
}
.finale-copy h2 { color: #f5f8fb; font-size: clamp(48px, 6.2vw, 94px); }
.finale-copy p { margin: 28px auto 0; color: rgba(255,255,255,.65); font-size: clamp(14px, 1.25vw, 18px); }
.finale-actions { display: flex; justify-content: center; gap: 34px; margin-top: 38px; }
.finale-actions a {
  display: inline-flex;
  align-items: center;
  gap: 34px;
  min-width: 190px;
  padding: 14px 0;
  color: #f5f8fb;
  border-bottom: 1px solid rgba(255,255,255,.35);
  font-size: 13px;
  text-align: left;
  pointer-events: auto;
  transition: border-color .2s ease, color .2s ease;
}
.finale-actions a:hover { color: #9ab5ff; border-color: #9ab5ff; }
.finale-actions i { margin-left: auto; font-style: normal; }

.talent-bridge {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  display: flex;
  align-items: center;
  color: white;
  background: var(--motion-night);
  overflow: hidden;
}
.talent-shell { width: min(calc(100% - 48px), 1240px); margin: 0 auto; padding: 120px 0 105px; }
.talent-heading { display: grid; grid-template-columns: 1.25fr .75fr; column-gap: 90px; align-items: end; }
.talent-heading .scene-index { grid-column: 1 / -1; }
.talent-heading h2 {
  margin: 0;
  max-width: 760px;
  color: #f5f8fb;
  font-size: clamp(48px, 6.2vw, 90px);
  font-weight: 510;
  line-height: 1.02;
  letter-spacing: -.06em;
}
.talent-heading > p { margin: 0 0 8px; color: rgba(255,255,255,.67); font-size: 16px; line-height: 1.9; }
.candidate-questions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 42px; margin-top: 92px; }
.candidate-questions article { padding-top: 22px; border-top: 1px solid rgba(255,255,255,.2); }
.candidate-questions article > span { color: #8ab6d4; font: 600 10px/1 ui-monospace, monospace; letter-spacing: .12em; }
.candidate-questions h3 { margin: 28px 0 15px; font-size: 22px; font-weight: 520; }
.candidate-questions p { margin: 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.85; }
.talent-cta {
  display: flex;
  align-items: center;
  gap: 30px;
  width: min(100%, 310px);
  margin-top: 68px;
  padding: 15px 0;
  color: white;
  border-bottom: 1px solid rgba(255,255,255,.4);
  font-size: 14px;
}
.talent-cta i { margin-left: auto; font-style: normal; }
.talent-cta:hover { color: #b9d8ea; border-color: #b9d8ea; }

.narrative-home .site-footer {
  position: relative;
  z-index: 3;
  margin: 0;
  padding-top: 76px;
  border-radius: 0;
  background: var(--motion-night);
}
.narrative-home .site-footer::before { display: none; }
.narrative-home .site-footer .brand-text { color: white; }
.narrative-home .site-footer .brand-text small,
.narrative-home .site-footer .footer-tagline { color: rgba(255,255,255,.58); }
.narrative-home .site-footer .brand-mark::before { border-color: #8ab6d4; }
.narrative-home .site-footer .brand-mark::after { border-color: #d4e5ef; }

@keyframes cuePulse { 50% { transform: scaleX(.48); opacity: .4; } }
@keyframes modelSignal { to { stroke-dashoffset: -42; } }
@keyframes latentPulse { 50% { opacity: .82; transform: scale(1.25); } }
@keyframes tensorScan { 0%, 100% { transform: translateX(-68px); } 50% { transform: translateX(62px); } }

@media (max-width: 1080px) {
  .narrative-home .mobile-menu { background: rgba(248,251,253,.98); border-color: rgba(28,61,84,.1); }
  .narrative-home .mobile-menu a { color: var(--motion-ink); border-color: rgba(28,61,84,.1); }
  .gait-copy { width: 70vw; }
  .foot-observation { left: 5vw; width: 34vw; }
  .waveform-field, .gait-events { right: 5vw; width: 52vw; }
}

@media (max-width: 820px) {
  .narrative-scene { min-height: 145vh; }
  .human-motion-scene { min-height: 140vh; }
  .gait-scene, .shared-space-scene, .deploy-scene { min-height: 165vh; }
  .time-scene { min-height: 185vh; }
  .narrative-frame { min-height: 560px; }
  .scene-index { margin-bottom: 12px; font-size: 8px; }
  .scene-kicker { margin-bottom: 13px; font-size: 11px; }
  .scene-copy h1 { font-size: clamp(43px, 13vw, 66px); line-height: 1.02; }
  .compact-copy h2 { font-size: clamp(36px, 10.2vw, 53px); line-height: 1.03; }

  .human-poster { inset: 0; width: 100%; height: 100%; object-position: 63% 67%; }
  .human-wash { background: linear-gradient(180deg, rgba(244,247,251,.94) 0%, rgba(244,247,251,.68) 31%, rgba(244,247,251,.06) 58%), linear-gradient(0deg, rgba(244,247,251,.96), rgba(244,247,251,.35) 10%, transparent 24%); }
  .human-copy { left: 22px; right: 22px; top: 20%; width: auto; transform: none; }
  .landing-signal { left: 26%; top: 85%; width: 48vw; height: 64px; }
  .landing-event { right: -30%; bottom: -1px; font-size: 10px; }
  .scroll-cue { left: 22px; bottom: 21px; }

  .gait-copy { left: 22px; right: 22px; top: 13%; width: auto; }
  .gait-copy .motion-sentence { top: 20px; max-width: calc(100vw - 44px); }
  .observation-label { font-size: 9px; }
  .pressure-label { left: 8%; top: 31%; }
  .inertia-label { right: 18px; top: 43%; }
  .trajectory-note { left: 8%; top: calc(31% + 35px); font-size: 8px; }
  .foot-observation { left: 4%; top: 30%; width: 54vw; height: 51%; transform: translate3d(calc(var(--p, 0) * 3vw), 0, 0) scale(calc(1 - var(--p, 0) * .08)); }
  .waveform-field { right: 12px; top: 48%; width: 57vw; height: 27%; padding: 24px 0 18px; }
  .waveform-field::before { inset: 17px -5px 8px; border-radius: 12px; }
  .imu-panel-heading { left: 12%; font-size: 6px; }
  .imu-panel-heading b { font-size: 7px; }
  .imu-panel-key { left: 15%; gap: 8px; font-size: 6px; }
  .imu-panel-key i { width: 9px; }
  .gait-events { right: 18px; bottom: 15%; width: calc(100vw - 36px); }

  .shared-copy { left: 22px; right: 22px; top: 13%; }
  .shared-copy h2 { font-size: clamp(36px, 10vw, 52px); }
  .space-core-label { top: 57%; font-size: 8px; }
  .device-silhouette { width: 55px; }
  .device-silhouette svg { width: 35px; height: 35px; }
  .device-foot { left: 4%; bottom: 15%; }
  .device-watch { left: 25%; bottom: 7%; }
  .device-ring { display: none; }
  .device-phone { right: 24%; bottom: 7%; }
  .device-medical { right: 3%; top: auto; bottom: 15%; }

  .deploy-copy { left: 22px; right: 22px; top: 12%; width: auto; }
  .deploy-copy h2 { font-size: clamp(35px, 9.8vw, 50px); }
  .rich-sensing-visual { left: 4vw; top: 34%; width: 92vw; height: 38%; }
  .model-data-heading { top: 8%; }
  .model-data-heading span { display: none; }
  .model-data-heading b { font-size: 10px; }
  .model-data-footer { grid-template-columns: 1.2fr .8fr; font-size: 7px; }
  .model-data-footer span:nth-child(2) { display: none; }
  .deploy-flow { left: 4vw; right: auto; top: 67%; width: 92vw; height: 13%; }
  .deploy-model-node { left: 50%; top: 73%; min-width: 88px; padding: 8px 10px; font-size: 9px; }
  .deploy-devices { right: 5vw; top: 78%; width: 90vw; height: 12%; grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .deploy-device svg { width: 27px; height: 27px; }
  .deploy-device b { margin-top: 5px; font-size: 6px; }
  .sensing-terms span:nth-child(2), .sensing-terms span:nth-child(3) { display: none; }

  .time-copy { left: 22px; right: 22px; top: 13%; }
  .time-copy h2 { font-size: clamp(33px, 9.1vw, 47px); }
  .archive-label { right: 22px; top: 28%; font-size: 8px; }
  .time-labels { left: 22px; right: 22px; bottom: 8%; font-size: 7px; }
  .finale-copy { width: calc(100vw - 38px); }
  .finale-copy h2 { font-size: clamp(42px, 12.2vw, 60px); }
  .finale-copy p { max-width: 300px; line-height: 1.7; }
  .finale-actions { flex-direction: column; align-items: center; gap: 8px; margin-top: 25px; }
  .finale-actions a { width: min(100%, 270px); }
  .talent-shell { width: calc(100% - 44px); padding: 90px 0 80px; }
  .talent-heading { grid-template-columns: 1fr; gap: 28px; }
  .talent-heading h2 { font-size: clamp(43px, 12vw, 58px); }
  .talent-heading > p { max-width: 345px; font-size: 15px; line-height: 1.8; }
  .candidate-questions { grid-template-columns: 1fr; gap: 42px; margin-top: 66px; }
  .candidate-questions h3 { margin-top: 20px; }
  .talent-cta { margin-top: 55px; }
}

@media (max-height: 680px) and (min-width: 821px) {
  .scene-copy h1 { font-size: clamp(52px, 6.4vw, 88px); }
  .compact-copy h2 { font-size: clamp(38px, 4.7vw, 66px); }
  .gait-copy, .shared-copy, .deploy-copy, .time-copy { top: 12%; }
  .rich-sensing-visual { top: 35%; height: 48%; }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-cue i { animation: none; }
  .human-poster { transform: none; filter: none; }
}
