:root {
  --ink: #020910;
  --ink-2: #05111d;
  --ink-3: #091a28;
  --panel: #0a1a28;
  --red: #f0142f;
  --red-dark: #9e0b1e;
  --white: #f5f7f9;
  --muted: #9aa8b5;
  --steel: #627282;
  --line: rgba(255, 255, 255, .12);
  --line-strong: rgba(255, 255, 255, .24);
  --display: "Arial Narrow", "Helvetica Neue Condensed", Impact, sans-serif;
  --body: "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  background:
    radial-gradient(circle at 85% 12%, rgba(28, 53, 72, .28), transparent 26rem),
    var(--ink);
  color: var(--white);
  font-family: var(--body);
  line-height: 1.55;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
button, input, select, textarea { font: inherit; }
.wrap { width: min(1320px, 92vw); margin-inline: auto; }
.skip-link {
  position: fixed;
  left: 12px;
  top: -100px;
  z-index: 1000;
  background: var(--red);
  color: #fff;
  padding: 10px 16px;
  font-weight: 900;
}
.skip-link:focus { top: 12px; }

/* Navigation */
header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  transition: background .3s ease, border-color .3s ease;
  border-bottom: 1px solid transparent;
}
header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(1, 7, 13, .96), rgba(1, 7, 13, .7) 70%, transparent);
  z-index: -1;
}
header.scrolled {
  background: rgba(2, 9, 16, .92);
  border-bottom-color: var(--line);
  backdrop-filter: blur(16px);
}
nav { height: 88px; display: flex; align-items: center; gap: 34px; }
.brand {
  display: inline-grid;
  gap: 1px;
  flex: 0 0 auto;
  line-height: 1;
  text-transform: uppercase;
}
.brand-main {
  font: 900 1.26rem/1 var(--display);
  letter-spacing: .17em;
}
.brand-main b { color: var(--red); }
.brand small {
  color: var(--muted);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .39em;
  padding-left: 1px;
}
.links { display: flex; gap: clamp(14px, 1.5vw, 28px); margin-left: auto; align-items: center; }
.links a {
  position: relative;
  color: rgba(245, 247, 249, .72);
  font: 800 .72rem/1 var(--body);
  text-transform: uppercase;
  letter-spacing: .11em;
  padding: 36px 0 34px;
  transition: color .2s ease;
}
.links a::after {
  content: "";
  position: absolute;
  height: 2px;
  left: 0;
  right: 100%;
  bottom: 24px;
  background: var(--red);
  transition: right .24s ease;
}
.links a:hover, .links a.active { color: #fff; }
.links a:hover::after, .links a.active::after { right: 0; }
.nav-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 42px;
  padding: 0 19px;
  background: var(--red);
  clip-path: polygon(9px 0, 100% 0, calc(100% - 9px) 100%, 0 100%);
  font: 900 .7rem/1 var(--body);
  text-transform: uppercase;
  letter-spacing: .09em;
}
.language-switcher {
  position: relative;
  flex: 0 0 auto;
  z-index: 120;
}
.language-current {
  height: 42px;
  min-width: 62px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.17);
  background: rgba(255,255,255,.055);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease;
}
.language-current:hover,
.language-current:focus-visible,
.language-switcher.open .language-current {
  border-color: var(--red);
  background: rgba(255,255,255,.1);
}
.language-flag { font-size: 1.18rem; line-height: 1; }
.language-code {
  font: 900 .61rem/1 var(--body);
  letter-spacing: .09em;
}
.language-chevron {
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
}
.language-switcher.open .language-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.language-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 190px;
  padding: 7px;
  display: grid;
  gap: 3px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-7px);
  border: 1px solid rgba(255,255,255,.14);
  border-top: 2px solid var(--red);
  background: rgba(2,9,16,.98);
  box-shadow: 0 22px 55px rgba(0,0,0,.5);
  backdrop-filter: blur(18px);
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
}
.language-switcher.open .language-menu {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.language-menu button {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: 25px 1fr auto;
  align-items: center;
  gap: 9px;
  color: rgba(245,247,249,.76);
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color .18s ease, background .18s ease;
}
.language-menu button:hover,
.language-menu button:focus-visible,
.language-menu button.active { color: #fff; background: rgba(255,255,255,.075); }
.language-menu button.active { box-shadow: inset 2px 0 var(--red); }
.language-menu button span { font-size: 1.12rem; }
.language-menu button b { font: 750 .75rem/1 var(--body); letter-spacing: .03em; }
.language-menu button small { color: var(--muted); font: 800 .58rem/1 var(--body); letter-spacing: .1em; }
.menu {
  display: none;
  margin-left: auto;
  color: #fff;
  border: 0;
  background: transparent;
  align-items: center;
  gap: 6px;
  padding: 10px 0 10px 10px;
  cursor: pointer;
}
.menu span { display: block; width: 22px; height: 2px; background: var(--red); }
.menu i { font-style: normal; text-transform: uppercase; font-size: .65rem; letter-spacing: .12em; margin-left: 4px; }

/* Type and controls */
.eyebrow, .kicker {
  color: var(--red);
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: .72rem;
}
.live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 5px rgba(240, 20, 47, .15);
  margin-right: 10px;
  animation: pulse 1.8s infinite;
}
@keyframes pulse { 50% { box-shadow: 0 0 0 9px rgba(240, 20, 47, 0); } }
.title {
  margin: .2em 0 .28em;
  font: 900 clamp(3rem, 6vw, 6.4rem)/.86 var(--display);
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.title span { color: var(--red); }
.copy { max-width: 720px; color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.13rem); }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0 25px;
  border: 1px solid var(--line-strong);
  background: rgba(2, 9, 16, .28);
  color: #fff;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  font: 900 .72rem/1 var(--body);
  text-transform: uppercase;
  letter-spacing: .11em;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover { transform: translateY(-3px); background: rgba(255,255,255,.08); border-color: #fff; }
.btn.primary { background: var(--red); border-color: var(--red); }
.btn.primary:hover { background: #ff2440; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
  padding-bottom: 7px;
  border-bottom: 2px solid var(--red);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.text-link i { color: var(--red); font-style: normal; font-size: 1rem; }

/* Homepage hero */
.home-intro {
  height: 100svh;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}
.hero {
  min-height: 100svh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  isolation: isolate;
}
.home-intro .hero {
  min-height: 0;
  padding: 0;
}
.hero video, .hero-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -4;
}
.hero video {
  object-position: center;
  filter: saturate(.82) contrast(1.08);
}
.home-intro .hero video {
  top: auto;
  bottom: 0;
  height: 100svh;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(90deg, rgba(2, 9, 16, .94) 0, rgba(2, 9, 16, .62) 40%, rgba(2, 9, 16, .12) 70%),
    linear-gradient(0deg, rgba(2, 9, 16, .96), transparent 40%),
    linear-gradient(180deg, rgba(2, 9, 16, .45), transparent 27%);
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 5px;
  z-index: 4;
  background: linear-gradient(90deg, var(--red) 0 14%, transparent 14% 100%);
}
.hero-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .19;
  background:
    linear-gradient(90deg, transparent calc(50% - .5px), rgba(255,255,255,.18) 50%, transparent calc(50% + .5px)),
    linear-gradient(transparent calc(50% - .5px), rgba(255,255,255,.12) 50%, transparent calc(50% + .5px));
  background-size: 22vw 100%, 100% 22vh;
}
.hero-content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  align-items: end;
  gap: 7vw;
  height: 100%;
  padding: 108px 0 0;
}
.hero-copy {
  position: relative;
  top: 24px;
  align-self: start;
  max-width: 820px;
}
.hero h1 {
  margin: .18em 0 .2em;
  font: 900 clamp(4.2rem, 6vw, 6.4rem)/.78 var(--display);
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.hero h1 .ghost {
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(255,255,255,.8);
}
.hero h1 strong { color: var(--red); font-weight: 900; }
.hero-copy > p {
  max-width: 650px;
  margin: 0;
  color: #dfe5ea;
  font-size: clamp(1.03rem, 1.8vw, 1.35rem);
  line-height: 1.5;
}
.hero-telemetry {
  position: relative;
  left: 28px;
  bottom: 70px;
  align-self: end;
  border-top: 2px solid var(--red);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(2, 9, 16, .52);
  backdrop-filter: blur(8px);
}
.telemetry-head {
  display: flex;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .62rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
}
.telemetry-head b { color: #fff; }
.hero-telemetry dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); }
.hero-telemetry dl div { padding: 14px 12px 17px; border-right: 1px solid var(--line); }
.hero-telemetry dl div:last-child { border: 0; }
.hero-telemetry dt { color: var(--muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .1em; }
.hero-telemetry dd { margin: 3px 0 0; font: 900 1.8rem/1 var(--display); }
.hero-telemetry dd small { color: var(--red); font: 900 .58rem/1 var(--body); }
.telemetry-status {
  padding: 11px 14px;
  border-top: 1px solid var(--line);
  color: #dbe2e7;
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.telemetry-status i { display: inline-block; width: 7px; height: 7px; background: #3ad17c; border-radius: 50%; margin-right: 8px; }
.video-control {
  position: absolute;
  right: 3.5vw;
  top: 112px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line-strong);
  background: rgba(2, 9, 16, .45);
  color: #fff;
  padding: 9px 12px;
  z-index: 5;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .58rem;
}
.pause-icon { width: 10px; height: 10px; border-left: 3px solid var(--red); border-right: 3px solid var(--red); }
.video-control.paused .pause-icon { border: 0; clip-path: polygon(0 0, 100% 50%, 0 100%); background: var(--red); }
.scroll-cue {
  position: absolute;
  bottom: 28px;
  right: 3.5vw;
  z-index: 5;
  color: rgba(255,255,255,.65);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.scroll-cue span { display: inline-block; width: 45px; height: 1px; background: var(--red); vertical-align: middle; margin-right: 12px; }

/* Homepage sections */
.race-strip { padding: 0; background: var(--ink-2); border-bottom: 1px solid var(--line); }
.race-strip-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.race-strip-grid > div { padding: 25px 24px; border-right: 1px solid var(--line); }
.race-strip-grid > div:first-child { border-left: 1px solid var(--line); }
.race-strip small, .race-strip strong { display: block; }
.race-strip small { color: var(--red); font-size: .61rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 900; }
.race-strip strong { margin-top: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; }
section { padding: clamp(80px, 9vw, 145px) 0; }
.manifesto { background: linear-gradient(135deg, var(--ink), var(--ink-2)); }
.manifesto-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px, 8vw, 120px); align-items: center; }
.statement {
  margin: 34px 0 0;
  padding-left: 20px;
  border-left: 3px solid var(--red);
  color: #fff;
  font: 900 clamp(1.35rem, 2.5vw, 2.2rem)/1.2 var(--display);
  text-transform: uppercase;
  letter-spacing: .02em;
}
.cinematic-frame { margin: 0; position: relative; min-height: 620px; clip-path: polygon(40px 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%, 0 40px); }
.cinematic-frame::before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.25); z-index: 2; pointer-events: none; }
.cinematic-frame img { position: absolute; inset: 0; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.08); }
.cinematic-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,9,16,.8), transparent 45%); }
.cinematic-frame figcaption { position: absolute; z-index: 3; left: 35px; bottom: 30px; text-transform: uppercase; }
.cinematic-frame figcaption span, .cinematic-frame figcaption b { display: block; }
.cinematic-frame figcaption span { color: var(--red); font-size: .65rem; font-weight: 900; letter-spacing: .16em; }
.cinematic-frame figcaption b { font: 900 1.7rem/1.1 var(--display); letter-spacing: .04em; }
.records { background: #030b12; border-block: 1px solid var(--line); }
.section-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; margin-bottom: 48px; }
.section-head .copy { margin: 0 0 6px; }
.record-feature {
  display: grid;
  grid-template-columns: 420px 1fr;
  min-height: 510px;
  border: 1px solid var(--line);
  background: var(--ink-2);
  overflow: hidden;
}
.record-number { display: flex; flex-direction: column; justify-content: center; padding: 45px; border-right: 1px solid var(--line); }
.record-number small { color: var(--red); font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.record-number strong { font: 900 clamp(6rem, 10vw, 9.5rem)/.82 var(--display); letter-spacing: -.03em; margin: 15px 0; }
.record-number span { color: var(--muted); font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.record-image { position: relative; min-height: 450px; }
.record-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,17,29,.5), transparent 35%); }
.record-image img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.record-line { display: grid; grid-template-columns: repeat(4, 1fr); margin: 42px 0 10px; border-top: 1px solid var(--line-strong); }
.record-line article { position: relative; padding: 28px 22px 25px 0; }
.record-line article::before { content: ""; position: absolute; width: 9px; height: 9px; border-radius: 50%; left: 0; top: -5px; background: var(--steel); }
.record-line article.current::before { background: var(--red); box-shadow: 0 0 0 7px rgba(240,20,47,.14); }
.record-line time, .record-line b, .record-line span { display: block; }
.record-line time { color: var(--red); font-size: .66rem; font-weight: 900; letter-spacing: .12em; }
.record-line b { margin: 7px 0 2px; font: 900 2.5rem/1 var(--display); }
.record-line span { color: var(--muted); font-size: .75rem; text-transform: uppercase; }
.standard { position: relative; overflow: hidden; }
.standard::before { content: "01"; position: absolute; right: -4vw; top: -6vw; color: rgba(255,255,255,.025); font: 900 36vw/1 var(--display); }
.standard-grid { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 55px; background: var(--line); border: 1px solid var(--line); }
.standard-card { min-height: 310px; padding: 32px 28px; background: var(--ink-2); transition: transform .25s ease, background .25s ease; }
.standard-card:hover { transform: translateY(-7px); background: var(--ink-3); }
.standard-card > span { color: var(--red); font: 900 3.2rem/1 var(--display); }
.standard-card h3 { margin: 90px 0 10px; font: 900 2rem/1 var(--display); text-transform: uppercase; }
.standard-card p { margin: 0; color: var(--muted); font-size: .9rem; }
.partner-stage {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--ink-2), var(--ink));
  border-top: 1px solid var(--line);
}
.partner-stage::before {
  content: "02";
  position: absolute;
  left: -3vw;
  bottom: -8vw;
  color: rgba(255,255,255,.022);
  font: 900 30vw/1 var(--display);
}
.partner-stage-grid {
  position: relative;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(50px, 7vw, 105px);
  align-items: center;
}
.partner-stage-copy { position: relative; z-index: 2; }
.partner-stage-copy > * { max-width: 670px; }
.partner-stage-image {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #02070d;
  border: 1px solid var(--line);
  clip-path: polygon(32px 0, 100% 0, 100% calc(100% - 32px), calc(100% - 32px) 100%, 0 100%, 0 32px);
}
.partner-stage-image::before {
  content: "";
  position: absolute;
  inset: 16px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.28);
  pointer-events: none;
}
.partner-stage-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(2,9,16,.78), transparent 42%);
  pointer-events: none;
}
.partner-stage-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.9) contrast(1.06);
}
.partner-stage-image figcaption {
  position: absolute;
  z-index: 3;
  left: 30px;
  bottom: 25px;
  text-transform: uppercase;
}
.partner-stage-image figcaption span,
.partner-stage-image figcaption b { display: block; }
.partner-stage-image figcaption span {
  color: var(--red);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .16em;
}
.partner-stage-image figcaption b {
  font: 900 1.45rem/1.1 var(--display);
  letter-spacing: .04em;
}
.partner-proof { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 740px; margin-top: 38px; border-block: 1px solid var(--line); }
.partner-proof > div { padding: 20px 14px 20px 0; }
.partner-proof b, .partner-proof span { display: block; }
.partner-proof b { color: #fff; font: 900 1.35rem/1 var(--display); text-transform: uppercase; }
.partner-proof span { color: var(--muted); font-size: .66rem; margin-top: 5px; }
.final-cta {
  position: relative;
  isolation: isolate;
  min-height: 650px;
  display: grid;
  place-items: center;
  text-align: center;
  background:
    linear-gradient(180deg, var(--ink) 0%, rgba(2,9,16,.58) 17%, rgba(2,9,16,.28) 48%, rgba(2,9,16,.72) 86%, #01070c 100%),
    linear-gradient(90deg, rgba(2,9,16,.64), rgba(2,9,16,.08) 50%, rgba(2,9,16,.64)),
    url("web/union-jack-2200.webp") center / cover no-repeat;
}
.final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 50% 48%, transparent 0 24%, rgba(1,7,12,.18) 58%, rgba(1,7,12,.52) 100%);
}
.final-cta .wrap { position: relative; z-index: 1; }
.final-mark { font: 900 clamp(4rem, 12vw, 10rem)/.8 var(--display); letter-spacing: .04em; text-transform: uppercase; }
.final-mark span { color: var(--red); }
.final-cta p {
  margin: 30px 0;
  color: #fff;
  text-shadow: 0 2px 20px rgba(0,0,0,.75);
  font: 900 clamp(1.5rem, 3vw, 2.7rem)/1.1 var(--display);
  text-transform: uppercase;
}

/* Interior page heroes */
.page-hero {
  min-height: 100svh;
  padding: 0;
  position: relative;
  display: flex;
  align-items: flex-start;
  background-size: cover;
  background-position: center;
  isolation: isolate;
  border-bottom: 4px solid var(--red);
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(2,9,16,.86), rgba(2,9,16,.48) 52%, rgba(2,9,16,.1)),
    linear-gradient(0deg, rgba(2,9,16,.84), transparent 55%);
}
.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, transparent 49.9%, rgba(255,255,255,.12) 50%, transparent 50.1%);
  background-size: 26vw 100%;
  opacity: .23;
}
.page-hero .wrap { padding: 134px 0 85px; position: relative; }
.page-hero:not(.page-hero-partners) > .wrap > * {
  transform: none;
}
.page-hero h1 {
  margin: .16em 0 .2em;
  font: 900 clamp(4.2rem, 6vw, 6.4rem)/.78 var(--display);
  text-transform: uppercase;
  letter-spacing: -.035em;
  max-width: 1050px;
}
.page-hero h1 span { color: var(--red); }
.page-hero p { max-width: 720px; color: #dfe5ea; font-size: clamp(1rem, 1.6vw, 1.22rem); }
.page-hero.team-hero {
  display: block;
  min-height: 0;
  padding-top: 88px;
  background: var(--ink);
}
.page-hero.team-hero::before,
.page-hero.team-hero::after { display: none; }
.team-hero-art {
  display: block;
  width: 100%;
  aspect-ratio: 1672 / 941;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.team-hero-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-hero.team-hero .team-hero-copy {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: clamp(42px, 7vw, 100px);
  align-items: end;
  padding: 52px 0 68px;
}
.page-hero.team-hero h1 {
  margin-bottom: 0;
  font-size: clamp(3.5rem, 5.2vw, 5.6rem);
}
.page-hero.team-hero p { margin: 0 0 6px; }
.page-hero-partners {
  min-height: 100svh;
  display: flex;
  align-items: flex-start;
  background-size: cover;
  background-position: center center;
}
.page-hero-partners::before {
  display: block;
  background:
    linear-gradient(180deg, rgba(2,9,16,.98) 0, rgba(2,9,16,.8) 27%, rgba(2,9,16,.3) 48%, rgba(2,9,16,.08) 68%),
    linear-gradient(90deg, rgba(2,9,16,.76), rgba(2,9,16,.08) 58%);
}
.page-hero-partners::after { display: none; }
.page-hero-partners-copy {
  width: 100%;
}
.page-hero-partners .wrap { padding: 134px 0 0; }
.page-hero-partners h1 {
  max-width: 790px;
  font-size: clamp(4.2rem, 6vw, 6.4rem);
}
.page-hero-partners p { max-width: 650px; }
.partner-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 25px;
}
.page-hero-partners .legacy-livery-note {
  max-width: 700px;
  margin-top: 14px;
  color: rgba(255,255,255,.72);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.4;
  text-transform: uppercase;
}
.band { background: var(--ink-2); border-block: 1px solid var(--line); }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 7vw, 100px); align-items: center; }
.photo {
  position: relative;
  overflow: hidden;
  min-height: 480px;
  clip-path: polygon(25px 0, 100% 0, 100% calc(100% - 25px), calc(100% - 25px) 100%, 0 100%, 0 25px);
}
.photo::after { content: ""; position: absolute; inset: 18px; border: 1px solid var(--line-strong); pointer-events: none; }
.photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.boat-hardware-grid {
  grid-template-columns: .68fr 1.32fr;
  gap: clamp(40px, 6vw, 85px);
}
.boat-cockpit-photo {
  min-height: 620px;
  background: var(--ink-2);
}
.boat-cockpit-photo img {
  object-position: center;
  filter: saturate(.94) contrast(1.04);
}
.feature-grid, .cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 34px; background: var(--line); border: 1px solid var(--line); }
.feature, .card { background: var(--ink-2); padding: 26px; min-height: 145px; }
.feature strong, .card h3 { display: block; margin: 0 0 7px; font: 900 1.45rem/1 var(--display); text-transform: uppercase; }
.feature span, .card p { color: var(--muted); margin: 0; font-size: .88rem; }
.boat-engineering-grid .feature {
  min-height: 220px;
  padding: 30px;
  border-top: 3px solid var(--red);
}
.boat-engineering-grid .feature strong {
  margin-bottom: 15px;
  font-size: 1.6rem;
}
.boat-engineering-grid .feature span {
  display: block;
  font-size: .94rem;
  line-height: 1.62;
}
.boat-technical-note {
  margin: 32px 0 0;
  padding: 24px 28px;
  border-left: 3px solid var(--red);
  background: rgba(255,255,255,.035);
  color: #dce3e8;
  font-size: .95rem;
}
.boat-specs {
  position: relative;
  overflow: hidden;
}
.boat-specs::before {
  content: "46";
  position: absolute;
  right: -3vw;
  bottom: -8vw;
  color: rgba(255,255,255,.022);
  font: 900 29vw/1 var(--display);
}
.boat-spec-shell {
  position: relative;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  border: 1px solid var(--line);
  background: var(--line);
  overflow: hidden;
}
.boat-spec-lead {
  padding: clamp(38px, 5vw, 66px);
  border-right: 1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(240,20,47,.12), transparent 45%),
    var(--ink-2);
}
.boat-spec-code {
  display: block;
  color: var(--red);
  font: 900 clamp(5.5rem, 9vw, 9rem)/.78 var(--display);
  letter-spacing: -.025em;
}
.boat-spec-lead h3 {
  margin: 28px 0 16px;
  font: 900 clamp(1.8rem, 3vw, 2.8rem)/.96 var(--display);
  text-transform: uppercase;
}
.boat-spec-lead p {
  margin: 0;
  max-width: 430px;
  color: var(--muted);
  font-size: .96rem;
}
.boat-spec-principles {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 35px;
}
.boat-spec-principles span {
  padding: 8px 11px;
  border: 1px solid var(--line-strong);
  color: #fff;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.boat-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin: 0;
  background: var(--line);
}
.boat-spec-grid > div {
  min-height: 118px;
  padding: 24px 26px;
  background: var(--ink);
}
.boat-spec-grid dt {
  color: var(--red);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.boat-spec-grid dd {
  margin: 10px 0 0;
  color: #fff;
  font: 900 1.34rem/1.08 var(--display);
  letter-spacing: .02em;
  text-transform: uppercase;
}
.card { transition: background .2s ease, transform .2s ease; }
.card:hover { background: var(--ink-3); transform: translateY(-4px); }
.cta, .final-cta { text-align: center; }
.cta { background: radial-gradient(circle at center, rgba(240,20,47,.16), transparent 42%), var(--ink-2); }
.cta .copy { margin-inline: auto; }

/* Existing rich modules */
.page-intro { max-width: 840px; }
.metric-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 35px; background: var(--line); }
.metric { padding: 22px; background: var(--ink-2); border-left: 3px solid var(--red); }
.metric b { display: block; color: #fff; font: 900 1.8rem/1 var(--display); }
.metric span { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.media-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: 2px; }
.media-stack { display: grid; gap: 2px; }
.media-tile { position: relative; min-height: 280px; overflow: hidden; border: 1px solid var(--line); }
.media-tile.tall { min-height: 590px; }
.media-tile img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.media-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,9,16,.9), transparent 60%); }
.media-caption { position: absolute; z-index: 2; left: 25px; right: 25px; bottom: 22px; }
.media-caption b { display: block; font: 900 1.4rem/1 var(--display); text-transform: uppercase; }
.media-caption span { color: var(--muted); font-size: .8rem; }
.equipment-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 30px; background: var(--line); }
.equipment-item { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 22px; background: var(--ink); }
.equipment-item i { font-style: normal; color: var(--red); font: 900 2.4rem/1 var(--display); }
.equipment-item strong { display: block; text-transform: uppercase; font-size: .87rem; }
.equipment-item span { display: block; color: var(--muted); font-size: .84rem; margin-top: 4px; }
.timeline-rich { display: grid; margin-top: 40px; }
.timeline-row { display: grid; grid-template-columns: 105px 24px 1fr; gap: 18px; }
.timeline-year { color: var(--red); font: 900 1.8rem/1 var(--display); padding-top: 13px; }
.timeline-line { position: relative; }
.timeline-line::before { content: ""; position: absolute; top: 17px; left: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 6px rgba(240,20,47,.12); z-index: 2; }
.timeline-row:not(:last-child) .timeline-line::after { content: ""; position: absolute; top: 24px; bottom: -20px; left: 10px; width: 1px; background: var(--line-strong); }
.timeline-content { padding: 8px 0 30px; border-bottom: 1px solid var(--line); }
.timeline-content h3 { margin: 0 0 5px; font: 900 1.25rem/1 var(--display); text-transform: uppercase; }
.timeline-content p { margin: 0; color: var(--muted); }
.press-grid, .benefits, .team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-top: 35px; }
.press-card, .team-card { background: var(--ink-2); border: 1px solid var(--line); overflow: hidden; }
.press-card { cursor: zoom-in; }
.press-card img, .team-photo { aspect-ratio: 4/3; object-fit: cover; }
.press-card div, .team-copy { padding: 20px; }
.press-card small { display: block; color: var(--red); font-size: .61rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.press-card h3 { margin: 7px 0 8px; font: 900 1.25rem/1.02 var(--display); text-transform: uppercase; }
.press-card p { margin: 0; color: var(--muted); font-size: .82rem; }
.press-card strong, .press-card span { display: block; }
.press-card strong { text-transform: uppercase; font-size: .82rem; }
.press-card span { color: var(--muted); font-size: .72rem; }
.evidence-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
  gap: 18px 60px;
  align-items: end;
  margin-top: 78px;
  padding-top: 42px;
  border-top: 1px solid var(--line);
}
.evidence-head .kicker { grid-column: 1 / -1; }
.evidence-head .title { margin: 0; }
.evidence-head .copy { margin: 0 0 5px; }
.evidence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  margin-top: 32px;
}
.evidence-card {
  position: relative;
  min-height: 245px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(255,255,255,.035), transparent 52%),
    var(--ink-2);
  color: var(--white);
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease, background-color .2s ease;
}
.evidence-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 3px;
  background: var(--red);
}
.evidence-card.official::after { width: 100%; }
.evidence-card:hover,
.evidence-card:focus-visible {
  z-index: 1;
  border-color: rgba(240,20,47,.7);
  background-color: #0b1720;
  transform: translateY(-3px);
}
.evidence-card small {
  display: block;
  color: var(--red);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.evidence-card h3 {
  max-width: 520px;
  margin: 14px 0 10px;
  font: 900 clamp(1.45rem, 2.2vw, 2.15rem)/.98 var(--display);
  text-transform: uppercase;
}
.evidence-card p {
  max-width: 560px;
  margin: 0 0 28px;
  color: var(--muted);
  font-size: .86rem;
}
.evidence-card strong {
  position: absolute;
  left: 30px;
  bottom: 28px;
  color: var(--white);
  font-size: .74rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.quote { max-width: 1050px; margin: 0; padding-left: 26px; border-left: 4px solid var(--red); font: 900 clamp(1.8rem, 4vw, 3.8rem)/1.04 var(--display); text-transform: uppercase; }
.quote span { color: var(--red); }
.benefit { padding: 27px; border-top: 3px solid var(--red); background: var(--ink-2); }
.benefit > span { display: block; margin-bottom: 24px; color: rgba(255,255,255,.24); font: 900 2rem/1 var(--display); }
.benefit h3 { margin: 0 0 8px; font: 900 1.4rem/1 var(--display); text-transform: uppercase; }
.benefit p { margin: 0; color: var(--muted); font-size: .88rem; }
.activation-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 35px; background: var(--line); border: 1px solid var(--line); }
.activation { background: var(--ink); padding: 24px; }
.activation b, .activation span { display: block; }
.activation b { color: var(--red); font: 900 1.25rem/1 var(--display); text-transform: uppercase; }
.activation span { color: var(--muted); font-size: .8rem; margin-top: 6px; }
.team-photo { position: relative; overflow: hidden; }
.team-photo img { height: 100%; object-fit: cover; }
.team-role { color: var(--red); font-size: .63rem; font-weight: 900; text-transform: uppercase; letter-spacing: .13em; }
.team-copy h3 { margin: 5px 0; font: 900 1.6rem/1 var(--display); text-transform: uppercase; }
.team-copy p { color: var(--muted); font-size: .86rem; }
.tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-top: 40px; }
.tier { background: var(--ink-2); border: 1px solid var(--line); padding: 30px; }
.tier.featured { border-top: 4px solid var(--red); transform: translateY(-8px); }
.label { display: inline-block; padding: 5px 9px; background: var(--red); font-size: .6rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.tier h3 { margin: 15px 0 5px; font: 900 1.8rem/1 var(--display); text-transform: uppercase; }
.tier-intro { min-height: 105px; color: #dbe2e7; font-size: .9rem; }
.tier li { color: var(--muted); margin: 8px 0; font-size: .86rem; }
.partner-band { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.partner-pill { border: 1px solid var(--line); padding: 9px 13px; color: #dce3e8; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.gallery-pro { columns: 3 300px; column-gap: 3px; }
.gallery-pro figure { break-inside: avoid; margin: 0 0 3px; position: relative; cursor: zoom-in; overflow: hidden; border: 1px solid var(--line); }
.gallery-pro img { height: auto; transition: transform .5s ease; }
.gallery-pro figure:hover img { transform: scale(1.035); }
.gallery-pro figcaption { position: absolute; inset: auto 0 0; padding: 50px 18px 16px; background: linear-gradient(transparent, rgba(2,9,16,.94)); transform: translateY(100%); transition: transform .25s ease; font-size: .75rem; text-transform: uppercase; }
.gallery-pro figure:hover figcaption { transform: none; }
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; }
.gallery figure { margin: 0; position: relative; overflow: hidden; background: var(--ink-2); }
.gallery img { aspect-ratio: 4/3; object-fit: cover; }
.gallery figcaption { padding: 15px; color: var(--muted); }
.gallery-hero { background-position: center 46%; }
.records-hero {
  background-size: auto 112%;
  background-position: calc(50% - 2vw) 9vh;
  background-repeat: no-repeat;
  background-color: #315764;
}
.campaign-hero {
  background-position: center calc(50% + 9vh);
  background-repeat: no-repeat;
  background-color: #05090d;
}
.gallery-showcase { overflow: hidden; padding-bottom: 125px; }
.gallery-showcase-head { align-items: end; margin-bottom: 42px; }
.gallery-instructions { justify-self: end; max-width: 520px; }
.gallery-rail-controls { display: flex; align-items: center; gap: 16px; margin-top: 22px; }
.gallery-rail-controls span { color: var(--muted); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.gallery-rail-controls button {
  width: 50px;
  height: 50px;
  border: 1px solid var(--line-strong);
  background: var(--ink-2);
  color: #fff;
  font-size: 1.35rem;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.gallery-rail-controls button:hover,
.gallery-rail-controls button:focus-visible { border-color: var(--red); background: var(--red); outline: 0; }
.gallery-carousel { width: 100%; }
.gallery-track {
  display: flex;
  gap: 10px;
  width: 100%;
  padding: 0 max(4vw, calc((100vw - 1240px) / 2)) 18px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--red) rgba(255,255,255,.08);
  scrollbar-width: thin;
}
.gallery-track:focus-visible { outline: 2px solid var(--red); outline-offset: 6px; }
.gallery-track::-webkit-scrollbar { height: 7px; }
.gallery-track::-webkit-scrollbar-track { background: rgba(255,255,255,.07); }
.gallery-track::-webkit-scrollbar-thumb { background: var(--red); }
.gallery-slide {
  position: relative;
  flex: 0 0 clamp(340px, 62vw, 980px);
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  scroll-snap-align: center;
  cursor: zoom-in;
  border: 1px solid var(--line-strong);
  background: var(--ink-2);
}
.gallery-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(2,9,16,.92), transparent 43%);
  pointer-events: none;
}
.gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease, filter .5s ease;
}
.gallery-slide:hover img,
.gallery-slide:focus-visible img { transform: scale(1.025); filter: contrast(1.04); }
.gallery-slide:focus-visible { outline: 3px solid var(--red); outline-offset: -3px; }
.gallery-slide-portrait img { object-position: center 43%; }
.gallery-slide figcaption {
  position: absolute;
  z-index: 2;
  left: 26px;
  right: 26px;
  bottom: 22px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  text-transform: uppercase;
}
.gallery-slide figcaption span { color: var(--red); font: 900 .72rem/1 var(--display); letter-spacing: .14em; }
.gallery-slide figcaption b { color: #fff; font: 900 clamp(1.25rem, 2.3vw, 2.1rem)/1 var(--display); letter-spacing: .03em; text-align: right; }
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: none;
  grid-template-columns: 76px minmax(0, 1fr) 76px;
  align-items: center;
  gap: 18px;
  padding: 42px;
  background: rgba(0,0,0,.96);
}
.lightbox.open { display: grid; }
.lightbox-stage { display: grid; justify-items: center; min-width: 0; }
.lightbox img { max-width: 100%; max-height: 82vh; width: auto; height: auto; object-fit: contain; box-shadow: 0 22px 70px rgba(0,0,0,.5); }
.lightbox-close {
  position: absolute;
  right: 24px;
  top: 16px;
  width: 48px;
  height: 48px;
  color: #fff;
  background: transparent;
  border: 1px solid var(--line-strong);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}
.lightbox-arrow {
  width: 66px;
  height: 82px;
  border: 1px solid var(--line-strong);
  background: rgba(2,9,16,.82);
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.lightbox-arrow:hover,
.lightbox-arrow:focus-visible,
.lightbox-close:hover,
.lightbox-close:focus-visible { background: var(--red); border-color: var(--red); outline: 0; }
.lightbox-meta { display: flex; justify-content: space-between; gap: 28px; width: min(100%, 1200px); margin-top: 16px; color: #fff; text-transform: uppercase; }
.lightbox-meta p { margin: 0; font: 900 1rem/1 var(--display); letter-spacing: .07em; }
.lightbox-meta span { color: var(--red); font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: start; }
.contact-options { display: grid; gap: 1px; background: var(--line); margin-top: 35px; }
.contact-option { padding: 22px; background: var(--ink-2); }
.contact-option small { display: block; color: var(--red); text-transform: uppercase; letter-spacing: .12em; font-weight: 900; }
.contact-option b { font-size: 1rem; }
.contact-form { padding: 32px; border: 1px solid var(--line); border-top: 3px solid var(--red); background: var(--ink-2); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1/-1; }
.field label { color: #dbe2e7; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .11em; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line-strong); background: var(--ink); color: #fff; padding: 14px; border-radius: 0; }
.field textarea { min-height: 160px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--red); outline-offset: 1px; }
.form-note { color: var(--muted); font-size: .74rem; }
.form-note a {
  color: #fff;
  border-bottom: 1px solid var(--red);
}
.form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.form-status {
  min-height: 1.5em;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 800;
}
.form-status.success { color: #63d993; }
.form-status.error { color: #ff7183; }
.form-status a { color: #fff; border-bottom: 1px solid currentColor; }
.contact-form button[disabled] { opacity: .65; cursor: wait; transform: none; }
.form-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 1px solid var(--line); text-transform: uppercase; }
.form-head span { color: var(--red); font: 900 1.1rem/1 var(--display); }
.form-head b { font-size: .65rem; letter-spacing: .14em; }
.direct-email { display: grid; grid-template-columns: 1fr auto; gap: 2px 20px; align-items: center; margin-top: 18px; padding: 18px 20px; border: 1px solid var(--line); border-left: 3px solid var(--red); background: var(--ink-2); }
.direct-email small { color: var(--red); font-size: .61rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.direct-email strong { grid-column: 1; font-size: .86rem; }
.direct-email span { grid-column: 2; grid-row: 1 / 3; color: var(--red); font-size: 1.4rem; }

/* Campaign continuity and international leadership */
.continuity {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 50%, rgba(240, 20, 47, .11), transparent 28rem),
    linear-gradient(135deg, var(--ink-2), var(--ink));
  border-block: 1px solid var(--line);
}
.continuity::after {
  content: "ITALY · BRITAIN";
  position: absolute;
  right: -1.5vw;
  bottom: -1.6vw;
  color: rgba(255,255,255,.022);
  font: 900 clamp(5rem, 12vw, 12rem)/.8 var(--display);
  letter-spacing: -.035em;
  white-space: nowrap;
  pointer-events: none;
}
.continuity-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}
.continuity-grid-reverse { grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); }
.continuity-image {
  position: relative;
  min-height: 620px;
  margin: 0;
  overflow: hidden;
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
  border: 1px solid var(--line-strong);
  background: var(--ink-3);
}
.continuity-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(2,9,16,.95), transparent 48%);
  pointer-events: none;
}
.continuity-image img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.continuity-image figcaption {
  position: absolute;
  z-index: 2;
  left: 30px;
  right: 30px;
  bottom: 27px;
  text-transform: uppercase;
}
.continuity-image figcaption span,
.continuity-image figcaption b { display: block; }
.continuity-image figcaption span { color: var(--red); font-size: .62rem; font-weight: 900; letter-spacing: .15em; }
.continuity-image figcaption b { margin-top: 7px; font: 900 clamp(1.45rem, 2.5vw, 2.4rem)/1 var(--display); }
.continuity-copy .copy + .copy { margin-top: 17px; }
.continuity-proof {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 30px;
  border: 1px solid var(--line);
  background: var(--line);
}
.continuity-proof > div { min-height: 118px; padding: 20px; background: rgba(2,9,16,.94); border-top: 2px solid var(--red); }
.continuity-proof strong,
.continuity-proof span { display: block; }
.continuity-proof strong { font: 900 1.18rem/1 var(--display); text-transform: uppercase; }
.continuity-proof span { margin-top: 8px; color: var(--muted); font-size: .72rem; }
.continuity-proof-wide { grid-template-columns: repeat(4, 1fr); margin-top: 42px; }
.mechanic-profile { align-self: end; }
.mechanic-name {
  margin: 12px 0 22px;
  color: var(--white);
  font: 900 clamp(2.8rem, 4.4vw, 4.8rem)/.88 var(--display);
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.mechanic-name span { color: var(--red); }
.advisor-section { background: linear-gradient(135deg, var(--ink), var(--ink-2)); }
.advisor-section .continuity-grid { align-items: stretch; row-gap: 30px; }
.advisor-image { align-self: stretch; }
.advisor-image img { object-position: center 38%; }
.advisor-proof {
  grid-column: 1 / -1;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 0;
}
.advisor-proof > div {
  min-height: 112px;
  padding: 18px 16px;
}
.advisor-proof strong { font-size: 1.02rem; }
.advisor-proof span { font-size: .68rem; line-height: 1.45; }
.advisor-role {
  margin-top: 30px;
  padding: 20px 23px;
  border: 1px solid var(--line-strong);
  border-left: 3px solid var(--red);
  background: rgba(255,255,255,.025);
}
.advisor-role span,
.advisor-role strong { display: block; }
.advisor-role span { color: var(--red); font-size: .61rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.advisor-role strong { margin-top: 6px; font: 900 1.35rem/1 var(--display); text-transform: uppercase; }
.partner-continuity .continuity-image img { object-position: 48% center; }
.record-continuity .continuity-image img { object-position: center 45%; }
.technical-continuity .continuity-image img { object-position: center 42%; }

/* Records and team leadership */
.record-ledger { background: linear-gradient(135deg, var(--ink), var(--ink-2)); }
.record-table { margin-top: 42px; border-block: 1px solid var(--line-strong); }
.record-table-row { display: grid; grid-template-columns: .5fr 1.6fr 1.7fr .65fr; gap: 22px; align-items: center; min-height: 98px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.record-table-row:last-child { border-bottom: 0; }
.record-table-head { min-height: 46px; color: var(--muted); font-size: .61rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.record-table-row b { color: var(--red); font: 900 1.35rem/1 var(--display); }
.record-table-row > span { color: #d6dfe5; font-size: .87rem; }
.record-table-row > span:nth-child(2) { color: #fff; font-weight: 800; text-transform: uppercase; }
.record-table-row strong { justify-self: end; font: 900 clamp(2.2rem, 4vw, 4.5rem)/1 var(--display); }
.record-table-row:not(.record-table-head):hover { background: rgba(255,255,255,.025); }
.record-table-row.benchmark { opacity: .68; }
.team-hero { background-position: center 58%; }
.team-lead { align-items: start; }
.portrait-frame { position: relative; margin: 0; min-height: 700px; overflow: hidden; clip-path: polygon(28px 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%,0 28px); }
.portrait-frame::after { content: ""; position: absolute; inset: 18px; border: 1px solid var(--line-strong); pointer-events: none; }
.portrait-frame img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center 24%; filter: saturate(.8) contrast(1.05); }
.portrait-frame figcaption { position: absolute; inset: auto 0 0; padding: 90px 32px 28px; background: linear-gradient(transparent, rgba(2,9,16,.96)); text-transform: uppercase; }
.portrait-frame figcaption span, .portrait-frame figcaption b { display: block; }
.portrait-frame figcaption span { color: var(--red); font-size: .61rem; font-weight: 900; letter-spacing: .14em; }
.portrait-frame figcaption b { font: 900 2.1rem/1 var(--display); }
.team-quote { margin: 30px 0 0; padding: 22px 0 22px 24px; border-left: 3px solid var(--red); color: #fff; font: 900 1.6rem/1.12 var(--display); text-transform: uppercase; }

/* Championship calendar */
.championship-calendar {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(240,20,47,.08), transparent 34%),
    var(--ink);
}
.championship-calendar::before {
  content: "2026";
  position: absolute;
  right: -2vw;
  bottom: -7vw;
  color: rgba(255,255,255,.022);
  font: 900 24vw/1 var(--display);
  pointer-events: none;
}
.calendar-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  margin-top: 44px;
  border: 1px solid var(--line);
  background: var(--line);
}
.calendar-round {
  min-height: 300px;
  padding: 26px 22px;
  background: var(--ink-2);
  border-top: 3px solid var(--red);
}
.calendar-round > span {
  display: block;
  color: var(--red);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.calendar-round time {
  display: block;
  margin: 45px 0 22px;
  color: #fff;
  font: 900 clamp(2.2rem, 4vw, 4.2rem)/.82 var(--display);
  text-transform: uppercase;
}
.calendar-round h3 {
  margin: 0 0 10px;
  font: 900 1.45rem/1 var(--display);
  text-transform: uppercase;
}
.calendar-round p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}
.calendar-source {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.calendar-source p { margin: 0; max-width: 820px; color: var(--muted); font-size: .78rem; }
.calendar-source a {
  flex: 0 0 auto;
  color: #fff;
  border-bottom: 2px solid var(--red);
  padding-bottom: 5px;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Privacy and error pages */
.legal-page { padding-top: 155px; }
.legal-intro { max-width: 900px; margin-bottom: 60px; }
.legal-copy {
  max-width: 900px;
  display: grid;
  gap: 34px;
}
.legal-copy section { padding: 0; }
.legal-copy h2 {
  margin: 0 0 10px;
  color: #fff;
  font: 900 1.65rem/1 var(--display);
  text-transform: uppercase;
}
.legal-copy p, .legal-copy li { color: var(--muted); }
.legal-copy a { color: #fff; border-bottom: 1px solid var(--red); }
.error-page {
  min-height: 100svh;
  background: #01070c;
}
.error-main {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: center;
  isolation: isolate;
  background: url("web/head-on-dark-1600.webp") center / cover no-repeat;
}
.error-main::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(2,9,16,.98), rgba(2,9,16,.76) 48%, rgba(2,9,16,.3)),
    linear-gradient(0deg, #020910 0, transparent 45%, rgba(2,9,16,.55));
}
.error-copy { max-width: 760px; padding: 160px 0 90px; }
.error-code {
  color: var(--red);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.error-copy h1 {
  margin: .18em 0;
  font: 900 clamp(5rem, 11vw, 10rem)/.76 var(--display);
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.error-copy h1 span { color: var(--red); }
.error-copy p { max-width: 620px; color: #d8e0e6; font-size: clamp(1rem, 1.7vw, 1.25rem); }

/* Footer */
footer { padding: 42px 0; background: #01070c; border-top: 1px solid var(--line); color: var(--muted); }
.foot { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 40px; }
.footer-meta { display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; font-size: .67rem; text-transform: uppercase; letter-spacing: .08em; }
.footer-meta a { color: #dce3e8; transition: color .2s ease; }
.footer-meta a:hover { color: var(--red); }
.footer-social { display: inline-flex; align-items: center; gap: 9px; }
.social-link {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,.035);
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}
.social-link:hover,
.social-link:focus-visible {
  color: #fff;
  transform: translateY(-2px);
  filter: brightness(1.12);
}
.social-link-instagram {
  border-color: transparent;
  background:
    radial-gradient(circle at 30% 105%, #ffd600 0 18%, #ff7a00 34%, #ff0169 55%, #d300c5 74%, #7638fa 100%);
  box-shadow: 0 5px 18px rgba(211,0,197,.2);
}
.social-link-youtube {
  border-color: #f00;
  background: #f00;
  box-shadow: 0 5px 18px rgba(255,0,0,.2);
}
.social-link-facebook {
  border-color: #1877f2;
  background: #1877f2;
  box-shadow: 0 5px 18px rgba(24,119,242,.22);
}
.social-icon { position: relative; display: block; width: 17px; height: 17px; }
.social-icon-instagram {
  border: 2px solid currentColor;
  border-radius: 5px;
}
.social-icon-instagram::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  inset: 4px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.social-icon-instagram::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 2px;
  right: 2px;
  top: 2px;
  border-radius: 50%;
  background: currentColor;
}
.social-icon-youtube {
  width: 19px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 4px;
}
.social-icon-youtube::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 3px;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 5px solid currentColor;
}
.social-icon-facebook {
  border: 2px solid currentColor;
  border-radius: 50%;
}
.social-icon-facebook::before {
  content: "f";
  position: absolute;
  inset: -1px 0 0;
  font: 900 15px/17px Arial, sans-serif;
  text-align: center;
}
.error-social { margin-top: 28px; }
.back-top { color: #fff; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; border-bottom: 2px solid var(--red); padding-bottom: 4px; }

/* Motion */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .links { gap: 13px; }
  .links a { font-size: .64rem; }
  .nav-cta { display: none; }
  .hero-telemetry { max-width: 520px; }
  .record-feature { grid-template-columns: 330px 1fr; }
  .standard-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-proof { grid-template-columns: repeat(2, 1fr); }
  .calendar-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 860px) {
  header { background: rgba(2,9,16,.95); }
  nav { height: 76px; }
  nav { gap: 14px; }
  .menu { display: grid; grid-template-columns: 22px auto; }
  .menu span:nth-child(2) { grid-row: 2; }
  .menu i { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .links {
    display: none;
    position: absolute;
    top: 76px;
    left: 0;
    right: 0;
    padding: 15px 4vw 24px;
    flex-direction: column;
    align-items: stretch;
    background: rgba(2,9,16,.98);
    border-bottom: 2px solid var(--red);
  }
  .links.open { display: flex; }
  .links a { padding: 12px 0; font-size: .8rem; }
  .links a::after { bottom: 4px; }
  .language-current { min-width: 48px; height: 38px; padding: 0 8px; }
  .language-code { display: none; }
  .language-menu { top: calc(100% + 9px); }
  .home-intro {
    height: auto;
    display: block;
  }
  .home-intro .hero { min-height: 100svh; }
  .hero-content {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-content: space-between;
    padding: 100px 0 18px;
    gap: 24px;
  }
  .hero-copy { top: 0; align-self: auto; }
  .hero-telemetry { left: 0; bottom: 0; }
  .video-control { top: 90px; }
  .race-strip-grid { grid-template-columns: repeat(2, 1fr); }
  .manifesto-grid, .partner-stage-grid, .grid2, .section-head, .contact-layout { grid-template-columns: 1fr; }
  .continuity-grid, .continuity-grid-reverse { grid-template-columns: 1fr; }
  .continuity-image { min-height: 520px; }
  .advisor-proof { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .continuity-proof-wide { grid-template-columns: repeat(2, 1fr); }
  .cinematic-frame { min-height: 500px; }
  .record-feature { grid-template-columns: 1fr; }
  .record-number { border: 0; border-bottom: 1px solid var(--line); }
  .record-image { min-height: 390px; }
  .record-line { grid-template-columns: repeat(2, 1fr); }
  .equipment-list, .metric-grid { grid-template-columns: 1fr; }
  .press-grid, .benefits, .team-grid, .tiers { grid-template-columns: repeat(2, 1fr); }
  .activation-strip { grid-template-columns: repeat(2, 1fr); }
  .tier.featured { transform: none; }
  .media-split { grid-template-columns: 1fr; }
  .media-tile.tall { min-height: 440px; }
  .record-table-row { grid-template-columns: .4fr 1.5fr .65fr; }
  .record-table-row > span:nth-child(3) { display: none; }
  .record-table-row strong { font-size: 3rem; }
  .portrait-frame { min-height: 620px; }
  .boat-spec-shell { grid-template-columns: 1fr; }
  .boat-spec-lead { border-right: 0; border-bottom: 1px solid var(--line); }
  .gallery-instructions { justify-self: start; }
  .gallery-slide { flex-basis: min(78vw, 820px); }
  .lightbox { grid-template-columns: 58px minmax(0, 1fr) 58px; gap: 8px; padding: 68px 12px 26px; }
  .lightbox-arrow { width: 52px; height: 68px; }
  .foot { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .calendar-grid { grid-template-columns: repeat(2, 1fr); }
  .page-hero.team-hero { min-height: 0; padding-top: 76px; }
  .page-hero.team-hero .team-hero-copy {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 36px 0 52px;
  }
  .page-hero.team-hero h1 {
    max-width: 100%;
    font-size: clamp(2.8rem, 11vw, 4rem);
  }
  .page-hero.team-hero p { max-width: 42rem; }
}

@media (max-width: 560px) {
  .home header { position: sticky; top: 0; }
  .wrap { width: min(90vw, 480px); }
  .brand-main { font-size: 1.05rem; }
  .home-intro .hero {
    min-height: 100svh;
    margin-bottom: 188px;
    overflow: visible;
    background: var(--ink);
  }
  .home-intro .hero video {
    height: 100%;
    object-position: 56% center;
    transform: none;
  }
  .hero h1 {
    margin-block: .12em .16em;
    font-size: clamp(3rem, 15vw, 4rem);
    line-height: 1;
  }
  .hero-content {
    position: absolute;
    inset: 0;
    width: min(90vw, 480px);
    display: block;
    height: auto;
    padding: 0;
  }
  .hero-copy {
    position: absolute;
    top: 28px;
    left: 0;
    right: 0;
  }
  .hero-copy.reveal { opacity: 1; transform: none; }
  .hero-copy > p {
    max-width: 38ch;
    font-size: .9rem;
    line-height: 1.38;
  }
  .hero-copy .actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
  }
  .hero-copy .actions .btn {
    width: auto;
    min-height: 44px;
    height: auto;
    padding: 10px 9px;
    text-align: center;
    font-size: .52rem;
    line-height: 1.25;
  }
  .home-intro .race-strip-grid { grid-template-columns: 1fr; }
  .hero-telemetry dl { grid-template-columns: 1fr 1fr 1fr; }
  .hero-telemetry {
    position: absolute;
    top: calc(100% - 24px);
    left: 14px;
    bottom: auto;
    width: calc(100% - 14px);
    background: rgba(2, 9, 16, .97);
    backdrop-filter: blur(6px);
  }
  .hero-telemetry dl div { padding: 10px 9px 12px; }
  .hero-telemetry dd { font-size: 1.25rem; }
  .telemetry-head { padding: 9px 11px; }
  .telemetry-status { padding: 9px 11px; }
  .video-control, .scroll-cue { display: none; }
  .actions .btn { width: 100%; }
  .race-strip-grid, .standard-grid, .record-line, .partner-proof,
  .press-grid, .benefits, .team-grid, .tiers, .activation-strip,
  .feature-grid, .cards, .form-grid, .gallery,
  .continuity-proof, .continuity-proof-wide { grid-template-columns: 1fr; }
  .advisor-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .continuity-image { min-height: 390px; }
  .continuity-image figcaption { left: 20px; right: 20px; bottom: 20px; }
  .home-intro .race-strip-grid > div,
  .race-strip-grid > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 22px 0;
  }
  .race-strip-grid > div:first-child { border-left: 0; }
  section { padding: 80px 0; }
  .title {
    font-size: clamp(2.45rem, 12vw, 3.65rem);
    line-height: 1;
  }
  .cinematic-frame { min-height: 390px; }
  .record-number { padding: 32px 24px; }
  .record-number strong { font-size: 4.8rem; }
  .standard-card { min-height: 240px; }
  .standard-card h3 { margin-top: 50px; }
  .partner-stage-image { aspect-ratio: 4 / 3; }
  .partner-stage-image figcaption b { font-size: 1.15rem; }
  .final-cta {
    min-height: 570px;
    background-position: 55% center;
  }
  .page-hero { min-height: 100svh; }
  .page-hero .wrap { padding: 112px 0 64px; }
  .page-hero:not(.page-hero-partners) > .wrap > * { transform: none; }
  .page-hero h1 {
    max-width: 94%;
    font-size: clamp(2.7rem, 11.5vw, 3.8rem);
    font-weight: 700;
    line-height: 1;
  }
  .page-hero p {
    max-width: 95%;
    font-size: .9rem;
    line-height: 1.48;
  }
  .page-hero .eyebrow,
  .page-hero .kicker { font-weight: 800; }
  .page-hero-partners {
    min-height: 100svh;
    background-position: 38% center;
  }
  .page-hero-partners .wrap { padding: 112px 0 64px; }
  .page-hero-partners h1 {
    font-size: clamp(2.7rem, 11.5vw, 3.8rem);
    font-weight: 700;
  }
  .partner-hero-actions { margin-top: 18px; }
  .partner-hero-actions .btn { padding: 11px 15px; font-size: .64rem; }
  .page-hero-partners .legacy-livery-note { margin-top: 11px; font-size: .58rem; }
  .evidence-head { grid-template-columns: 1fr; margin-top: 58px; }
  .evidence-head .kicker { grid-column: auto; }
  .evidence-grid { grid-template-columns: 1fr; }
  .evidence-card { min-height: 235px; }
  .photo { min-height: 370px; }
  .timeline-row { grid-template-columns: 70px 18px 1fr; gap: 10px; }
  .timeline-year { font-size: 1.3rem; }
  .record-table-row { grid-template-columns: 1fr auto; gap: 7px 18px; padding-inline: 10px; }
  .record-table-head { display: none; }
  .record-table-row b { grid-column: 1; }
  .record-table-row > span:nth-child(2) { grid-column: 1; }
  .record-table-row strong { grid-column: 2; grid-row: 1 / 3; font-size: 2.5rem; }
  .portrait-frame { min-height: 520px; }
  .boat-cockpit-photo { min-height: 420px; }
  .boat-spec-grid { grid-template-columns: 1fr; }
  .boat-spec-code { font-size: 6rem; }
  .gallery-pro { columns: 1; }
  .gallery-showcase { padding-bottom: 90px; }
  .gallery-showcase-head { margin-bottom: 28px; }
  .gallery-rail-controls { justify-content: space-between; }
  .gallery-slide { flex-basis: 88vw; }
  .gallery-slide figcaption { left: 16px; right: 16px; bottom: 15px; }
  .gallery-slide figcaption b { font-size: 1.15rem; }
  .lightbox { display: none; grid-template-columns: 44px minmax(0, 1fr) 44px; padding-inline: 5px; }
  .lightbox.open { display: grid; }
  .lightbox-arrow { width: 42px; height: 58px; font-size: 1.35rem; }
  .lightbox-close { right: 12px; top: 10px; }
  .lightbox-meta { padding-inline: 8px; }
  .lightbox-meta p { font-size: .82rem; }
  .field.full { grid-column: auto; }
  .contact-form { padding: 22px; }
  .calendar-grid { grid-template-columns: 1fr; }
  .calendar-round { min-height: 220px; }
  .calendar-round time { margin: 30px 0 18px; }
  .calendar-source { align-items: flex-start; flex-direction: column; }
}

/* Short iPhone landscape view: keep the film, headline and telemetry visible
   without forcing the portrait stack into a shallow viewport. */
@media (orientation: landscape) and (max-width: 1000px) and (max-height: 600px) {
  header { background: rgba(2,9,16,.92); }
  nav { height: 64px; gap: 14px; }
  .links { display: none; }
  .links.open {
    display: flex;
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    padding: 12px 4vw 18px;
    flex-direction: column;
    align-items: stretch;
    background: rgba(2,9,16,.98);
    border-bottom: 2px solid var(--red);
  }
  .links a { padding: 9px 0; font-size: .72rem; }
  .menu {
    display: grid;
    grid-template-columns: 22px auto;
    margin-left: auto;
  }
  .menu span:nth-child(2) { grid-row: 2; }
  .menu i { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .language-current { min-width: 46px; height: 36px; padding: 0 8px; }
  .language-code { display: none; }
  .home-intro { height: auto; display: block; }
  .home-intro .hero { min-height: 100svh; margin-bottom: 0; overflow: hidden; }
  .home-intro .hero video { height: 100svh; object-position: 54% center; transform: none; }
  .hero-content {
    position: relative;
    inset: auto;
    width: 93vw;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 31vw);
    grid-template-rows: 1fr;
    align-content: stretch;
    align-items: end;
    height: 100%;
    padding: 76px 0 14px;
    gap: 24px;
  }
  .hero-copy { position: relative; top: 0; left: auto; right: auto; align-self: center; max-width: 600px; }
  .hero .eyebrow { font-size: .52rem; }
  .hero h1 {
    margin: .08em 0 .12em;
    font-size: clamp(2.8rem, 12vh, 4rem);
    line-height: .96;
  }
  .hero-copy > p {
    max-width: 58ch;
    font-size: .78rem;
    line-height: 1.3;
  }
  .hero-copy .actions { margin-top: 12px; gap: 8px; }
  .hero-copy .actions .btn {
    width: auto;
    height: 38px;
    padding-inline: 13px;
    font-size: .52rem;
  }
  .hero-telemetry {
    position: relative;
    top: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(2,9,16,.7);
  }
  .telemetry-head { padding: 8px 10px; }
  .hero-telemetry dl div { padding: 8px 8px 10px; }
  .hero-telemetry dd { font-size: 1.15rem; }
  .telemetry-status { padding: 8px 10px; }
  .video-control, .scroll-cue { display: none; }

  .page-hero,
  .page-hero-partners {
    min-height: 100svh;
    background-position: center;
  }
  .page-hero .wrap,
  .page-hero-partners .wrap {
    width: 93vw;
    padding: 78px 0 24px;
  }
  .page-hero:not(.page-hero-partners) > .wrap > * { transform: none; }
  .page-hero h1,
  .page-hero-partners h1 {
    max-width: 64vw;
    margin: .1em 0 .14em;
    font-size: clamp(2.2rem, 5.1vw, 3.25rem);
    font-weight: 700;
    line-height: .96;
  }
  .page-hero p,
  .page-hero-partners p {
    max-width: 52vw;
    font-size: .76rem;
    line-height: 1.34;
  }
  .partner-hero-actions { gap: 6px; margin-top: 12px; }
  .partner-hero-actions .btn { padding: 8px 11px; font-size: .54rem; }
  .page-hero-partners .legacy-livery-note {
    max-width: 54vw;
    margin-top: 8px;
    font-size: .48rem;
    line-height: 1.25;
  }
  .page-hero .eyebrow,
  .page-hero .kicker { font-size: .55rem; font-weight: 800; }
}

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