/* Shared hero scaffolding */
.hero {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* 2026-08-14 refactor · connected product routes */
.wind-route-home {
  padding: 132px max(24px, calc((100vw - var(--max)) / 2)) 144px;
  overflow: hidden;
  background: var(--paper);
}

.wind-route-intro {
  max-width: var(--max);
  margin: 0 auto 94px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 86px;
  align-items: end;
}

.wind-route-intro h2,
.wind-flight-sequence-head h2 {
  margin: 0;
  font: 730 clamp(48px, 5.8vw, 86px)/1.04 var(--heading);
  letter-spacing: -.03em;
}

.wind-route-intro > p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.9;
}

.wind-route-track { position: relative; max-width: var(--max); margin: 0 auto; }
.wind-route-track > svg { position: absolute; top: 142px; left: 0; width: 100%; height: 120px; overflow: visible; pointer-events: none; }
.wind-route-track path { fill: none; stroke-width: 2; }
.wind-route-base { stroke: rgba(17, 23, 27, .16); }
.wind-route-flow { stroke: var(--accent); stroke-dasharray: 12 20; animation: wind-route-run 7s linear infinite; }
@keyframes wind-route-run { to { stroke-dashoffset: -256; } }

.wind-route-nodes {
  position: relative;
  display: grid;
  grid-template-columns: 1.18fr repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.wind-route-node {
  min-width: 0;
  padding: 0 18px 28px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}

.wind-route-node:first-child { border-bottom-color: var(--accent); }
.wind-route-node figure { position: relative; height: 238px; margin: 0 -18px 34px; overflow: hidden; background: #e2e3df; }
.wind-route-node figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2, .75, .2, 1); }
.wind-route-node:first-child figure img { padding: 5%; object-fit: contain; background: #ecece8; }
.wind-route-node:hover figure img { transform: scale(1.035); }
.wind-route-node > span { color: var(--accent); font: 700 11px/1 var(--display); }
.wind-route-node > small { float: right; color: var(--faint); font: 650 9px/1 var(--display); letter-spacing: .1em; }
.wind-route-node h3 { margin: 34px 0 15px; font: 720 clamp(28px, 2.7vw, 42px)/1 var(--heading); }
.wind-route-node p { min-height: 52px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }

.wind-flight-sequence {
  --route-progress: 0%;
  position: relative;
  padding: 132px max(24px, calc((100vw - var(--max)) / 2));
  overflow: hidden;
  color: white;
  background: #101619;
}

.wind-flight-sequence::before {
  content: "FLIGHT";
  position: absolute;
  left: max(24px, calc((100vw - var(--max)) / 2));
  top: 238px;
  color: rgba(255, 255, 255, .025);
  font: 800 clamp(150px, 25vw, 400px)/.8 var(--display);
  letter-spacing: -.07em;
}

.wind-flight-sequence-head { position: relative; z-index: 2; max-width: var(--max); margin: 0 auto 92px; }
.wind-flight-sequence-head h2 { max-width: 980px; }
.wind-flight-spine { position: absolute; top: 360px; bottom: 150px; left: max(26px, calc((100vw - var(--max)) / 2 + 18px)); width: 2px; background: rgba(255, 255, 255, .13); }
.wind-flight-spine i { display: block; width: 100%; height: var(--route-progress); background: var(--accent); }

.wind-flight-chapter {
  position: relative;
  z-index: 2;
  max-width: var(--max);
  min-height: 650px;
  margin: 0 auto;
  padding: 78px 0 110px 76px;
  border-top: 1px solid rgba(255, 255, 255, .16);
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 58px;
  align-items: center;
  opacity: .52;
  transition: opacity .45s ease;
}
.wind-flight-chapter.active { opacity: 1; }
.wind-flight-chapter:nth-of-type(even) .wind-flight-media { order: 2; }
.wind-flight-chapter:nth-of-type(even) .wind-flight-copy { order: 1; }
.wind-flight-media { position: relative; min-height: 430px; overflow: hidden; background: #080d10; }
.wind-flight-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wind-flight-copy > span { color: var(--accent); font: 700 12px/1 var(--display); }
.wind-flight-copy > small { float: right; color: rgba(255, 255, 255, .38); font: 650 10px/1 var(--display); letter-spacing: .14em; }
.wind-flight-copy h3 { margin: 54px 0 22px; font: 720 clamp(36px, 4.1vw, 62px)/1.16 var(--heading); }
.wind-flight-copy p { margin: 0; color: rgba(255, 255, 255, .58); line-height: 1.8; }
.wind-flight-copy > b { margin: 52px 0 32px; display: block; color: var(--accent); font: 720 clamp(42px, 5vw, 72px)/1 var(--display); }
.wind-flight-copy a { color: white; text-decoration: none; font-size: 13px; font-weight: 700; }
.wind-flight-copy a span { color: var(--accent); }

/* Shared continuous products architecture */
.route-products-hero {
  position: relative;
  min-height: min(810px, calc(100vh - var(--header-height)));
  overflow: hidden;
}
.route-products-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.route-products-shade { position: absolute; inset: 0; }
.route-products-hero-copy {
  position: relative;
  z-index: 2;
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
  padding-top: clamp(120px, 17vh, 180px);
}
.route-products-hero-copy h1 { max-width: 980px; margin: 0; font: 740 clamp(58px, 7.2vw, 108px)/1.02 var(--heading); letter-spacing: -.035em; }
.route-products-hero-copy > p:last-child { max-width: 650px; margin: 30px 0 0; font-size: 17px; line-height: 1.85; }
.route-products-index { position: absolute; z-index: 2; right: max(32px, calc((100vw - var(--max)) / 2)); bottom: 32px; font: 700 12px/1 var(--display); letter-spacing: .16em; }
.route-products-hero > .media-label { left: auto; right: max(32px, calc((100vw - var(--max)) / 2)); bottom: 62px; }

.route-products-hero-wind { color: white; background: #0e1519; }
.route-products-hero-wind > img { object-position: center; }
.route-products-hero-wind .route-products-shade { background: linear-gradient(90deg, rgba(7, 12, 15, .94), rgba(7, 12, 15, .6) 46%, rgba(7, 12, 15, .06) 77%), linear-gradient(0deg, rgba(7, 12, 15, .5), transparent 50%); }
.route-products-hero-wind .route-products-hero-copy > p:last-child { color: rgba(255, 255, 255, .7); }
.route-products-hero-wind .route-products-index { color: rgba(255, 255, 255, .55); }

.route-products-nav {
  position: relative;
  z-index: 5;
  width: min(calc(100% - 48px), var(--max));
  margin: 0 auto;
  padding: 0;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  color: var(--ink);
  background: var(--paper);
}
.route-products-nav a {
  min-height: 82px;
  padding: 16px 18px;
  border-right: 1px solid var(--line);
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 4px 10px;
  color: var(--ink);
  text-decoration: none;
}
.route-products-nav a:first-child { border-left: 1px solid var(--line); }
.route-products-nav a > span { grid-row: 1 / span 2; padding-top: 4px; color: var(--faint); font: 700 10px/1 var(--display); }
.route-products-nav a > b { font-size: 15px; }
.route-products-nav a > small { color: var(--muted); font-size: 10px; }
.route-products-nav a::after { content: ""; grid-column: 1 / -1; height: 3px; margin: 8px -18px -16px; background: transparent; }
.route-products-nav a.active::after { background: var(--accent); }
.route-products-nav a.active > span { color: var(--accent); }

.product-system-map { padding: 116px max(24px, calc((100vw - var(--max)) / 2)) 128px; background: var(--paper); }
.product-system-map-head { max-width: var(--max); margin: 0 auto 74px; display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: start; }
.product-system-map-head h2 { margin: 0; font: 720 clamp(42px, 5vw, 74px)/1.08 var(--heading); letter-spacing: -.025em; }
.product-system-diagram { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(220px, .75fr) 160px minmax(0, 1.25fr); align-items: stretch; }
.system-source { min-height: 230px; padding: 28px; border: 1px solid var(--line); display: flex; flex-direction: column; }
.system-source span,
.system-targets span { color: var(--accent); font: 700 11px/1 var(--display); }
.system-source small { margin-top: auto; color: var(--faint); font: 650 9px/1 var(--display); letter-spacing: .12em; }
.system-source b { margin-top: 12px; font: 720 clamp(22px, 2.4vw, 34px)/1.3 var(--heading); }
.system-flow { position: relative; display: grid; grid-template-rows: repeat(3, 1fr); }
.system-flow::before { content: ""; position: absolute; left: 0; top: 50%; width: 35%; height: 1px; background: var(--accent); }
.system-flow::after { content: ""; position: absolute; left: 35%; top: 16.67%; bottom: 16.67%; width: 1px; background: var(--accent); }
.system-flow i { position: relative; }
.system-flow i::after { content: ""; position: absolute; left: 35%; right: 0; top: 50%; height: 1px; background: var(--accent); }
.system-targets { display: grid; grid-template-rows: repeat(3, 1fr); border-top: 1px solid var(--line); }
.system-targets > div { min-height: 76px; padding: 18px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; align-items: center; }
.system-targets b { font-size: 21px; }
.system-targets small { color: var(--muted); font-size: 12px; }

.continuous-product-route { --route-progress: 0%; position: relative; overflow: hidden; }
.continuous-product-route::before { content: ""; position: absolute; z-index: 4; top: 110px; bottom: 110px; left: max(25px, calc((100vw - var(--max)) / 2 + 19px)); width: 2px; background: color-mix(in srgb, currentColor 14%, transparent); }
.continuous-product-route::after { content: ""; position: absolute; z-index: 5; top: 110px; left: max(25px, calc((100vw - var(--max)) / 2 + 19px)); width: 2px; height: var(--route-progress); max-height: calc(100% - 220px); background: var(--accent); }
.route-product-chapter { position: relative; padding: 124px max(24px, calc((100vw - var(--max)) / 2)) 136px; scroll-margin-top: calc(var(--header-height) + 82px); }
.route-chapter-head { position: relative; z-index: 2; max-width: var(--max); margin: 0 auto 72px; padding-left: 76px; display: grid; grid-template-columns: 34px minmax(0, 1.15fr) minmax(300px, .85fr); gap: 28px; align-items: end; }
.route-chapter-head > span { color: var(--accent); font: 700 12px/1 var(--display); }
.route-chapter-head small { color: var(--faint); font: 650 10px/1 var(--display); letter-spacing: .15em; }
.route-chapter-head h2 { margin: 12px 0 0; font: 740 clamp(46px, 5.8vw, 86px)/1 var(--heading); letter-spacing: -.035em; }
.route-chapter-head > p { margin: 0; color: var(--muted); line-height: 1.85; }

.route-power-chapter { color: var(--ink); background: #eeefeb; }
.route-power-lead { max-width: var(--max); margin: 0 auto 78px; padding-left: 76px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 54px; align-items: center; }
.route-power-lead figure { position: relative; min-height: 420px; margin: 0; overflow: hidden; background: #f7f7f4; }
.route-power-lead figure img { position: absolute; inset: 4%; width: 92%; height: 92%; object-fit: contain; }
.route-power-lead small { color: var(--accent); font: 650 10px/1 var(--display); letter-spacing: .14em; }
.route-power-lead h3 { margin: 28px 0 20px; font: 720 clamp(30px, 3.8vw, 54px)/1.18 var(--heading); }
.route-power-lead p { margin: 0; color: var(--muted); line-height: 1.8; }
.route-power-grid { max-width: var(--max); margin: 0 auto; padding-left: 76px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.route-power-grid article { min-width: 0; padding-top: 16px; border-top: 1px solid rgba(17, 23, 27, .2); }
.route-power-grid figure { position: relative; aspect-ratio: 16 / 10; margin: 0 0 26px; overflow: hidden; background: #dedfdb; }
.route-power-grid figure img { width: 100%; height: 100%; object-fit: cover; }
.route-power-grid article:first-child figure img { padding: 5%; object-fit: contain; background: #f7f7f4; }
.route-power-grid article > span { color: var(--accent); font: 700 11px/1 var(--display); }
.route-power-grid article > small { float: right; color: var(--faint); font: 650 9px/1 var(--display); letter-spacing: .12em; }
.route-power-grid h3 { margin: 30px 0 12px; font: 730 clamp(34px, 3.5vw, 52px)/1 var(--heading); }
.route-power-grid article > p { color: var(--muted); font-size: 13px; line-height: 1.75; }
.route-power-grid .route-power-type { min-height: 48px; color: var(--ink); font-size: 15px; font-weight: 700; }
.route-power-grid dl { margin: 24px 0 0; border-top: 1px solid rgba(17, 23, 27, .16); }
.route-power-grid dl > div { min-height: 56px; padding: 12px 0; border-bottom: 1px solid rgba(17, 23, 27, .16); display: grid; grid-template-columns: 78px 1fr; gap: 10px; align-items: center; }
.route-power-grid dt { color: var(--faint); font-size: 11px; }
.route-power-grid dd { margin: 0; font-size: 12px; font-weight: 700; line-height: 1.4; }
.route-power-cutaway { position: relative; max-width: calc(var(--max) - 76px); min-height: 280px; margin: 82px auto 0; margin-left: calc((100% - min(100% - 48px, var(--max))) / 2 + 76px); overflow: hidden; color: white; background: #0e1519; }
.route-power-cutaway video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.route-power-cutaway::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 13, 16, .2), rgba(8, 13, 16, .82)); }
.route-power-cutaway > div { position: absolute; z-index: 2; right: 42px; top: 50%; width: min(38%, 390px); transform: translateY(-50%); }
.route-power-cutaway small { color: rgba(255, 255, 255, .5); font: 650 9px/1 var(--display); letter-spacing: .14em; }
.route-power-cutaway b { margin: 22px 0 14px; display: block; font: 720 34px/1.1 var(--heading); }
.route-power-cutaway span { color: rgba(255, 255, 255, .62); font-size: 13px; }

.route-vehicle-chapter { color: white; background: #101619; }
.route-vehicle-chapter:nth-child(odd) { background: #151d21; }
.route-vehicle-chapter .route-chapter-head > p { color: rgba(255, 255, 255, .6); }
.route-vehicle-feature { position: relative; max-width: calc(var(--max) - 76px); min-height: 610px; margin: 0 auto 38px; margin-left: calc((100% - min(100% - 48px, var(--max))) / 2 + 76px); overflow: hidden; background: #080d10; }
.route-vehicle-feature > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.route-vehicle-title { position: absolute; z-index: 2; left: 42px; right: 42px; bottom: 42px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .44); text-shadow: 0 2px 18px rgba(0, 0, 0, .5); }
.route-vehicle-title small { color: rgba(255, 255, 255, .62); font: 650 10px/1 var(--display); letter-spacing: .14em; }
.route-vehicle-title h3 { max-width: 680px; margin: 12px 0 0; font: 720 clamp(38px, 5vw, 72px)/1.12 var(--heading); }
.route-vehicle-facts { max-width: calc(var(--max) - 76px); margin: 0 auto 80px; margin-left: calc((100% - min(100% - 48px, var(--max))) / 2 + 76px); border-top: 1px solid rgba(255, 255, 255, .18); border-bottom: 1px solid rgba(255, 255, 255, .18); display: grid; grid-template-columns: .75fr 1fr 1.25fr; }
.route-vehicle-facts > div { min-height: 100px; padding: 22px 24px 22px 0; border-right: 1px solid rgba(255, 255, 255, .18); }
.route-vehicle-facts > div + div { padding-left: 24px; }
.route-vehicle-facts > div:last-child { border-right: 0; }
.route-vehicle-facts dt { margin-bottom: 12px; color: rgba(255, 255, 255, .4); font-size: 11px; }
.route-vehicle-facts dd { margin: 0; color: white; font-weight: 700; line-height: 1.5; }
.route-vehicle-media { max-width: calc(var(--max) - 76px); margin: 0 auto; margin-left: calc((100% - min(100% - 48px, var(--max))) / 2 + 76px); display: grid; grid-template-columns: minmax(0, 1fr) 220px; border-block: 1px solid rgba(255, 255, 255, .18); }
.route-vehicle-video { position: relative; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; background: #060a0c; }
.route-vehicle-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.route-video-options { padding: 26px 0 26px 28px; display: flex; flex-direction: column; }
.route-video-options > p { margin: 0 0 auto; color: rgba(255, 255, 255, .4); font: 650 9px/1 var(--display); letter-spacing: .14em; }
.route-video-options button { min-height: 62px; padding: 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .58); background: transparent; display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: center; text-align: left; cursor: pointer; }
.route-video-options button.active,
.route-video-options button:hover { color: white; }
.route-video-options button span { color: var(--accent); font: 650 10px/1 var(--display); }
.route-video-options button b { font-size: 12px; }
.route-still-strip { max-width: calc(var(--max) - 76px); margin: 22px auto 0; margin-left: calc((100% - min(100% - 48px, var(--max))) / 2 + 76px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.route-still-strip figure { position: relative; min-width: 0; margin: 0; aspect-ratio: 16 / 9; overflow: hidden; background: #080d10; }
.route-still-strip img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.route-still-strip figure:hover img { transform: scale(1.025); }
.route-still-strip figcaption { position: absolute; left: 10px; bottom: 10px; padding: 6px 8px; color: rgba(255, 255, 255, .82); background: rgba(6, 10, 12, .7); font-size: 10px; }

/* F · 银翼航迹 — product-first, route-led */
body[data-theme="airframe"] {
  --page: #d9d9d9;
  --paper: #f8f8f8;
  --ink: #000;
  --muted: #454343;
  --faint: #747474;
  --line: rgba(0, 0, 0, .2);
  --accent: #f2a500;
  --accent-2: #e7e7e7;
  --dark: #0d0d0d;
}
body[data-theme="airframe"] .site-header { color: var(--ink); border-color: var(--line); background: rgba(251, 251, 248, .96); }
body[data-theme="airframe"] .desktop-nav a { color: rgba(17, 19, 15, .62); }
body[data-theme="airframe"] .desktop-nav a:hover,
body[data-theme="airframe"] .desktop-nav a.active { color: var(--ink); }
body[data-theme="airframe"] .prototype-badge { border-color: var(--line); color: var(--muted); }
body[data-theme="airframe"] .menu-button { color: var(--ink); }
body[data-theme="airframe"] .mobile-nav { background: rgba(251, 251, 248, .99); }
body[data-theme="airframe"] .mobile-nav a { color: var(--ink); }

.airframe-hero { position: relative; min-height: min(900px, calc(100vh - var(--header-height))); overflow: hidden; color: var(--ink); background: #f8f8f5; }
.airframe-hero-product { position: absolute; inset: 0; overflow: hidden; }
.airframe-hero-product::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(248, 248, 245, .92) 0%, rgba(248, 248, 245, .42) 36%, transparent 62%), linear-gradient(0deg, rgba(248, 248, 245, .56), transparent 40%); }
.airframe-hero-product img { position: absolute; width: 82%; max-width: none; right: -8%; top: 50%; transform: translateY(-48%) scale(1.28); transform-origin: 75% 50%; }
.airframe-hero-meta { position: absolute; z-index: 2; top: 34px; right: max(32px, calc((100vw - var(--max)) / 2)); left: max(32px, calc((100vw - var(--max)) / 2)); padding-top: 14px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; color: var(--faint); font: 650 9px/1 var(--display); letter-spacing: .15em; }
.airframe-hero-copy { position: relative; z-index: 2; width: min(100% - 64px, var(--max)); margin: 0 auto; padding-top: clamp(170px, 24vh, 250px); }
.airframe-hero-copy h1 { max-width: 760px; margin: 0; font: 740 clamp(58px, 7vw, 106px)/1.02 var(--heading); letter-spacing: -.04em; }
.airframe-hero-copy > a { margin-top: 46px; display: inline-flex; gap: 16px; color: var(--ink); text-decoration: none; font-size: 13px; font-weight: 700; }
.airframe-hero-copy > a span { display: grid; width: 28px; height: 28px; place-items: center; color: var(--ink); background: var(--accent); }
.airframe-hero-caption { position: absolute; z-index: 2; right: max(32px, calc((100vw - var(--max)) / 2)); bottom: 28px; margin: 0; color: var(--faint); font-size: 10px; }

.airframe-panorama { position: relative; height: min(78vh, 760px); overflow: hidden; background: #151817; }
.airframe-panorama img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.airframe-numbered { padding: 124px max(24px, calc((100vw - var(--max)) / 2)); background: var(--paper); }
.airframe-numbered + .airframe-numbered { border-top: 1px solid var(--line); }
.airframe-number { max-width: var(--max); margin: 0 auto 74px; padding-bottom: 18px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 76px 1fr; align-items: end; }
.airframe-number span { color: var(--ink); font: 720 15px/1 var(--display); }
.airframe-number p { margin: 0; color: var(--faint); font: 650 9px/1 var(--display); letter-spacing: .16em; }
.airframe-numbered-body { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1.3fr .7fr; gap: 90px; align-items: end; }
.airframe-numbered-body > * { min-width: 0; }
.airframe-numbered-body h2 { margin: 0; font: 720 clamp(43px, 5.4vw, 80px)/1.1 var(--heading); letter-spacing: -.032em; }
.airframe-numbered-body > p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.9; }

.airframe-feature { position: relative; overflow: hidden; background: #ecece7; }
.airframe-feature-stage { position: relative; max-width: var(--max); min-height: 660px; margin: 0 auto; overflow: hidden; }
.airframe-feature-stage > img { position: absolute; z-index: 2; left: -2%; top: 50%; width: 104%; max-width: none; transform: translateY(-48%); mix-blend-mode: multiply; }
.airframe-ghost-word { position: absolute; z-index: 1; left: 0; top: 50%; width: 100%; margin: 0; color: rgba(17, 19, 15, .055); font: 800 clamp(160px, 25vw, 380px)/.8 var(--heading); letter-spacing: -.08em; text-align: center; transform: translateY(-58%); }
.airframe-callout { position: absolute; z-index: 4; min-width: 142px; padding: 12px 14px; color: var(--ink); background: var(--accent); display: grid; grid-template-columns: 25px 1fr; gap: 4px 8px; text-decoration: none; box-shadow: 0 12px 26px rgba(17, 19, 15, .12); }
.airframe-callout span { grid-row: 1 / span 2; font: 700 10px/1 var(--display); }
.airframe-callout b { font-size: 13px; }
.airframe-callout small { font-size: 9px; }
.callout-speed { left: 8%; top: 25%; }
.callout-reuse { right: 8%; top: 34%; }
.callout-payload { right: 19%; bottom: 18%; }
.airframe-feature-copy { max-width: var(--max); margin: 42px auto 0; padding-top: 24px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 190px 1fr auto; gap: 38px; align-items: start; }
.airframe-feature-copy > p { margin: 4px 0 0; color: var(--faint); font: 650 9px/1.5 var(--display); letter-spacing: .12em; }
.airframe-feature-copy h2 { max-width: 760px; margin: 0; font: 720 clamp(34px, 4vw, 58px)/1.15 var(--heading); }
.airframe-feature-copy a { display: inline-flex; gap: 10px; color: var(--ink); text-decoration: none; font-size: 12px; font-weight: 700; }

.airframe-roadmap { background: #f8f8f5; }
.airframe-roadmap-body,
.airframe-history-body { max-width: var(--max); margin: 0 auto; }
.airframe-roadmap-body > header { margin-bottom: 64px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.airframe-roadmap-body > header h2,
.airframe-history-body > header h2 { margin: 0; font: 720 clamp(44px, 5vw, 76px)/1.08 var(--heading); letter-spacing: -.03em; }
.airframe-roadmap-body > header p { margin: 0; color: var(--muted); line-height: 1.85; }
.airframe-roadmap ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.airframe-roadmap li { border-bottom: 1px solid var(--line); }
.airframe-roadmap li a { min-height: 154px; display: grid; grid-template-columns: 70px 210px 1fr 28px; gap: 30px; align-items: center; color: var(--ink); text-decoration: none; }
.airframe-roadmap li a > span { color: var(--accent); font: 700 12px/1 var(--display); }
.airframe-roadmap figure { position: relative; width: 100%; height: 114px; margin: 0; overflow: hidden; background: #dddeda; }
.airframe-roadmap figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.airframe-roadmap li:first-child figure img { padding: 4%; object-fit: contain; background: white; }
.airframe-roadmap li:hover figure img { transform: scale(1.035); }
.airframe-roadmap li small { color: var(--faint); font-size: 11px; }
.airframe-roadmap li h3 { margin: 10px 0 0; font: 720 clamp(28px, 3vw, 44px)/1 var(--heading); }
.airframe-roadmap li a > b { font-size: 20px; }

.airframe-history { background: #e9eae5; }
.airframe-history-body > header { margin-bottom: 64px; }
.airframe-history ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.airframe-history li { min-height: 170px; padding: 22px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 100px 230px 1fr; gap: 34px; align-items: center; }
.airframe-history time { color: var(--accent); font: 720 22px/1 var(--display); }
.airframe-history figure { position: relative; height: 126px; margin: 0; overflow: hidden; background: #d3d5cf; }
.airframe-history figure img { width: 100%; height: 100%; object-fit: cover; }
.airframe-history h3 { margin: 0 0 12px; font: 710 24px/1.25 var(--heading); }
.airframe-history p { margin: 0; color: var(--muted); line-height: 1.75; }

body[data-theme="airframe"] .media-section { background: #f8f8f5; }
body[data-theme="airframe"] .careers-cta { color: var(--ink); background: var(--accent); }
body[data-theme="airframe"] .page-hero { min-height: 470px; color: var(--ink); border-bottom: 1px solid var(--line); background: #f8f8f5; }
body[data-theme="airframe"] .page-hero > div > p:last-child { color: var(--muted); }
body[data-theme="airframe"] .page-code { color: rgba(17, 19, 15, .045); }
body[data-theme="airframe"] .site-footer { position: relative; overflow: hidden; background: #151714; }
body[data-theme="airframe"] .site-footer::before { content: "WINDDRIDING"; position: absolute; left: 2vw; bottom: -2vw; color: rgba(255, 255, 255, .035); font: 800 13vw/.8 var(--display); letter-spacing: -.06em; pointer-events: none; }

.route-products-hero-airframe { color: var(--ink); background: #f6f6f2; }
.route-products-hero-airframe > img { object-position: center 54%; }
.route-products-hero-airframe .route-products-shade { background: linear-gradient(90deg, rgba(248, 248, 245, .97), rgba(248, 248, 245, .72) 43%, rgba(248, 248, 245, .08) 78%), linear-gradient(0deg, rgba(248, 248, 245, .45), transparent 42%); }
.route-products-hero-airframe .route-products-hero-copy > p:last-child { color: var(--muted); }
.route-products-hero-airframe .route-products-index { color: var(--faint); }
.continuous-product-route-airframe .route-power-chapter { background: #f1f1ec; }
.continuous-product-route-airframe .route-vehicle-chapter { color: var(--ink); background: #fbfbf8; }
.continuous-product-route-airframe .route-vehicle-chapter:nth-child(odd) { background: #eeeeea; }
.continuous-product-route-airframe .route-vehicle-chapter::before { content: attr(data-route-chapter); position: absolute; right: max(24px, calc((100vw - var(--max)) / 2)); top: 150px; color: rgba(17, 19, 15, .045); font: 800 clamp(150px, 22vw, 330px)/.8 var(--heading); letter-spacing: -.08em; pointer-events: none; }
.continuous-product-route-airframe .route-vehicle-chapter .route-chapter-head > p { color: var(--muted); }
.continuous-product-route-airframe .route-vehicle-feature { min-height: 680px; }
.continuous-product-route-airframe .route-vehicle-title { color: white; }
.continuous-product-route-airframe .route-vehicle-facts { border-color: var(--line); }
.continuous-product-route-airframe .route-vehicle-facts > div { border-color: var(--line); }
.continuous-product-route-airframe .route-vehicle-facts dt { color: var(--faint); }
.continuous-product-route-airframe .route-vehicle-facts dd { color: var(--ink); }
.continuous-product-route-airframe .route-vehicle-media { color: white; background: #151714; }
.continuous-product-route-airframe .route-still-strip figure { background: #dfe0db; }
body[data-theme="airframe"] .route-service-blueprint { border-top: 1px solid var(--line); }

body[data-theme="airframe"][data-page="news"] .mission-media-section { border-bottom: 1px solid var(--line); }
body[data-theme="airframe"][data-page="news"] .news-page-grid { grid-template-columns: 1fr; gap: 0; }
body[data-theme="airframe"][data-page="news"] .news-card { padding: 34px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); gap: 42px; }
body[data-theme="airframe"][data-page="news"] .news-card-featured { grid-column: auto; }
body[data-theme="airframe"][data-page="news"] .news-card-cover,
body[data-theme="airframe"][data-page="news"] .news-card-featured .news-card-cover { grid-row: 1 / span 5; aspect-ratio: 16 / 10; }

body[data-theme="airframe"][data-page="careers"] .talent-grid { grid-template-columns: 1fr; gap: 0; }
body[data-theme="airframe"][data-page="careers"] .talent-card {
  min-height: 178px;
  padding: 28px 0;
  border: 0;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 80px minmax(220px, .7fr) minmax(280px, 1.3fr) 150px;
  gap: 28px;
  align-items: center;
  background: transparent;
}
body[data-theme="airframe"][data-page="careers"] .talent-card:last-child { border-bottom: 1px solid var(--line); }
body[data-theme="airframe"][data-page="careers"] .talent-card h2 { margin: 0; font-size: clamp(30px, 3.4vw, 48px); }
body[data-theme="airframe"][data-page="careers"] .talent-card > p { min-height: 0; margin: 0; }
body[data-theme="airframe"][data-page="careers"] .talent-toggle { margin: 0; padding-top: 14px; }
body[data-theme="airframe"][data-page="careers"] .talent-detail { grid-column: 2 / -1; }
body[data-theme="airframe"][data-page="careers"] .career-image-band { filter: saturate(.72); }

body[data-theme="airframe"][data-page="about"] .about-intro,
body[data-theme="airframe"][data-page="about"] .leadership-team,
body[data-theme="airframe"][data-page="about"] .timeline,
body[data-theme="airframe"][data-page="about"] .milestone-media { position: relative; border-top: 1px solid var(--line); }
body[data-theme="airframe"][data-page="about"] .about-intro::before,
body[data-theme="airframe"][data-page="about"] .leadership-team::before,
body[data-theme="airframe"][data-page="about"] .timeline::before,
body[data-theme="airframe"][data-page="about"] .milestone-media::before {
  position: absolute;
  left: 0;
  top: 34px;
  color: var(--accent);
  font: 700 12px/1 var(--display);
}
body[data-theme="airframe"][data-page="about"] .about-intro::before { content: "01"; }
body[data-theme="airframe"][data-page="about"] .leadership-team::before { content: "02"; }
body[data-theme="airframe"][data-page="about"] .timeline::before { content: "03"; }
body[data-theme="airframe"][data-page="about"] .milestone-media::before { content: "04"; }
body[data-theme="airframe"][data-page="about"] .leadership-portrait { background: #dedfd9; }
body[data-theme="airframe"][data-page="about"] .client-portrait::before { opacity: .12; }
body[data-theme="airframe"][data-page="about"] .timeline li { min-height: 118px; }

body[data-theme="airframe"][data-page="industry"] .industry-index-head { border-bottom-color: var(--ink); }
body[data-theme="airframe"][data-page="industry"] .industry-feed-item { min-height: 250px; }
body[data-theme="airframe"][data-page="industry"] .industry-feed-meta span,
body[data-theme="airframe"][data-page="industry"] .industry-feed-link b { color: var(--accent); }

/* Shared reference-inspired motion system: readable image hotspots, measured scroll states. */
body[data-theme="wind"] .site-header,
body[data-theme="airframe"] .site-header {
  transition: transform .48s cubic-bezier(.2, .75, .2, 1), min-height .3s ease, background-color .3s ease;
  will-change: transform;
}

body[data-theme="wind"] .site-header.is-hidden,
body[data-theme="airframe"] .site-header.is-hidden { transform: translateY(-101%); }
body[data-theme="wind"] .site-header.is-condensed,
body[data-theme="airframe"] .site-header.is-condensed { box-shadow: 0 10px 34px rgba(10, 14, 16, .08); }

@media (min-width: 1025px) {
  body[data-theme="wind"] .site-header.is-hidden,
  body[data-theme="airframe"] .site-header.is-hidden { transform: none; }

  .route-products-nav {
    position: sticky;
    top: var(--sticky-header-height, 64px);
    z-index: 42;
    width: min(100%, var(--max));
    transition: top .42s cubic-bezier(.16, 1, .3, 1), box-shadow .3s ease;
    box-shadow: 0 12px 34px rgba(10, 14, 16, .08);
  }

  .route-products-nav a { transition: min-height .42s cubic-bezier(.16, 1, .3, 1), padding .42s cubic-bezier(.16, 1, .3, 1), background .3s ease; }
  body.has-condensed-header .route-products-nav a { min-height: 68px; padding-top: 12px; padding-bottom: 12px; }
}

.airframe-number,
.route-chapter-head,
.wind-flight-chapter { position: relative; }
.airframe-number { border-bottom: 0; }
.airframe-number::after,
.route-chapter-head::after,
.wind-flight-chapter::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: currentColor;
  opacity: .2;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.1s cubic-bezier(.16, 1, .3, 1);
}
.airframe-number::after { bottom: 0; }
.route-chapter-head::after,
.wind-flight-chapter::after { top: 0; }
.airframe-number.line-visible::after,
.route-chapter-head.line-visible::after,
.wind-flight-chapter.line-visible::after { transform: scaleX(1); }

body[data-theme="wind"] :is(.section-head, .industry-index-head, .talent-card, .news-card, .industry-feed-item),
body[data-theme="airframe"] :is(.section-head, .industry-index-head, .talent-card, .news-card, .industry-feed-item) { position: relative; }
body[data-theme="wind"] :is(.section-head, .industry-index-head, .talent-card, .news-card, .industry-feed-item)::after,
body[data-theme="airframe"] :is(.section-head, .industry-index-head, .talent-card, .news-card, .industry-feed-item)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: currentColor;
  opacity: .18;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.1s cubic-bezier(.16, 1, .3, 1);
}
body[data-theme="wind"] :is(.talent-card)::after,
body[data-theme="airframe"] :is(.talent-card)::after { top: 0; bottom: auto; }
body[data-theme="wind"] :is(.section-head, .industry-index-head, .talent-card, .news-card, .industry-feed-item).line-visible::after,
body[data-theme="airframe"] :is(.section-head, .industry-index-head, .talent-card, .news-card, .industry-feed-item).line-visible::after { transform: scaleX(1); }

.flight-architecture {
  position: relative;
  padding: 128px max(24px, calc((100vw - var(--max)) / 2));
  overflow: hidden;
}
.flight-architecture-wind { color: white; background: #101619; }
.flight-architecture-airframe { color: var(--ink); background: #e8e9e4; }
.flight-architecture-airframe.airframe-numbered { background: #e8e9e4; }
.product-system-map + .flight-architecture { border-top: 1px solid rgba(17, 23, 27, .12); }

.flight-architecture-head {
  max-width: var(--max);
  margin: 0 auto 72px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 76px;
  align-items: end;
}
.flight-architecture-head h2 {
  max-width: 820px;
  margin: 0;
  font: 730 clamp(46px, 5.6vw, 82px)/1.05 var(--heading);
  letter-spacing: -.034em;
}
.flight-architecture-head > p {
  max-width: 34em;
  margin: 0;
  color: rgba(255, 255, 255, .58);
  font-size: 15px;
  line-height: 1.9;
}
.flight-architecture-airframe .flight-architecture-head > p { color: var(--muted); }

.flight-architecture-shell {
  max-width: var(--max);
  min-height: 690px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  background: #070b0e;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .18);
}
.flight-architecture-airframe .flight-architecture-shell { background: #161817; }
.flight-architecture-visual { position: relative; min-width: 0; overflow: hidden; isolation: isolate; }
.flight-architecture-visual::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 9, 12, .08), transparent 55%), linear-gradient(0deg, rgba(5, 9, 12, .48), transparent 38%);
  pointer-events: none;
}
.flight-architecture-image { position: absolute; inset: 0; overflow: hidden; }
.flight-architecture-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 50%;
  transform: scale(1.08);
  transform-origin: 50% 50%;
  transition: transform 1s cubic-bezier(.18, .8, .2, 1), filter .8s ease;
  will-change: transform;
}
[data-flight-state="propulsion"] .flight-architecture-image img { transform: scale(1.34) translateX(13%); }
[data-flight-state="airflow"] .flight-architecture-image img { transform: scale(1.08); }
[data-flight-state="verification"] .flight-architecture-image img { transform: scale(1.25) translate(-8%, 3%); }
[data-flight-state="reuse"] .flight-architecture-image img { transform: scale(1.2) translate(-2%, -8%); }

.flight-focus-layer {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  transform: scale(.92);
  transition: opacity .5s ease, transform .8s cubic-bezier(.18, .8, .2, 1);
}
.flight-focus-propulsion {
  left: 4%;
  top: 33%;
  width: 38%;
  height: 46%;
  background: radial-gradient(ellipse at 42% 56%, color-mix(in srgb, var(--accent) 38%, transparent) 0, color-mix(in srgb, var(--accent) 14%, transparent) 28%, transparent 68%);
  mix-blend-mode: screen;
}
.flight-focus-airflow {
  left: 19%;
  top: 9%;
  width: 76%;
  height: 64%;
  overflow: hidden;
  background: radial-gradient(ellipse at 58% 52%, rgba(255, 255, 255, .24) 0, color-mix(in srgb, var(--accent) 12%, transparent) 34%, transparent 70%);
  clip-path: polygon(0 24%, 100% 8%, 100% 68%, 5% 88%);
  mix-blend-mode: screen;
}
.flight-focus-airflow::after {
  content: "";
  position: absolute;
  inset: -18% -35%;
  background: linear-gradient(104deg, transparent 38%, rgba(255, 255, 255, .26) 49%, transparent 60%);
  transform: translateX(-62%);
}
.flight-focus-verification {
  right: 8%;
  top: 12%;
  width: 48%;
  height: 44%;
  background: radial-gradient(ellipse at 54% 50%, color-mix(in srgb, var(--accent) 26%, transparent) 0, rgba(255, 255, 255, .12) 22%, transparent 66%);
  mix-blend-mode: screen;
}
.flight-focus-reuse {
  left: 31%;
  bottom: 1%;
  width: 45%;
  height: 36%;
  background: radial-gradient(ellipse at 52% 70%, color-mix(in srgb, var(--accent) 26%, transparent) 0, rgba(255, 255, 255, .1) 30%, transparent 68%);
  mix-blend-mode: screen;
}
[data-flight-state="propulsion"] .flight-focus-propulsion,
[data-flight-state="airflow"] .flight-focus-airflow,
[data-flight-state="verification"] .flight-focus-verification,
[data-flight-state="reuse"] .flight-focus-reuse { opacity: .88; transform: scale(1); }
[data-flight-state="airflow"] .flight-focus-airflow::after { animation: wing-sheen 1.45s cubic-bezier(.18, .8, .2, 1) both; }
@keyframes wing-sheen { to { transform: translateX(62%); } }

.flight-hotspot {
  position: absolute;
  z-index: 6;
  min-width: 108px;
  min-height: 38px;
  padding: 0 12px 0 30px;
  border: 1px solid rgba(255, 255, 255, .34);
  color: white;
  background: rgba(7, 11, 14, .7);
  backdrop-filter: blur(8px);
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: center;
  text-align: left;
  cursor: pointer;
  transition: color .3s ease, background .3s ease, border-color .3s ease, transform .3s ease;
}
.flight-hotspot i {
  position: absolute;
  left: 13px;
  top: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid var(--accent);
  border-radius: 50%;
  transform: translateY(-50%);
}
.flight-hotspot span { color: rgba(255, 255, 255, .48); font: 650 9px/1 var(--display); }
.flight-hotspot b { font-size: 11px; white-space: nowrap; }
.flight-hotspot:hover,
.flight-hotspot.active { border-color: var(--accent); color: white; background: rgba(7, 11, 14, .88); transform: translateY(-2px); }
.flight-hotspot.active span { color: var(--accent); }
.flight-hotspot.active i { border-color: var(--accent); background: var(--accent); }
.flight-hotspot-propulsion { left: 14%; top: 58%; }
.flight-hotspot-airflow { left: 42%; top: 22%; }
.flight-hotspot-verification { right: 11%; top: 28%; }
.flight-hotspot-reuse { left: 51%; bottom: 12%; }

.flight-architecture-panel {
  position: relative;
  z-index: 7;
  min-width: 0;
  padding: 34px 30px 30px;
  border-left: 1px solid rgba(255, 255, 255, .16);
  color: white;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  background: rgba(14, 19, 22, .94);
}
.flight-architecture-index { display: flex; align-items: baseline; gap: 8px; }
.flight-architecture-index span { color: var(--accent); font: 720 58px/.9 var(--display); letter-spacing: -.05em; }
.flight-architecture-index small { color: rgba(255, 255, 255, .35); font: 600 10px/1 var(--display); letter-spacing: .12em; }
.flight-architecture-detail { display: none; align-content: center; animation: flight-detail-in .55s cubic-bezier(.2, .75, .2, 1) both; }
.flight-architecture-detail.active { display: grid; }
.flight-architecture-detail small { color: var(--accent); font: 650 10px/1 var(--display); letter-spacing: .16em; }
.flight-architecture-detail h3 { margin: 24px 0 16px; font: 720 36px/1.12 var(--heading); }
.flight-architecture-detail p { margin: 0; color: rgba(255, 255, 255, .58); font-size: 14px; line-height: 1.85; }
@keyframes flight-detail-in { from { opacity: 0; transform: translateY(16px); } }
.flight-architecture-controls { margin: 0 0 28px; border-top: 1px solid rgba(255, 255, 255, .16); }
.flight-architecture-controls button {
  width: 100%;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .5);
  background: transparent;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.flight-architecture-controls button span { color: var(--accent); font: 650 9px/1 var(--display); }
.flight-architecture-controls button.active { color: white; }
.flight-architecture-panel > a { color: white; text-decoration: none; font-size: 12px; font-weight: 700; }
.flight-architecture-panel > a span { margin-left: 10px; color: var(--accent); }

/* Airframe timeline: years, current evidence and milestone labels move as one system. */
.airframe-history { --timeline-progress: 0%; padding-bottom: 0; background: #e9eae5; }
.airframe-history-body { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
.airframe-history-body > header {
  width: min(calc(100% - 48px), var(--max));
  margin: 0 auto 70px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 80px;
  align-items: end;
}
.airframe-history-body > header > p { margin: 0; color: var(--muted); line-height: 1.85; }
.airframe-history ol { border: 0; }
.airframe-history li { min-height: 0; padding: 0; border: 0; display: block; }
.airframe-timeline-scroll { position: relative; height: 500vh; }
.airframe-timeline-pin {
  position: sticky;
  top: var(--header-height);
  height: calc(100vh - var(--header-height));
  min-height: 620px;
  padding: 34px max(24px, calc((100vw - var(--max)) / 2));
  overflow: hidden;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 230px;
  gap: 34px;
  align-items: stretch;
  background: #f4f4f0;
}
.airframe-timeline-years,
.airframe-timeline-points { position: relative; z-index: 3; margin: 0; padding: 0; list-style: none; display: grid; align-content: center; }
.airframe-timeline-years li { opacity: .2; transition: opacity .32s ease, transform .32s ease; }
.airframe-timeline-years li.active { opacity: 1; transform: translateX(10px); }
.airframe-timeline-years button {
  min-height: 54px;
  padding: 0;
  border: 0;
  color: var(--ink);
  background: transparent;
  font: 720 clamp(28px, 3vw, 46px)/1 var(--display);
  letter-spacing: -.045em;
  cursor: pointer;
}
.airframe-timeline-stage { position: relative; min-width: 0; overflow: hidden; }
.airframe-timeline-stage > ol { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; }
.airframe-timeline-event {
  position: absolute;
  inset: 50% 0 auto;
  height: min(560px, calc(100vh - var(--header-height) - 100px));
  opacity: var(--timeline-opacity);
  transform: translateY(calc(-50% + var(--timeline-y))) scale(var(--timeline-scale));
  transform-origin: center;
  transition: opacity .12s linear;
  will-change: opacity, transform;
}
.airframe-timeline-event figure { position: absolute; inset: 0; height: auto; margin: 0; overflow: hidden; background: #d3d5cf; }
.airframe-timeline-event figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8, 12, 14, .82), transparent 58%); }
.airframe-timeline-event figure img { width: 100%; height: 100%; object-fit: cover; }
.airframe-timeline-event > div { position: absolute; z-index: 3; right: 34px; bottom: 34px; left: 34px; color: white; }
.airframe-timeline-event time { color: var(--accent); font: 720 18px/1 var(--display); }
.airframe-timeline-event > div > span { float: right; color: rgba(255, 255, 255, .48); font: 650 9px/1 var(--display); letter-spacing: .14em; }
.airframe-timeline-event h3 { max-width: 720px; margin: 22px 0 12px; font: 720 clamp(31px, 3.6vw, 54px)/1.08 var(--heading); }
.airframe-timeline-event p { max-width: 700px; margin: 0; color: rgba(255, 255, 255, .68); font-size: 14px; line-height: 1.75; }
.airframe-timeline-points { gap: 0; }
.airframe-timeline-points li {
  min-height: 62px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(17, 23, 27, .13);
  opacity: .22;
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: center;
  transition: opacity .32s ease, transform .32s ease;
}
.airframe-timeline-points li.active { opacity: 1; transform: translateX(-10px); }
.airframe-timeline-points span { color: var(--accent); font: 700 9px/1 var(--display); }
.airframe-timeline-points b { font-size: 12px; line-height: 1.45; }
.airframe-timeline-progress { position: absolute; z-index: 5; top: 34px; bottom: 34px; left: calc(max(24px, (100vw - var(--max)) / 2) + 150px + 17px); width: 1px; background: rgba(17, 23, 27, .12); }
.airframe-timeline-progress i { display: block; width: 100%; height: 0; background: var(--accent); }

@media (max-width: 1024px) {
  .wind-route-intro,
  .airframe-numbered-body,
  .airframe-roadmap-body > header { grid-template-columns: 1fr; gap: 28px; }
  .wind-route-nodes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wind-route-track > svg { display: none; }
  .wind-flight-chapter { min-height: 0; grid-template-columns: 1fr; gap: 34px; }
  .wind-flight-chapter:nth-of-type(even) .wind-flight-media,
  .wind-flight-chapter:nth-of-type(even) .wind-flight-copy { order: initial; }
  .wind-flight-media { min-height: 500px; }
  .route-products-nav { padding-inline: 0; }
  .product-system-map-head { grid-template-columns: 1fr; gap: 24px; }
  .product-system-diagram { grid-template-columns: minmax(190px, .8fr) 100px minmax(0, 1.2fr); }
  .route-chapter-head { grid-template-columns: 30px 1fr; }
  .route-chapter-head > p { grid-column: 2; }
  .route-power-lead,
  .route-power-grid { padding-left: 60px; }
  .route-power-lead { grid-template-columns: 1fr; }
  .route-power-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .route-power-grid article:last-child { grid-column: 1 / -1; }
  .route-power-cutaway,
  .route-vehicle-feature,
  .route-vehicle-facts,
  .route-vehicle-media,
  .route-still-strip { max-width: calc(100% - 108px); margin-left: 84px; margin-right: 24px; }
  .route-vehicle-feature { min-height: 540px; }
  .airframe-hero-product img { width: 100%; right: -20%; }
  .airframe-feature-stage { min-height: 560px; }
  .airframe-feature-copy { grid-template-columns: 150px 1fr; }
  .airframe-feature-copy a { grid-column: 2; }
  .airframe-roadmap li a { grid-template-columns: 54px 170px 1fr 24px; gap: 20px; }
  .flight-architecture-head { grid-template-columns: 1fr; gap: 28px; }
  .flight-architecture-shell { min-height: 650px; grid-template-columns: minmax(0, 1fr) 286px; }
  .flight-hotspot { min-width: 104px; }
  .airframe-timeline-pin { grid-template-columns: 110px minmax(0, 1fr) 156px; gap: 22px; }
  .airframe-timeline-progress { left: calc(max(24px, (100vw - var(--max)) / 2) + 110px + 11px); }
  .airframe-timeline-points b { font-size: 11px; }
}

@media (max-width: 767px) {
  .wind-route-home,
  .wind-flight-sequence,
  .airframe-numbered,
  .product-system-map,
  .route-product-chapter { padding: 84px 18px; }
  .wind-route-intro { margin-bottom: 54px; }
  .wind-route-intro h2,
  .wind-flight-sequence-head h2 { font-size: 42px; }
  .wind-route-nodes { grid-template-columns: 1fr; gap: 48px; }
  .wind-route-node { padding-inline: 0; }
  .wind-route-node figure { height: auto; aspect-ratio: 16 / 10; margin-inline: 0; }
  .wind-flight-sequence::before { display: none; }
  .wind-flight-sequence-head { margin-bottom: 58px; }
  .wind-flight-spine { left: 21px; top: 260px; bottom: 90px; }
  .wind-flight-chapter { padding: 48px 0 80px 28px; opacity: 1; }
  .wind-flight-media { min-height: 0; aspect-ratio: 4 / 3; }
  .wind-flight-copy h3 { margin-top: 38px; font-size: 34px; }
  .wind-flight-copy > b { margin-top: 34px; font-size: 48px; }
  .route-products-hero { min-height: 680px; }
  .route-products-hero-copy { width: calc(100% - 36px); padding-top: 96px; }
  .route-products-hero-copy h1 { font-size: 43px; }
  .route-products-hero-copy > p:last-child { font-size: 15px; }
  .route-products-hero-wind > img { object-position: 62% center; }
  .route-products-hero-airframe > img { object-position: 68% center; }
  .route-products-index { right: 18px; }
  .route-products-hero > .media-label { right: 18px; }
  .route-products-nav { width: calc(100% - 36px); padding: 0; overflow: hidden; }
  .route-products-nav a { min-height: 68px; padding: 12px 6px; grid-template-columns: 1fr; text-align: center; }
  .route-products-nav a:first-child { border-left: 0; }
  .route-products-nav a > span,
  .route-products-nav a > small { display: none; }
  .route-products-nav a > b { font-size: 13px; }
  .route-products-nav a::after { margin: 10px -6px -12px; }
  .product-system-map-head { margin-bottom: 48px; }
  .product-system-map-head h2 { font-size: 40px; }
  .product-system-diagram { display: block; }
  .system-source { min-height: 190px; }
  .system-flow { height: 78px; display: block; }
  .system-flow::before { left: 50%; top: 0; width: 1px; height: 100%; }
  .system-flow::after,
  .system-flow i { display: none; }
  .system-targets { border-top: 0; }
  .continuous-product-route::before,
  .continuous-product-route::after { left: 20px; top: 86px; bottom: 86px; }
  .route-chapter-head { margin-bottom: 48px; padding-left: 22px; grid-template-columns: 26px 1fr; gap: 14px; }
  .route-chapter-head h2 { font-size: 43px; }
  .route-power-lead,
  .route-power-grid { padding-left: 22px; }
  .route-power-lead { margin-bottom: 58px; }
  .route-power-lead figure { min-height: 0; aspect-ratio: 4 / 3; }
  .route-power-grid { grid-template-columns: 1fr; gap: 52px; }
  .route-power-grid article:last-child { grid-column: auto; }
  .route-power-grid .route-power-type { min-height: 0; }
  .route-power-cutaway,
  .route-vehicle-feature,
  .route-vehicle-facts,
  .route-vehicle-media,
  .route-still-strip { max-width: none; margin-left: 22px; margin-right: 0; }
  .route-power-cutaway { min-height: 370px; }
  .route-power-cutaway::after { background: linear-gradient(0deg, rgba(8, 13, 16, .9), rgba(8, 13, 16, .08)); }
  .route-power-cutaway > div { top: auto; right: 22px; bottom: 30px; left: 22px; width: auto; transform: none; }
  .route-vehicle-feature,
  .continuous-product-route-airframe .route-vehicle-feature { min-height: 0; aspect-ratio: 4 / 5; }
  .route-vehicle-feature > img { object-position: center; }
  .route-vehicle-title { left: 20px; right: 20px; bottom: 22px; }
  .route-vehicle-title h3 { font-size: 34px; }
  .route-vehicle-facts { grid-template-columns: 1fr; }
  .route-vehicle-facts > div,
  .route-vehicle-facts > div + div { min-height: 0; padding: 18px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
  .continuous-product-route-airframe .route-vehicle-facts > div { border-bottom-color: var(--line); }
  .route-vehicle-media { grid-template-columns: 1fr; }
  .route-video-options { padding: 18px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .route-video-options > p { grid-column: 1 / -1; margin-bottom: 12px; }
  .route-video-options button { padding: 0 8px; grid-template-columns: 1fr; text-align: center; }
  .route-video-options button span { display: none; }
  .route-still-strip { grid-template-columns: 1fr; }
  .continuous-product-route-airframe .route-vehicle-chapter::before { top: 126px; right: 18px; font-size: 132px; }
  .airframe-hero { min-height: 720px; }
  .airframe-hero-product img { width: 150%; right: -68%; top: 42%; }
  .airframe-hero-product::after { background: linear-gradient(0deg, rgba(248, 248, 245, .9), rgba(248, 248, 245, .2) 72%); }
  .airframe-hero-meta { top: 22px; left: 18px; right: 18px; }
  .airframe-hero-copy { width: calc(100% - 36px); padding-top: 420px; }
  .airframe-hero-copy h1 { font-size: 42px; }
  .airframe-panorama { height: 520px; }
  .airframe-number { margin-bottom: 48px; grid-template-columns: 54px 1fr; }
  .airframe-numbered-body h2 { font-size: 40px; }
  .airframe-feature-stage { min-height: 500px; }
  .airframe-feature-stage > img { left: -15%; width: 130%; }
  .airframe-ghost-word { font-size: 140px; }
  .airframe-callout { min-width: 118px; padding: 10px; }
  .callout-speed { left: 2%; top: 18%; }
  .callout-reuse { right: 2%; top: 34%; }
  .callout-payload { right: 4%; bottom: 12%; }
  .airframe-feature-copy { grid-template-columns: 1fr; gap: 18px; }
  .airframe-feature-copy a { grid-column: auto; }
  .airframe-roadmap li a { min-height: 118px; grid-template-columns: 38px 92px 1fr 18px; gap: 12px; }
  .airframe-roadmap figure { height: 78px; }
  .airframe-roadmap li h3 { font-size: 26px; }
  .flight-architecture { padding: 84px 18px; }
  .flight-architecture.airframe-numbered { padding-inline: 18px; }
  .flight-architecture-head { margin-bottom: 46px; }
  .flight-architecture-head h2 { font-size: 38px; }
  .flight-architecture-shell { min-height: 0; display: block; box-shadow: none; }
  .flight-architecture-visual { aspect-ratio: 4 / 3; }
  .flight-architecture-image img,
  [data-flight-state="propulsion"] .flight-architecture-image img,
  [data-flight-state="airflow"] .flight-architecture-image img,
  [data-flight-state="verification"] .flight-architecture-image img,
  [data-flight-state="reuse"] .flight-architecture-image img { transform: scale(1.05); }
  .flight-hotspot { display: none; }
  .flight-architecture-panel { min-height: 410px; padding: 26px 22px 22px; border: 0; }
  .flight-architecture-index span { font-size: 48px; }
  .flight-architecture-detail h3 { font-size: 31px; }
  .flight-architecture-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
  .flight-architecture-controls button { grid-template-columns: 26px 1fr; }
  .airframe-history { padding-bottom: 84px; }
  .airframe-history-body { width: auto; margin: 0; }
  .airframe-history-body > header { width: 100%; margin-bottom: 48px; grid-template-columns: 1fr; gap: 24px; }
  .airframe-timeline-scroll { height: auto; }
  .airframe-timeline-pin { position: static; height: auto; min-height: 0; padding: 0; display: block; background: transparent; }
  .airframe-timeline-years { margin: 0 0 34px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .airframe-timeline-years li,
  .airframe-timeline-years li.active { opacity: 1; transform: none; }
  .airframe-timeline-years button { min-height: 44px; font-size: 17px; }
  .airframe-timeline-stage { overflow: visible; }
  .airframe-timeline-stage > ol { position: static; display: grid; gap: 34px; }
  .airframe-timeline-event {
    position: relative;
    inset: auto;
    height: auto;
    min-height: 480px;
    opacity: 1 !important;
    transform: none !important;
  }
  .airframe-timeline-event figure { position: absolute; height: auto; }
  .airframe-timeline-event > div { right: 22px; bottom: 24px; left: 22px; }
  .airframe-timeline-event h3 { font-size: 32px; }
  .airframe-timeline-points,
  .airframe-timeline-progress { display: none; }
  body[data-theme="airframe"][data-page="news"] .news-card { grid-template-columns: 1fr; gap: 20px; }
  body[data-theme="airframe"][data-page="news"] .news-card-cover,
  body[data-theme="airframe"][data-page="news"] .news-card-featured .news-card-cover { grid-row: auto; }
  body[data-theme="airframe"][data-page="careers"] .talent-card { grid-template-columns: 48px 1fr; gap: 18px; }
  body[data-theme="airframe"][data-page="careers"] .talent-card > p,
  body[data-theme="airframe"][data-page="careers"] .talent-toggle,
  body[data-theme="airframe"][data-page="careers"] .talent-detail { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .wind-route-flow { animation: none; }
  .wind-flight-chapter { opacity: 1; }
  .flight-focus-airflow::after { animation: none; }
  .flight-architecture-image img { transition: none; }
  .airframe-timeline-scroll { height: auto; }
  .airframe-timeline-pin { position: static; height: auto; min-height: 0; display: block; }
  .airframe-timeline-years { margin-bottom: 30px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .airframe-timeline-years li { opacity: 1; }
  .airframe-timeline-stage { overflow: visible; }
  .airframe-timeline-stage > ol { position: static; display: grid; gap: 30px; }
  .airframe-timeline-event { position: relative; inset: auto; min-height: 500px; opacity: 1 !important; transform: none !important; }
  .airframe-timeline-points,
  .airframe-timeline-progress { display: none; }
}

/* E · 御风构型 */
body[data-theme="wind"] {
  --page: #efefeb;
  --paper: #faf9f5;
  --ink: #11171b;
  --muted: #60676b;
  --faint: #8a9092;
  --line: rgba(17, 23, 27, .16);
  --accent: #d84a32;
  --accent-2: #8ca4ad;
  --dark: #11171b;
}

body[data-theme="wind"] .site-header {
  color: var(--ink);
  border-color: rgba(17, 23, 27, .14);
  background: rgba(250, 249, 245, .94);
}

body[data-theme="wind"] .desktop-nav a { color: rgba(17, 23, 27, .62); }
body[data-theme="wind"] .desktop-nav a:hover,
body[data-theme="wind"] .desktop-nav a.active { color: var(--ink); }
body[data-theme="wind"] .prototype-badge,
body[data-theme="wind"] .skin-switch { border-color: rgba(17, 23, 27, .2); color: rgba(17, 23, 27, .7); }
body[data-theme="wind"] .menu-button { color: var(--ink); }
body[data-theme="wind"] .mobile-nav { background: rgba(250, 249, 245, .98); }
body[data-theme="wind"] .mobile-nav a { color: var(--ink); }

.hero-wind {
  min-height: calc(100vh - var(--header-height));
  max-height: 940px;
  color: white;
  background: #101619;
}

.wind-hero-media,
.wind-hero-shade {
  position: absolute;
  inset: 0;
}

.wind-hero-media video,
.wind-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
}

.wind-hero-shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(10, 14, 16, .94) 0%, rgba(10, 14, 16, .67) 42%, rgba(10, 14, 16, .08) 76%),
    linear-gradient(0deg, rgba(7, 12, 15, .72), transparent 56%);
}

.wind-field {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.wind-field path {
  fill: none;
  stroke: rgba(235, 242, 242, .45);
  stroke-width: 1.5;
  stroke-dasharray: 8 18;
  animation: wind-stream 8s linear infinite;
}

.wind-field path:nth-child(2) { opacity: .52; animation-duration: 11s; }
.wind-field path:nth-child(3) { opacity: .28; animation-duration: 14s; }

@keyframes wind-stream {
  to { stroke-dashoffset: -208; }
}

.wind-hero-copy {
  position: relative;
  z-index: 3;
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
  padding-top: clamp(118px, 17vh, 180px);
}

.wind-hero-copy h1 {
  max-width: 900px;
  margin: 0;
  font: 730 clamp(66px, 7.6vw, 116px)/1.02 var(--heading);
  letter-spacing: -.035em;
}

.wind-hero-copy > p:not(.section-kicker) {
  max-width: 610px;
  margin: 30px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
  line-height: 1.9;
}

.wind-text-link {
  min-height: 52px;
  padding-inline: 10px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: white;
  text-decoration: none;
  font-weight: 650;
}

.wind-text-link span { color: var(--accent); }

.wind-hero-index {
  position: absolute;
  top: 46px;
  right: max(32px, calc((100vw - var(--max)) / 2));
  z-index: 3;
  display: grid;
  grid-template-columns: auto auto 84px auto auto;
  gap: 10px;
  align-items: center;
  color: rgba(255, 255, 255, .56);
  font: 600 10px/1 var(--display);
  letter-spacing: .08em;
}

.wind-hero-index i { height: 1px; background: rgba(255, 255, 255, .24); }
.wind-hero-index span { color: var(--accent); }

.wind-scroll-cue {
  position: absolute;
  left: max(32px, calc((100vw - var(--max)) / 2));
  bottom: 28px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 16px;
  color: rgba(255, 255, 255, .42);
  font: 600 9px/1 var(--display);
  letter-spacing: .16em;
}

.wind-scroll-cue span {
  width: 82px;
  height: 1px;
  overflow: hidden;
  background: rgba(255, 255, 255, .2);
}

.wind-scroll-cue span::after {
  content: "";
  display: block;
  width: 42%;
  height: 100%;
  background: var(--accent);
  animation: wind-cue 2.2s ease-in-out infinite;
}

@keyframes wind-cue {
  0%, 100% { transform: translateX(-100%); }
  55% { transform: translateX(240%); }
}

body[data-theme="wind"] .capability-section {
  width: 100%;
  padding-inline: max(24px, calc((100vw - var(--max)) / 2));
  background: var(--paper);
}

body[data-theme="wind"] .capability-steps::before { background: var(--accent); }
body[data-theme="wind"] .capability-step > span { color: var(--accent); }

.wind-history {
  --history-progress: 0%;
  padding: 130px max(24px, calc((100vw - var(--max)) / 2));
  color: var(--ink);
  background:
    linear-gradient(90deg, rgba(17, 23, 27, .055) 1px, transparent 1px) 0 0 / 80px 80px,
    var(--page);
}

.inner-page .wind-history { margin-top: 0; }

.wind-history-intro {
  max-width: var(--max);
  margin: 0 auto 110px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 90px;
  align-items: end;
}

.wind-history-intro h2 {
  margin: 0;
  font: 730 clamp(50px, 6.6vw, 96px)/1.02 var(--heading);
  letter-spacing: -.03em;
}

.wind-history-intro > p {
  max-width: 31em;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.85;
}

.wind-history-shell {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 72px;
  align-items: start;
}

.wind-history-axis {
  position: sticky;
  top: calc(var(--header-height) + 36px);
  min-height: 460px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 24px;
}

.wind-history-current {
  color: var(--accent);
  font: 700 clamp(62px, 7vw, 104px)/.85 var(--display);
  letter-spacing: -.06em;
}

.wind-history-axis > div {
  position: relative;
  width: 2px;
  margin-left: 4px;
  overflow: hidden;
  background: rgba(17, 23, 27, .16);
}

.wind-history-axis > div i {
  position: absolute;
  inset: 0 0 auto;
  height: var(--history-progress);
  background: var(--accent);
}

.wind-history-axis small {
  color: var(--faint);
  font: 600 9px/1.6 var(--display);
  letter-spacing: .14em;
}

.wind-history ol { margin: 0; padding: 0; list-style: none; }

.wind-history-step {
  min-height: min(670px, 72vh);
  padding: 0 0 90px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  gap: 46px;
  align-items: center;
  opacity: .38;
  transform: translateY(24px);
  transition: opacity .45s ease, transform .55s ease;
}

.wind-history-step.active { opacity: 1; transform: none; }

.wind-history-media {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  background: #d8d9d5;
}

.wind-history-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wind-history-step time {
  color: var(--accent);
  font: 680 17px/1 var(--display);
}

.wind-history-step > div:last-child > span {
  float: right;
  color: var(--faint);
  font: 600 10px/1 var(--display);
  letter-spacing: .14em;
}

.wind-history-step h3 {
  margin: 28px 0 22px;
  font: 700 clamp(34px, 4vw, 56px)/1.15 var(--heading);
  letter-spacing: -.02em;
}

.wind-history-step p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.85;
}

body[data-theme="wind"] .product-section {
  width: 100%;
  padding-inline: max(24px, calc((100vw - var(--max)) / 2));
  background: #11171b;
}

body[data-theme="wind"] .product-row:hover { color: var(--accent); }

.wind-technology {
  padding: 130px max(24px, calc((100vw - var(--max)) / 2));
  background: var(--paper);
}

.wind-technology-head,
.wind-cutaway,
.wind-barrier-grid { max-width: var(--max); margin-inline: auto; }

.wind-technology-head {
  margin-bottom: 68px;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
  gap: 80px;
  align-items: end;
}

.wind-technology-head h2 {
  margin: 0;
  font: 730 clamp(46px, 5.5vw, 78px)/1.06 var(--heading);
  letter-spacing: -.026em;
}

.wind-technology-head > p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.85;
}

.wind-cutaway {
  position: relative;
  min-height: 250px;
  overflow: hidden;
  border-block: 1px solid var(--line);
  background: white;
}

.wind-cutaway video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wind-cutaway > span {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  color: var(--accent);
  font: 700 12px/1 var(--display);
  letter-spacing: .12em;
}

.wind-barrier-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.wind-barrier-grid article {
  min-height: 245px;
  padding: 30px 26px 34px 0;
  border-right: 1px solid var(--line);
}

.wind-barrier-grid article + article { padding-left: 26px; }
.wind-barrier-grid article:last-child { border-right: 0; }
.wind-barrier-grid span { color: var(--accent); font: 650 11px/1 var(--display); }
.wind-barrier-grid h3 { margin: 62px 0 14px; font: 700 23px/1.25 var(--heading); }
.wind-barrier-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }

body[data-theme="wind"] .flight-section {
  width: min(100% - 64px, var(--max));
  margin: 70px auto;
  box-shadow: 0 34px 90px rgba(17, 23, 27, .12);
}

body[data-theme="wind"] .brand-characters,
body[data-theme="wind"] .careers-cta { background: var(--accent); }

body[data-theme="wind"] .page-hero {
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(17, 23, 27, .06) 1px, transparent 1px) 0 0 / 80px 80px,
    linear-gradient(rgba(17, 23, 27, .06) 1px, transparent 1px) 0 0 / 80px 80px,
    var(--paper);
}

body[data-theme="wind"] .page-hero > div > p:last-child { color: var(--muted); }
body[data-theme="wind"] .page-code { color: rgba(17, 23, 27, .06); }

/* Products · one propulsion system, three aerospace vehicles */
body[data-theme="wind"][data-page="products"] .page-hero {
  min-height: 600px;
  color: white;
  border-bottom: 0;
  background:
    linear-gradient(90deg, rgba(9, 14, 18, .94) 0%, rgba(9, 14, 18, .78) 40%, rgba(9, 14, 18, .22) 72%, rgba(9, 14, 18, .04) 100%),
    linear-gradient(0deg, rgba(8, 13, 17, .52), transparent 58%),
    url("hero-horizon-direction-v1.webp") 58% center / cover;
}

body[data-theme="wind"][data-page="products"] .page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(118deg, transparent 0 62%, rgba(255, 255, 255, .2) 62.1%, transparent 62.35%),
    linear-gradient(118deg, transparent 0 69%, rgba(216, 74, 50, .48) 69.1%, transparent 69.35%);
}

body[data-theme="wind"][data-page="products"] .page-hero > div > p:last-child {
  color: rgba(255, 255, 255, .74);
}

body[data-theme="wind"][data-page="products"] .page-code {
  color: rgba(255, 255, 255, .07);
}

body[data-theme="wind"][data-page="products"] .product-explorer {
  background: #11171b;
}

body[data-theme="wind"][data-page="products"] .product-family-tabs {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .14);
  background: #11171b;
  box-shadow: 0 30px 80px rgba(6, 10, 13, .3);
}

body[data-theme="wind"][data-page="products"] .product-family-tabs button {
  overflow: hidden;
  color: rgba(255, 255, 255, .74);
  border-right-color: rgba(255, 255, 255, .14);
  background: #11171b;
}

body[data-theme="wind"][data-page="products"] .product-family-tabs button::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .7;
  pointer-events: none;
  background:
    linear-gradient(118deg, transparent 0 66%, rgba(255, 255, 255, .08) 66.2%, transparent 66.55%),
    linear-gradient(118deg, transparent 0 78%, rgba(216, 74, 50, .14) 78.2%, transparent 78.55%);
}

body[data-theme="wind"][data-page="products"] .product-family-tabs button > span {
  position: relative;
  z-index: 1;
}

body[data-theme="wind"][data-page="products"] .product-family-tabs button:hover {
  color: white;
  background: #1a2227;
}

body[data-theme="wind"][data-page="products"] .product-family-tabs button.active {
  color: var(--ink);
  background: #f3f2ed;
}

body[data-theme="wind"][data-page="products"] .product-family-tabs button.active::before {
  opacity: 1;
  background:
    linear-gradient(118deg, transparent 0 62%, rgba(17, 23, 27, .08) 62.2%, transparent 62.55%),
    linear-gradient(118deg, transparent 0 76%, rgba(216, 74, 50, .2) 76.2%, transparent 76.55%);
}

body[data-theme="wind"][data-page="products"] .product-family-tabs button > span:first-child {
  color: #ed6a50;
}

body[data-theme="wind"][data-page="products"] .product-family-tabs small {
  color: rgba(255, 255, 255, .42);
}

body[data-theme="wind"][data-page="products"] .product-family-tabs em {
  color: rgba(255, 255, 255, .5);
}

body[data-theme="wind"][data-page="products"] .product-family-tabs button.active small {
  color: var(--faint);
}

body[data-theme="wind"][data-page="products"] .product-family-tabs button.active em {
  color: var(--muted);
}

body[data-theme="wind"][data-page="products"] .product-family-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

body[data-theme="wind"][data-page="products"] .product-family-panel::before {
  position: absolute;
  top: 64px;
  right: max(24px, calc((100vw - var(--max)) / 2));
  z-index: -1;
  font: 800 clamp(150px, 21vw, 330px)/.75 var(--display);
  letter-spacing: -.08em;
  pointer-events: none;
}

body[data-theme="wind"][data-page="products"] [data-product-panel="power"] {
  background:
    linear-gradient(90deg, rgba(17, 23, 27, .055) 1px, transparent 1px) 0 0 / 80px 80px,
    linear-gradient(rgba(17, 23, 27, .055) 1px, transparent 1px) 0 0 / 80px 80px,
    #efefeb;
}

body[data-theme="wind"][data-page="products"] [data-product-panel="power"]::before {
  content: "01";
  color: rgba(17, 23, 27, .045);
}

body[data-theme="wind"][data-page="products"] [data-product-panel="ruiying"] {
  background:
    radial-gradient(circle at 12% 8%, rgba(216, 74, 50, .18), transparent 29%),
    linear-gradient(145deg, #101619, #171f23 58%, #0d1316);
}

body[data-theme="wind"][data-page="products"] [data-product-panel="ruiying"]::before { content: "02"; }

body[data-theme="wind"][data-page="products"] [data-product-panel="haoying"] {
  background:
    radial-gradient(circle at 82% 4%, rgba(140, 164, 173, .19), transparent 27%),
    radial-gradient(circle at 18% 100%, rgba(216, 74, 50, .11), transparent 31%),
    linear-gradient(145deg, #12181b, #1a2226 58%, #101619);
}

body[data-theme="wind"][data-page="products"] [data-product-panel="haoying"]::before { content: "03"; }

body[data-theme="wind"][data-page="products"] [data-product-panel="chenying"] {
  background:
    radial-gradient(circle at 76% 12%, rgba(140, 164, 173, .16), transparent 29%),
    linear-gradient(145deg, #0c1215, #151c20 56%, #0a1013);
}

body[data-theme="wind"][data-page="products"] [data-product-panel="chenying"]::before { content: "04"; }

body[data-theme="wind"][data-page="products"] .product-family-panel-dark::before {
  color: rgba(255, 255, 255, .035);
}

body[data-theme="wind"][data-page="products"] .product-panel-inner {
  position: relative;
  z-index: 1;
}

body[data-theme="wind"][data-page="products"] .product-panel-head {
  padding-top: 32px;
  border-top: 1px solid currentColor;
}

body[data-theme="wind"][data-page="products"] .product-family-panel-light .product-panel-head {
  border-top-color: rgba(17, 23, 27, .18);
}

body[data-theme="wind"][data-page="products"] .product-family-panel-dark .product-panel-head {
  border-top-color: rgba(255, 255, 255, .2);
}

body[data-theme="wind"][data-page="products"] .power-product {
  border-top-color: rgba(17, 23, 27, .22);
}

body[data-theme="wind"][data-page="products"] .power-product-media {
  background:
    linear-gradient(135deg, rgba(216, 74, 50, .08), transparent 48%),
    #dde1df;
}

body[data-theme="wind"][data-page="products"] .product-media-story > header > span,
body[data-theme="wind"][data-page="products"] .product-video-options button.active span {
  color: #ed6a50;
}

body[data-theme="wind"][data-page="products"] .product-video-shell,
body[data-theme="wind"][data-page="products"] .product-still-grid figure {
  background: #090e11;
}

@media (max-width: 1024px) {
  .wind-hero-index { right: 24px; }
  .wind-history,
  .wind-technology { padding-inline: 24px; }
  .wind-history-intro,
  .wind-technology-head { grid-template-columns: 1fr; gap: 26px; }
  .wind-history-shell { grid-template-columns: 140px minmax(0, 1fr); gap: 34px; }
  .wind-history-step { grid-template-columns: 1fr; gap: 30px; min-height: 760px; }
  .wind-history-media { min-height: 410px; }
  .wind-barrier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wind-barrier-grid article:nth-child(2) { border-right: 0; }
  .wind-barrier-grid article:nth-child(n + 3) { border-top: 1px solid var(--line); }
  body[data-theme="wind"][data-page="products"] .page-hero {
    min-height: 540px;
    background-position: 64% center;
  }
}

@media (max-width: 767px) {
  .hero-wind { min-height: 720px; max-height: none; }
  .wind-hero-media video { object-position: 68% center; }
  .wind-hero-copy { width: calc(100% - 36px); padding-top: 92px; }
  .wind-hero-copy h1 { font-size: 48px; }
  .wind-hero-copy > p:not(.section-kicker) { margin-top: 24px; font-size: 15px; }
  .wind-hero-index { top: 26px; right: 18px; grid-template-columns: auto auto 28px auto auto; }
  .wind-scroll-cue { left: 18px; bottom: 22px; }
  .wind-scroll-cue small { display: none; }
  .wind-history { padding: 84px 18px; background-size: 56px 56px; }
  .wind-history-intro { margin-bottom: 62px; }
  .wind-history-intro h2 { font-size: 46px; }
  .wind-history-shell { grid-template-columns: 1fr; }
  body[data-theme="wind"][data-page="products"] .page-hero {
    min-height: 520px;
    background-position: 70% center;
  }
  body[data-theme="wind"][data-page="products"] .product-family-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-theme="wind"][data-page="products"] .product-family-tabs button {
    min-height: 104px;
    grid-template-columns: 28px 1fr;
    text-align: left;
  }
  body[data-theme="wind"][data-page="products"] .product-family-tabs button:nth-child(2) {
    border-right: 0;
  }
  body[data-theme="wind"][data-page="products"] .product-family-tabs button:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, .14);
  }
  body[data-theme="wind"][data-page="products"] .product-family-tabs button.active:nth-child(-n + 2) {
    border-bottom-color: rgba(17, 23, 27, .14);
  }
  body[data-theme="wind"][data-page="products"] .product-family-tabs button > span:first-child {
    display: block;
  }
  body[data-theme="wind"][data-page="products"] .product-family-panel::before {
    top: 48px;
    right: 18px;
    font-size: 160px;
  }
  .wind-history-axis { display: none; }
  .wind-history-step,
  .wind-history-step.active {
    min-height: 0;
    padding-bottom: 72px;
    opacity: 1;
    transform: none;
  }
  .wind-history-media { min-height: 0; aspect-ratio: 4 / 3; }
  .wind-history-step h3 { font-size: 34px; }
  .wind-technology { padding: 86px 18px; }
  .wind-technology-head h2 { font-size: 43px; }
  .wind-cutaway { min-height: 175px; }
  .wind-barrier-grid { grid-template-columns: 1fr; }
  .wind-barrier-grid article,
  .wind-barrier-grid article + article {
    min-height: 190px;
    padding: 26px 0;
    border-right: 0;
    border-top: 1px solid var(--line);
  }
  .wind-barrier-grid article:first-child { border-top: 0; }
  .wind-barrier-grid h3 { margin-top: 42px; }
  body[data-theme="wind"] .flight-section { width: 100%; margin: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .wind-field path,
  .wind-scroll-cue span::after { animation: none; }
  .wind-history-step { opacity: 1; transform: none; }
}

.hero-actions {
  margin-top: 40px;
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}

/* A · 云上蓝图 */
body[data-theme="sky"] {
  --page: #f4f7fb;
  --paper: #ffffff;
  --ink: #07172f;
  --muted: #5b687a;
  --accent: #1268f3;
  --accent-2: #6844d8;
  --dark: #071832;
}

.hero-sky {
  min-height: calc(100vh - var(--header-height));
  max-height: 940px;
  background:
    linear-gradient(90deg, rgba(10, 42, 88, .04) 1px, transparent 1px) 0 0 / 90px 90px,
    linear-gradient(rgba(10, 42, 88, .04) 1px, transparent 1px) 0 0 / 90px 90px,
    #f7faff;
  display: grid;
  grid-template-columns: minmax(420px, .83fr) minmax(620px, 1.17fr);
  grid-template-rows: 1fr auto;
}

.hero-sky::before {
  content: "";
  position: absolute;
  left: -8vw;
  bottom: 8%;
  width: 54vw;
  height: 54vw;
  border: 1px solid rgba(18, 104, 243, .13);
  border-radius: 50%;
  box-shadow:
    0 0 0 80px rgba(18, 104, 243, .025),
    0 0 0 160px rgba(18, 104, 243, .018);
}

.hero-sky .hero-copy {
  position: relative;
  z-index: 3;
  padding: clamp(90px, 10vh, 140px) 6vw 70px max(64px, calc((100vw - 2000px) / 2));
  align-self: center;
}

.hero-sky h1 {
  margin: 0;
  font: 760 clamp(76px, 7.2vw, 128px)/.9 var(--heading);
  letter-spacing: -.025em;
  white-space: nowrap;
}

.hero-sky h1 em {
  color: var(--accent);
  font-style: normal;
}

.hero-lede {
  max-width: 600px;
  margin: 36px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.9;
}

.hero-sky .button.ghost {
  border-color: var(--ink);
  color: var(--ink);
  background: transparent;
}

.hero-sky .hero-visual {
  position: relative;
  min-height: 660px;
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 88%);
}

.hero-sky .hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, rgba(11, 41, 82, .22), transparent 45%);
}

.hero-sky .hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.altitude {
  position: absolute;
  z-index: 3;
  padding: 10px 14px;
  border-left: 2px solid rgba(255, 255, 255, .75);
  color: white;
  background: rgba(6, 24, 49, .32);
  backdrop-filter: blur(8px);
}

.altitude b,
.altitude span { display: block; }
.altitude b { font: 650 18px/1 var(--display); }
.altitude span { margin-top: 4px; font-size: 10px; opacity: .7; }
.altitude-1 { left: 22%; bottom: 26%; }
.altitude-2 { right: 16%; top: 19%; }

.hero-facts {
  position: relative;
  z-index: 4;
  grid-column: 1 / -1;
  min-height: 96px;
  padding: 0 max(32px, calc((100vw - var(--max)) / 2));
  color: white;
  background: var(--dark);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
}

.hero-facts span {
  min-height: 44px;
  padding: 0 28px;
  border-right: 1px solid rgba(255, 255, 255, .16);
  display: flex;
  gap: 18px;
  align-items: center;
  color: #5f8fd4;
  font: 650 11px/1 var(--display);
}

.hero-facts span:first-child { padding-left: 0; }
.hero-facts span:last-child { border-right: 0; }
.hero-facts b { color: white; font: 650 15px/1 var(--body); }

/* B · 长安天际 */
body[data-theme="qin"] {
  --page: #f4efe6;
  --paper: #fbf8f1;
  --ink: #29231f;
  --muted: #6f665d;
  --faint: #91857a;
  --line: rgba(63, 48, 37, .18);
  --accent: #a44928;
  --accent-2: #c88b42;
  --dark: #2a231e;
  --display: "STZhongsong", "Songti SC", "Source Han Serif CN", "Microsoft YaHei", serif;
  --heading: "Source Han Serif CN", "Songti SC", "STZhongsong", "Microsoft YaHei", serif;
}

body[data-theme="qin"] .site-header { background: rgba(40, 32, 27, .97); }
body[data-theme="qin"] .brand img { filter: sepia(.18); }

.hero-qin {
  min-height: 850px;
  padding: 0 max(28px, calc((100vw - 1520px) / 2));
  color: var(--ink);
  background:
    radial-gradient(circle at 18% 36%, rgba(170, 77, 42, .08), transparent 24%),
    linear-gradient(115deg, rgba(80, 57, 41, .035) 1px, transparent 1px) 0 0 / 64px 64px,
    #f5efe4;
  display: grid;
  grid-template-columns: minmax(430px, .88fr) minmax(520px, 1.12fr);
  gap: clamp(36px, 5vw, 90px);
  align-items: stretch;
}

.hero-qin::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 9%;
  height: 120px;
  opacity: .22;
  background:
    linear-gradient(160deg, transparent 46%, #7d4a32 47% 48%, transparent 49%) 0 0 / 210px 100%,
    linear-gradient(200deg, transparent 46%, #7d4a32 47% 48%, transparent 49%) 105px 0 / 210px 100%;
}

.qin-hero-copy {
  position: relative;
  z-index: 2;
  padding: 150px 6vw 100px;
  align-self: center;
}

.qin-hero-copy h1 {
  margin: 0;
  font-size: clamp(64px, 6.2vw, 106px);
  font-weight: 680;
  line-height: 1.08;
  letter-spacing: 0;
  white-space: nowrap;
}

.qin-hero-copy > p:not(.section-kicker) {
  max-width: 640px;
  margin: 34px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 2;
}

.qin-hero-copy .qin-whisper {
  width: fit-content;
  margin-top: 64px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  color: var(--accent);
  font-size: 14px;
  line-height: 1.6;
}

.qin-image {
  position: relative;
  margin: 70px 0;
  overflow: hidden;
}

.qin-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(117, 66, 39, .04), rgba(77, 38, 23, .23));
  mix-blend-mode: multiply;
}

.qin-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) sepia(.12);
}

body[data-theme="qin"] .capability-steps::before { background: var(--accent); }
body[data-theme="qin"] .product-section {
  color: #f9f2e8;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 80px 80px,
    var(--dark);
}

body[data-theme="qin"] .brand-visual img { filter: saturate(.72) sepia(.1); }

body[data-theme="qin"] .careers-cta {
  background:
    linear-gradient(115deg, rgba(255, 255, 255, .06) 1px, transparent 1px) 0 0 / 60px 60px,
    var(--accent);
}

/* C · 工程速度 */
body[data-theme="engine"] {
  --page: #efefec;
  --paper: #f8f8f4;
  --ink: #11110f;
  --muted: #5e5e59;
  --faint: #85857f;
  --line: rgba(17, 17, 15, .2);
  --accent: #ff4d2e;
  --accent-2: #ffc400;
  --dark: #11110f;
  --display: Bahnschrift, "DIN Alternate", "Arial Narrow", "Source Han Sans CN", sans-serif;
}

body[data-theme="engine"] .site-header {
  color: var(--ink);
  background: rgba(243, 243, 238, .97);
  border-bottom-color: rgba(17, 17, 15, .18);
}

body[data-theme="engine"] .desktop-nav a { color: rgba(17, 17, 15, .64); }
body[data-theme="engine"] .desktop-nav a:hover,
body[data-theme="engine"] .desktop-nav a.active { color: var(--ink); }
body[data-theme="engine"] .prototype-badge { border-color: var(--line); color: var(--muted); }
body[data-theme="engine"] .menu-button { color: var(--ink); }
body[data-theme="engine"] .mobile-nav { background: #f3f3ee; }
body[data-theme="engine"] .mobile-nav a { color: var(--ink); }

.hero-engine {
  min-height: 850px;
  padding: 50px max(32px, calc((100vw - var(--max)) / 2)) 42px;
  background: #efefec;
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  grid-template-rows: auto 1fr auto;
  gap: 32px 50px;
}

.engine-grid {
  position: absolute;
  inset: 0;
  opacity: .7;
  background:
    linear-gradient(90deg, rgba(17, 17, 15, .08) 1px, transparent 1px) 0 0 / 80px 80px,
    linear-gradient(rgba(17, 17, 15, .08) 1px, transparent 1px) 0 0 / 80px 80px;
}

.engine-hero-head {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--ink);
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
}

.engine-hero-head .section-kicker { margin: 0; }
.engine-hero-head > span { font-size: 12px; font-weight: 700; }

.engine-main {
  position: relative;
  z-index: 2;
  align-self: center;
}

.engine-code {
  margin: 0;
  color: var(--accent);
  font: 760 42px/1 var(--display);
}

.engine-main h1 {
  margin: -8px 0 0;
  font: 820 clamp(128px, 16vw, 250px)/.78 var(--display);
  letter-spacing: -.085em;
}

.engine-caption {
  max-width: 570px;
  margin: 42px 0 0;
  font-size: 20px;
  font-weight: 720;
  line-height: 1.45;
}

.engine-image {
  position: relative;
  z-index: 2;
  margin-top: 34px;
  min-height: 450px;
  overflow: hidden;
  border: 2px solid var(--ink);
}

.engine-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) contrast(1.06);
}

.engine-specs {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr) auto;
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
}

.engine-specs > * {
  min-height: 90px;
  padding: 18px;
  border-right: 1px solid var(--ink);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
}

.engine-specs > *:last-child { border-right: 0; }
.engine-specs small { margin-bottom: 8px; color: var(--accent); font: 700 10px/1 var(--display); }
.engine-specs b { font-size: 14px; }
.engine-specs a { padding-inline: 32px; color: white; background: var(--accent); font-weight: 700; }

body[data-theme="engine"] .section-head h2,
body[data-theme="engine"] .flight-copy h2,
body[data-theme="engine"] .brand-story-copy h2,
body[data-theme="engine"] .careers-cta h2 {
  text-transform: uppercase;
}

body[data-theme="engine"] .capability-step {
  min-height: 280px;
  border-right: 1px solid var(--ink);
}

body[data-theme="engine"] .product-section {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px) 0 0 / 80px 80px,
    #11110f;
}

body[data-theme="engine"] .product-row { min-height: 102px; }
body[data-theme="engine"] .product-name b { text-transform: uppercase; }
body[data-theme="engine"] .flight-section { border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
body[data-theme="engine"] .brand-characters { color: var(--ink); background: var(--accent); }
body[data-theme="engine"] .brand-characters i { background: rgba(17, 17, 15, .35); }
body[data-theme="engine"] .careers-cta { background: var(--accent); }
body[data-theme="engine"] .page-hero {
  color: var(--ink);
  background:
    linear-gradient(90deg, rgba(17, 17, 15, .08) 1px, transparent 1px) 0 0 / 80px 80px,
    linear-gradient(rgba(17, 17, 15, .08) 1px, transparent 1px) 0 0 / 80px 80px,
    #efefec;
}
body[data-theme="engine"] .page-hero > div > p:last-child { color: var(--muted); }
body[data-theme="engine"] .page-code { color: rgba(17, 17, 15, .07); }

/* D · 空天序章 */
body[data-theme="horizon"] {
  --page: #f1f4f8;
  --paper: #ffffff;
  --ink: #06152e;
  --muted: #59677c;
  --accent: #3158d6;
  --accent-2: #ff6a35;
  --dark: #06142c;
}

body[data-theme="horizon"] .site-header { background: rgba(4, 14, 31, .97); }

.hero-horizon {
  min-height: calc(100vh - var(--header-height));
  max-height: 940px;
  color: white;
  background: var(--dark);
}

.horizon-image,
.horizon-shade {
  position: absolute;
  inset: 0;
}

.horizon-image img,
.horizon-image video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
}

.horizon-shade {
  background:
    linear-gradient(90deg, rgba(2, 11, 26, .94) 0%, rgba(3, 13, 30, .63) 44%, rgba(3, 13, 30, .08) 74%),
    linear-gradient(0deg, rgba(3, 12, 28, .5), transparent 48%);
}

.horizon-copy {
  position: relative;
  z-index: 2;
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
  padding-top: clamp(130px, 19vh, 200px);
}

.horizon-copy h1 {
  max-width: 1180px;
  margin: 0;
  font: 720 clamp(64px, 7.7vw, 120px)/1.02 var(--heading);
  letter-spacing: -.022em;
  text-wrap: balance;
  white-space: nowrap;
}

.horizon-copy > p:not(.section-kicker) {
  max-width: 690px;
  margin: 34px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
  line-height: 1.9;
}

.round-play {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255, 255, 255, .6);
  border-radius: 50%;
  color: white;
  background: rgba(5, 18, 40, .18);
  display: grid;
  place-items: center;
  text-decoration: none;
  cursor: pointer;
}

.horizon-note {
  position: absolute;
  left: max(32px, calc((100vw - var(--max)) / 2));
  right: max(32px, calc((100vw - var(--max)) / 2));
  bottom: 32px;
  z-index: 2;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .32);
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.horizon-note span { font-weight: 700; letter-spacing: .1em; }
.horizon-note small { color: rgba(255, 255, 255, .5); }

body[data-theme="horizon"] .capability-section {
  position: relative;
}

body[data-theme="horizon"] .capability-section::before {
  content: "";
  position: absolute;
  right: 0;
  top: 40px;
  width: 38vw;
  height: 260px;
  opacity: .55;
  background: radial-gradient(ellipse at center, rgba(49, 88, 214, .14), transparent 70%);
}

body[data-theme="horizon"] .product-section {
  background:
    radial-gradient(circle at 72% 20%, rgba(49, 88, 214, .18), transparent 22%),
    var(--dark);
}

body[data-theme="horizon"] .flight-section {
  margin: 60px auto;
  width: min(100% - 64px, var(--max));
  box-shadow: 0 40px 100px rgba(7, 24, 55, .12);
}

body[data-theme="horizon"] .brand-characters {
  background:
    linear-gradient(140deg, rgba(49, 88, 214, .9), rgba(5, 19, 43, .94)),
    var(--dark);
}

body[data-theme="horizon"] .media-cover { border-radius: 2px; }
body[data-theme="horizon"] .careers-cta {
  background:
    linear-gradient(120deg, #2448bd, #3158d6 55%, #4b74ec);
}

/* Theme-specific inner page character */
body[data-theme="qin"] .page-hero {
  color: #fffaf2;
  background:
    linear-gradient(100deg, rgba(43, 33, 27, .97), rgba(79, 43, 28, .82)),
    url("hero-changan-direction-v1.webp") center / cover;
}

body[data-theme="qin"] .catalog-card,
body[data-theme="qin"] .talent-card { background: #fbf8f1; }

body[data-theme="qin"] .leadership-portrait {
  background:
    radial-gradient(circle at 65% 32%, rgba(199, 139, 66, .32), transparent 30%),
    linear-gradient(135deg, #8f3f25, #2b231e);
}

body[data-theme="horizon"] .page-hero {
  background:
    linear-gradient(100deg, rgba(4, 17, 39, .96), rgba(17, 43, 91, .72)),
    url("hero-horizon-direction-v1.webp") center / cover;
}

@media (max-width: 767px) {
  .hero-actions { align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .hero-sky {
    min-height: auto;
    max-height: none;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
  .hero-sky .hero-copy { padding: 88px 20px 54px; }
  .hero-sky h1 { font-size: 76px; }
  .hero-sky .hero-visual { min-height: 440px; clip-path: none; }
  .hero-facts { padding: 0 18px; min-height: 84px; }
  .hero-facts span { padding: 0 10px; gap: 6px; flex-direction: column; align-items: flex-start; justify-content: center; }
  .hero-facts span:first-child { padding-left: 0; }
  .hero-facts b { font-size: 12px; }
  .altitude-2 { right: 8%; }

  .hero-qin {
    min-height: auto;
    padding: 0;
    grid-template-columns: 1fr;
  }
  .qin-hero-copy { padding: 90px 20px 60px; }
  .qin-hero-copy h1 { font-size: 56px; }
  .qin-image { min-height: 500px; margin: 0; }

  .hero-engine {
    min-height: auto;
    padding: 40px 18px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
  }
  .engine-hero-head { grid-column: auto; align-items: flex-start; flex-direction: column; }
  .engine-main h1 { font-size: 138px; }
  .engine-image { min-height: 360px; }
  .engine-specs {
    grid-column: auto;
    grid-template-columns: 1fr;
  }
  .engine-specs > * { border-right: 0; border-bottom: 1px solid var(--ink); }
  .engine-specs > *:last-child { border-bottom: 0; }

  .hero-horizon { min-height: 760px; max-height: none; }
  .horizon-copy { width: calc(100% - 36px); padding-top: 100px; }
  .horizon-copy h1 { font-size: 38px; }
  .horizon-note { left: 18px; right: 18px; flex-direction: column; }
  body[data-theme="horizon"] .flight-section { width: 100%; margin: 0; }
}
