:root {
  --color-ink: #16213e;
  --color-ink-deep: #0c1730;
  --color-teal: #0fa3a3;
  --color-teal-dark: #087777;
  --color-teal-soft: #e5f6f5;
  --color-red: #e00c06;
  --color-canvas: #f3f6f8;
  --color-surface: #ffffff;
  --color-surface-quiet: #f8fafb;
  --color-text: #334155;
  --color-muted: #5f7087;
  --color-line: #dce4e8;
  --color-success: #24724a;
  --color-warning: #985f0d;
  --font-display: Montserrat, "Avenir Next", Avenir, "Segoe UI", sans-serif;
  --font-body: "Open Sans", Inter, "Segoe UI", sans-serif;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --radius-sm: .5rem;
  --radius-md: .8rem;
  --radius-lg: 1.25rem;
  --radius-xl: 1.75rem;
  --shadow-sm: 0 1px 2px rgba(12, 23, 48, .05), 0 5px 16px rgba(12, 23, 48, .05);
  --shadow-md: 0 18px 48px rgba(12, 23, 48, .12);
  --shell: 80rem;
  --transition: 180ms cubic-bezier(.2, .75, .25, 1);
}

* { box-sizing: border-box; }
.sr-only { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--color-canvas);
  color: var(--color-text);
  font-family: var(--font-body);
  line-height: 1.6;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--color-teal-dark); }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, h4 { color: var(--color-ink); font-family: var(--font-display); line-height: 1.12; margin: 0; }
p { margin: 0; }

.shell { margin-inline: auto; max-width: var(--shell); padding-inline: var(--space-6); width: 100%; }
.skip-link { background: #fff; color: var(--color-ink); left: 1rem; padding: .75rem 1rem; position: fixed; top: -5rem; z-index: 1000; }
.skip-link:focus { top: 1rem; }
:focus-visible { box-shadow: 0 0 0 6px var(--color-teal-dark); outline: 3px solid #fff; outline-offset: 0; }
.route-heading:focus { box-shadow: none; outline: none; }

.site-header { background: var(--color-ink-deep); border-bottom: 1px solid rgba(255,255,255,.11); color: #fff; position: sticky; top: 0; z-index: 100; }
.site-header__inner { align-items: center; display: flex; gap: var(--space-8); height: 4.75rem; }
.brand-mark { align-items: center; color: #fff; display: inline-flex; gap: .8rem; line-height: 1; min-height: 2.75rem; min-width: 13.5rem; text-decoration: none; }
.brand-mark__logo { display: block; height: auto; width: 6.6rem; }
.brand-mark__label { border-left: 1px solid rgba(255,255,255,.25); color: #c9d4e2; font-size: .61rem; font-weight: 750; letter-spacing: .13em; line-height: 1.35; max-width: 7rem; padding-left: .8rem; text-transform: uppercase; }
.primary-nav { display: flex; gap: var(--space-8); margin-inline-start: auto; }
.primary-nav a { align-items: center; color: #d8e1ec; display: inline-flex; font-size: .9rem; font-weight: 650; min-height: 2.75rem; text-decoration: none; }
.primary-nav a:hover { color: #fff; }
.nav-toggle { display: none; }

.button { align-items: center; border: 0; border-radius: var(--radius-sm); cursor: pointer; display: inline-flex; font-family: var(--font-display); font-size: .9rem; font-weight: 750; gap: var(--space-2); justify-content: center; min-height: 2.9rem; padding: .75rem 1.15rem; text-decoration: none; transition: background var(--transition), border var(--transition), color var(--transition), transform var(--transition); }
.button:hover { transform: translateY(-1px); }
.button--small { min-height: 2.75rem; padding: .55rem .9rem; }
.button--primary { background: var(--color-teal-dark); color: #fff; }
.button--primary:hover { background: #055f5f; }
.button--sales { background: var(--color-red); color: #fff; }
.button--sales:hover { background: #b90904; }
.button--outline-light { background: transparent; border: 1px solid rgba(255,255,255,.35); color: #fff; }
.button--outline-light:hover { background: #fff; color: var(--color-ink); }
.button--ghost { background: #eef2f4; color: var(--color-ink); }
.button--brand { background: var(--brand-accent, var(--color-teal-dark)); color: #fff; }
.button--full { width: 100%; }

.hero { background: var(--color-ink-deep); color: #fff; overflow: hidden; padding-block: clamp(4rem, 8vw, 7.5rem); position: relative; }
.hero::before { background: radial-gradient(circle, rgba(15,163,163,.2), transparent 68%); content: ""; height: 42rem; position: absolute; right: -14rem; top: -21rem; width: 42rem; }
.hero::after { border: 1px solid rgba(255,255,255,.08); border-radius: 50%; content: ""; height: 30rem; position: absolute; right: 8%; top: -17rem; width: 52rem; }
.hero__inner { align-items: center; display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .7fr); position: relative; z-index: 1; }
.hero__copy { max-width: 52rem; }
.eyebrow { color: var(--color-teal-dark); display: block; font-family: var(--font-display); font-size: .73rem; font-weight: 800; letter-spacing: .17em; margin-bottom: var(--space-4); text-transform: uppercase; }
.hero h1 { color: #fff; font-size: clamp(2.7rem, 6.5vw, 5.7rem); letter-spacing: -.055em; max-width: 12ch; }
.hero__lede { color: #c6d2df; font-size: clamp(1.05rem, 2vw, 1.3rem); margin-top: var(--space-6); max-width: 47rem; }
.hero .eyebrow, .decision-bridge .eyebrow, .brand-hero .eyebrow, .aircraft-hero .eyebrow { color: #74d4d1; }
.hero-search { align-items: center; background: #fff; border-radius: var(--radius-md); box-shadow: var(--shadow-md); display: flex; gap: var(--space-3); margin-top: var(--space-8); max-width: 48rem; padding: .5rem; }
.hero-search svg { color: var(--color-muted); margin-left: var(--space-3); width: 1.35rem; }
.hero-search input { border: 0; color: var(--color-ink); flex: 1; min-height: 3rem; min-width: 0; outline: 0; padding-inline: .25rem; }
.hero-search button { flex: none; }
.expert-pathway { backdrop-filter: blur(12px); background: linear-gradient(155deg, rgba(255,255,255,.1), rgba(255,255,255,.045)); border: 1px solid rgba(255,255,255,.17); border-radius: var(--radius-xl); box-shadow: 0 28px 80px rgba(0,0,0,.2); padding: clamp(1.5rem, 3vw, 2.25rem); position: relative; z-index: 2; }
.expert-pathway::before { background: var(--color-red); border-radius: 999px; content: ""; height: 4px; left: 2rem; position: absolute; right: 2rem; top: 0; }
.expert-pathway__label { color: #74d4d1; display: block; font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.expert-pathway h2 { color: #fff; font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -.035em; margin-top: var(--space-3); }
.expert-pathway > p { color: #bdcad9; font-size: .9rem; margin-top: var(--space-4); }
.expert-pathway ol { display: grid; gap: 0; list-style: none; margin: var(--space-6) 0; padding: 0; }
.expert-pathway li { border-top: 1px solid rgba(255,255,255,.12); display: grid; gap: var(--space-3); grid-template-columns: 2rem 1fr; padding-block: var(--space-4); }
.expert-pathway li > span { color: #74d4d1; font-family: var(--font-display); font-size: .7rem; font-weight: 800; padding-top: .16rem; }
.expert-pathway strong { color: #fff; display: block; font-family: var(--font-display); font-size: .9rem; }
.expert-pathway small { color: #9fb0c5; display: block; font-size: .76rem; line-height: 1.5; margin-top: .2rem; }
.hero-stats { border-top: 1px solid rgba(255,255,255,.13); display: grid; gap: var(--space-6); grid-template-columns: repeat(4, 1fr); margin-top: clamp(3rem, 6vw, 5rem); padding-top: var(--space-6); position: relative; z-index: 1; }
.hero-stat { border-left: 1px solid rgba(255,255,255,.13); padding-left: var(--space-5); }
.hero-stat:first-child { border-left: 0; padding-left: 0; }
.hero-stat strong { color: #fff; display: block; font-family: var(--font-display); font-size: 1.45rem; }
.hero-stat span { color: #9fb0c5; font-size: .84rem; }

.section { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.section--surface { background: var(--color-surface); }
.section--tight { padding-block: var(--space-12); }
.section-heading { align-items: end; display: flex; gap: var(--space-8); justify-content: space-between; margin-bottom: var(--space-8); }
.section-heading__copy { max-width: 45rem; }
.section-heading h2 { font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.035em; }
.section-heading p { color: var(--color-muted); margin-top: var(--space-3); }
.text-link { align-items: center; display: inline-flex; font-family: var(--font-display); font-size: .85rem; font-weight: 800; min-height: 2.75rem; text-decoration: none; }

.brand-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.brand-card { --brand-accent: var(--color-teal-dark); background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius-lg); color: var(--color-text); min-height: 13rem; overflow: hidden; padding: var(--space-6); position: relative; text-decoration: none; transition: border var(--transition), box-shadow var(--transition), transform var(--transition); }
.brand-card::before { background: var(--brand-accent); content: ""; height: 4px; inset: 0 0 auto; position: absolute; }
.brand-card::after { color: color-mix(in srgb, var(--brand-accent) 11%, transparent); content: attr(data-monogram); font-family: var(--font-display); font-size: 7rem; font-weight: 850; line-height: 1; position: absolute; right: -.5rem; top: 1.8rem; }
.brand-card:hover { border-color: var(--brand-accent); box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.brand-card > * { position: relative; z-index: 1; }
.brand-card__count { color: var(--brand-accent); font-size: .75rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.brand-card h2, .brand-card h3 { font-size: 1.2rem; margin-top: var(--space-8); }
.brand-card p { color: var(--color-muted); font-size: .85rem; margin-top: var(--space-2); max-width: 24ch; }

.decision-bridge { background: var(--color-surface); padding: 0 0 clamp(4rem, 7vw, 6rem); }
.decision-bridge__card { align-items: center; background: linear-gradient(120deg, #101d38, #0c1730 64%, #143b45); border-radius: var(--radius-xl); box-shadow: var(--shadow-md); color: #fff; display: grid; gap: var(--space-12); grid-template-columns: minmax(0, 1fr) auto; overflow: hidden; padding: clamp(2rem, 5vw, 4rem); position: relative; }
.decision-bridge__card::after { border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ""; height: 20rem; position: absolute; right: -7rem; top: -11rem; width: 28rem; }
.decision-bridge__copy { max-width: 47rem; position: relative; z-index: 1; }
.decision-bridge h2 { color: #fff; font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.04em; }
.decision-bridge p { color: #bac8d8; margin-top: var(--space-4); }
.decision-bridge__actions { display: grid; gap: var(--space-3); min-width: 15rem; position: relative; z-index: 1; }

.catalog-area { background: var(--color-canvas); }
.catalog-toolbar { background: rgba(243,246,248,.96); border-block: 1px solid var(--color-line); position: sticky; top: 4.75rem; z-index: 50; }
.catalog-toolbar__inner { display: grid; gap: var(--space-3); grid-template-columns: minmax(15rem, 1fr) repeat(4, minmax(9rem, auto)); padding-block: var(--space-4); }
.control { position: relative; }
.control label { color: var(--color-muted); font-size: .67rem; font-weight: 800; left: .85rem; letter-spacing: .08em; position: absolute; text-transform: uppercase; top: .38rem; z-index: 1; }
.control input, .control select { appearance: none; background: #fff; border: 1px solid #7b8d97; border-radius: var(--radius-sm); color: var(--color-ink); height: 3.55rem; outline: 0; padding: 1.2rem 2.2rem .25rem .85rem; width: 100%; }
.control input:focus, .control select:focus { border-color: var(--color-teal-dark); box-shadow: 0 0 0 6px var(--color-teal-dark); }
.control--search input { padding-left: 2.75rem; }
.control--search .search-icon { color: var(--color-muted); left: .85rem; position: absolute; top: 1.65rem; width: 1.1rem; }
.view-toggle { align-items: center; background: #e7edef; border-radius: var(--radius-sm); display: flex; padding: .25rem; }
.view-toggle button { background: transparent; border: 0; border-radius: .35rem; color: var(--color-muted); cursor: pointer; height: 3rem; padding-inline: .9rem; }
.view-toggle button[aria-pressed="true"] { background: #fff; box-shadow: var(--shadow-sm); color: var(--color-ink); }

.results-bar { align-items: center; display: flex; justify-content: space-between; padding-block: var(--space-8) var(--space-5); }
.results-bar strong { color: var(--color-ink); font-family: var(--font-display); }
.active-filters { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.filter-chip { background: var(--color-teal-soft); border: 0; border-radius: 999px; color: var(--color-teal-dark); cursor: pointer; font-size: .78rem; font-weight: 750; min-height: 2.75rem; padding: .4rem .7rem; }

.aircraft-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(3, minmax(0, 1fr)); padding-bottom: var(--space-16); }
.aircraft-card { --brand-accent: var(--color-teal-dark); background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); color: var(--color-text); display: flex; flex-direction: column; min-width: 0; overflow: hidden; position: relative; transition: border var(--transition), box-shadow var(--transition), transform var(--transition); }
.aircraft-card:hover { border-color: var(--brand-accent); box-shadow: var(--shadow-md); transform: translateY(-4px); }
.aircraft-card:focus-within { border-color: var(--brand-accent); box-shadow: 0 0 0 6px var(--color-teal-dark); outline: 3px solid #fff; }
.aircraft-card__media { align-items: end; background: linear-gradient(145deg, color-mix(in srgb, var(--brand-accent) 83%, #13233d), #0d192c); display: flex; height: 7.5rem; justify-content: space-between; overflow: hidden; padding: var(--space-5); position: relative; }
.aircraft-card__media::before { border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ""; height: 14rem; position: absolute; right: -4rem; top: -7rem; width: 20rem; }
.aircraft-card__media::after { color: rgba(255,255,255,.09); content: attr(data-monogram); font-family: var(--font-display); font-size: 6.5rem; font-weight: 850; position: absolute; right: .7rem; top: .9rem; }
.category-pill { background: rgba(255,255,255,.93); border-radius: 999px; color: var(--color-ink); font-size: .68rem; font-weight: 800; letter-spacing: .06em; padding: .35rem .6rem; position: relative; text-transform: uppercase; z-index: 1; }
.aircraft-card__content { display: flex; flex: 1; flex-direction: column; padding: var(--space-5); }
.aircraft-card__brand { color: var(--brand-accent); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.aircraft-card h3 { font-size: 1.25rem; margin-top: var(--space-2); }
.aircraft-card h3 a { color: var(--color-ink); display: inline-flex; min-height: 2.75rem; text-decoration: none; }
.aircraft-card h3 a::after { content: ""; inset: 0; position: absolute; }
.aircraft-card h3 a:focus-visible { box-shadow: none; outline: none; }
.aircraft-card__years { color: var(--color-muted); font-size: .82rem; margin-top: var(--space-2); }
.spec-row { border-top: 1px solid var(--color-line); display: grid; gap: var(--space-3); grid-template-columns: repeat(3, 1fr); margin-top: var(--space-5); padding-top: var(--space-4); }
.mini-spec span { color: var(--color-muted); display: block; font-size: .65rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.mini-spec strong { color: var(--color-ink); display: -webkit-box; font-family: var(--font-display); font-size: .78rem; line-height: 1.35; margin-top: .2rem; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.aircraft-card__action { color: var(--brand-accent); font-family: var(--font-display); font-size: .77rem; font-weight: 800; margin-top: auto; padding-top: var(--space-5); }

.aircraft-table-wrap { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius-lg); margin-bottom: var(--space-16); overflow: auto; }
.table-scroll-hint { color: var(--color-muted); font-size: .76rem; margin: 0 0 var(--space-3); }
.aircraft-table { border-collapse: collapse; min-width: 62rem; width: 100%; }
.aircraft-table th { background: #edf2f4; color: var(--color-muted); font-size: .69rem; letter-spacing: .08em; padding: .9rem 1rem; position: sticky; text-align: left; text-transform: uppercase; top: 0; z-index: 1; }
.aircraft-table td { border-top: 1px solid var(--color-line); font-size: .86rem; max-width: 17rem; padding: 1rem; vertical-align: top; }
.aircraft-table th:first-child, .aircraft-table td:first-child { background: #fff; box-shadow: 1px 0 0 var(--color-line); left: 0; position: sticky; z-index: 2; }
.aircraft-table th:first-child { background: #edf2f4; z-index: 3; }
.table-value { display: block; line-height: 1.5; }
.aircraft-table a { align-items: center; color: var(--color-ink); display: inline-flex; font-family: var(--font-display); font-weight: 750; min-height: 2.75rem; text-decoration: none; }
.aircraft-table a:hover { color: var(--color-teal-dark); }
.empty-state { background: #fff; border: 1px dashed #b9c7ce; border-radius: var(--radius-lg); grid-column: 1 / -1; padding: var(--space-16); text-align: center; }
.empty-state h3 { font-size: 1.5rem; }
.empty-state p { color: var(--color-muted); margin: var(--space-3) auto var(--space-6); max-width: 34rem; }

.brand-hero { --brand-accent: var(--color-teal); background: linear-gradient(125deg, color-mix(in srgb, var(--brand-accent) 35%, var(--color-ink-deep)), var(--color-ink-deep) 68%); color: #fff; overflow: hidden; padding-block: clamp(4rem, 8vw, 7rem); position: relative; }
.brand-hero::after { color: rgba(255,255,255,.055); content: attr(data-monogram); font-family: var(--font-display); font-size: clamp(12rem, 32vw, 31rem); font-weight: 850; line-height: .8; position: absolute; right: -2rem; top: -1rem; }
.brand-hero__inner { display: grid; gap: var(--space-16); grid-template-columns: minmax(0, 1fr) auto; position: relative; z-index: 1; }
.breadcrumbs { align-items: center; display: flex; flex-wrap: wrap; font-size: .78rem; gap: var(--space-2); margin-bottom: var(--space-8); }
.breadcrumbs a { align-items: center; color: #c9d6e5; display: inline-flex; min-height: 2.75rem; text-decoration: none; }
.breadcrumbs span { color: #89a0b8; }
.brand-hero h1 { color: #fff; font-size: clamp(3rem, 7vw, 6.5rem); letter-spacing: -.06em; }
.brand-hero__kicker { color: #a7ecea; font-family: var(--font-display); font-weight: 800; margin-top: var(--space-3); }
.brand-hero__summary { color: #c8d4e2; font-size: 1.12rem; margin-top: var(--space-5); max-width: 47rem; }
.brand-metric { align-content: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.17); border-radius: var(--radius-lg); display: grid; min-width: 12rem; padding: var(--space-6); }
.brand-metric strong { color: #fff; font-family: var(--font-display); font-size: 3rem; }
.brand-metric span { color: #b8c8da; font-size: .82rem; }

.aircraft-hero { --brand-accent: var(--color-teal); background: linear-gradient(125deg, color-mix(in srgb, var(--brand-accent) 30%, var(--color-ink-deep)), var(--color-ink-deep) 72%); color: #fff; overflow: hidden; padding-block: var(--space-12) var(--space-20); position: relative; }
.aircraft-hero::after { border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; height: 26rem; position: absolute; right: -6rem; top: -15rem; width: 38rem; }
.aircraft-hero__grid { align-items: end; display: grid; gap: var(--space-12); grid-template-columns: minmax(0, 1fr) auto; }
.aircraft-hero .shell { position: relative; z-index: 1; }
.aircraft-hero h1 { color: #fff; font-size: clamp(2.7rem, 6vw, 5.4rem); letter-spacing: -.055em; max-width: 17ch; }
.aircraft-hero__meta { color: #c0cfde; display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.aircraft-hero__meta span { border-right: 1px solid rgba(255,255,255,.25); padding-right: var(--space-3); }
.aircraft-hero__actions { align-items: stretch; display: grid; gap: var(--space-3); min-width: 13rem; }
.aircraft-hero__actions .button { min-height: 3.2rem; }
.spec-deck { display: grid; gap: var(--space-3); grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: calc(var(--space-10) * -1); position: relative; z-index: 3; }
.key-spec { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); min-height: 8.2rem; padding: var(--space-5); }
.key-spec span { color: var(--color-muted); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.key-spec strong { color: var(--color-ink); display: -webkit-box; font-family: var(--font-display); font-size: 1.05rem; line-height: 1.35; margin-top: var(--space-3); overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.key-spec small { color: var(--color-muted); display: block; margin-top: var(--space-2); }

.detail-nav { background: #fff; border-bottom: 1px solid var(--color-line); position: sticky; top: 4.75rem; z-index: 40; }
.detail-nav__inner { display: flex; gap: var(--space-8); overflow-x: auto; }
.detail-nav a { border-bottom: 3px solid transparent; color: var(--color-muted); flex: none; font-size: .82rem; font-weight: 750; padding-block: 1rem .8rem; text-decoration: none; }
.detail-nav a:hover { border-color: var(--brand-accent, var(--color-teal)); color: var(--color-ink); }
.detail-layout { align-items: start; display: grid; gap: var(--space-10); grid-template-columns: minmax(0, 1fr) 20rem; padding-block: var(--space-12) var(--space-20); }
.detail-main { display: grid; gap: var(--space-8); min-width: 0; }
.content-card { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: clamp(1.35rem, 3.5vw, 2.5rem); }
.content-card h2 { font-size: clamp(1.55rem, 3vw, 2.2rem); }
.content-card__intro { color: var(--color-muted); margin-top: var(--space-3); max-width: 45rem; }
.content-card__body { margin-top: var(--space-6); }
.content-card__body p + p { margin-top: var(--space-4); }
.spec-list { margin-top: var(--space-6); }
.spec-item { align-items: start; border-top: 1px solid var(--color-line); display: grid; gap: var(--space-5); grid-template-columns: 11rem minmax(0, 1fr); padding-block: var(--space-5); }
.spec-item__label { color: var(--color-muted); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.spec-item__value { color: var(--color-ink); font-weight: 650; }
.value-unverified { color: var(--color-warning); }
.spec-item__applicability { color: var(--color-muted); display: block; font-size: .78rem; font-weight: 400; margin-top: var(--space-2); }
.source-tag { background: #edf3f4; border-radius: 999px; color: #3e5962; display: inline-flex; font-size: .64rem; font-weight: 800; margin-top: var(--space-2); padding: .2rem .45rem; }
.source-tag--primary { background: #e3f4ec; color: var(--color-success); }
.source-tag--estimate { background: #fff1dc; color: var(--color-warning); }
.report-link { align-items: center; background: transparent; border: 0; color: var(--color-teal-dark); cursor: pointer; display: inline-flex; font-size: .78rem; font-weight: 750; margin-top: var(--space-2); min-height: 2.75rem; padding: .4rem 0; text-decoration: underline; text-underline-offset: .2em; }
.detail-aside { display: grid; gap: var(--space-4); position: sticky; top: 9rem; }
.aside-card { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius-md); padding: var(--space-5); }
.aside-card h2 { font-size: 1.05rem; }
.aside-card p { color: var(--color-muted); font-size: .84rem; margin-top: var(--space-3); }
.confidence-meter { background: #e8edef; border-radius: 999px; height: .45rem; margin-top: var(--space-4); overflow: hidden; }
.confidence-meter span { background: var(--brand-accent, var(--color-teal)); display: block; height: 100%; }
.aside-list { display: grid; gap: var(--space-3); list-style: none; margin: var(--space-4) 0 0; padding: 0; }
.aside-list a { align-items: center; color: var(--color-text); display: inline-flex; font-size: .82rem; min-height: 2.75rem; text-decoration: none; }
.aside-card--advisor { background: linear-gradient(145deg, #12213d, #0c1730); border: 0; box-shadow: var(--shadow-sm); color: #fff; overflow: hidden; position: relative; }
.aside-card--advisor::after { background: var(--color-red); content: ""; height: 4px; inset: 0 0 auto; position: absolute; }
.aside-card--advisor h2 { color: #fff; font-size: 1.25rem; margin-top: var(--space-2); }
.aside-card--advisor p { color: #b9c7d8; }
.aside-card__eyebrow { color: #73d2d0; display: block; font-size: .63rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.aside-card--advisor .button { margin-top: var(--space-5); }
.aside-card__subLink { align-items: center; color: #c9d6e5; display: inline-flex; font-size: .72rem; margin-top: var(--space-2); min-height: 2.75rem; text-decoration: none; }

.research-paths__grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--space-6); }
.research-paths__grid a { background: var(--color-surface-quiet); border: 1px solid var(--color-line); border-radius: var(--radius-md); color: var(--color-text); min-height: 10rem; padding: var(--space-5); text-decoration: none; transition: border var(--transition), box-shadow var(--transition), transform var(--transition); }
.research-paths__grid a:hover { border-color: var(--color-teal); box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.research-paths__grid span { color: var(--color-teal-dark); display: block; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.research-paths__grid strong { color: var(--color-ink); display: block; font-family: var(--font-display); font-size: 1rem; margin-top: var(--space-3); }
.research-paths__grid small { color: var(--color-muted); display: block; font-size: .78rem; line-height: 1.5; margin-top: var(--space-2); }

.methodology-hero { background: #fff; padding-block: var(--space-20); }
.methodology-grid { display: grid; gap: var(--space-6); grid-template-columns: repeat(3, 1fr); margin-top: var(--space-10); }
.method-card { border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: var(--space-6); }
.method-card__number { color: var(--color-teal); font-family: var(--font-display); font-size: 2rem; font-weight: 800; }
.method-card h2 { font-size: 1.2rem; margin-top: var(--space-5); }
.method-card p { color: var(--color-muted); font-size: .9rem; margin-top: var(--space-3); }

.site-footer { background: var(--color-ink-deep); color: #aebdd0; padding-block: var(--space-16) var(--space-6); }
.site-footer__grid { display: grid; gap: var(--space-12); grid-template-columns: 2fr 1fr 1fr; }
.site-footer h2 { color: #fff; font-size: .84rem; letter-spacing: .08em; margin-bottom: var(--space-4); text-transform: uppercase; }
.site-footer a { align-items: center; color: #b9c8d9; display: flex; font-size: .84rem; min-height: 2.75rem; text-decoration: none; }
.site-footer p { font-size: .86rem; margin-top: var(--space-4); max-width: 30rem; }
.site-footer__legal { border-top: 1px solid rgba(255,255,255,.12); display: flex; font-size: .72rem; justify-content: space-between; margin-top: var(--space-12); padding-top: var(--space-5); }
.brand-mark--footer { min-width: auto; }
.brand-mark--footer .brand-mark__logo { width: 10rem; }

.app-loading { align-items: center; display: grid; justify-items: center; min-height: 70vh; }
.loading-ring { animation: spin 800ms linear infinite; border: 3px solid #cfd9dd; border-radius: 50%; border-top-color: var(--color-teal); height: 2rem; width: 2rem; }
@keyframes spin { to { transform: rotate(360deg); } }

.correction-dialog { background: transparent; border: 0; max-height: calc(100dvh - 2rem); max-width: 40rem; overflow: hidden; padding: 0; width: calc(100% - 2rem); }
.correction-dialog::backdrop { backdrop-filter: blur(4px); background: rgba(5,14,30,.7); }
.correction-dialog__card { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: calc(100dvh - 2rem); overflow: hidden; }
.dialog-heading { align-items: start; display: flex; justify-content: space-between; padding: var(--space-6) var(--space-6) 0; }
.dialog-heading .eyebrow { margin-bottom: var(--space-2); }
.icon-button { background: #edf2f4; border: 0; border-radius: 50%; color: var(--color-ink); cursor: pointer; font-size: 1.4rem; height: 2.75rem; width: 2.75rem; }
.correction-dialog label { color: var(--color-ink); font-size: .78rem; font-weight: 750; }
.correction-dialog input, .correction-dialog select, .correction-dialog textarea { background: #f8fafb; border: 1px solid #7b8d97; border-radius: var(--radius-sm); display: block; margin-top: var(--space-2); padding: .75rem; resize: vertical; width: 100%; }
.dialog-body { display: grid; gap: var(--space-5); overflow: auto; padding: var(--space-5) var(--space-6); }
.form-note, .prototype-message { color: var(--color-muted); font-size: .78rem; }
.dialog-actions { background: #fff; border-top: 1px solid var(--color-line); display: flex; gap: var(--space-3); justify-content: end; padding: var(--space-4) var(--space-6) var(--space-6); }

@media (max-width: 70rem) {
  .hero__inner { gap: var(--space-8); grid-template-columns: minmax(0, 1fr) minmax(19rem, .72fr); }
  .brand-grid { grid-template-columns: repeat(3, 1fr); }
  .catalog-toolbar__inner { grid-template-columns: repeat(4, 1fr); }
  .control--search { grid-column: 1 / -1; }
  .aircraft-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 56rem) {
  .primary-nav, .site-header .button--small { display: none; }
  .nav-toggle { background: transparent; border: 1px solid rgba(255,255,255,.3); border-radius: var(--radius-sm); color: #fff; display: block; margin-left: auto; min-height: 2.75rem; padding: .45rem .7rem; }
  .primary-nav.is-open { background: var(--color-ink-deep); display: grid; inset: 4.75rem 0 auto; padding: var(--space-6); position: fixed; }
  .hero__inner, .decision-bridge__card { grid-template-columns: 1fr; }
  .expert-pathway { max-width: 40rem; }
  .decision-bridge__actions { min-width: 0; width: min(24rem, 100%); }
  .brand-grid { grid-template-columns: repeat(2, 1fr); }
  .catalog-toolbar { position: static; }
  .catalog-toolbar__inner { grid-template-columns: repeat(2, 1fr); }
  .control--search { grid-column: 1 / -1; }
  .view-toggle { justify-content: center; }
  .brand-hero__inner, .aircraft-hero__grid { grid-template-columns: 1fr; }
  .brand-metric { min-width: 0; width: min(14rem, 100%); }
  .spec-deck { grid-template-columns: repeat(2, 1fr); }
  .detail-layout { grid-template-columns: 1fr; }
  .detail-aside { position: static; }
  .methodology-grid { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 38rem) {
  .shell { padding-inline: var(--space-4); }
  .brand-mark { gap: .55rem; min-width: 0; }
  .brand-mark__logo { width: 5.6rem; }
  .brand-mark__label { font-size: .52rem; letter-spacing: .1em; max-width: 5.8rem; padding-left: .55rem; }
  .hero-search { align-items: stretch; display: grid; }
  .hero-search svg { display: none; }
  .hero-search input { padding-inline: .75rem; }
  .hero-stats { gap: var(--space-4); grid-template-columns: repeat(2, 1fr); }
  .hero-stat:nth-child(3) { border-left: 0; padding-left: 0; }
  .expert-pathway { border-radius: var(--radius-lg); }
  .section-heading { align-items: start; display: grid; }
  .brand-grid, .aircraft-grid { grid-template-columns: 1fr; }
  .catalog-toolbar__inner { display: grid; grid-template-columns: 1fr; }
  .control--search { grid-column: auto; }
  .results-bar { align-items: start; display: grid; gap: var(--space-3); }
  .spec-deck { grid-template-columns: 1fr; margin-top: calc(var(--space-6) * -1); }
  .detail-nav { top: 4.75rem; }
  .spec-item { grid-template-columns: 1fr; gap: var(--space-2); }
  .research-paths__grid { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__grid > :first-child { grid-column: auto; }
  .site-footer__legal { align-items: start; display: grid; gap: var(--space-2); }
  .dialog-actions { display: grid; }
}

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