:root {
  --track-night: #07101e;
  --carbon-ink: #11171c;
  --moon-alloy: #c8cdd1;
  --garage-mist: #edf0ef;
  --ceramic-white: #f7f8f6;
  --apex-blue: #1947ff;
  --heat-trace: #ff4c37;
  --night: var(--track-night);
  --ink: var(--carbon-ink);
  --graphite: #263139;
  --muted: #65727b;
  --silver: var(--moon-alloy);
  --mist: var(--garage-mist);
  --paper: var(--ceramic-white);
  --white: #ffffff;
  --cobalt: var(--apex-blue);
  --cobalt-deep: #0c2ead;
  --brake: var(--heat-trace);
  --hairline: rgba(17, 23, 28, 0.16);
  --depth-surface:
    0 18px 46px rgba(7, 16, 30, 0.11),
    0 1px 0 rgba(255, 255, 255, 0.55);
  --depth-machine:
    0 34px 96px rgba(3, 8, 17, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --depth-floating:
    0 38px 100px rgba(3, 8, 17, 0.3),
    0 8px 24px rgba(3, 8, 17, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  --nova-control-compact: 44px;
  --nova-control: 48px;
  --nova-action: 56px;
  --nova-motion: 170ms;
  --header-height: 84px;
  --shell: min(1280px, calc(100vw - 96px));
  --display: "Arial Narrow", "Avenir Next Condensed", "Helvetica Neue", "PingFang SC", sans-serif;
  --body: "Avenir Next", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: "SFMono-Regular", "Roboto Mono", "Cascadia Mono", monospace;
  color-scheme: light;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 18px);
  background: var(--night);
}

body {
  margin: 0;
  min-width: min(320px, 100%);
  color: var(--ink);
  background: var(--paper);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

body::selection {
  color: var(--white);
  background: var(--cobalt);
}

img,
svg {
  display: block;
}

img {
  max-width: 100%;
}

.image-source {
  display: contents;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
select {
  cursor: pointer;
}

:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--night);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 10px 16px;
  color: var(--white);
  background: var(--cobalt);
  transform: translateY(-160%);
  transition: transform 180ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.shell {
  width: var(--shell);
  margin-inline: auto;
}

.section {
  position: relative;
  padding: clamp(100px, 10vw, 160px) 0;
  overflow: hidden;
  isolation: isolate;
}

.eyebrow {
  margin: 0 0 26px;
  color: rgba(255, 255, 255, 0.72);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.eyebrow--dark {
  color: var(--cobalt-deep);
}

.section-heading {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
  align-items: end;
  gap: clamp(40px, 8vw, 140px);
  margin-bottom: clamp(68px, 7vw, 110px);
  padding-top: 30px;
}

.section-heading .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -6px;
}

.section-heading h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(52px, 6.5vw, 104px);
  font-weight: 780;
  line-height: 0.94;
  letter-spacing: -0.07em;
}

.section-heading > p:last-child {
  max-width: 39rem;
  margin: 0 0 6px;
  color: var(--muted);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.75;
}

.section-heading--light h2 {
  color: var(--white);
}

.section-heading--light > p:last-child {
  color: rgba(255, 255, 255, 0.62);
}

.section-heading--split {
  align-items: end;
}

.section-heading--split .eyebrow {
  margin-bottom: 26px;
}

.section-heading--split h2 {
  white-space: nowrap;
}

.reveal {
  opacity: 1;
  transform: none;
}

.motion-ready .reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 700ms cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.motion-ready .reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Header */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: var(--header-height);
  padding: 0 clamp(24px, 4vw, 64px);
  color: var(--white);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  transition:
    color 240ms ease,
    background-color 240ms ease,
    border-color 240ms ease,
    min-height 240ms ease;
}

.site-header.is-scrolled {
  min-height: 68px;
  color: var(--white);
  background: rgba(5, 12, 22, 0.84);
  border-bottom-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 38px rgba(3, 8, 17, 0.22);
  backdrop-filter: blur(24px) saturate(1.15);
}

.brand {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 11px;
  width: max-content;
  font-family: var(--display);
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.18em;
}

.brand__mark {
  width: 30px;
  height: 23px;
}

.brand__mark path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-linejoin: bevel;
  stroke-width: 2.4;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(17px, 2.25vw, 35px);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.08em;
}

.site-nav > a {
  position: relative;
  padding: 30px 0;
}

.site-nav > a::after {
  position: absolute;
  right: 0;
  bottom: 23px;
  left: 0;
  height: 2px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 220ms ease;
}

.site-nav > a:hover::after,
.site-nav > a:focus-visible::after,
.site-nav > a[aria-current="location"]::after {
  transform: scaleX(1);
  transform-origin: left;
}

.site-header.is-scrolled .site-nav > a[aria-current="location"] {
  color: #9bb0ff;
}

.header-cta {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 19px;
  color: var(--ink);
  background: var(--white);
  font-size: 13px;
  font-weight: 700;
  transition:
    color 200ms ease,
    background 200ms ease;
}

.site-header.is-scrolled .header-cta {
  color: var(--white);
  background: var(--cobalt);
}

.header-cta:hover {
  color: var(--white);
  background: var(--cobalt-deep);
}

.header-cta[aria-current="location"] {
  color: var(--white);
  background: var(--brake);
}

.site-nav__meta {
  display: none;
}

.menu-toggle {
  display: none;
}

/* Signature scroll arc */
.apex-rail {
  position: fixed;
  top: 0;
  right: -70px;
  z-index: 80;
  width: 155px;
  height: 100vh;
  pointer-events: none;
}

.apex-rail__base,
.apex-rail__progress {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.apex-rail__base {
  stroke: rgba(126, 137, 146, 0.42);
  stroke-width: 1;
}

.apex-rail__progress {
  stroke: var(--brake);
  stroke-linecap: round;
  stroke-width: 3;
  filter: drop-shadow(0 0 8px rgba(255, 76, 55, 0.48));
}

.apex-rail__ticks {
  fill: none;
  stroke: rgba(126, 137, 146, 0.72);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

/* Hero */
.hero {
  --hero-depth: 0;
  position: relative;
  min-height: max(720px, 100svh);
  overflow: hidden;
  color: var(--white);
  background: var(--night);
  isolation: isolate;
}

.hero::before,
.hero::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
  pointer-events: none;
}

.hero::before {
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(255, 255, 255, 0.08) 12.06%, transparent 12.13%),
    linear-gradient(90deg, transparent 0 61.8%, rgba(25, 71, 255, 0.2) 61.88%, transparent 61.98%),
    linear-gradient(180deg, transparent 0 66%, rgba(255, 76, 55, 0.26) 66.08%, transparent 66.17%);
  opacity: 0.62;
  mask-image: linear-gradient(180deg, transparent 7%, #000 28%, #000 82%, transparent 100%);
}

.hero::after {
  background:
    radial-gradient(circle at 77% 70%, rgba(25, 71, 255, 0.16), transparent 27%),
    linear-gradient(180deg, transparent 58%, rgba(3, 8, 17, 0.12) 68%, rgba(3, 8, 17, 0.68) 100%);
}

.hero__image,
.hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero__image {
  z-index: 0;
  object-fit: cover;
  object-position: 58% center;
  filter: saturate(0.9) contrast(1.03);
  transform: translate3d(0, calc(var(--hero-depth) * 26px), 0) scale(1.045);
  transition:
    filter 650ms ease,
    transform 120ms linear;
}

body[data-mode="daily"] .hero__image {
  filter: saturate(0.58) brightness(1.08);
}

body[data-mode="gt"] .hero__image {
  filter: saturate(0.9) contrast(1.03);
}

body[data-mode="track"] .hero__image {
  filter: saturate(1.12) contrast(1.12) brightness(0.88);
}

.hero__shade {
  z-index: 1;
  background:
    radial-gradient(circle at 72% 57%, transparent 0 16%, rgba(3, 8, 17, 0.1) 42%, rgba(3, 8, 17, 0.34) 78%),
    linear-gradient(90deg, rgba(3, 8, 17, 0.93) 0%, rgba(4, 10, 19, 0.62) 34%, rgba(4, 10, 19, 0.08) 69%),
    linear-gradient(180deg, rgba(3, 9, 18, 0.43) 0%, transparent 36%, rgba(3, 9, 18, 0.62) 100%);
}

.hero__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: max(720px, 100svh);
  padding: calc(var(--header-height) + 52px) 0 210px;
  transform: translate3d(0, calc(var(--hero-depth) * -14px), 0);
  transition: transform 120ms linear;
}

.hero__content::before {
  position: absolute;
  top: 25%;
  bottom: 29%;
  left: -26px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.5) 24%, var(--brake) 62%, transparent);
  box-shadow: 0 0 18px rgba(255, 76, 55, 0.18);
  content: "";
  pointer-events: none;
}

.hero__content .eyebrow {
  transition-delay: 100ms;
}

.hero__title {
  max-width: 760px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(70px, 9vw, 150px);
  font-weight: 800;
  line-height: 0.83;
  letter-spacing: -0.08em;
  text-shadow: 0 18px 46px rgba(0, 0, 0, 0.3);
  transition-delay: 160ms;
}

.hero__title span {
  display: block;
}

.hero__title span:last-child {
  margin-left: 0.58em;
  color: rgba(255, 255, 255, 0.06);
  -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.92);
}

.hero__lede {
  max-width: 520px;
  margin: 36px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: clamp(16px, 1.5vw, 20px);
  transition-delay: 220ms;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 38px;
  transition-delay: 280ms;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 38px;
  min-height: 56px;
  padding: 0 25px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 720;
  line-height: 1;
  transition:
    color 220ms ease,
    background 220ms ease,
    border-color 220ms ease,
    transform 220ms ease;
}

.button svg {
  width: 20px;
  height: 20px;
}

.button path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-width: 1.5;
}

.button:hover {
  transform: translateY(-2px);
}

.button--primary {
  color: var(--white);
  background: var(--cobalt);
  box-shadow: 0 16px 38px rgba(25, 71, 255, 0.28);
}

.button--primary:hover {
  background: var(--cobalt-deep);
}

.button--ghost {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(7, 16, 30, 0.12);
  backdrop-filter: blur(8px);
}

.button--ghost:hover {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.12);
}

.drive-mode {
  position: absolute;
  right: max(8vw, calc((100vw - 1280px) / 2));
  bottom: 62px;
  z-index: 4;
  width: min(390px, 34vw);
  padding: 22px 24px 20px;
  color: var(--white);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.07), transparent 34%),
    rgba(5, 13, 24, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-top: 2px solid var(--cobalt);
  box-shadow: var(--depth-floating);
  backdrop-filter: blur(22px) saturate(1.12);
  transform: translate3d(0, calc(var(--hero-depth) * -8px), 0);
  transition: transform 120ms linear;
}

.drive-mode__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
}

.drive-mode__head strong {
  color: var(--brake);
  font-size: 13px;
}

.drive-mode__buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid rgba(255, 255, 255, 0.24);
}

.drive-mode__buttons button {
  min-height: 44px;
  color: rgba(255, 255, 255, 0.56);
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 12px;
}

.drive-mode__buttons button:last-child {
  border-right: 0;
}

.drive-mode__buttons button[aria-pressed="true"] {
  color: var(--white);
  background: linear-gradient(135deg, var(--cobalt-deep), #173bd1);
}

.drive-mode__note {
  min-height: 42px;
  margin: 16px 0 14px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  line-height: 1.7;
}

.drive-mode__numbers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.drive-mode__numbers div:last-child {
  padding-left: 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.drive-mode__numbers dt {
  color: rgba(255, 255, 255, 0.47);
  font-size: 10px;
}

.drive-mode__numbers dd {
  margin: 3px 0 0;
  font-family: var(--mono);
  font-size: 22px;
}

.drive-mode__numbers small {
  margin-left: 5px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 10px;
}

.scroll-cue {
  position: absolute;
  bottom: 60px;
  left: clamp(24px, 4vw, 64px);
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 18px;
  color: rgba(255, 255, 255, 0.6);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  writing-mode: vertical-rl;
}

.scroll-cue i {
  position: relative;
  display: block;
  width: 1px;
  height: 68px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.25);
}

.scroll-cue i::after {
  position: absolute;
  inset: 0 0 auto;
  height: 24px;
  background: var(--white);
  content: "";
  animation: scroll-line 1.8s ease-in-out infinite;
}

@keyframes scroll-line {
  0% { transform: translateY(-26px); }
  70%, 100% { transform: translateY(70px); }
}

/* Brand code */
.brand-code {
  color: var(--ink);
  background:
    linear-gradient(110deg, rgba(255, 255, 255, 0.28), transparent 38%),
    var(--moon-alloy);
}

.brand-code::after {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent 0,
    transparent calc(25% - 1px),
    rgba(17, 23, 28, 0.045) 25%
  );
  content: "";
  pointer-events: none;
}

.brand-code .shell {
  position: relative;
  z-index: 1;
}

.brand-code__intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  margin-bottom: clamp(64px, 8vw, 118px);
}

.brand-code__promise {
  justify-self: end;
  max-width: 520px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(34px, 4.5vw, 66px);
  font-weight: 730;
  line-height: 0.98;
  letter-spacing: -0.065em;
}

.brand-code__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: clamp(54px, 8vw, 126px);
  align-items: center;
}

.brand-emblem {
  position: relative;
  min-height: 620px;
  padding: clamp(28px, 4vw, 58px);
  color: var(--white);
  background: var(--track-night);
  overflow: hidden;
}

.brand-emblem::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.07), transparent 42%),
    repeating-linear-gradient(0deg, transparent 0 78px, rgba(255, 255, 255, 0.04) 79px);
  content: "";
}

.brand-emblem svg {
  position: relative;
  width: 100%;
  height: 440px;
}

.brand-emblem__path,
.brand-emblem__trace {
  fill: none;
  stroke-linecap: square;
  stroke-linejoin: bevel;
}

.brand-emblem__path {
  stroke: rgba(255, 255, 255, 0.18);
  stroke-width: 11;
}

.brand-emblem__trace {
  stroke: var(--apex-blue);
  stroke-width: 5;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: drop-shadow(0 0 10px rgba(25, 71, 255, 0.45));
  transition: stroke-dashoffset 1.6s cubic-bezier(0.2, 0.75, 0.2, 1) 200ms;
}

.brand-emblem.is-visible .brand-emblem__trace {
  stroke-dashoffset: 0;
}

.brand-emblem__points circle {
  fill: var(--heat-trace);
  stroke: var(--track-night);
  stroke-width: 8;
}

.brand-emblem__legend {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 5px 24px;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.brand-emblem__legend strong {
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 48px);
  letter-spacing: -0.04em;
}

.brand-emblem__legend span,
.brand-emblem__legend p {
  color: rgba(255, 255, 255, 0.52);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.brand-emblem__legend p {
  grid-column: 1 / -1;
  margin: 0;
}

.brand-story__origin {
  margin: 0 0 30px;
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.brand-story h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(50px, 5.7vw, 88px);
  font-weight: 760;
  line-height: 0.95;
  letter-spacing: -0.075em;
}

.brand-story > p:not(.brand-story__origin) {
  max-width: 620px;
  margin: 38px 0 0;
  color: var(--graphite);
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.85;
}

.brand-story blockquote {
  margin: 46px 0 0;
  padding: 22px 0 22px 26px;
  border-left: 3px solid var(--apex-blue);
  font-family: var(--display);
  font-size: clamp(22px, 2.5vw, 34px);
  font-weight: 680;
  line-height: 1.35;
  letter-spacing: -0.035em;
}

.brand-principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: clamp(76px, 10vw, 144px);
  border-top: 1px solid rgba(17, 23, 28, 0.24);
  border-bottom: 1px solid rgba(17, 23, 28, 0.24);
}

.brand-principles article {
  min-height: 220px;
  padding: 30px clamp(20px, 3vw, 42px) 34px 0;
  border-right: 1px solid rgba(17, 23, 28, 0.2);
}

.brand-principles article:not(:first-child) {
  padding-left: clamp(20px, 3vw, 42px);
}

.brand-principles article:last-child {
  border-right: 0;
}

.brand-principles span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.brand-principles h3 {
  margin: 54px 0 9px;
  font-family: var(--display);
  font-size: clamp(25px, 2.5vw, 36px);
  letter-spacing: -0.045em;
}

.brand-principles p {
  max-width: 270px;
  margin: 0;
  color: rgba(17, 23, 28, 0.76);
  font-size: 12px;
}

.brand-palette {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 34px;
}

.brand-palette > span {
  position: relative;
  min-height: 98px;
  padding: 57px 16px 12px;
  color: var(--ink);
  border-right: 1px solid rgba(17, 23, 28, 0.14);
  font-size: 10px;
}

.brand-palette > span::before {
  position: absolute;
  inset: 0 0 auto;
  height: 44px;
  background: var(--brand-color);
  border: 1px solid rgba(17, 23, 28, 0.12);
  content: "";
}

.brand-palette b,
.brand-palette small {
  display: block;
}

.brand-palette b {
  font-weight: 700;
}

.brand-palette small {
  margin-top: 2px;
  color: rgba(17, 23, 28, 0.72);
  font-family: var(--mono);
  font-size: 10px;
}

/* Performance */
.performance {
  background:
    radial-gradient(circle at 86% 9%, rgba(25, 71, 255, 0.09), transparent 29%),
    linear-gradient(90deg, transparent 0 49.95%, rgba(17, 23, 28, 0.04) 50%, transparent 50.05%),
    var(--mist);
}

.power-curve {
  position: relative;
  min-height: 560px;
  padding: clamp(42px, 5vw, 74px);
  color: var(--white);
  background: var(--night);
  overflow: hidden;
}

.power-curve::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 36%;
  height: 3px;
  background: var(--brake);
  content: "";
}

.power-curve__meta {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.11em;
}

.power-curve__meta span {
  color: rgba(255, 255, 255, 0.5);
}

.power-curve__meta strong {
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 500;
  letter-spacing: -0.05em;
}

.power-curve__chart {
  position: relative;
}

.power-curve svg {
  width: 100%;
  margin: 10px auto -28px;
  overflow: visible;
}

.power-curve__grid path {
  fill: none;
  stroke: rgba(255, 255, 255, 0.1);
  stroke-width: 1;
}

.power-curve__line {
  fill: none;
  stroke: var(--cobalt);
  stroke-linecap: round;
  stroke-width: 6;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: drop-shadow(0 0 10px rgba(25, 71, 255, 0.48));
  transition: stroke-dashoffset 1.4s cubic-bezier(0.18, 0.72, 0.18, 1);
}

.power-curve.is-visible .power-curve__line {
  stroke-dashoffset: 0;
}

.power-curve__fill {
  fill: var(--cobalt);
  opacity: 0.08;
}

.power-curve__labels {
  fill: rgba(255, 255, 255, 0.42);
  font-family: var(--mono);
  font-size: 13px;
}

.power-probe {
  position: absolute;
  top: 7%;
  bottom: 12%;
  left: var(--probe);
  z-index: 2;
  width: 1px;
  pointer-events: none;
  transform: translateX(-50%);
}

.power-probe i {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.58) 18%, rgba(255, 255, 255, 0.58) 82%, transparent);
}

.power-probe b {
  position: absolute;
  top: var(--probe-y);
  left: 50%;
  width: 15px;
  height: 15px;
  background: var(--brake);
  border: 4px solid var(--night);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--brake), 0 0 20px rgba(255, 76, 55, 0.55);
  transform: translate(-50%, -50%);
}

.curve-callout {
  position: absolute;
  right: 6.5%;
  bottom: 15%;
  padding: 8px 12px;
  color: rgba(255, 255, 255, 0.66);
  background: rgba(255, 255, 255, 0.07);
  font-size: 11px;
}

.power-scrubber {
  position: relative;
  z-index: 3;
  margin-top: 22px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.power-scrubber__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  font-size: 12px;
}

.power-scrubber__head label {
  font-weight: 700;
}

.power-scrubber__head span {
  color: rgba(255, 255, 255, 0.42);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.power-scrubber > input[type="range"] {
  width: 100%;
  height: 44px;
  margin: 9px 0 0;
  appearance: none;
  background: transparent;
}

.power-scrubber > input[type="range"]::-webkit-slider-runnable-track {
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--cobalt) 0 var(--range-fill, 42%),
    rgba(255, 255, 255, 0.2) var(--range-fill, 42%) 100%
  );
}

.power-scrubber > input[type="range"]::-webkit-slider-thumb {
  width: 22px;
  height: 22px;
  margin-top: -9px;
  appearance: none;
  background: var(--white);
  border: 6px solid var(--cobalt);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--white);
}

.power-scrubber > input[type="range"]::-moz-range-track {
  height: 3px;
  background: rgba(255, 255, 255, 0.2);
}

.power-scrubber > input[type="range"]::-moz-range-progress {
  height: 3px;
  background: var(--cobalt);
}

.power-scrubber > input[type="range"]::-moz-range-thumb {
  width: 12px;
  height: 12px;
  background: var(--white);
  border: 6px solid var(--cobalt);
  border-radius: 50%;
}

.power-scrubber > p {
  margin: -3px 0 18px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
}

.power-scrubber__readout {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.power-scrubber__readout > div {
  padding: 17px 24px 0 0;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.power-scrubber__readout > div:not(:first-child) {
  padding-left: 24px;
}

.power-scrubber__readout > div:last-child {
  border-right: 0;
}

.power-scrubber__readout dt {
  color: rgba(255, 255, 255, 0.48);
  font-size: 10px;
}

.power-scrubber__readout dd {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 8px 0 0;
}

.power-scrubber__readout strong {
  font-family: var(--mono);
  font-size: clamp(26px, 3.2vw, 44px);
  font-weight: 400;
  letter-spacing: -0.06em;
}

.power-scrubber__readout dd span {
  color: rgba(255, 255, 255, 0.48);
  font-size: 10px;
}

.spec-context {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 23px 0;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.spec-context > span,
.spec-context > p {
  color: var(--muted);
}

.spec-context strong {
  color: var(--cobalt);
  font-size: 14px;
}

.spec-context p {
  margin: 0;
  text-align: right;
}

.mode-sync {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 4px;
  border: 1px solid var(--hairline);
}

.mode-sync button {
  min-height: 48px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hairline);
  font-size: 11px;
  font-weight: 700;
}

.mode-sync button:last-child {
  border-right: 0;
}

.mode-sync button[aria-pressed="true"] {
  color: var(--white);
  background: var(--cobalt);
}

.spec-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  border-bottom: 1px solid var(--hairline);
}

.spec-row > div {
  padding: 48px 0 46px;
  border-right: 1px solid var(--hairline);
}

.spec-row > div:not(:first-child) {
  padding-left: clamp(24px, 4vw, 62px);
}

.spec-row > div:last-child {
  border-right: 0;
}

.spec-row dt {
  margin-bottom: 17px;
  color: var(--muted);
  font-size: 12px;
}

.spec-row dd {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
}

.spec-row strong {
  font-family: var(--mono);
  font-size: clamp(42px, 5vw, 78px);
  font-weight: 450;
  line-height: 1;
  letter-spacing: -0.07em;
}

.spec-row dd span {
  color: var(--muted);
  font-size: 13px;
}

.spec-details {
  border-bottom: 1px solid var(--hairline);
}

.spec-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 26px 0;
  list-style: none;
  font-size: 14px;
  font-weight: 700;
}

.spec-details summary::-webkit-details-marker {
  display: none;
}

.spec-details summary span {
  font-size: 24px;
  font-weight: 300;
  transition: transform 200ms ease;
}

.spec-details[open] summary span {
  transform: rotate(45deg);
}

.spec-details__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 80px;
  padding: 12px 0 36px;
}

.spec-details__grid p {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin: 0;
  padding: 17px 0;
  border-top: 1px solid var(--hairline);
  font-size: 13px;
}

.spec-details__grid span {
  color: var(--muted);
}

/* Chassis */
.section--night {
  color: var(--white);
  background: #091526;
}

.chassis__arc {
  position: absolute;
  top: -280px;
  right: -230px;
  width: min(72vw, 1050px);
  aspect-ratio: 1;
  border: clamp(55px, 8vw, 120px) solid rgba(25, 71, 255, 0.78);
  border-left-color: rgba(25, 71, 255, 0.12);
  border-radius: 50%;
  pointer-events: none;
  transform: rotate(-17deg);
}

.chassis__lead {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 80px;
  margin-bottom: 90px;
}

.chassis__lead > p {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.7;
}

.latency-mark {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 26px;
}

.latency-mark > span {
  padding-bottom: 11px;
  color: rgba(255, 255, 255, 0.45);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.latency-mark strong {
  font-family: var(--mono);
  font-size: clamp(58px, 8vw, 118px);
  font-weight: 350;
  line-height: 0.8;
  letter-spacing: -0.08em;
}

.latency-mark small {
  margin-left: 9px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
  letter-spacing: 0;
}

.apex-lab {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
  margin-bottom: 90px;
  background: rgba(4, 10, 18, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.18);
  overflow: hidden;
}

.apex-lab__visual {
  position: relative;
  min-height: 560px;
  padding: 28px;
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(255, 255, 255, 0.035) 50%, transparent 50.1%),
    repeating-linear-gradient(0deg, transparent 0 78px, rgba(255, 255, 255, 0.035) 79px);
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.apex-lab__visual-head {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  color: rgba(255, 255, 255, 0.48);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.apex-lab__visual-head strong {
  font-weight: 500;
}

.apex-lab__visual-head b {
  margin-left: 6px;
  color: var(--brake);
}

.apex-lab__visual svg {
  width: 100%;
  margin-top: 38px;
  overflow: visible;
}

.apex-lab__route,
.apex-lab__route-progress {
  fill: none;
  stroke-linecap: round;
  stroke-width: 5;
}

.apex-lab__route {
  stroke: rgba(255, 255, 255, 0.14);
}

.apex-lab__route-progress {
  stroke: var(--heat-trace);
  filter: drop-shadow(0 0 9px rgba(255, 76, 55, 0.42));
}

.apex-lab__markers circle {
  fill: var(--track-night);
  stroke: rgba(255, 255, 255, 0.52);
  stroke-width: 2;
}

.apex-lab__markers text {
  fill: rgba(255, 255, 255, 0.46);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
}

.apex-lab__vehicle {
  fill: var(--apex-blue);
  stroke: var(--white);
  stroke-width: 2;
  filter: drop-shadow(0 0 12px rgba(25, 71, 255, 0.85));
}

.apex-lab__vehicle-line {
  fill: none;
  stroke: rgba(255, 255, 255, 0.72);
  stroke-width: 1;
}

.apex-lab__control {
  display: flex;
  flex-direction: column;
  padding: clamp(32px, 4vw, 58px);
}

.apex-lab__slider-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  font-size: 12px;
  font-weight: 700;
}

.apex-lab__slider-head span {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 13px;
}

.apex-lab__control > input[type="range"] {
  width: 100%;
  height: 48px;
  margin: 9px 0 0;
  appearance: none;
  background: transparent;
}

.apex-lab__control > input[type="range"]::-webkit-slider-runnable-track {
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--heat-trace) 0 var(--range-fill, 50%),
    rgba(255, 255, 255, 0.22) var(--range-fill, 50%) 100%
  );
}

.apex-lab__control > input[type="range"]::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  margin-top: -10px;
  appearance: none;
  background: var(--track-night);
  border: 7px solid var(--white);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--heat-trace);
}

.apex-lab__control > input[type="range"]::-moz-range-track {
  height: 3px;
  background: rgba(255, 255, 255, 0.22);
}

.apex-lab__control > input[type="range"]::-moz-range-progress {
  height: 3px;
  background: var(--heat-trace);
}

.apex-lab__control > input[type="range"]::-moz-range-thumb {
  width: 12px;
  height: 12px;
  background: var(--track-night);
  border: 7px solid var(--white);
  border-radius: 50%;
}

.apex-lab__ticks {
  display: flex;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.38);
  font-family: var(--mono);
  font-size: 10px;
}

.apex-lab__instruction {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
}

.apex-lab__readout {
  margin-top: auto;
  padding-top: 46px;
}

.apex-lab__readout > span {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.apex-lab__readout h3 {
  margin: 17px 0 12px;
  font-family: var(--display);
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.05em;
}

.apex-lab__readout > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 12px;
}

.apex-lab__readout dl {
  margin: 34px 0 0;
}

.apex-lab__readout dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 10px;
}

.apex-lab__readout dt {
  color: rgba(255, 255, 255, 0.42);
}

.apex-lab__readout dd {
  margin: 0;
  font-family: var(--mono);
}

.systems-list {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.systems-list article {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  align-items: center;
  gap: 26px;
  min-height: 156px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.systems-list__index {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 12px;
}

.systems-list h3 {
  margin: 0 0 5px;
  font-family: var(--display);
  font-size: clamp(24px, 3vw, 38px);
  letter-spacing: -0.04em;
}

.systems-list p {
  margin: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
}

.systems-list article > strong {
  font-family: var(--mono);
  font-size: clamp(20px, 2.4vw, 34px);
  font-weight: 400;
  letter-spacing: -0.05em;
}

/* Design viewer */
.design {
  background:
    radial-gradient(circle at 88% 12%, rgba(25, 71, 255, 0.075), transparent 28%),
    var(--paper);
}

.design-viewer__stage {
  position: relative;
  height: min(68vw, 770px);
  min-height: 530px;
  overflow: hidden;
  background: var(--night);
}

.design-viewer__stage::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 50%, rgba(3, 8, 15, 0.78) 100%);
  content: "";
  pointer-events: none;
}

.design-viewer__stage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
  transition:
    object-position 700ms cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1),
    filter 700ms ease;
}

.design-viewer__stage[data-view="profile"] img {
  object-position: 58% center;
}

.design-viewer__stage[data-view="aero"] img {
  object-position: 32% 58%;
  transform: scale(1.28);
  filter: contrast(1.06) saturate(0.78);
}

.design-viewer__stage[data-view="light"] img {
  object-position: 84% 54%;
  transform: scale(1.38);
  filter: contrast(1.1) brightness(0.72) saturate(1.2);
}

.design-viewer__target {
  position: absolute;
  top: 51%;
  left: 64%;
  z-index: 2;
  width: 18px;
  height: 18px;
  border: 1px solid var(--white);
  border-radius: 50%;
  box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.13);
  transition: inset 600ms ease;
}

.design-viewer__target::after {
  position: absolute;
  top: 50%;
  left: 18px;
  width: 90px;
  height: 1px;
  background: rgba(255, 255, 255, 0.7);
  content: "";
}

.design-viewer__stage[data-view="aero"] .design-viewer__target {
  top: 60%;
  left: 43%;
}

.design-viewer__stage[data-view="light"] .design-viewer__target {
  top: 56%;
  left: 79%;
}

.design-viewer__callout {
  position: absolute;
  right: 5%;
  bottom: 9%;
  z-index: 3;
  width: min(320px, 30%);
  color: var(--white);
}

.design-viewer__callout span {
  color: rgba(255, 255, 255, 0.55);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.13em;
}

.design-viewer__callout strong {
  display: block;
  margin: 12px 0 15px;
  font-family: var(--mono);
  font-size: clamp(38px, 5vw, 74px);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.07em;
}

.design-viewer__callout p {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
}

.design-viewer__controls {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--hairline);
  border-top: 0;
}

.design-viewer__controls button {
  min-height: 70px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hairline);
  font-size: 13px;
  font-weight: 700;
  transition:
    color 180ms ease,
    background 180ms ease;
}

.design-viewer__controls button:last-child {
  border-right: 0;
}

.design-viewer__controls button[aria-pressed="true"] {
  color: var(--white);
  background: var(--cobalt);
}

.material-study {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
  margin-top: clamp(72px, 9vw, 130px);
  color: var(--ink);
  border: 1px solid var(--hairline);
}

.material-study__image {
  position: relative;
  min-height: 760px;
  margin: 0;
  overflow: hidden;
  background: var(--track-night);
}

.material-study__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 63% center;
  transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.material-study:hover .material-study__image img {
  transform: scale(1.025);
}

.material-study__image figcaption {
  position: absolute;
  right: 20px;
  bottom: 20px;
  padding: 9px 12px;
  color: rgba(255, 255, 255, 0.7);
  background: rgba(7, 16, 30, 0.68);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  backdrop-filter: blur(10px);
}

.material-study__copy {
  padding: clamp(42px, 5vw, 74px);
  background: var(--ceramic-white);
}

.material-study__copy h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(46px, 5.1vw, 78px);
  line-height: 0.96;
  letter-spacing: -0.07em;
}

.material-study__copy > p:not(.eyebrow) {
  margin: 30px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.finish-picker {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 42px;
}

.finish-picker button {
  position: relative;
  min-width: 0;
  min-height: 78px;
  padding: 49px 5px 7px;
  color: var(--muted);
  background: transparent;
  border: 1px solid var(--hairline);
  font-size: 10px;
}

.finish-picker button::before {
  position: absolute;
  top: 9px;
  left: 50%;
  width: 29px;
  height: 29px;
  background: var(--finish);
  border: 1px solid rgba(17, 23, 28, 0.2);
  border-radius: 50%;
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.18);
  content: "";
  transform: translateX(-50%);
}

.finish-picker button[aria-pressed="true"] {
  color: var(--ink);
  border-color: var(--cobalt);
  box-shadow: inset 0 -3px 0 var(--cobalt);
}

.finish-readout {
  margin-top: 20px;
  padding: 22px 0 24px;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}

.finish-readout > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
}

.finish-readout strong {
  font-family: var(--display);
  font-size: 25px;
  letter-spacing: -0.035em;
}

.finish-readout span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 10px;
}

.finish-readout p {
  min-height: 42px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.material-ledger {
  margin: 24px 0 0;
}

.material-ledger > div {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid var(--hairline);
  font-size: 10px;
}

.material-ledger dt {
  color: var(--muted);
}

.material-ledger dd {
  margin: 0;
  font-weight: 650;
}

/* Range */
.range {
  background:
    radial-gradient(circle at 14% 10%, rgba(255, 255, 255, 0.72), transparent 31%),
    linear-gradient(145deg, rgba(25, 71, 255, 0.045), transparent 44%),
    #e4e8e7;
}

.range-map {
  position: relative;
  min-height: 430px;
  padding: 68px clamp(30px, 5vw, 76px) 46px;
  background: var(--paper);
  border: 1px solid rgba(17, 23, 28, 0.09);
}

.range-map__route {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.12em;
}

.range-map__route i {
  position: absolute;
  top: 50%;
  right: 46px;
  left: 46px;
  height: 2px;
  background: var(--silver);
}

.range-map__route i::before,
.range-map__route i::after {
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  background: var(--cobalt);
  border: 4px solid var(--paper);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--cobalt);
  content: "";
  transform: translateY(-50%);
}

.range-map__route i::before { left: 0; }
.range-map__route i::after { right: 0; background: var(--brake); box-shadow: 0 0 0 1px var(--brake); }

.range-map__number {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 24px;
  margin-top: 50px;
}

.range-map__number strong {
  font-family: var(--mono);
  font-size: clamp(108px, 17vw, 250px);
  font-weight: 350;
  line-height: 0.8;
  letter-spacing: -0.1em;
}

.range-map__number > span {
  max-width: 100px;
  padding-bottom: 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.range-map__ticks {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
  color: var(--muted);
  border-top: 1px solid var(--hairline);
  font-family: var(--mono);
  font-size: 10px;
}

.range-map__ticks span {
  position: relative;
  padding-top: 13px;
}

.range-map__ticks span::before {
  position: absolute;
  top: -6px;
  left: 50%;
  width: 1px;
  height: 12px;
  background: var(--ink);
  content: "";
}

.range-planner {
  margin: 34px 0;
  background: var(--ceramic-white);
  border: 1px solid var(--hairline);
}

.range-planner__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: clamp(50px, 9vw, 130px);
  padding: clamp(34px, 5vw, 70px);
  border-bottom: 1px solid var(--hairline);
}

.range-planner__head .eyebrow {
  margin-bottom: 28px;
}

.range-planner__head h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(42px, 5vw, 74px);
  line-height: 0.95;
  letter-spacing: -0.065em;
}

.range-planner__head > p {
  max-width: 510px;
  margin: 0 0 5px;
  color: var(--muted);
  font-size: 15px;
}

.range-planner__body {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
}

.range-planner__controls {
  padding: clamp(34px, 5vw, 70px);
}

.planner-control {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin-top: 28px;
  font-size: 12px;
  font-weight: 700;
}

.planner-control:first-child {
  margin-top: 0;
}

.planner-control output {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 18px;
  font-weight: 500;
}

.range-planner__controls > input[type="range"] {
  width: 100%;
  height: 48px;
  margin: 5px 0 16px;
  appearance: none;
  background: transparent;
}

.range-planner__controls > input[type="range"]::-webkit-slider-runnable-track {
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--cobalt) 0 var(--range-fill, 50%),
    var(--moon-alloy) var(--range-fill, 50%) 100%
  );
}

.range-planner__controls > input[type="range"]::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  margin-top: -10px;
  appearance: none;
  background: var(--white);
  border: 7px solid var(--cobalt);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--cobalt);
}

.range-planner__controls > input[type="range"]::-moz-range-track {
  height: 3px;
  background: var(--moon-alloy);
}

.range-planner__controls > input[type="range"]::-moz-range-progress {
  height: 3px;
  background: var(--cobalt);
}

.range-planner__controls > input[type="range"]::-moz-range-thumb {
  width: 12px;
  height: 12px;
  background: var(--white);
  border: 7px solid var(--cobalt);
  border-radius: 50%;
}

.pace-picker {
  margin: 31px 0 0;
  padding: 0;
  border: 0;
}

.pace-picker legend {
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
}

.pace-picker > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--hairline);
}

.pace-picker button {
  min-height: 52px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hairline);
  font-size: 11px;
  font-weight: 700;
}

.pace-picker button:last-child {
  border-right: 0;
}

.pace-picker button[aria-pressed="true"] {
  color: var(--white);
  background: var(--cobalt);
}

.range-planner__result {
  padding: clamp(38px, 5vw, 72px);
  color: var(--white);
  background:
    linear-gradient(145deg, rgba(25, 71, 255, 0.22), transparent 48%),
    var(--track-night);
}

.range-planner__result > span {
  color: rgba(255, 255, 255, 0.55);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.range-planner__result > strong {
  display: flex;
  align-items: baseline;
  margin-top: 20px;
  font-family: var(--mono);
  font-weight: 350;
  line-height: 0.8;
}

.range-planner__result > strong b {
  font-size: clamp(92px, 11vw, 164px);
  font-weight: 350;
  letter-spacing: -0.09em;
}

.range-planner__result > strong small {
  margin-left: 12px;
  color: rgba(255, 255, 255, 0.48);
  font-size: 13px;
}

.range-planner__result > p:not(.range-planner__mode) {
  min-height: 48px;
  margin: 29px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 13px;
}

.range-planner__meter {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 9px 20px;
  margin-top: 29px;
  color: rgba(255, 255, 255, 0.62);
  font-family: var(--mono);
  font-size: 10px;
}

.range-planner__meter i {
  grid-column: 1 / -1;
  display: block;
  height: 5px;
  background: rgba(255, 255, 255, 0.15);
}

.range-planner__meter i b {
  display: block;
  height: 100%;
  background: var(--cobalt);
  transition: width 250ms ease;
}

.range-planner__meter span:last-child {
  text-align: right;
}

.range-planner__result dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 35px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.range-planner__result dl > div {
  padding: 17px 14px 0 0;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.range-planner__result dl > div:not(:first-child) {
  padding-left: 14px;
}

.range-planner__result dl > div:last-child {
  border-right: 0;
}

.range-planner__result dt {
  color: rgba(255, 255, 255, 0.4);
  font-size: 10px;
}

.range-planner__result dd {
  margin: 8px 0 0;
  font-family: var(--mono);
  font-size: 11px;
}

.range-planner__mode {
  margin: 34px 0 0;
  color: rgba(255, 255, 255, 0.44);
  font-family: var(--mono);
  font-size: 10px;
  text-align: right;
}

.range-planner__mode b {
  color: var(--brake);
}

.range-planner__note {
  margin: 0;
  padding: 18px clamp(34px, 5vw, 70px);
  color: var(--muted);
  border-top: 1px solid var(--hairline);
  font-size: 11px;
  text-align: right;
}

.charge-band {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr 0.7fr;
  align-items: center;
  gap: 60px;
  padding: 42px clamp(30px, 5vw, 76px);
  color: var(--white);
  background: var(--cobalt);
}

.charge-band p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
}

.charge-band strong {
  display: block;
  margin-top: 5px;
  font-family: var(--mono);
  font-size: clamp(48px, 6vw, 88px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.08em;
}

.charge-band strong span {
  font-size: 14px;
  letter-spacing: 0;
}

.charge-band__meter {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 15px;
  font-family: var(--mono);
  font-size: 10px;
}

.charge-band__meter i {
  display: block;
  height: 4px;
  background: rgba(255, 255, 255, 0.2);
}

.charge-band__meter b {
  display: block;
  width: 78%;
  height: 100%;
  background: var(--white);
}

.data-note {
  max-width: 760px;
  margin: 24px 0 0 auto;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}

/* Cockpit */
.section--ink {
  color: var(--white);
  background:
    radial-gradient(circle at 78% 16%, rgba(25, 71, 255, 0.14), transparent 31%),
    #101418;
}

.cockpit__grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 50px clamp(50px, 9vw, 130px);
  align-items: center;
}

.cockpit .section-heading {
  display: block;
  margin: 0;
}

.cockpit .section-heading .eyebrow {
  margin-bottom: 32px;
}

.cockpit .section-heading h2 {
  font-size: clamp(48px, 5.3vw, 84px);
}

.cockpit .section-heading p:last-child {
  margin-top: 34px;
}

.cockpit-console {
  position: relative;
  min-height: 500px;
  padding: 34px;
  background:
    radial-gradient(circle at 50% 76%, rgba(25, 71, 255, 0.3), transparent 35%),
    linear-gradient(145deg, #1b2128, #070b10);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.5);
}

.cockpit-console::after {
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  content: "";
  pointer-events: none;
}

.cockpit-console__top,
.cockpit-console__bottom {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.47);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.12em;
}

.cockpit-console__speed {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-top: 40px;
}

.cockpit-console__speed strong {
  font-family: var(--mono);
  font-size: clamp(95px, 11vw, 160px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.11em;
}

.cockpit-console__speed span {
  margin-left: 12px;
  color: rgba(255, 255, 255, 0.45);
  font-size: 10px;
}

.cockpit-console__lane {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 16px 1fr;
  align-items: end;
  gap: 18px;
  width: 65%;
  height: 145px;
  margin: -18px auto 20px;
  overflow: hidden;
}

.cockpit-console__lane i {
  width: 100%;
  height: 190px;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-bottom: 0;
}

.cockpit-console__lane i:first-child {
  border-left: 0;
  transform: skewX(-21deg) translateX(13px);
}

.cockpit-console__lane i:last-child {
  border-right: 0;
  transform: skewX(21deg) translateX(-13px);
}

.cockpit-console__lane b {
  width: 3px;
  height: 65%;
  margin: auto auto 0;
  background: var(--cobalt);
  box-shadow: 0 0 18px var(--cobalt);
}

.cockpit-console__bottom {
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.cockpit-photo {
  grid-column: 1 / -1;
  position: relative;
  margin: 48px 0 0;
  background: #05090f;
}

.cockpit-photo img {
  width: 100%;
  aspect-ratio: 2.1 / 1;
  object-fit: cover;
  object-position: center;
}

.cockpit-photo figcaption {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(40px, 8vw, 110px);
  padding: 36px 0 6px;
}

.cockpit-photo figcaption > div span {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.11em;
}

.cockpit-photo figcaption > div strong {
  display: block;
  max-width: 430px;
  margin-top: 14px;
  font-family: var(--display);
  font-size: clamp(27px, 3vw, 42px);
  line-height: 1.15;
  letter-spacing: -0.04em;
}

.cockpit-photo figcaption dl {
  margin: 0;
}

.cockpit-photo figcaption dl > div {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 24px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 10px;
}

.cockpit-photo figcaption dt {
  color: rgba(255, 255, 255, 0.38);
}

.cockpit-photo figcaption dd {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
}

.cockpit-features {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 22px 0 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  list-style: none;
}

.cockpit-features li {
  position: relative;
  padding: 28px 26px 0 18px;
  color: rgba(255, 255, 255, 0.62);
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 12px;
}

.cockpit-features li:last-child {
  border-right: 0;
}

.cockpit-features li::before {
  position: absolute;
  top: 34px;
  left: 0;
  width: 5px;
  height: 5px;
  background: var(--brake);
  border-radius: 50%;
  content: "";
}

/* Model family */
.models {
  background:
    radial-gradient(circle at 78% 8%, rgba(25, 71, 255, 0.075), transparent 30%),
    var(--garage-mist);
}

.model-family {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) repeat(2, minmax(0, 0.91fr));
  align-items: start;
  padding-top: 18px;
  border-top: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
}

.model-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 610px;
  padding: 27px clamp(24px, 2.4vw, 38px) 34px;
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  overflow: hidden;
}

.model-panel--gt {
  z-index: 2;
  min-height: 650px;
  color: var(--white);
  background:
    radial-gradient(circle at 70% 20%, rgba(25, 71, 255, 0.26), transparent 42%),
    var(--track-night);
  box-shadow: var(--depth-floating);
  transform: translateY(-18px);
}

.model-panel--st {
  background: var(--moon-alloy);
}

.model-panel--xt {
  background: var(--ceramic-white);
}

.model-panel__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.model-panel__top b {
  color: var(--cobalt-deep);
  font-weight: 650;
}

.model-panel--gt .model-panel__top {
  color: rgba(255, 255, 255, 0.62);
}

.model-panel--gt .model-panel__top b {
  color: var(--brake);
}

.model-panel__profile {
  width: calc(100% + 30px);
  margin: 72px -15px 42px;
}

.model-panel__profile path,
.model-panel__profile circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}

.model-panel--gt .model-panel__profile {
  color: rgba(255, 255, 255, 0.62);
  filter: drop-shadow(0 0 10px rgba(25, 71, 255, 0.48));
}

.model-panel--st .model-panel__profile,
.model-panel--xt .model-panel__profile {
  color: rgba(17, 23, 28, 0.48);
}

.model-panel__name {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  padding-top: 20px;
  border-top: 1px solid currentColor;
}

.model-panel__name h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(35px, 3.2vw, 52px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.model-panel__name span {
  color: inherit;
  font-size: 10px;
  opacity: 0.55;
}

.model-panel > p {
  margin: 21px 0 38px;
  color: inherit;
  font-size: 14px;
  opacity: 0.68;
}

.model-panel > a,
.model-panel__status {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid currentColor;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.07em;
}

.model-panel > a {
  display: flex;
  justify-content: space-between;
  color: var(--white);
}

.model-panel > a:hover {
  color: #9bb0ff;
}

.model-panel__status {
  color: var(--muted);
}

/* Clear service */
.clear-service {
  color: var(--white);
  background:
    linear-gradient(115deg, rgba(25, 71, 255, 0.92), rgba(12, 46, 173, 0.98) 62%, #071c61),
    var(--apex-blue);
}

.clear-service::before {
  position: absolute;
  top: -32vw;
  right: -12vw;
  width: 70vw;
  aspect-ratio: 1;
  border: 11vw solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.clear-service .shell {
  position: relative;
}

.clear-service__intro {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: end;
  gap: clamp(50px, 9vw, 140px);
  margin-bottom: clamp(76px, 9vw, 126px);
}

.clear-service__intro .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -10px;
}

.clear-service__intro h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(58px, 7vw, 108px);
  line-height: 0.9;
  letter-spacing: -0.075em;
}

.clear-service__intro > p:last-child {
  max-width: 570px;
  margin: 0 0 8px;
  color: rgba(255, 255, 255, 0.72);
  font-size: clamp(16px, 1.7vw, 21px);
}

.service-ledger {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.26);
  border-bottom: 1px solid rgba(255, 255, 255, 0.26);
}

.service-ledger article {
  min-height: 245px;
  padding: 30px clamp(24px, 3vw, 44px) 34px 0;
  border-right: 1px solid rgba(255, 255, 255, 0.24);
}

.service-ledger article:not(:first-child) {
  padding-left: clamp(24px, 3vw, 44px);
}

.service-ledger article:last-child {
  border-right: 0;
}

.service-ledger span {
  color: rgba(255, 255, 255, 0.52);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.service-ledger h3 {
  margin: 72px 0 10px;
  font-family: var(--display);
  font-size: clamp(24px, 2.6vw, 36px);
  letter-spacing: -0.045em;
}

.service-ledger p {
  max-width: 280px;
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
}

.service-demo {
  margin-top: 72px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(7, 16, 30, 0.23);
}

.service-demo__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: clamp(45px, 8vw, 120px);
  padding: clamp(32px, 5vw, 68px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.service-demo__head span {
  color: rgba(255, 255, 255, 0.52);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.service-demo__head h3 {
  margin: 23px 0 0;
  font-family: var(--display);
  font-size: clamp(40px, 5vw, 70px);
  line-height: 0.94;
  letter-spacing: -0.065em;
}

.service-demo__head > p {
  max-width: 520px;
  margin: 0 0 4px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
}

.service-demo__tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.service-demo__tabs button {
  min-height: 62px;
  color: rgba(255, 255, 255, 0.6);
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 12px;
  font-weight: 700;
}

.service-demo__tabs button:last-child {
  border-right: 0;
}

.service-demo__tabs button[aria-selected="true"] {
  color: var(--track-night);
  background: var(--white);
}

.service-demo__panel {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
}

.service-demo__process {
  padding: clamp(34px, 5vw, 68px);
  background: var(--track-night);
}

.service-demo__process > span {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.service-demo__process h4 {
  margin: 24px 0 13px;
  font-family: var(--display);
  font-size: clamp(28px, 3vw, 43px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.service-demo__process > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 12px;
}

.service-demo__process ol {
  margin: 42px 0 0;
  padding: 0;
  list-style: none;
}

.service-demo__process li {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 17px;
  padding: 17px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.service-demo__process li > b {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 10px;
}

.service-demo__process li span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 10px;
}

.service-demo__process li strong {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 11px;
  font-weight: 650;
}

.service-demo__estimate {
  padding: clamp(34px, 5vw, 68px);
  color: var(--ink);
  background: var(--ceramic-white);
}

.service-demo__estimate-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--hairline);
}

.service-demo__estimate-head span {
  font-weight: 750;
}

.service-demo__estimate-head button {
  min-height: 32px;
  padding: 0 10px;
  color: var(--cobalt-deep);
  background: transparent;
  border: 1px solid var(--hairline);
  font-size: 10px;
  font-weight: 700;
}

.service-demo__estimate-head button:hover {
  color: var(--white);
  background: var(--cobalt);
  border-color: var(--cobalt);
}

.service-demo__items label {
  display: grid;
  grid-template-columns: 20px 1fr auto;
  align-items: center;
  gap: 13px;
  min-height: 76px;
  border-bottom: 1px solid var(--hairline);
  cursor: pointer;
}

.service-demo__items label:has(input:disabled) {
  cursor: default;
}

.service-demo__items label:has(input:not(:disabled):checked) {
  background: rgba(25, 71, 255, 0.045);
}

.service-demo__items input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--cobalt);
}

.service-demo__items input:disabled {
  opacity: 0.64;
}

.service-demo__items span {
  font-size: 12px;
  font-weight: 700;
}

.service-demo__items small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 450;
}

.service-demo__items strong {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 500;
}

.service-demo__total {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 3px solid var(--ink);
}

.service-demo__total > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
}

.service-demo__total > div > span {
  font-size: 12px;
  font-weight: 750;
}

.service-demo__total strong {
  font-family: var(--mono);
  font-size: clamp(34px, 4vw, 56px);
  font-weight: 400;
  letter-spacing: -0.06em;
}

.service-demo__total strong b {
  font-weight: inherit;
}

.service-demo__total p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}

.service-demo__note {
  margin: 0;
  padding: 16px clamp(32px, 5vw, 68px);
  color: rgba(255, 255, 255, 0.68);
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  font-size: 11px;
  text-align: right;
}

.service-proof {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 44px 0 0;
}

.service-proof > div {
  padding-right: 30px;
  border-right: 1px solid rgba(255, 255, 255, 0.24);
}

.service-proof > div:not(:first-child) {
  padding-left: 42px;
}

.service-proof > div:last-child {
  border-right: 0;
}

.service-proof dt {
  color: rgba(255, 255, 255, 0.48);
  font-size: 10px;
}

.service-proof dd {
  margin: 8px 0 0;
  font-family: var(--mono);
  font-size: 13px;
}

.service-proof strong {
  margin-right: 7px;
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 400;
  letter-spacing: -0.06em;
}

.clear-service__note {
  margin: 42px 0 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 10px;
  text-align: right;
}

/* Test drive */
.test-drive {
  background:
    radial-gradient(circle at 84% 15%, rgba(25, 71, 255, 0.08), transparent 30%),
    var(--paper);
}

.test-drive__line {
  position: absolute;
  right: -16vw;
  bottom: -46vw;
  width: 73vw;
  aspect-ratio: 1;
  border: 12vw solid rgba(25, 71, 255, 0.08);
  border-radius: 50%;
  pointer-events: none;
}

.test-drive__grid {
  position: relative;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(60px, 10vw, 150px);
  align-items: start;
}

.test-drive .section-heading {
  position: sticky;
  top: 120px;
  display: block;
  margin: 0;
}

.test-drive .section-heading .eyebrow {
  margin-bottom: 30px;
}

.test-drive .section-heading h2 {
  font-size: clamp(54px, 6vw, 94px);
}

.test-drive .section-heading > p:last-of-type {
  margin-top: 34px;
}

.test-drive__facts {
  margin: 48px 0 0;
  border-top: 1px solid var(--hairline);
}

.test-drive__facts div {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--hairline);
}

.test-drive__facts dt {
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 11px;
}

.test-drive__facts dd {
  margin: 0;
  font-size: 13px;
}

.booking-form {
  padding: clamp(30px, 5vw, 68px);
  background: var(--white);
  box-shadow: 0 28px 80px rgba(10, 24, 42, 0.09);
}

.demo-form-fields {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.demo-form-fields:disabled {
  opacity: 0.56;
}

.script-required {
  display: block;
  margin-top: 22px;
  padding: 14px 16px;
  color: #7f1d13;
  background: rgba(255, 76, 55, 0.08);
  border-left: 3px solid var(--brake);
  font-size: 11px;
}

.demo-notice {
  margin-bottom: 38px;
  padding: 16px 18px;
  background: rgba(25, 71, 255, 0.06);
  border-left: 3px solid var(--cobalt);
}

.demo-notice strong {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.09em;
}

.demo-notice p {
  margin: 7px 0 0;
  color: var(--graphite);
  font-size: 11px;
  line-height: 1.7;
}

.form-field {
  position: relative;
  margin-bottom: 31px;
}

.form-field label {
  display: flex;
  justify-content: space-between;
  margin-bottom: 9px;
  font-size: 12px;
  font-weight: 700;
}

.form-field label small {
  color: var(--muted);
  font-weight: 450;
}

.form-field input,
.form-field select {
  width: 100%;
  min-height: 54px;
  padding: 0 0;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--silver);
  border-radius: 0;
  outline: 0;
  font-size: 16px;
  transition: border-color 180ms ease;
}

.form-field input:focus,
.form-field select:focus {
  border-bottom-color: var(--cobalt);
  box-shadow: 0 2px 0 var(--cobalt);
}

.form-field input::placeholder {
  color: #9ba4aa;
}

.form-field.is-invalid input,
.form-field.is-invalid select {
  border-bottom-color: var(--brake);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.field-error {
  display: block;
  min-height: 19px;
  margin-top: 6px;
  color: #c62e1d;
  font-size: 11px;
}

.check-field {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 5px;
  font-size: 12px;
  cursor: pointer;
}

.check-field input {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 1px 0 0;
  accent-color: var(--cobalt);
}

.check-field--optional {
  margin-top: 10px;
  color: var(--muted);
}

.button--submit {
  width: 100%;
  margin-top: 36px;
  color: var(--white);
  background: var(--ink);
  border: 0;
}

.button--submit:hover {
  background: var(--cobalt);
}

.button--submit:disabled {
  cursor: wait;
  opacity: 0.6;
  transform: none;
}

.form-status {
  min-height: 24px;
  margin: 15px 0 0;
  color: var(--cobalt-deep);
  font-size: 12px;
  text-align: center;
}

.booking-form__success {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 590px;
  padding: clamp(32px, 5vw, 66px);
  color: var(--white);
  background: var(--cobalt);
}

.booking-form__success[hidden] {
  display: none;
}

.booking-form__success > span {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.12em;
}

.booking-form__success h3 {
  margin: 28px 0 17px;
  font-family: var(--display);
  font-size: clamp(46px, 5vw, 72px);
  line-height: 0.95;
  letter-spacing: -0.06em;
}

.booking-form__success p {
  max-width: 440px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
}

.booking-form__success button {
  align-self: flex-start;
  min-height: 48px;
  margin-top: 40px;
  padding: 0 20px;
  color: var(--ink);
  background: var(--white);
  border: 0;
  font-size: 11px;
  font-weight: 750;
}

/* NOVA Signal */
.signal {
  color: var(--white);
  background: var(--track-night);
}

.signal::before {
  position: absolute;
  top: 0;
  right: 0;
  width: min(52vw, 760px);
  height: 100%;
  background:
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(255, 255, 255, 0.035) 80px),
    repeating-linear-gradient(0deg, transparent 0 79px, rgba(255, 255, 255, 0.035) 80px);
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  content: "";
  pointer-events: none;
}

.signal__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(540px, 1.22fr);
  gap: clamp(64px, 10vw, 150px);
  align-items: start;
}

.signal__intro {
  position: sticky;
  top: 124px;
}

.signal__intro h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(54px, 6vw, 92px);
  font-weight: 780;
  line-height: 0.94;
  letter-spacing: -0.07em;
}

.signal__intro > p:not(.eyebrow) {
  max-width: 500px;
  margin: 34px 0 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 15px;
}

.signal__pulse {
  position: relative;
  height: 86px;
  margin-top: 64px;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.signal__pulse i,
.signal__pulse b {
  position: absolute;
  top: -5px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.signal__pulse i {
  background: var(--track-night);
  border: 1px solid rgba(255, 255, 255, 0.7);
}

.signal__pulse i:nth-child(1) {
  left: 0;
}

.signal__pulse i:nth-child(2) {
  left: 50%;
}

.signal__pulse i:nth-child(3) {
  right: 0;
}

.signal__pulse b {
  left: 0;
  background: var(--heat-trace);
  box-shadow: 0 0 18px rgba(255, 76, 55, 0.85);
  animation: signal-scan 4.2s cubic-bezier(0.5, 0, 0.22, 1) infinite;
}

.signal-form {
  min-width: 0;
  padding: clamp(34px, 5vw, 70px);
  color: var(--ink);
  background: var(--white);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.28);
}

.signal-form__notice {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  margin-bottom: 44px;
  padding: 15px 17px;
  background: rgba(25, 71, 255, 0.06);
  border-left: 3px solid var(--cobalt);
}

.signal-form__notice span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.signal-form__notice p {
  margin: 0;
  color: var(--graphite);
  font-size: 11px;
}

.signal-form__email > label,
.signal-form fieldset legend {
  margin-bottom: 11px;
  font-size: 12px;
  font-weight: 750;
}

.signal-form__email > div {
  position: relative;
}

.signal-form__email input {
  width: 100%;
  min-height: 64px;
  padding: 0 50px 0 0;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-bottom: 2px solid var(--ink);
  border-radius: 0;
  outline: 0;
  font-family: var(--mono);
  font-size: clamp(17px, 2vw, 24px);
}

.signal-form__email input:focus {
  border-bottom-color: var(--cobalt);
  box-shadow: 0 2px 0 var(--cobalt);
}

.signal-form__email input[aria-invalid="true"] {
  border-bottom-color: var(--brake);
}

.signal-form__email > div > span {
  position: absolute;
  top: 50%;
  right: 0;
  color: var(--cobalt);
  font-family: var(--mono);
  font-size: 24px;
  transform: translateY(-50%);
}

.signal-form fieldset {
  min-width: 0;
  margin: 31px 0 0;
  padding: 0;
  border: 0;
}

.signal-form > .demo-form-fields {
  margin: 0;
}

.signal-form__topics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 0 !important;
}

.signal-form__topics legend {
  grid-column: 1 / -1;
  float: none;
  width: 100%;
  padding: 0 0 11px;
}

.signal-form__topics label {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 11px;
  min-height: 116px;
  padding: 20px 16px;
  border: 1px solid var(--hairline);
  border-right: 0;
  cursor: pointer;
}

.signal-form__topics label:last-child {
  border-right: 1px solid var(--hairline);
}

.signal-form__topics label:has(input:checked) {
  background: rgba(25, 71, 255, 0.055);
  border-top-color: var(--cobalt);
  border-bottom-color: var(--cobalt);
}

.signal-form__topics[aria-invalid="true"] label {
  border-top-color: var(--brake);
  border-bottom-color: var(--brake);
}

.signal-form__topics input,
.signal-form__frequency input {
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  accent-color: var(--cobalt);
}

.signal-form__topics label > span {
  font-size: 11px;
  font-weight: 750;
}

.signal-form__topics small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 450;
  line-height: 1.55;
}

.signal-form__frequency {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.signal-form__frequency legend {
  flex-basis: 100%;
}

.signal-form__frequency label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 16px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}

.signal-form__frequency label:has(input:checked) {
  color: var(--cobalt-deep);
  background: rgba(25, 71, 255, 0.06);
  border-color: var(--cobalt);
}

.signal-form__summary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  margin-top: 34px;
  padding: 16px 18px;
  color: var(--white);
  background: var(--track-night);
}

.signal-form__summary span {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.signal-form__summary p {
  margin: 0;
  font-size: 11px;
  text-align: right;
}

.signal-form__submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 62px;
  margin-top: 18px;
  padding: 0 22px;
  color: var(--white);
  background: var(--cobalt);
  border: 0;
  font-size: 13px;
  font-weight: 750;
}

.signal-form__submit:hover {
  background: var(--cobalt-deep);
}

.signal-form__submit b {
  font-family: var(--mono);
  font-size: 22px;
  font-weight: 400;
}

.signal-form__legal {
  margin: 11px 0 0;
  color: var(--muted);
  font-size: 10px;
  text-align: right;
}

.signal-form__success {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 620px;
}

.signal-form__success[hidden] {
  display: none;
}

.signal-form__success > span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.12em;
}

.signal-form__success h3 {
  margin: 28px 0 16px;
  font-family: var(--display);
  font-size: clamp(50px, 6vw, 82px);
  line-height: 0.94;
  letter-spacing: -0.065em;
}

.signal-form__success p {
  max-width: 430px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.signal-form__success button {
  align-self: flex-start;
  min-height: 48px;
  margin-top: 42px;
  padding: 0 20px;
  color: var(--white);
  background: var(--ink);
  border: 0;
  font-size: 11px;
  font-weight: 700;
}

@keyframes signal-scan {
  0%,
  10% {
    left: 0;
  }

  50% {
    left: calc(50% - 4px);
  }

  90%,
  100% {
    left: calc(100% - 9px);
  }
}

/* Footer */
.site-footer {
  padding: 80px 0 34px;
  color: var(--white);
  background: var(--night);
}

.site-footer__top {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: start;
  gap: 40px;
  padding-bottom: 70px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.site-footer__top > p {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 700;
  letter-spacing: -0.04em;
}

.site-footer__links {
  display: grid;
  gap: 9px;
  min-width: 130px;
  color: rgba(255, 255, 255, 0.56);
  font-size: 12px;
}

.site-footer__links a:hover {
  color: var(--white);
}

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  padding-top: 26px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 10px;
}

.site-footer__bottom p {
  margin: 0;
}

.mobile-dock {
  display: none;
}

.mobile-dock[hidden] {
  display: none;
}

/* Responsive */
@media (max-width: 1020px) {
  :root {
    --shell: min(100% - 56px, 900px);
  }

  .apex-rail {
    right: -48px;
    width: 92px;
    opacity: 0.7;
  }

  .site-header.menu-open,
  .site-header.is-scrolled.menu-open {
    color: var(--white);
    background: transparent;
    border-bottom-color: rgba(255, 255, 255, 0.14);
    backdrop-filter: none;
  }

  .site-header {
    grid-template-columns: 1fr auto;
  }

  .site-nav {
    display: none;
  }

  .header-cta {
    display: none;
  }

  .menu-toggle {
    position: relative;
    z-index: 3;
    display: grid;
    gap: 6px;
    justify-self: end;
    width: 48px;
    height: 48px;
    padding: 15px 10px;
    color: currentColor;
    background: transparent;
    border: 0;
  }

  .menu-toggle > span:not(.sr-only) {
    display: block;
    width: 27px;
    height: 1px;
    background: currentColor;
    transition: transform 200ms ease;
  }

  .menu-toggle[aria-expanded="true"] > span:nth-of-type(2) {
    transform: translateY(3.5px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] > span:nth-of-type(3) {
    transform: translateY(-3.5px) rotate(-45deg);
  }

  .site-nav.is-open {
    position: fixed;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    padding: calc(var(--header-height) + 34px) 28px 32px;
    color: var(--white);
    background: var(--night);
    overflow-y: auto;
  }

  .site-nav.is-open > a {
    position: relative;
    display: grid;
    grid-template-columns: 42px 1fr auto;
    align-items: baseline;
    width: 100%;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    font-family: var(--display);
    font-size: clamp(29px, 5.2vh, 48px);
    letter-spacing: -0.03em;
  }

  .site-nav.is-open > a[aria-current="location"] {
    color: var(--brake);
  }

  .site-nav.is-open > a::before {
    color: var(--brake);
    content: attr(data-index);
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.08em;
  }

  .site-nav.is-open > a::after {
    position: static;
    width: auto;
    height: auto;
    color: rgba(255, 255, 255, 0.64);
    background: none;
    content: attr(data-code);
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    transform: none;
  }

  .site-nav.is-open .site-nav__meta {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 2px 24px;
    width: 100%;
    margin-top: 25px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
  }

  .site-nav__meta > span {
    color: rgba(255, 255, 255, 0.48);
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
  }

  .site-nav__meta > p {
    margin: 0;
    font-family: var(--display);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.025em;
  }

  .site-nav__meta > a {
    grid-column: 2;
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    min-height: 48px;
    padding: 0 19px;
    color: var(--white);
    background: var(--cobalt);
    font-size: 12px;
    font-weight: 750;
  }

  .section-heading,
  .section-heading--split {
    display: block;
  }

  .section-heading .eyebrow {
    margin-bottom: 30px;
  }

  .section-heading > p:last-child {
    margin-top: 34px;
  }

  .brand-code__grid,
  .material-study,
  .clear-service__intro {
    grid-template-columns: 1fr;
  }

  .brand-code__grid {
    align-items: start;
  }

  .brand-emblem {
    min-height: 560px;
  }

  .material-study__image {
    min-height: 540px;
  }

  .clear-service__intro .eyebrow {
    grid-column: auto;
    margin-bottom: 28px;
  }

  .model-panel {
    min-height: 540px;
  }

  .model-family {
    grid-template-columns: repeat(2, 1fr);
  }

  .model-panel--xt {
    grid-column: 1 / -1;
    min-height: 480px;
  }

  .drive-mode {
    right: 28px;
    width: 360px;
  }

  .scroll-cue {
    display: none;
  }

  .chassis__lead {
    grid-template-columns: 1fr;
  }

  .apex-lab {
    grid-template-columns: 1fr;
  }

  .apex-lab__visual {
    min-height: 500px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .apex-lab__readout {
    margin-top: 12px;
  }

  .range-planner__head,
  .range-planner__body {
    grid-template-columns: 1fr;
  }

  .range-planner__head {
    gap: 30px;
  }

  .range-planner__head > p {
    max-width: 660px;
  }

  .service-demo__head,
  .service-demo__panel {
    grid-template-columns: 1fr;
  }

  .service-demo__head {
    gap: 28px;
  }

  .signal__grid {
    grid-template-columns: 1fr;
  }

  .signal__intro {
    position: relative;
    top: auto;
    max-width: 760px;
  }

  .signal__pulse {
    max-width: 560px;
  }

  .latency-mark {
    justify-content: flex-start;
  }

  .cockpit__grid {
    grid-template-columns: 1fr;
  }

  .cockpit-console {
    width: 100%;
  }

  .test-drive__grid {
    grid-template-columns: 1fr;
  }

  .test-drive .section-heading {
    position: relative;
    top: auto;
  }
}

@media (max-width: 720px) {
  :root {
    --header-height: 66px;
    --shell: calc(100% - 40px);
  }

  .section {
    padding: 82px 0;
  }

  .apex-rail {
    display: none;
  }

  .apex-rail__ticks path:nth-child(n + 4) {
    display: none;
  }

  .site-header,
  .site-header.is-scrolled {
    min-height: var(--header-height);
    padding: 0 20px;
  }

  .brand {
    font-size: 15px;
  }

  .brand__mark {
    width: 26px;
  }

  .site-nav.is-open {
    padding: calc(var(--header-height) + 22px) 20px 24px;
  }

  .site-nav.is-open > a {
    grid-template-columns: 34px 1fr auto;
    padding: 9px 0;
    font-size: clamp(26px, 5.7vh, 38px);
  }

  .site-nav.is-open .site-nav__meta {
    margin-top: 18px;
    padding-top: 17px;
  }

  .site-nav__meta > p {
    font-size: 17px;
  }

  .hero {
    min-height: 840px;
  }

  .hero__image {
    height: 55%;
    top: auto;
    bottom: 220px;
    object-position: 67% center;
    transform: scale(1.08);
  }

  .hero__shade {
    background:
      linear-gradient(180deg, rgba(5, 13, 24, 1) 0%, rgba(5, 13, 24, 0.82) 29%, rgba(5, 13, 24, 0.03) 57%, rgba(5, 13, 24, 0.95) 77%, #050d18 100%);
  }

  .hero__content {
    justify-content: flex-start;
    min-height: 840px;
    padding: 128px 0 295px;
  }

  .hero__content .eyebrow {
    margin-bottom: 19px;
  }

  .hero__title {
    font-size: clamp(58px, 18vw, 86px);
    line-height: 0.88;
  }

  .hero__title span:last-child {
    margin-left: 0;
  }

  .hero__lede {
    max-width: 330px;
    margin-top: 25px;
    font-size: 14px;
  }

  .hero__actions {
    margin-top: 27px;
  }

  .button {
    min-height: 52px;
  }

  .hero__actions .button--ghost {
    display: none;
  }

  .drive-mode {
    right: 20px;
    bottom: 25px;
    left: 20px;
    width: auto;
    padding: 17px 18px;
  }

  .drive-mode__note {
    display: none;
  }

  .drive-mode__head {
    margin-bottom: 12px;
  }

  .drive-mode__numbers {
    margin-top: 12px;
  }

  .section-heading {
    margin-bottom: 52px;
  }

  .section-heading h2,
  .test-drive .section-heading h2 {
    font-size: clamp(44px, 13vw, 66px);
    line-height: 0.98;
  }

  .section-heading > p:last-child {
    margin-top: 26px;
    font-size: 15px;
  }

  .section-heading--split h2 {
    white-space: normal;
  }

  .brand-code__intro {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 54px;
  }

  .brand-code__promise {
    justify-self: start;
    font-size: clamp(38px, 12vw, 56px);
  }

  .brand-code__grid {
    gap: 58px;
  }

  .brand-emblem {
    min-height: 430px;
    padding: 25px 20px;
    margin-inline: -20px;
  }

  .brand-emblem svg {
    height: 300px;
  }

  .brand-emblem__path {
    stroke-width: 8;
  }

  .brand-emblem__trace {
    stroke-width: 4;
  }

  .brand-emblem__legend {
    padding-top: 20px;
  }

  .brand-story h2 {
    font-size: clamp(45px, 13vw, 66px);
  }

  .brand-story > p:not(.brand-story__origin) {
    font-size: 15px;
  }

  .brand-principles {
    grid-template-columns: 1fr;
    margin-top: 72px;
  }

  .brand-principles article,
  .brand-principles article:not(:first-child) {
    min-height: 0;
    padding: 25px 0 27px;
    border-right: 0;
    border-bottom: 1px solid rgba(17, 23, 28, 0.2);
  }

  .brand-principles article:last-child {
    border-bottom: 0;
  }

  .brand-principles h3 {
    margin-top: 24px;
  }

  .brand-palette {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 28px;
  }

  .brand-palette > span {
    border-bottom: 1px solid rgba(17, 23, 28, 0.14);
  }

  .power-curve {
    min-height: 0;
    padding: 27px 20px;
    margin-inline: -20px;
  }

  .power-curve svg {
    width: 100%;
    margin: 28px 0 -4px;
  }

  .curve-callout {
    right: 8px;
    bottom: 19px;
    font-size: 10px;
  }

  .power-scrubber__head {
    align-items: flex-start;
  }

  .power-scrubber__head label {
    max-width: 220px;
  }

  .power-scrubber__readout > div {
    padding: 15px 8px 0 0;
  }

  .power-scrubber__readout > div:not(:first-child) {
    padding-left: 10px;
  }

  .power-scrubber__readout strong {
    font-size: 25px;
  }

  .power-scrubber__readout dd {
    gap: 4px;
  }

  .power-scrubber__readout dd span {
    font-size: 10px;
  }

  .spec-context {
    grid-template-columns: auto 1fr;
  }

  .spec-context p {
    grid-column: 1 / -1;
    text-align: left;
  }

  .spec-row {
    grid-template-columns: 1fr;
  }

  .spec-row > div,
  .spec-row > div:not(:first-child) {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 30px 0;
    border-right: 0;
    border-bottom: 1px solid var(--hairline);
  }

  .spec-row dt {
    max-width: 115px;
    margin: 0 20px 4px 0;
  }

  .spec-row strong {
    font-size: 48px;
  }

  .spec-details__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .chassis__arc {
    top: -110px;
    right: -180px;
    width: 560px;
    border-width: 62px;
  }

  .chassis__lead {
    gap: 45px;
    margin-bottom: 55px;
  }

  .chassis__lead > p {
    font-size: 17px;
  }

  .apex-lab {
    margin: 0 -20px 64px;
  }

  .apex-lab__visual {
    min-height: 350px;
    padding: 22px 20px;
  }

  .apex-lab__visual-head {
    font-size: 10px;
  }

  .apex-lab__visual svg {
    margin-top: 58px;
  }

  .apex-lab__control {
    padding: 30px 20px 34px;
  }

  .apex-lab__slider-head {
    font-size: 11px;
  }

  .apex-lab__readout {
    padding-top: 32px;
  }

  .apex-lab__readout h3 {
    font-size: 34px;
  }

  .latency-mark {
    display: block;
  }

  .latency-mark > span {
    display: block;
    padding: 0 0 15px;
  }

  .systems-list article {
    grid-template-columns: 28px 1fr;
    gap: 14px;
    min-height: auto;
    padding: 25px 0;
  }

  .systems-list article > strong {
    grid-column: 2;
    margin-top: 8px;
  }

  .design-viewer__stage {
    height: 650px;
    min-height: 0;
    margin-inline: -20px;
  }

  .design-viewer__stage::after {
    background: linear-gradient(180deg, transparent 37%, rgba(3, 8, 15, 0.9) 100%);
  }

  .design-viewer__stage[data-view="profile"] img {
    object-position: 66% center;
  }

  .design-viewer__stage[data-view="aero"] img {
    object-position: 42% center;
  }

  .design-viewer__stage[data-view="light"] img {
    object-position: 79% center;
  }

  .design-viewer__target {
    display: none;
  }

  .design-viewer__callout {
    right: 24px;
    bottom: 29px;
    left: 24px;
    width: auto;
  }

  .design-viewer__controls {
    margin-inline: -20px;
  }

  .design-viewer__controls button {
    min-height: 58px;
    padding-inline: 8px;
    font-size: 11px;
  }

  .material-study {
    margin: 72px -20px 0;
    border-inline: 0;
  }

  .material-study__image {
    min-height: 490px;
  }

  .material-study__copy {
    padding: 44px 20px 38px;
  }

  .material-study__copy h3 {
    font-size: clamp(44px, 13vw, 64px);
  }

  .finish-picker {
    gap: 6px;
  }

  .finish-picker button {
    font-size: 10px;
  }

  .range-map {
    min-height: 350px;
    padding: 40px 20px 30px;
    margin-inline: -20px;
  }

  .range-map__route i {
    right: 36px;
    left: 36px;
  }

  .range-map__number {
    display: block;
    margin-top: 60px;
    text-align: center;
  }

  .range-map__number strong {
    font-size: clamp(105px, 37vw, 160px);
  }

  .range-map__number > span {
    display: block;
    max-width: none;
    padding: 12px 0 0;
  }

  .range-map__ticks {
    margin-top: 54px;
  }

  .range-planner {
    margin: 34px -20px;
    border-inline: 0;
  }

  .range-planner__head,
  .range-planner__controls,
  .range-planner__result {
    padding: 34px 20px;
  }

  .range-planner__head h3 {
    font-size: 45px;
  }

  .range-planner__result > strong b {
    font-size: 90px;
  }

  .range-planner__result dl > div {
    padding-right: 8px;
  }

  .range-planner__result dl > div:not(:first-child) {
    padding-left: 8px;
  }

  .range-planner__result dd {
    font-size: 10px;
  }

  .range-planner__note {
    padding: 16px 20px;
    text-align: left;
  }

  .charge-band {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 34px 24px;
    margin-inline: -20px;
  }

  .data-note {
    text-align: left;
  }

  .cockpit__grid {
    gap: 48px;
  }

  .cockpit-console {
    min-height: 420px;
    padding: 25px;
  }

  .cockpit-console__speed {
    margin-top: 52px;
  }

  .cockpit-console__speed strong {
    font-size: 103px;
  }

  .cockpit-console__lane {
    width: 78%;
    height: 118px;
  }

  .cockpit-photo {
    margin-top: 8px;
  }

  .cockpit-photo img {
    aspect-ratio: 4 / 3;
    object-position: 58% center;
  }

  .cockpit-photo figcaption {
    grid-template-columns: 1fr;
    gap: 31px;
    padding-top: 30px;
  }

  .cockpit-features {
    grid-template-columns: 1fr 1fr;
  }

  .cockpit-features li {
    min-height: 84px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .cockpit-features li:nth-child(2) {
    border-right: 0;
  }

  .model-family {
    grid-template-columns: 1fr;
  }

  .model-panel--xt {
    grid-column: auto;
  }

  .model-panel {
    min-height: 465px;
  }

  .model-panel__profile {
    margin-top: 46px;
    margin-bottom: 34px;
  }

  .model-panel__name h3 {
    font-size: 42px;
  }

  .clear-service__intro {
    gap: 0;
    margin-bottom: 62px;
  }

  .clear-service__intro h2 {
    font-size: clamp(53px, 15vw, 74px);
  }

  .clear-service__intro > p:last-child {
    margin-top: 28px;
    font-size: 15px;
  }

  .service-ledger,
  .service-proof {
    grid-template-columns: 1fr;
  }

  .service-ledger article,
  .service-ledger article:not(:first-child) {
    min-height: 0;
    padding: 25px 0 28px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  }

  .service-ledger article:last-child {
    border-bottom: 0;
  }

  .service-ledger h3 {
    margin-top: 32px;
  }

  .service-demo {
    margin: 62px -20px 0;
    border-inline: 0;
  }

  .service-demo__head,
  .service-demo__process,
  .service-demo__estimate {
    padding: 34px 20px;
  }

  .service-demo__head h3 {
    font-size: 43px;
  }

  .service-demo__tabs button {
    min-height: 58px;
    padding: 0 8px;
    font-size: 10px;
  }

  .service-demo__items label {
    min-height: 72px;
  }

  .service-demo__note {
    padding: 15px 20px;
    text-align: left;
  }

  .service-proof {
    margin-top: 30px;
  }

  .service-proof > div,
  .service-proof > div:not(:first-child) {
    padding: 20px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  }

  .service-proof > div:last-child {
    border-bottom: 0;
  }

  .clear-service__note {
    margin-top: 28px;
    text-align: left;
  }

  .test-drive__grid {
    gap: 58px;
  }

  .booking-form {
    padding: 30px 20px;
    margin-inline: -20px;
  }

  .booking-form__success {
    min-height: 480px;
    padding: 34px 24px;
  }

  .signal::before {
    width: 100%;
  }

  .signal__grid {
    gap: 56px;
  }

  .signal__intro h2 {
    font-size: clamp(44px, 11.8vw, 58px);
    line-height: 0.96;
  }

  .signal__intro h2 br {
    display: none;
  }

  .signal__intro > p:not(.eyebrow) {
    margin-top: 27px;
  }

  .signal__pulse {
    height: 52px;
    margin-top: 48px;
  }

  .signal-form {
    padding: 31px 20px;
    margin-inline: -20px;
  }

  .signal-form__notice {
    grid-template-columns: 1fr;
    gap: 7px;
    margin-bottom: 34px;
  }

  .signal-form__topics {
    grid-template-columns: 1fr;
  }

  .signal-form__topics label {
    min-height: 88px;
    border-right: 1px solid var(--hairline);
    border-bottom: 0;
  }

  .signal-form__topics label:last-child {
    border-bottom: 1px solid var(--hairline);
  }

  .signal-form__summary {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .signal-form__summary p {
    text-align: left;
  }

  .signal-form__success {
    min-height: 480px;
  }

  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .site-footer {
    padding-bottom: 92px;
  }

  .site-footer__top {
    grid-template-columns: 1fr;
    padding-bottom: 44px;
  }

  .site-footer__bottom {
    display: block;
  }

  .site-footer__bottom p + p {
    margin-top: 12px;
  }

  .mobile-dock {
    position: fixed;
    right: 14px;
    bottom: max(14px, env(safe-area-inset-bottom));
    left: 14px;
    z-index: 90;
    grid-template-columns: 1fr auto;
    align-items: center;
    min-height: 60px;
    padding-left: 17px;
    color: var(--white);
    background: var(--track-night);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 10px 28px rgba(7, 16, 30, 0.28);
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 28px));
    transition:
      opacity 200ms ease,
      transform 200ms ease;
  }

  .mobile-dock > span {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.08em;
  }

  .mobile-dock > span small {
    display: block;
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 10px;
  }

  .mobile-dock > a {
    display: grid;
    place-items: center;
    align-self: stretch;
    min-width: 118px;
    padding: 0 17px;
    background: var(--cobalt);
    font-size: 13px;
    font-weight: 750;
  }

  .mobile-dock.is-visible {
    display: grid;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  body.nav-open .mobile-dock {
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 28px));
  }
}

/* NOVA MOD LAB */
.mod-lab {
  color: var(--white);
  background:
    linear-gradient(90deg, transparent 49.96%, rgba(255, 255, 255, 0.025) 50%, transparent 50.04%),
    var(--track-night);
}

.mod-lab .shell {
  position: relative;
}

.mod-lab .section-heading > p:last-child {
  color: rgba(255, 255, 255, 0.66);
}

.mod-lab__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 66px;
  margin-bottom: 18px;
  padding: 8px 14px 8px 22px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  background: #050c16;
}

.mod-lab__presets {
  display: flex;
  align-items: center;
  gap: 7px;
}

.mod-lab__presets > span,
.mod-lab__toolbar > p,
.mod-lab__session,
.mod-panel__heading > span {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.09em;
}

.mod-lab__presets > span {
  margin-right: 9px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px;
}

.mod-lab__presets button {
  min-height: 46px;
  padding: 0 17px;
  color: rgba(255, 255, 255, 0.62);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 11px;
  font-weight: 700;
}

.mod-lab__presets button:hover {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.48);
}

.mod-lab__presets button[aria-pressed="true"] {
  color: var(--white);
  background: var(--cobalt);
  border-color: var(--cobalt);
}

.mod-lab__toolbar > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 10px;
  white-space: nowrap;
}

.mod-lab__toolbar > p span {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  background: var(--cobalt);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(25, 71, 255, 0.72);
}

.mod-lab__bench {
  position: relative;
  display: grid;
  grid-template-columns: minmax(238px, 0.72fr) minmax(0, 1.68fr) minmax(276px, 0.86fr);
  grid-template-rows: auto auto auto auto;
  grid-template-areas:
    "session session session"
    "config stage environment"
    "config build build"
    "metrics metrics metrics";
  color: var(--white);
  background: #050c16;
  border: 1px solid rgba(255, 255, 255, 0.19);
  overflow: hidden;
  isolation: isolate;
}

.mod-lab__bench[aria-busy="true"]::before {
  position: absolute;
  inset: 0 auto auto 0;
  z-index: 15;
  width: 38%;
  height: 2px;
  background: var(--cobalt);
  box-shadow: 0 0 14px rgba(25, 71, 255, 0.75);
  content: "";
  animation: mod-scan 1.2s ease-in-out infinite alternate;
}

.mod-lab__session {
  grid-area: session;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-height: 58px;
  padding: 0 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 10px;
}

.mod-lab__session p,
.mod-lab__session > div {
  display: flex;
  align-items: center;
  gap: 17px;
  margin: 0;
}

.mod-lab__session span {
  color: rgba(255, 255, 255, 0.48);
}

.mod-lab__session strong {
  font-weight: 550;
}

.mod-lab__session [data-mod-mode] {
  color: var(--brake);
}

.mod-lab__session [data-mod-session-status] {
  color: rgba(255, 255, 255, 0.72);
}

.mod-lab__config,
.mod-lab__environment,
.mod-lab__build,
.mod-lab__stage {
  min-width: 0;
  min-height: 0;
}

.mod-lab__config {
  grid-area: config;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.mod-lab__environment {
  grid-area: environment;
  padding: 25px 24px 27px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.mod-lab__build {
  grid-area: build;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  grid-template-areas:
    "heading heading"
    "code issues"
    "list issues"
    "mass actions";
  align-content: start;
  gap: 0 28px;
  padding: 25px 24px 27px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.mod-lab__build .mod-panel__heading { grid-area: heading; }
.mod-build__code { grid-area: code; }
.mod-build__issues { grid-area: issues; }
.mod-build__list { grid-area: list; }
.mod-build__mass { grid-area: mass; }
.mod-build__actions { grid-area: actions; align-self: end; }

.mod-panel__heading {
  padding: 25px 22px 21px;
}

.mod-lab__environment .mod-panel__heading,
.mod-lab__build .mod-panel__heading {
  padding: 0 0 20px;
}

.mod-panel__heading > span {
  color: rgba(255, 255, 255, 0.43);
  font-size: 10px;
}

.mod-panel__heading h3 {
  margin: 13px 0 0;
  font-family: var(--display);
  font-size: clamp(27px, 2.25vw, 37px);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.mod-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.mod-tabs button {
  min-height: 61px;
  padding: 10px 12px;
  color: rgba(255, 255, 255, 0.58);
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  text-align: left;
  font-size: 11px;
  font-weight: 700;
}

.mod-tabs button:nth-child(even) {
  border-right: 0;
}

.mod-tabs button:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.mod-tabs button span {
  display: block;
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.35);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.mod-tabs button:hover {
  color: var(--white);
  background: rgba(255, 255, 255, 0.05);
}

.mod-tabs button[aria-selected="true"] {
  color: var(--white);
  background: var(--cobalt);
}

.mod-tabs button[aria-selected="true"] span {
  color: rgba(255, 255, 255, 0.68);
}

.mod-options {
  padding: 20px 22px 28px;
  outline: 0;
}

.mod-options__loading,
.mod-options__empty,
.mod-options__error {
  margin: 0;
  padding: 18px 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 11px;
}

.mod-options__loading::before {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  background: var(--cobalt);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(25, 71, 255, 0.75);
  content: "";
  animation: mod-pulse 1s ease-in-out infinite alternate;
}

.mod-options__error {
  color: #ff9386;
  border-top: 1px solid rgba(255, 76, 55, 0.52);
}

.mod-options__group,
.mod-options fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.mod-options__group > legend,
.mod-options fieldset > legend,
.mod-options__label {
  display: block;
  margin-bottom: 11px;
  color: rgba(255, 255, 255, 0.46);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.09em;
}

.mod-option,
.mod-options > button,
.mod-options fieldset > label {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 66px;
  margin: -1px 0 0;
  padding: 12px 13px;
  color: rgba(255, 255, 255, 0.76);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.16);
  text-align: left;
  cursor: pointer;
}

.mod-option:hover,
.mod-options > button:hover,
.mod-options fieldset > label:hover {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.5);
  z-index: 1;
}

.mod-option input,
.mod-options fieldset > label > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.mod-option:has(input:checked),
.mod-option[aria-pressed="true"],
.mod-option.is-selected,
.mod-options > button[aria-pressed="true"],
.mod-options fieldset > label:has(input:checked) {
  color: var(--white);
  background: rgba(25, 71, 255, 0.22);
  border-color: var(--cobalt);
  z-index: 2;
}

.mod-option:has(input:checked)::after,
.mod-option[aria-pressed="true"]::after,
.mod-option.is-selected::after,
.mod-options fieldset > label:has(input:checked)::after {
  width: 8px;
  height: 8px;
  background: var(--cobalt);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(25, 71, 255, 0.78);
  content: "";
}

.mod-option:has(input:focus-visible) {
  outline: 3px solid var(--brake);
  outline-offset: 2px;
  z-index: 3;
}

.mod-option__name,
.mod-option strong {
  display: block;
  font-size: 11px;
  font-weight: 720;
}

.mod-option__meta,
.mod-option small {
  display: block;
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.43);
  font-size: 9px;
  font-weight: 450;
}

.mod-option__metric,
.mod-option > b {
  color: rgba(255, 255, 255, 0.72);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 500;
  white-space: nowrap;
}

.mod-option.is-warning,
.mod-option[data-state="warning"] {
  border-color: rgba(255, 76, 55, 0.72);
}

.mod-option.is-error,
.mod-option[data-state="error"],
.mod-option[aria-invalid="true"] {
  color: #ffb2a9;
  border-color: var(--brake);
  background: rgba(255, 76, 55, 0.09);
}

.script-required {
  display: block;
  margin: 22px;
  padding: 15px;
  color: #ffb2a9;
  border: 1px solid rgba(255, 76, 55, 0.5);
  font-size: 11px;
}

.mod-lab__stage {
  grid-area: stage;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 600px;
  margin: 0;
  background:
    linear-gradient(180deg, rgba(25, 71, 255, 0.075), transparent 44%),
    #07101e;
  overflow: hidden;
}

.mod-lab__stage figcaption {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 60px;
  padding: 0 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.5);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.mod-lab__stage figcaption strong {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
  text-align: right;
}

.mod-stage__svg {
  width: 100%;
  height: 100%;
  min-height: 540px;
}

.mod-stage__measure {
  fill: rgba(255, 255, 255, 0.36);
  stroke: rgba(255, 255, 255, 0.22);
  stroke-width: 1;
}

.mod-stage__measure text,
.mod-stage__labels text {
  fill: rgba(255, 255, 255, 0.45);
  stroke: none;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.mod-stage__labels path {
  fill: none;
  stroke: rgba(255, 255, 255, 0.3);
  stroke-width: 1;
}

.mod-envelope {
  fill: none;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  transition: d 260ms ease, opacity 220ms ease, stroke-dashoffset 260ms ease;
}

.mod-envelope--base,
.mod-envelope--base-glow {
  stroke: var(--cobalt);
}

.mod-envelope--current,
.mod-envelope--current-glow {
  stroke: var(--brake);
}

.mod-envelope--base,
.mod-envelope--current {
  stroke-width: 3;
}

.mod-envelope--base {
  stroke-dasharray: 11 7;
}

.mod-envelope--base-glow,
.mod-envelope--current-glow {
  stroke-width: 10;
  opacity: 0.32;
}

.mod-stage__car {
  transform-box: fill-box;
  transform-origin: center bottom;
  transition: transform 260ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.mod-car__shadow {
  fill: rgba(0, 0, 0, 0.58);
}

.mod-car__body > path:not(:first-child) {
  fill: none;
  stroke: rgba(228, 237, 244, 0.68);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.mod-car__aero-line {
  stroke: var(--brake) !important;
  stroke-width: 2.5 !important;
}

.mod-car__wheels {
  fill: #07101e;
  stroke: rgba(225, 234, 240, 0.82);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.mod-car__wheels circle:nth-child(2),
.mod-car__wheels path {
  stroke: rgba(190, 205, 218, 0.58);
  stroke-width: 1.4;
}

.mod-car__brakes {
  fill: none;
  stroke: var(--brake);
  stroke-width: 2;
  opacity: 0.78;
}

.mod-car__suspension {
  fill: none;
  stroke: var(--cobalt);
  stroke-width: 3;
  opacity: 0.76;
}

.mod-car__thermal {
  fill: rgba(25, 71, 255, 0.12);
  stroke: var(--cobalt);
  stroke-width: 2;
  opacity: 0.72;
}

.mod-stage__car [data-mod-part] {
  transition: opacity 220ms ease, filter 220ms ease, transform 220ms ease;
}

.mod-lab__stage[data-stance="touring-air"] .mod-stage__car {
  transform: translateY(-5px);
}

.mod-lab__stage[data-stance="circuit-low"] .mod-stage__car {
  transform: translateY(9px);
}

.mod-lab__stage[data-wheel="aero-20"] .mod-car__wheels > g > circle:first-child {
  r: 65px;
}

.mod-lab__stage[data-wheel="track-22"] .mod-car__wheels > g > circle:first-child {
  r: 75px;
  stroke-width: 3;
}

.mod-lab__stage[data-tire="semi-slick"] .mod-car__wheels > g > circle:first-child {
  stroke: var(--brake);
  stroke-width: 4;
}

.mod-lab__stage[data-tire="touring-ev"] .mod-car__wheels > g > circle:first-child {
  stroke-dasharray: 3 2;
}

.mod-lab__stage[data-aero="clean-body"] .mod-car__aero-line {
  opacity: 0.18;
}

.mod-lab__stage[data-aero="circuit-aero"] .mod-car__aero-line {
  stroke-width: 4 !important;
  filter: drop-shadow(0 0 7px rgba(255, 76, 55, 0.72));
}

.mod-lab__stage[data-brake="carbon-ceramic"] .mod-car__brakes {
  stroke: #ffd0ca;
  stroke-width: 4;
}

.mod-lab__stage[data-thermal="endurance"] .mod-car__thermal {
  fill: rgba(25, 71, 255, 0.28);
  filter: drop-shadow(0 0 8px rgba(25, 71, 255, 0.7));
}

.mod-stage__car [data-mod-part].is-active,
.mod-lab__stage[data-active-part="wheel"] [data-mod-part="wheel"],
.mod-lab__stage[data-active-part="suspension"] [data-mod-part="suspension"],
.mod-lab__stage[data-active-part="brake"] [data-mod-part="brake"],
.mod-lab__stage[data-active-part="aero"] [data-mod-part="aero"],
.mod-lab__stage[data-active-part="thermal"] [data-mod-part="thermal"] {
  opacity: 1;
  filter: drop-shadow(0 0 10px rgba(25, 71, 255, 0.72));
}

.mod-stage__hotspots {
  position: absolute;
  inset: 60px 0 31px;
  z-index: 5;
  pointer-events: none;
}

.mod-stage__hotspots button {
  position: absolute;
  left: var(--x);
  top: var(--y);
  min-width: 48px;
  min-height: 48px;
  padding: 6px 8px;
  color: rgba(255, 255, 255, 0.74);
  background: rgba(5, 12, 22, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.34);
  font-size: 9px;
  line-height: 1.15;
  transform: translate(-50%, -50%);
  pointer-events: auto;
}

.mod-stage__hotspots button span {
  display: block;
  color: var(--brake);
  font-family: var(--mono);
  font-size: 8px;
}

.mod-stage__hotspots button:hover,
.mod-stage__hotspots button[aria-pressed="true"] {
  color: var(--white);
  background: var(--cobalt);
  border-color: var(--white);
}

.mod-hotspot--suspension { --x: 25%; --y: 47%; }
.mod-hotspot--aero { --x: 78%; --y: 33%; }
.mod-hotspot--wheel { --x: 20%; --y: 75%; }
.mod-hotspot--brake { --x: 73%; --y: 76%; }
.mod-hotspot--thermal { --x: 55%; --y: 65%; }
.mod-hotspot--tire { --x: 82%; --y: 83%; }

.mod-stage__legend {
  position: absolute;
  right: 22px;
  bottom: 14px;
  left: 22px;
  z-index: 4;
  display: flex;
  justify-content: flex-end;
  gap: 23px;
  color: rgba(255, 255, 255, 0.47);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.mod-stage__legend span::before {
  display: inline-block;
  width: 22px;
  height: 2px;
  margin: 0 8px 3px 0;
  background: var(--cobalt);
  content: "";
}

.mod-stage__legend span:first-child::before {
  background: repeating-linear-gradient(90deg, var(--cobalt) 0 8px, transparent 8px 13px);
}

.mod-stage__legend span:last-child::before {
  background: var(--brake);
}

.mod-location {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.mod-location label {
  grid-column: 1 / -1;
  color: rgba(255, 255, 255, 0.48);
  font-size: 10px;
}

.mod-location select,
.mod-location button,
.mod-time-control button,
.mod-apply,
.mod-build__actions button {
  min-height: 48px;
  border-radius: 0;
}

.mod-location select {
  min-width: 0;
  padding: 0 12px;
  color: var(--white);
  background: #07101e;
  border: 1px solid rgba(255, 255, 255, 0.24);
}

.mod-location button,
.mod-time-control button {
  padding: 0 13px;
  color: rgba(255, 255, 255, 0.74);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.24);
  font-size: 10px;
  font-weight: 700;
}

.mod-location button:hover,
.mod-time-control button:hover {
  color: var(--white);
  border-color: var(--white);
}

.mod-data-status {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.54);
  font-size: 9px;
}

.mod-data-status > span {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  background: var(--cobalt);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(25, 71, 255, 0.66);
}

.mod-data-status[data-state="loading"] > span,
[data-state="loading"] .mod-data-status > span,
.mod-data-status.is-loading > span {
  animation: mod-pulse 0.8s ease-in-out infinite alternate;
}

.mod-data-status[data-state="partial"],
.mod-data-status[data-state="stale"],
[data-state="partial"] .mod-data-status,
[data-state="stale"] .mod-data-status {
  color: #ffd0ca;
}

.mod-data-status[data-state="partial"] > span,
.mod-data-status[data-state="stale"] > span,
[data-state="partial"] .mod-data-status > span,
[data-state="stale"] .mod-data-status > span {
  background: var(--brake);
  box-shadow: 0 0 10px rgba(255, 76, 55, 0.62);
}

.mod-data-status[data-state="error"],
.mod-data-status[data-state="offline"],
.mod-data-status[data-state="unavailable"],
[data-state="error"] .mod-data-status,
[data-state="offline"] .mod-data-status,
[data-state="unavailable"] .mod-data-status,
.mod-data-status.is-error,
.mod-data-status.is-offline {
  padding: 8px 10px;
  color: #ffb2a9;
  border: 1px dashed rgba(255, 76, 55, 0.58);
}

.mod-data-status[data-state="error"] > span,
.mod-data-status[data-state="offline"] > span,
.mod-data-status[data-state="unavailable"] > span,
[data-state="error"] .mod-data-status > span,
[data-state="offline"] .mod-data-status > span,
[data-state="unavailable"] .mod-data-status > span {
  background: transparent;
  border: 1px solid var(--brake);
  box-shadow: none;
}

.mod-condition-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.mod-condition-grid > div {
  min-width: 0;
  min-height: 72px;
  padding: 11px 10px;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.mod-condition-grid span {
  display: block;
  color: rgba(255, 255, 255, 0.4);
  font-size: 9px;
}

.mod-condition-grid strong {
  font-family: var(--mono);
  font-size: 23px;
  font-weight: 420;
  font-variant-numeric: tabular-nums;
}

.mod-condition-grid small {
  margin-left: 4px;
  color: rgba(255, 255, 255, 0.42);
  font-size: 8px;
}

.mod-environment__time {
  margin: 13px 0 7px;
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--mono);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.mod-time-control {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  gap: 8px;
}

.mod-time-control input[type="range"] {
  width: 100%;
  height: 48px;
  margin: 0;
  accent-color: var(--cobalt);
}

.mod-environment__advice,
.mod-data-attribution {
  margin: 13px 0 0;
  color: rgba(255, 255, 255, 0.52);
  font-size: 9px;
  line-height: 1.65;
}

.mod-data-attribution {
  padding: 0 clamp(24px, 4vw, 50px) 20px;
}

.mod-data-attribution a {
  color: #9bb0ff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mod-apply {
  width: 100%;
  margin-top: 14px;
  color: var(--white);
  background: var(--cobalt);
  border: 0;
  font-size: 11px;
  font-weight: 750;
}

.mod-apply:hover:not(:disabled) {
  background: var(--cobalt-deep);
}

.mod-lab button:disabled,
.mod-lab select:disabled,
.mod-lab input:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.mod-build__code {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.mod-build__code span {
  color: rgba(255, 255, 255, 0.38);
  font-size: 8px;
}

.mod-build__code strong {
  max-width: 68%;
  overflow-wrap: anywhere;
  color: var(--brake);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 500;
  text-align: right;
}

.mod-build__issues {
  margin-top: 10px;
}

.mod-build__issues p,
.mod-issue {
  margin: 0 0 6px;
  padding: 9px 10px;
  color: rgba(255, 255, 255, 0.66);
  background: rgba(255, 255, 255, 0.045);
  border-left: 2px solid var(--cobalt);
  font-size: 9px;
  line-height: 1.55;
}

.mod-issue--warning,
.mod-build__issues [data-level="warning"],
.mod-build__issues.is-warning p {
  color: #ffd0ca;
  background: rgba(255, 76, 55, 0.07);
  border-left-color: var(--brake);
}

.mod-issue--error,
.mod-build__issues [data-level="error"],
.mod-build__issues.is-error p {
  color: #ffb2a9;
  background: rgba(255, 76, 55, 0.12);
  border: 1px solid rgba(255, 76, 55, 0.55);
}

.mod-issue--ok,
.mod-build__issues [data-level="ok"],
.mod-build__issues.is-ok p {
  border-left-color: var(--cobalt);
}

.mod-issue--loading,
.mod-issue--offline,
.mod-build__issues.is-loading p,
.mod-build__issues.is-offline p {
  color: rgba(255, 255, 255, 0.48);
  border-left-style: dashed;
}

.mod-issue__fix {
  display: block;
  min-height: 34px;
  margin-top: 8px;
  padding: 4px 9px;
  color: var(--white);
  background: transparent;
  border: 1px solid currentColor;
  font-size: 9px;
  font-weight: 750;
}

.mod-issue__fix:hover {
  color: var(--track-night);
  background: var(--white);
}

.mod-build__list {
  margin: 9px 0 0;
  padding: 0;
  list-style: none;
}

.mod-build__list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 9px;
}

.mod-build__list li > span,
.mod-build__list li > strong {
  min-width: 0;
}

.mod-build__list li > strong {
  font-weight: 650;
}

.mod-build__list li > small,
.mod-build__list li > b {
  color: rgba(255, 255, 255, 0.43);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 450;
}

.mod-build__list li > :nth-child(even) {
  text-align: right;
}

.mod-build__mass {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 9px;
}

.mod-build__mass span {
  color: rgba(255, 255, 255, 0.46);
}

.mod-build__mass strong {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 16px;
  font-weight: 450;
}

.mod-build__actions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
}

.mod-build__actions button {
  padding: 6px 9px;
  color: rgba(255, 255, 255, 0.72);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 9px;
  font-weight: 700;
}

.mod-build__actions button:first-child {
  color: var(--white);
  background: var(--cobalt);
  border-color: var(--cobalt);
}

.mod-build__actions button:hover {
  color: var(--white);
  border-color: var(--white);
}

.mod-build__actions button[hidden] {
  display: none;
}

.mod-lab__metrics {
  grid-area: metrics;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.17);
}

.mod-lab__metrics article {
  min-width: 0;
  min-height: 128px;
  padding: 21px 23px;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.mod-lab__metrics article:last-child {
  border-right: 0;
}

.mod-lab__metrics article > span,
.mod-lab__metrics small {
  display: block;
  color: rgba(255, 255, 255, 0.42);
  font-size: 9px;
}

.mod-lab__metrics strong {
  display: block;
  margin-top: 13px;
  font-family: var(--mono);
  font-size: clamp(19px, 2vw, 28px);
  font-weight: 390;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.mod-lab__metrics strong b {
  font-size: 1.45em;
  font-weight: inherit;
}

.mod-lab__metrics small {
  min-height: 17px;
  margin-top: 9px;
  color: rgba(255, 255, 255, 0.58);
}

.mod-lab__metrics small[data-trend="positive"],
.mod-lab__metrics small.is-positive {
  color: #9bb0ff;
}

.mod-lab__metrics small[data-trend="negative"],
.mod-lab__metrics small.is-negative,
.mod-lab__metrics small[data-trend="warning"] {
  color: #ff9386;
}

.mod-data-trace {
  margin-top: 76px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #050c16;
}

.mod-data-trace__intro {
  display: grid;
  grid-template-columns: 1fr 0.82fr;
  align-items: end;
  gap: clamp(48px, 8vw, 120px);
  padding: clamp(30px, 4.5vw, 60px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.mod-data-trace__intro .eyebrow {
  margin-bottom: 22px;
}

.mod-data-trace__intro h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(38px, 4.7vw, 68px);
  line-height: 0.96;
  letter-spacing: -0.06em;
}

.mod-data-trace__intro > p {
  margin: 0 0 4px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 13px;
}

.mod-chart-wrap {
  padding: clamp(24px, 4vw, 50px);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.mod-chart {
  width: 100%;
  min-width: 720px;
  height: auto;
}

.mod-chart__grid {
  fill: none;
  stroke: rgba(255, 255, 255, 0.1);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.mod-chart__temp,
.mod-chart__rain {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
  transition: d 280ms ease;
}

.mod-chart__temp {
  stroke: var(--brake);
}

.mod-chart__rain {
  stroke: var(--cobalt);
  opacity: 0.82;
}

.mod-chart__marker {
  stroke: rgba(255, 255, 255, 0.68);
  stroke-dasharray: 4 5;
  stroke-width: 1;
}

.mod-chart__point {
  fill: var(--track-night);
  stroke: var(--white);
  stroke-width: 3;
}

.mod-chart__labels {
  fill: rgba(255, 255, 255, 0.46);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.mod-chart__key {
  display: flex;
  justify-content: flex-end;
  gap: 24px;
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.48);
  font-family: var(--mono);
  font-size: 9px;
}

.mod-chart__key span::before {
  display: inline-block;
  width: 19px;
  height: 2px;
  margin: 0 7px 3px 0;
  background: var(--brake);
  content: "";
}

.mod-chart__key span:nth-child(2)::before {
  background: var(--cobalt);
}

.mod-chart__key span:nth-child(3)::before {
  height: 1px;
  background: rgba(255, 255, 255, 0.7);
}

.mod-methodology {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.mod-methodology summary {
  min-height: 60px;
  padding: 19px clamp(24px, 4vw, 50px);
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.mod-methodology[open] summary {
  color: var(--white);
  background: rgba(25, 71, 255, 0.1);
}

.mod-methodology__content {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(38px, 7vw, 100px);
  padding: clamp(28px, 4vw, 52px);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.mod-methodology h4 {
  margin: 0 0 16px;
  font-family: var(--display);
  font-size: 24px;
  letter-spacing: -0.035em;
}

.mod-methodology p {
  color: rgba(255, 255, 255, 0.57);
  font-size: 11px;
}

.mod-methodology a {
  color: #9bb0ff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mod-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

.mod-table-wrap table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-family: var(--mono);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.mod-table-wrap caption {
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.42);
  text-align: left;
}

.mod-table-wrap th,
.mod-table-wrap td {
  padding: 10px 9px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  text-align: right;
  white-space: nowrap;
}

.mod-table-wrap th:first-child,
.mod-table-wrap td:first-child {
  text-align: left;
}

.mod-table-wrap th {
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.04);
  font-weight: 600;
}

.mod-table-wrap td {
  color: rgba(255, 255, 255, 0.54);
}

.mod-lab__disclaimer {
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.48);
  font-size: 10px;
  text-align: right;
}

.mod-lab :is(button, select, input, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--brake);
  outline-offset: 2px;
}

@keyframes mod-scan {
  from { transform: translateX(-105%); }
  to { transform: translateX(265%); }
}

@keyframes mod-pulse {
  from { opacity: 0.36; transform: scale(0.8); }
  to { opacity: 1; transform: scale(1.08); }
}

@media (max-width: 1020px) {
  .mod-lab__toolbar {
    align-items: flex-start;
    flex-direction: column;
    padding: 14px;
  }

  .mod-lab__toolbar > p {
    white-space: normal;
  }

  .mod-lab__bench {
    grid-template-columns: minmax(250px, 0.74fr) minmax(0, 1.26fr);
    grid-template-rows: auto auto auto auto auto;
    grid-template-areas:
      "session session"
      "stage stage"
      "config environment"
      "build build"
      "metrics metrics";
  }

  .mod-lab__stage {
    min-height: 570px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .mod-stage__svg {
    min-height: 500px;
  }

  .mod-lab__environment {
    border-left: 1px solid rgba(255, 255, 255, 0.16);
  }

  .mod-lab__build {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    border-left: 0;
  }

  .mod-build__actions {
    align-self: stretch;
    grid-template-columns: repeat(4, 1fr);
  }

  .mod-data-trace__intro,
  .mod-methodology__content {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .mod-lab .section-heading h2 br {
    display: none;
  }

  .mod-lab__toolbar,
  .mod-lab__bench,
  .mod-data-trace {
    margin-inline: -20px;
  }

  .mod-lab__presets {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
  }

  .mod-lab__presets > span {
    grid-column: 1 / -1;
  }

  .mod-lab__presets button {
    min-height: 48px;
    padding: 0 8px;
  }

  .mod-lab__bench {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto auto auto;
    grid-template-areas:
      "session"
      "stage"
      "config"
      "environment"
      "build"
      "metrics";
  }

  .mod-lab__session {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
    min-height: 78px;
    padding: 14px 20px;
  }

  .mod-lab__session p,
  .mod-lab__session > div {
    flex-wrap: wrap;
    gap: 6px 14px;
  }

  .mod-lab__stage {
    min-height: 422px;
  }

  .mod-lab__stage figcaption {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    min-height: 62px;
    padding: 12px 20px;
  }

  .mod-stage__svg {
    height: 360px;
    min-height: 360px;
  }

  .mod-stage__hotspots {
    inset: 62px 0 30px;
  }

  .mod-stage__hotspots button {
    min-width: 48px;
    min-height: 48px;
    padding: 5px;
  }

  .mod-stage__legend {
    right: 20px;
    left: 20px;
    justify-content: space-between;
    gap: 10px;
  }

  .mod-stage__legend span::before {
    width: 14px;
  }

  .mod-lab__config,
  .mod-lab__environment,
  .mod-lab__build {
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .mod-panel__heading,
  .mod-lab__environment,
  .mod-lab__build {
    padding: 26px 20px;
  }

  .mod-lab__environment .mod-panel__heading,
  .mod-lab__build .mod-panel__heading {
    padding: 0 0 20px;
  }

  .mod-panel__heading h3 {
    font-size: 34px;
  }

  .mod-tabs {
    grid-template-columns: repeat(3, 1fr);
  }

  .mod-tabs button,
  .mod-tabs button:nth-child(even) {
    min-height: 60px;
    border-right: 1px solid rgba(255, 255, 255, 0.14);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  .mod-tabs button:nth-child(3n) {
    border-right: 0;
  }

  .mod-tabs button:nth-last-child(-n + 3) {
    border-bottom: 0;
  }

  .mod-options {
    padding: 22px 20px 30px;
  }

  .mod-option,
  .mod-options > button,
  .mod-options fieldset > label {
    min-height: 68px;
  }

  .mod-location select,
  .mod-location button,
  .mod-time-control button,
  .mod-apply,
  .mod-build__actions button {
    min-height: 48px;
  }

  .mod-lab__metrics {
    grid-template-columns: repeat(2, 1fr);
  }

  .mod-lab__metrics article {
    min-height: 124px;
    padding: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .mod-lab__metrics article:nth-child(2n) {
    border-right: 0;
  }

  .mod-lab__metrics article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .mod-build__actions {
    grid-template-columns: 1fr;
  }

  .mod-data-trace {
    margin-top: 60px;
  }

  .mod-data-trace__intro {
    gap: 25px;
    padding: 34px 20px;
  }

  .mod-data-trace__intro h3 {
    font-size: 43px;
  }

  .mod-chart-wrap {
    padding: 24px 20px;
  }

  .mod-chart {
    min-width: 700px;
  }

  .mod-chart__key {
    justify-content: flex-start;
    min-width: 540px;
  }

  .mod-methodology summary {
    min-height: 56px;
    padding: 17px 20px;
  }

  .mod-methodology__content {
    gap: 34px;
    padding: 30px 20px;
  }

  .mod-table-wrap table {
    min-width: 680px;
  }

  .mod-lab__disclaimer {
    text-align: left;
  }
}

/* Brand selector */
.brand-guide {
  margin-top: clamp(110px, 11vw, 170px);
  scroll-margin-top: calc(var(--header-height) + 28px);
}

.brand-guide__intro {
  display: grid;
  grid-template-columns: 0.72fr 1.18fr 0.8fr;
  align-items: end;
  gap: clamp(34px, 5.8vw, 90px);
  margin-bottom: clamp(54px, 6vw, 84px);
  padding-top: 30px;
  border-top: 1px solid var(--hairline);
}

.brand-guide__intro .eyebrow {
  align-self: start;
  margin: 5px 0 0;
}

.brand-guide__intro > div > span,
.brand-guide__note > span,
.brand-guide__noscript > strong {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.13em;
}

.brand-guide__intro h3 {
  margin: 14px 0 0;
  font-family: var(--display);
  font-size: clamp(50px, 5.7vw, 86px);
  font-weight: 780;
  line-height: 0.92;
  letter-spacing: -0.068em;
}

.brand-guide__intro > p:last-child {
  max-width: 31rem;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.85;
}

.brand-guide__marques {
  display: grid;
  grid-template-columns: repeat(8, minmax(130px, 1fr));
  margin: 0 0 18px;
  padding: 0;
  overflow-x: auto;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--hairline);
  list-style: none;
  scrollbar-width: thin;
}

.brand-guide__marques li {
  position: relative;
  display: flex;
  min-height: 68px;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 13px 16px;
  border-right: 1px solid var(--hairline);
}

.brand-guide__marques li:last-child {
  border-right: 0;
}

.brand-guide__marques li::before {
  position: absolute;
  inset: -1px -1px auto;
  height: 3px;
  background: var(--cobalt-deep);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.brand-guide__marques li:hover::before,
.brand-guide__marque--performance::before {
  transform: scaleX(1);
}

.brand-guide__marque--performance::before {
  background: var(--brake) !important;
}

.brand-guide__marques small {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.09em;
}

.brand-guide__marques strong {
  white-space: nowrap;
  font-family: var(--display);
  font-size: 17px;
  line-height: 1;
  letter-spacing: -0.025em;
}

.brand-guide__interface {
  border: 1px solid var(--hairline);
  background: var(--ceramic-white);
}

.brand-guide__toolbar {
  position: relative;
  z-index: 2;
  background: var(--white);
}

.brand-guide__tabs {
  display: flex;
  overflow-x: auto;
  border-bottom: 1px solid var(--hairline);
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.brand-guide__tab {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  flex: 1 0 150px;
  gap: 4px 14px;
  min-height: 86px;
  padding: 20px 22px 17px;
  color: var(--ink);
  text-align: left;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hairline);
  scroll-snap-align: start;
}

.brand-guide__tab:last-child {
  border-right: 0;
}

.brand-guide__tab::before {
  position: absolute;
  top: -1px;
  right: -1px;
  left: -1px;
  height: 4px;
  background: var(--brake);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.brand-guide__tab:hover {
  background: var(--garage-mist);
}

.brand-guide__tab[aria-selected="true"] {
  color: var(--white);
  background: var(--track-night);
}

.brand-guide__tab[aria-selected="true"]::before {
  transform: scaleX(1);
}

.brand-guide__tab-index,
.brand-guide__tab small {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.09em;
  opacity: 0.54;
}

.brand-guide__tab strong {
  overflow-wrap: anywhere;
  font-family: var(--display);
  font-size: 19px;
  line-height: 1;
  letter-spacing: -0.025em;
}

.brand-guide__tab small {
  grid-column: 2;
}

.brand-guide__scenarios {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  min-height: 58px;
  border-bottom: 1px solid var(--hairline);
}

.brand-guide__scenarios > span {
  display: flex;
  align-items: center;
  padding: 0 24px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.1em;
}

.brand-guide__scenarios > div {
  display: flex;
}

.brand-guide__scenarios button {
  min-width: 94px;
  padding: 0 18px;
  color: var(--muted);
  font-size: 12px;
  background: transparent;
  border: 0;
  border-left: 1px solid var(--hairline);
}

.brand-guide__scenarios button:hover {
  color: var(--ink);
  background: var(--garage-mist);
}

.brand-guide__scenarios button[aria-pressed="true"] {
  color: var(--white);
  background: var(--cobalt-deep);
}

.brand-guide__panel:focus-visible {
  position: relative;
  z-index: 3;
}

.brand-guide__fallback {
  padding: clamp(30px, 4vw, 56px);
  color: var(--white);
  background:
    linear-gradient(125deg, transparent 54%, rgba(255, 255, 255, 0.035)),
    var(--track-night);
}

.brand-guide__fallback > header {
  display: grid;
  grid-template-columns: 0.65fr 1fr;
  align-items: end;
  gap: 12px 42px;
  margin-bottom: 34px;
}

.brand-guide__fallback > header span,
.brand-guide__fallback article small {
  color: rgba(255, 255, 255, 0.48);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.1em;
}

.brand-guide__fallback > header h4 {
  grid-row: 2;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(48px, 7vw, 98px);
  line-height: 0.88;
  letter-spacing: -0.065em;
}

.brand-guide__fallback > header p {
  grid-column: 2;
  grid-row: 1 / 3;
  max-width: 34rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 14px;
  line-height: 1.8;
}

.brand-guide__fallback > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.brand-guide__fallback article {
  min-width: 0;
  padding: 25px 24px 28px 0;
}

.brand-guide__fallback article + article {
  padding-left: 24px;
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.brand-guide__fallback article h5 {
  margin: 24px 0 32px;
  overflow-wrap: anywhere;
  font-family: var(--display);
  font-size: clamp(31px, 3.4vw, 52px);
  line-height: 0.95;
  letter-spacing: -0.05em;
}

.brand-guide__fallback article p {
  margin: 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 11px;
  line-height: 1.8;
}

.brand-cockpit {
  display: grid;
  grid-template-columns: minmax(290px, 0.72fr) minmax(0, 1.28fr);
  grid-template-areas:
    "identity route"
    "dna focus";
  min-height: 760px;
}

.brand-identity {
  position: relative;
  grid-area: identity;
  min-height: 405px;
  padding: 35px clamp(28px, 3vw, 46px) 32px;
  color: var(--white);
  background:
    linear-gradient(145deg, transparent 60%, rgba(255, 255, 255, 0.045)),
    var(--track-night);
  border-right: 1px solid rgba(255, 255, 255, 0.13);
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  overflow: hidden;
}

.brand-identity__index,
.brand-route__head span,
.brand-route__head small,
.brand-focus__top,
.brand-identity__market,
.brand-identity__source {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.1em;
}

.brand-identity__index {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255, 255, 255, 0.54);
}

.brand-identity__monogram {
  position: absolute;
  top: -62px;
  right: -20px;
  color: transparent;
  font-family: var(--display);
  font-size: 290px;
  font-weight: 800;
  line-height: 1;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.09);
  user-select: none;
}

.brand-identity h4 {
  position: relative;
  z-index: 1;
  max-width: 100%;
  margin: 58px 0 2px;
  overflow-wrap: anywhere;
  font-family: var(--display);
  font-size: clamp(46px, 4.8vw, 74px);
  line-height: 0.92;
  letter-spacing: -0.06em;
}

.brand-identity__market {
  position: relative;
  z-index: 1;
  margin: 14px 0 0;
  padding-left: 9px;
  color: rgba(255, 255, 255, 0.76);
  font-weight: 650;
  border-left: 2px solid var(--brand-accent);
}

.brand-identity__summary {
  position: relative;
  z-index: 1;
  max-width: 27rem;
  margin: 34px 0 38px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 14px;
  line-height: 1.8;
}

.brand-identity__source {
  position: absolute;
  right: clamp(28px, 3vw, 46px);
  bottom: 28px;
  left: clamp(28px, 3vw, 46px);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 5px 18px;
  padding-top: 16px;
  color: rgba(255, 255, 255, 0.46);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.brand-identity__source > span {
  grid-column: 1 / -1;
}

.brand-identity__source a {
  color: rgba(255, 255, 255, 0.9);
}

.brand-identity__source a:hover {
  color: var(--brand-accent);
}

.brand-identity__source time {
  color: rgba(255, 255, 255, 0.58);
}

.brand-dna {
  grid-area: dna;
  padding: 31px clamp(28px, 3vw, 46px) 38px;
  color: var(--white);
  background: #0c1726;
  border-right: 1px solid rgba(255, 255, 255, 0.13);
}

.brand-dna__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}

.brand-dna__head h5 {
  margin: 0;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.11em;
}

.brand-dna__head p {
  max-width: 12rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.4);
  font-size: 9px;
  line-height: 1.5;
  text-align: right;
}

.brand-dna__meters {
  display: grid;
  gap: 17px;
  margin: 0;
}

.brand-dna__row {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  gap: 17px;
}

.brand-dna__row dt {
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
}

.brand-dna__row dd {
  display: grid;
  grid-template-columns: 1fr 16px;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.brand-dna__track {
  position: relative;
  display: block;
  height: 13px;
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.17) 0 1px, transparent 1px 20%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.brand-dna__track::before {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: var(--dna-position);
  height: 2px;
  background: var(--brand-accent);
  content: "";
}

.brand-dna__marker {
  position: absolute;
  bottom: -4px;
  left: calc(var(--dna-position) - 3px);
  width: 7px;
  height: 7px;
  background: var(--white);
  border: 2px solid var(--brand-accent);
  border-radius: 50%;
}

.brand-dna__row strong {
  color: var(--white);
  font-family: var(--mono);
  font-size: 10px;
}

.brand-route {
  grid-area: route;
  min-width: 0;
  background: var(--white);
  border-bottom: 1px solid var(--hairline);
}

.brand-route__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 56px;
  padding: 0 clamp(24px, 3vw, 42px);
  color: var(--muted);
  border-bottom: 1px solid var(--hairline);
}

.brand-route__head small {
  color: var(--cobalt-deep);
}

.brand-route__list {
  display: flex;
  min-width: 0;
}

.brand-route__item {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  flex: 1 1 0;
  gap: 10px;
  min-width: 0;
  min-height: 172px;
  padding: 24px 18px 22px;
  color: var(--ink);
  text-align: left;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hairline);
}

.brand-route__item:last-child {
  border-right: 0;
}

.brand-route__item:hover {
  background: var(--garage-mist);
}

.brand-route__item[aria-selected="true"] {
  color: var(--white);
  background: var(--track-night);
  box-shadow: inset 0 4px 0 var(--brand-accent);
}

.brand-route__node {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.brand-route__item[aria-selected="true"] .brand-route__node {
  color: var(--white);
  background: rgba(0, 0, 0, 0.18);
}

.brand-route__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.brand-route__copy small,
.brand-route__copy em {
  font-size: 9px;
  font-style: normal;
  line-height: 1.45;
  opacity: 0.62;
}

.brand-route__copy small {
  font-family: var(--mono);
  letter-spacing: 0.07em;
}

.brand-route__copy strong {
  margin-top: 13px;
  overflow-wrap: normal;
  word-break: normal;
  font-family: var(--display);
  font-size: clamp(16px, 1.45vw, 23px);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.brand-route--dense .brand-route__item {
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 8px;
  padding-inline: 14px;
}

.brand-route--dense .brand-route__copy strong {
  font-size: clamp(15px, 1.2vw, 19px);
}

.brand-route__copy em {
  margin-top: auto;
}

.brand-focus {
  grid-area: focus;
  min-width: 0;
  min-height: 580px;
  padding: 30px clamp(28px, 4vw, 62px) 42px;
  background:
    linear-gradient(90deg, rgba(17, 23, 28, 0.03) 1px, transparent 1px) 0 0 / 13.4% 100%,
    var(--ceramic-white);
}

.brand-focus__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: var(--muted);
}

.brand-focus__top b {
  padding-bottom: 3px;
  color: var(--ink);
  font-weight: 650;
  border-bottom: 2px solid var(--brand-accent);
}

.brand-focus__profile {
  width: 100%;
  height: clamp(180px, 18vw, 260px);
  margin: 12px 0 4px;
  color: var(--ink);
}

.brand-focus__profile path,
.brand-focus__profile circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.25;
  vector-effect: non-scaling-stroke;
}

.brand-focus__profile path:nth-of-type(2),
.brand-focus__profile circle {
  stroke: var(--brand-accent);
}

.brand-focus__profile .brand-focus__ground {
  stroke: rgba(17, 23, 28, 0.16);
  stroke-dasharray: 3 8;
}

.brand-focus__profile .brand-focus__glass {
  fill: rgba(17, 23, 28, 0.045);
  stroke: rgba(17, 23, 28, 0.38);
}

.brand-focus__title {
  padding-top: 20px;
  border-top: 1px solid var(--ink);
}

.brand-focus__title p {
  margin: 0 0 8px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.06em;
}

.brand-focus__title h5 {
  max-width: 100%;
  margin: 0;
  overflow-wrap: anywhere;
  font-family: var(--display);
  font-size: clamp(48px, 6vw, 88px);
  line-height: 0.93;
  letter-spacing: -0.067em;
}

.brand-focus__editorial {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 30px;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}

.brand-focus__reason,
.brand-focus__tradeoff {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 21px 24px 22px 0;
}

.brand-focus__tradeoff {
  padding-right: 0;
  padding-left: 24px;
  border-left: 1px solid var(--hairline);
}

.brand-focus__editorial span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.brand-focus__editorial strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 520;
  line-height: 1.7;
}

.brand-focus__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.brand-focus__tags span {
  padding: 5px 10px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  border: 1px solid var(--hairline);
}

.brand-focus__actions {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.brand-focus__link,
.brand-focus__save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.05em;
  border: 1px solid var(--ink);
}

.brand-focus__link {
  color: var(--white);
  background: var(--ink);
}

.brand-focus__link:hover {
  background: var(--brand-accent);
  border-color: var(--brand-accent);
}

.brand-focus__save {
  color: var(--ink);
  background: transparent;
}

.brand-focus__save:hover,
.brand-focus__save[aria-pressed="true"] {
  color: var(--cobalt-deep);
  border-color: var(--brand-accent);
}

.brand-focus__save[aria-pressed="true"]::before {
  margin-right: 7px;
  content: "✓";
}

.brand-shortlist {
  margin-top: 24px;
  border: 1px solid var(--hairline);
  background: var(--white);
}

.brand-shortlist > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 82px;
  padding: 15px 24px;
  border-bottom: 1px solid var(--hairline);
}

.brand-shortlist > header span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.09em;
}

.brand-shortlist > header h4 {
  margin: 2px 0 0;
  font-family: var(--display);
  font-size: 26px;
  letter-spacing: -0.04em;
}

.brand-shortlist > header button,
.brand-shortlist__item button {
  min-height: 42px;
  padding: 0 15px;
  color: var(--muted);
  background: transparent;
  border: 1px solid var(--hairline);
}

.brand-shortlist > header button:hover,
.brand-shortlist__item button:hover {
  color: var(--brake);
  border-color: var(--brake);
}

.brand-shortlist__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.brand-shortlist__item {
  display: flex;
  flex-direction: column;
  min-height: 320px;
  padding: 27px;
  border-right: 1px solid var(--hairline);
}

.brand-shortlist__item:last-child {
  border-right: 0;
}

.brand-shortlist__item--empty {
  justify-content: space-between;
  color: rgba(17, 23, 28, 0.28);
  background:
    linear-gradient(90deg, transparent calc(50% - 0.5px), rgba(17, 23, 28, 0.06) 50%, transparent calc(50% + 0.5px)),
    repeating-linear-gradient(0deg, transparent 0 51px, rgba(17, 23, 28, 0.045) 51px 52px);
}

.brand-shortlist__item--empty span {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.09em;
}

.brand-shortlist__item--empty p {
  margin: auto 0;
  font-size: 12px;
  text-align: center;
}

.brand-shortlist__item > p:first-child {
  margin: 0;
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.09em;
}

.brand-shortlist__item h5 {
  margin: 38px 0 5px;
  overflow-wrap: anywhere;
  font-family: var(--display);
  font-size: clamp(27px, 2.4vw, 38px);
  line-height: 1;
  letter-spacing: -0.05em;
}

.brand-shortlist__item > p:nth-of-type(2) {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.brand-shortlist__item > p:nth-of-type(3) {
  margin: 25px 0 30px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.brand-shortlist__item > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--hairline);
  font-family: var(--mono);
  font-size: 9px;
}

.brand-shortlist__item a:hover {
  color: var(--cobalt-deep);
}

.brand-guide__note {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 48px;
  margin-top: 24px;
  padding: 22px 0 0;
  border-top: 1px solid var(--hairline);
}

.brand-guide__note p {
  max-width: 58rem;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.8;
}

.brand-guide__noscript {
  display: block;
  margin-top: 24px;
  padding: 22px;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--hairline);
}

.brand-guide__noscript p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 1120px) {
  .brand-guide__intro {
    grid-template-columns: 0.7fr 1.3fr;
  }

  .brand-guide__intro > p:last-child {
    grid-column: 2;
  }

  .brand-guide__tab {
    grid-template-columns: 1fr;
    gap: 3px;
    padding-inline: 16px;
  }

  .brand-guide__tab small {
    grid-column: auto;
  }

  .brand-guide__scenarios {
    display: block;
  }

  .brand-guide__scenarios > span {
    min-height: 42px;
    border-bottom: 1px solid var(--hairline);
  }

  .brand-guide__scenarios > div {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }

  .brand-guide__scenarios button {
    min-height: 52px;
    min-width: 0;
    padding-inline: 9px;
  }

  .brand-cockpit {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "identity dna"
      "route route"
      "focus focus";
  }

  .brand-identity,
  .brand-dna {
    min-height: 420px;
  }

  .brand-dna {
    padding-top: 35px;
  }

  .brand-route__copy strong {
    font-size: 19px;
  }

  .brand-focus {
    min-height: 0;
  }
}

@media (max-width: 720px) {
  .brand-guide {
    margin-top: 92px;
    margin-inline: -20px;
  }

  .brand-guide__intro,
  .brand-guide__note {
    margin-inline: 20px;
  }

  .brand-guide__intro {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .brand-guide__intro .eyebrow,
  .brand-guide__intro > p:last-child {
    grid-column: auto;
  }

  .brand-guide__intro h3 {
    font-size: clamp(50px, 15vw, 70px);
  }

  .brand-guide__marques {
    grid-template-columns: repeat(8, 154px);
    margin-bottom: 12px;
    scroll-snap-type: x mandatory;
  }

  .brand-guide__marques li {
    min-height: 72px;
    scroll-snap-align: start;
  }

  .brand-guide__tabs {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .brand-guide__tab {
    flex: 0 0 138px;
    min-height: 78px;
    scroll-snap-align: start;
  }

  .brand-guide__scenarios > span {
    padding-inline: 20px;
  }

  .brand-guide__scenarios > div {
    display: flex;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .brand-guide__scenarios button {
    flex: 0 0 auto;
    min-width: 98px;
  }

  .brand-cockpit {
    display: flex;
    flex-direction: column;
  }

  .brand-guide__fallback {
    padding: 34px 20px;
  }

  .brand-guide__fallback > header {
    display: block;
  }

  .brand-guide__fallback > header h4 {
    margin-top: 18px;
  }

  .brand-guide__fallback > header p {
    margin-top: 22px;
  }

  .brand-guide__fallback > div {
    grid-template-columns: 1fr;
  }

  .brand-guide__fallback article,
  .brand-guide__fallback article + article {
    padding: 23px 0;
    border-left: 0;
  }

  .brand-guide__fallback article + article {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
  }

  .brand-guide__fallback article h5 {
    margin: 18px 0 24px;
  }

  .brand-identity {
    min-height: 390px;
    padding: 28px 20px;
  }

  .brand-identity h4 {
    margin-top: 48px;
    font-size: 58px;
  }

  .brand-identity__source {
    right: 20px;
    bottom: 24px;
    left: 20px;
  }

  .brand-route {
    order: 2;
  }

  .brand-route__head {
    align-items: flex-start;
    min-height: 69px;
    padding: 16px 20px;
  }

  .brand-route__head small {
    max-width: 130px;
    text-align: right;
  }

  .brand-route__list {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .brand-route__item {
    flex: 0 0 205px;
    min-height: 160px;
    scroll-snap-align: start;
  }

  .brand-route__copy strong {
    font-size: 20px;
  }

  .brand-focus {
    order: 3;
    min-height: 0;
    padding: 26px 20px 36px;
  }

  .brand-focus__profile {
    height: 175px;
    margin-top: 4px;
  }

  .brand-focus__title h5 {
    font-size: clamp(44px, 13vw, 64px);
  }

  .brand-focus__editorial {
    grid-template-columns: 1fr;
  }

  .brand-focus__reason,
  .brand-focus__tradeoff {
    padding: 18px 0;
  }

  .brand-focus__tradeoff {
    border-top: 1px solid var(--hairline);
    border-left: 0;
  }

  .brand-focus__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .brand-dna {
    order: 4;
    min-height: 0;
    padding: 29px 20px 35px;
  }

  .brand-dna__head {
    display: block;
  }

  .brand-dna__head p {
    margin-top: 8px;
    text-align: left;
  }

  .brand-shortlist {
    margin: 20px 0 0;
  }

  .brand-shortlist > header {
    padding-inline: 20px;
  }

  .brand-shortlist__grid {
    grid-template-columns: 1fr;
  }

  .brand-shortlist__item {
    min-height: 300px;
    padding: 24px 20px;
    border-right: 0;
    border-bottom: 1px solid var(--hairline);
  }

  .brand-shortlist__item:last-child {
    border-bottom: 0;
  }

  .brand-shortlist__item--empty {
    display: none;
  }

  .brand-guide__note {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .brand-guide__noscript {
    margin-inline: 20px;
  }
}

/* Australia Build Series */
.au-builds {
  margin: 4px 0 clamp(70px, 8vw, 112px);
  color: var(--white);
}

.au-builds__header {
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(410px, 0.68fr);
  align-items: end;
  gap: clamp(42px, 6vw, 96px);
  padding: 32px 0 clamp(42px, 5vw, 68px);
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.au-builds__intro .eyebrow {
  margin: 0 0 20px;
  color: rgba(255, 255, 255, 0.57);
}

.au-builds__intro h3 {
  max-width: 880px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(54px, 6.4vw, 90px);
  font-weight: 770;
  line-height: 0.92;
  letter-spacing: -0.068em;
}

.au-builds__intro > p:last-child {
  max-width: 760px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 14px;
  line-height: 1.9;
}

.au-builds__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.au-builds__facts > div {
  min-width: 0;
  padding: 18px 16px 17px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.au-builds__facts > div:last-child {
  border-right: 0;
}

.au-builds__facts dt,
.au-builds__facts dd,
.au-builds__footer span,
.au-builds__legal,
.au-builds__loading,
.au-build__rank,
.au-build__eyebrow,
.au-build__meta dt,
.au-build__meta dd,
.au-build__phase > span,
.au-build__route-label,
.au-build__mapping-note {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.09em;
}

.au-builds__facts dt {
  color: rgba(255, 255, 255, 0.43);
  font-size: 8px;
}

.au-builds__facts dd {
  margin: 6px 0 0;
  color: var(--white);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.au-builds__interface {
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: #050c16;
  box-shadow: 0 34px 80px rgba(0, 0, 0, 0.24);
}

.au-builds__tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.au-build-tab {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-content: center;
  gap: 3px 13px;
  min-width: 0;
  min-height: 94px;
  padding: 17px 20px;
  color: rgba(255, 255, 255, 0.67);
  text-align: left;
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.au-build-tab:last-child {
  border-right: 0;
}

.au-build-tab::before {
  position: absolute;
  top: -1px;
  right: -1px;
  left: -1px;
  height: 4px;
  background: var(--brake);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.au-build-tab:hover {
  color: var(--white);
  background: rgba(255, 255, 255, 0.055);
}

.au-build-tab[aria-selected="true"] {
  color: var(--ink);
  background: var(--ceramic-white);
}

.au-build-tab[aria-selected="true"]::before {
  transform: scaleX(1);
}

.au-build-tab span,
.au-build-tab small {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.09em;
  opacity: 0.57;
}

.au-build-tab strong {
  min-width: 0;
  overflow: hidden;
  font-family: var(--display);
  font-size: 20px;
  line-height: 1.05;
  letter-spacing: -0.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.au-build-tab small {
  grid-column: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.au-builds__panel {
  min-height: 670px;
}

.au-builds__loading {
  margin: 0;
  padding: 42px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 10px;
}

.au-build {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(430px, 1.34fr) minmax(270px, 0.76fr);
  min-height: 670px;
}

.au-build__identity,
.au-build__plan,
.au-build__ledger {
  min-width: 0;
}

.au-build__identity {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 34px clamp(25px, 2.8vw, 42px) 30px;
  background: #0c1724;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  overflow: hidden;
}

.au-build__identity::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 17px;
  width: 1px;
  background: rgba(255, 255, 255, 0.08);
  content: "";
}

.au-build__rank,
.au-build__eyebrow {
  margin: 0;
  color: rgba(255, 255, 255, 0.48);
  font-size: 9px;
}

.au-build__eyebrow {
  margin-top: 8px;
}

.au-build__model {
  margin: clamp(56px, 7vw, 92px) 0 0;
  font-family: var(--display);
  font-size: clamp(54px, 5.4vw, 78px);
  font-weight: 780;
  line-height: 0.84;
  letter-spacing: -0.075em;
}

.au-build__name {
  display: block;
  margin-top: 15px;
  color: var(--brake);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 680;
  letter-spacing: 0.12em;
}

.au-build__summary {
  max-width: 31rem;
  margin: 23px 0 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: 13px;
  line-height: 1.8;
}

.au-build__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 22px;
}

.au-build__tags span {
  padding: 5px 8px;
  color: rgba(255, 255, 255, 0.67);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.au-build__silhouette {
  width: 100%;
  min-height: 135px;
  margin: auto 0 0;
  color: rgba(255, 255, 255, 0.78);
}

.au-build__silhouette svg {
  width: 100%;
  height: auto;
}

.au-build__silhouette :is(path, line, circle, polyline, rect) {
  vector-effect: non-scaling-stroke;
}

.au-build__strata {
  margin-top: 20px;
  padding-top: 13px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.au-build__route-label {
  display: flex;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.43);
  font-size: 8px;
}

.au-build__strata svg {
  width: 100%;
  height: 58px;
  margin-top: 5px;
}

.au-build__plan {
  padding: 34px clamp(28px, 3.4vw, 52px) 38px;
  color: var(--ink);
  background: var(--ceramic-white);
  border-right: 1px solid var(--hairline);
}

.au-build__plan > header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  padding-bottom: 27px;
  border-bottom: 1px solid var(--hairline);
}

.au-build__plan > header span,
.au-build__ledger > div:first-child > span,
.au-build__checks > span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 680;
  letter-spacing: 0.1em;
}

.au-build__plan h4 {
  margin: 9px 0 0;
  font-family: var(--display);
  font-size: clamp(36px, 3.2vw, 48px);
  line-height: 0.95;
  letter-spacing: -0.05em;
}

.au-build__plan > header p {
  max-width: 16rem;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}

.au-build__phases {
  display: grid;
  margin-top: 8px;
}

.au-build__phase {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: clamp(20px, 3vw, 46px);
  padding: 22px 0;
  border-bottom: 1px solid var(--hairline);
}

.au-build__phase > span {
  color: var(--cobalt-deep);
  font-size: 8px;
  line-height: 1.7;
}

.au-build__phase h5 {
  margin: 0 0 10px;
  font-family: var(--display);
  font-size: 22px;
  line-height: 1;
}

.au-build__phase ul,
.au-build__checks ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.au-build__phase li {
  position: relative;
  margin-top: 7px;
  padding-left: 15px;
  color: #3d4a53;
  font-size: 12px;
  line-height: 1.6;
}

.au-build__phase li::before {
  position: absolute;
  top: 0.68em;
  left: 0;
  width: 5px;
  height: 1px;
  background: var(--brake);
  content: "";
}

.au-build__ledger {
  display: flex;
  flex-direction: column;
  padding: 34px clamp(24px, 2.7vw, 38px) 32px;
  color: var(--ink);
  background: #dfe4e3;
}

.au-build__ledger h4 {
  margin: 10px 0 0;
  font-family: var(--display);
  font-size: 36px;
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.au-build__approval {
  margin: 15px 0 0;
  color: #536169;
  font-size: 10px;
  line-height: 1.65;
}

.au-build__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 26px 0 0;
  border: 1px solid var(--hairline);
}

.au-build__meta > div {
  min-width: 0;
  padding: 13px 12px;
  border-right: 1px solid var(--hairline);
}

.au-build__meta > div:last-child {
  border-right: 0;
}

.au-build__meta dt {
  color: var(--muted);
  font-size: 7px;
}

.au-build__meta dd {
  margin: 5px 0 0;
  color: var(--ink);
  font-size: 9px;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.au-build__checks {
  margin-top: 27px;
  padding-top: 24px;
  border-top: 1px solid var(--hairline);
}

.au-build__checks li {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 8px;
  margin-top: 12px;
  color: #3c4951;
  font-size: 11px;
  line-height: 1.55;
}

.au-build__checks li::before {
  display: grid;
  place-items: center;
  width: 15px;
  height: 15px;
  margin-top: 1px;
  color: var(--cobalt-deep);
  border: 1px solid rgba(12, 46, 173, 0.35);
  content: "✓";
  font-family: var(--mono);
  font-size: 8px;
}

.au-build__actions {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding-top: 26px;
}

.au-build__actions button,
.au-build__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 10px 15px;
  font-size: 11px;
  font-weight: 750;
  text-align: center;
  border: 1px solid var(--ink);
}

.au-build__actions button {
  color: var(--white);
  background: var(--cobalt-deep);
  border-color: var(--cobalt-deep);
}

.au-build__actions button:hover {
  background: var(--cobalt);
  border-color: var(--cobalt);
}

.au-build__actions a:hover {
  color: var(--white);
  background: var(--ink);
}

.au-build__mapping-note {
  grid-column: 1 / -1;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 7px;
  line-height: 1.6;
  text-align: center;
}

.au-builds__footer {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, 0.65fr);
  color: var(--ink);
  background: #bfc8c8;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-top: 0;
}

.au-builds__gate,
.au-builds__sources {
  min-width: 0;
  padding: 24px 28px;
}

.au-builds__gate {
  border-right: 1px solid rgba(17, 23, 28, 0.18);
}

.au-builds__footer span {
  color: #35434b;
  font-size: 8px;
  font-weight: 750;
}

.au-builds__gate ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  border: 1px solid rgba(17, 23, 28, 0.18);
}

.au-builds__gate li {
  display: grid;
  min-width: 0;
  padding: 13px;
  border-right: 1px solid rgba(17, 23, 28, 0.15);
}

.au-builds__gate li:last-child {
  border-right: 0;
}

.au-builds__gate b {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 8px;
}

.au-builds__gate strong {
  margin-top: 5px;
  font-size: 11px;
}

.au-builds__gate small {
  margin-top: 2px;
  color: #536169;
  font-size: 8px;
}

.au-builds__sources p {
  display: grid;
  gap: 8px;
  margin: 17px 0 0;
}

.au-builds__sources a {
  width: fit-content;
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
  border-bottom: 1px solid rgba(17, 23, 28, 0.36);
}

.au-builds__sources a:hover {
  color: var(--cobalt-deep);
  border-color: currentColor;
}

.au-builds__legal {
  grid-column: 1 / -1;
  margin: 0;
  padding: 16px 28px;
  color: rgba(255, 255, 255, 0.56);
  background: #050c16;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 8px;
  line-height: 1.8;
}

.au-builds__noscript {
  display: block;
  margin-top: 14px;
  padding: 17px 20px;
  color: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 11px;
}

@media (max-width: 1120px) {
  .au-builds__header {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .au-builds__facts {
    max-width: 620px;
  }

  .au-build {
    grid-template-columns: minmax(270px, 0.72fr) minmax(0, 1.28fr);
  }

  .au-build__ledger {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 0.72fr 1.2fr 0.95fr;
    gap: 28px;
    align-items: start;
    border-top: 1px solid var(--hairline);
  }

  .au-build__meta,
  .au-build__checks,
  .au-build__actions {
    margin: 0;
    padding-top: 0;
  }

  .au-build__checks {
    border-top: 0;
  }

  .au-build__actions {
    align-self: stretch;
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }

  .au-builds__footer {
    grid-template-columns: 1fr;
  }

  .au-builds__gate {
    border-right: 0;
    border-bottom: 1px solid rgba(17, 23, 28, 0.18);
  }
}

@media (max-width: 820px) {
  .au-builds__tabs {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .au-build-tab {
    flex: 0 0 178px;
    min-height: 86px;
    scroll-snap-align: start;
  }

  .au-build {
    display: flex;
    flex-direction: column;
  }

  .au-build__identity {
    min-height: 560px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .au-build__model {
    max-width: 560px;
  }

  .au-build__silhouette {
    max-width: 540px;
  }

  .au-build__plan {
    border-right: 0;
  }

  .au-build__ledger {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .au-build__ledger > :first-child,
  .au-build__actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .au-builds {
    margin: 0 -20px 76px;
  }

  .au-builds__header {
    margin-inline: 20px;
    padding-top: 27px;
  }

  .au-builds__intro h3 {
    font-size: clamp(51px, 15vw, 70px);
  }

  .au-builds__intro h3 br {
    display: none;
  }

  .au-builds__facts {
    width: 100%;
  }

  .au-builds__facts > div {
    padding-inline: 10px;
  }

  .au-builds__interface {
    border-right: 0;
    border-left: 0;
  }

  .au-build__identity {
    min-height: 500px;
    padding: 28px 20px 25px;
  }

  .au-build__identity::before {
    display: none;
  }

  .au-build__model {
    margin-top: 49px;
    font-size: clamp(52px, 16vw, 70px);
  }

  .au-build__summary {
    font-size: 12px;
  }

  .au-build__silhouette {
    min-height: 100px;
  }

  .au-build__plan {
    padding: 29px 20px 34px;
  }

  .au-build__plan > header {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .au-build__plan > header p {
    max-width: none;
    text-align: left;
  }

  .au-build__phase {
    grid-template-columns: 65px 1fr;
    gap: 16px;
  }

  .au-build__ledger {
    display: flex;
    align-items: stretch;
    padding: 28px 20px 32px;
  }

  .au-build__meta,
  .au-build__checks,
  .au-build__actions {
    margin-top: 24px;
  }

  .au-build__checks {
    padding-top: 22px;
    border-top: 1px solid var(--hairline);
  }

  .au-build__actions {
    grid-template-columns: 1fr;
  }

  .au-builds__footer {
    border-right: 0;
    border-left: 0;
  }

  .au-builds__gate,
  .au-builds__sources {
    padding: 22px 20px;
  }

  .au-builds__gate ol {
    grid-template-columns: repeat(2, 1fr);
  }

  .au-builds__gate li:nth-child(2) {
    border-right: 0;
  }

  .au-builds__gate li:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(17, 23, 28, 0.15);
  }

  .au-builds__legal {
    padding: 16px 20px;
  }
}

/* AU MOD SIM */
.mod-sim {
  --sim-paper: #dce3e1;
  --sim-paper-deep: #c5cfcd;
  --sim-ink: #101b24;
  --sim-line: #75848b;
  --sim-datum: #ff4c37;
  --sim-watch: #f6aa1c;
  --sim-body: #a95335;
  margin: 0 0 clamp(78px, 9vw, 124px);
  color: var(--white);
}

.mod-sim__header {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.55fr);
  align-items: end;
  gap: clamp(45px, 7vw, 110px);
  padding: 32px 0 clamp(40px, 5vw, 64px);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.mod-sim__header .eyebrow {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.54);
}

.mod-sim__header h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(52px, 5.9vw, 82px);
  font-weight: 770;
  line-height: 0.91;
  letter-spacing: -0.065em;
}

.mod-sim__header > div:first-child > p:last-child {
  max-width: 760px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.85;
}

.mod-sim__sync {
  padding: 20px 22px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.mod-sim__sync span,
.mod-sim__sync small,
.mod-sim__instrument span,
.mod-sim__assembly-control span,
.mod-sim__paint > span,
.mod-sim__magazine header span,
.mod-sim__ledger header > span,
.mod-sim__status span,
.mod-sim__issues span,
.mod-sim__selected span,
.mod-sim__disclaimer {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.085em;
}

.mod-sim__sync span {
  display: block;
  color: rgba(255, 255, 255, 0.43);
  font-size: 8px;
}

.mod-sim__sync strong {
  display: block;
  margin-top: 8px;
  font-family: var(--display);
  font-size: 27px;
  line-height: 1;
  letter-spacing: -0.03em;
}

.mod-sim__sync small {
  display: block;
  margin-top: 13px;
  color: rgba(255, 255, 255, 0.46);
  font-size: 7px;
  line-height: 1.65;
}

.mod-sim__bay {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(285px, 0.88fr);
  color: var(--sim-ink);
  background: #050c16;
  border: 1px solid rgba(255, 255, 255, 0.22);
  overflow: hidden;
}

.mod-sim__stage,
.mod-sim__ledger {
  min-width: 0;
}

.mod-sim__stage {
  position: relative;
  align-self: start;
  background:
    linear-gradient(90deg, transparent calc(50% - 0.5px), rgba(17, 27, 36, 0.08) 50%, transparent calc(50% + 0.5px)),
    var(--sim-paper);
}

.mod-sim__instrument {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  min-height: 108px;
  padding: 24px clamp(24px, 3vw, 42px) 22px;
  border-bottom: 1px solid rgba(16, 27, 36, 0.22);
}

.mod-sim__instrument span,
.mod-sim__magazine header span,
.mod-sim__ledger header > span,
.mod-sim__issues span,
.mod-sim__selected > div span {
  color: var(--cobalt-deep);
  font-size: 8px;
  font-weight: 750;
}

.mod-sim__instrument h4,
.mod-sim__magazine header h4,
.mod-sim__ledger h4 {
  margin: 8px 0 0;
  font-family: var(--display);
  font-size: 36px;
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.mod-sim__views {
  display: grid;
  grid-template-columns: repeat(3, minmax(72px, 1fr));
  border: 1px solid rgba(16, 27, 36, 0.42);
}

.mod-sim__views button {
  min-height: 44px;
  padding: 9px 12px;
  color: var(--sim-ink);
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(16, 27, 36, 0.32);
  font-size: 10px;
  font-weight: 750;
}

.mod-sim__views button:last-child {
  border-right: 0;
}

.mod-sim__views button:hover,
.mod-sim__views button[aria-pressed="true"] {
  color: var(--white);
  background: var(--sim-ink);
}

.mod-sim__drawing {
  position: relative;
  min-height: 470px;
  padding: 4px clamp(12px, 2vw, 26px) 0;
  overflow: hidden;
}

.mod-sim__drawing svg {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 470px;
  color: var(--sim-line);
  overflow: visible;
}

.mod-sim__datum path {
  fill: none;
  stroke: var(--sim-datum);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.mod-sim__datum path:nth-child(2) {
  stroke-dasharray: 6 9;
}

.mod-sim__datum text,
.mod-sim__axle-reactions text {
  fill: #53636a;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.mod-sim__connector-lines path {
  fill: none;
  stroke: var(--cobalt-deep);
  stroke-dasharray: 4 6;
  stroke-width: 1.5;
  transition: opacity 180ms ease;
  vector-effect: non-scaling-stroke;
}

.mod-sim__layer {
  transform-box: fill-box;
  transform-origin: center;
  transition:
    transform 260ms cubic-bezier(0.2, 0.72, 0.2, 1),
    opacity 180ms ease,
    filter 180ms ease;
}

.mod-sim__body {
  fill: color-mix(in srgb, var(--sim-body) 76%, transparent);
  stroke: var(--sim-ink);
  stroke-linejoin: round;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.mod-sim__glass {
  fill: rgba(25, 71, 255, 0.16);
  stroke: var(--cobalt-deep);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.mod-sim__beltline,
.mod-sim__doorline,
.mod-sim__chassis {
  fill: none;
  stroke: rgba(16, 27, 36, 0.55);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.mod-sim__chassis {
  stroke-width: 4;
}

.mod-sim__layer--suspension path {
  fill: none;
  stroke: var(--cobalt-deep);
  stroke-linecap: square;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.mod-sim__tyre {
  fill: #111b24;
  stroke: var(--sim-ink);
  stroke-width: 8;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 220ms ease, stroke-width 220ms ease;
  vector-effect: non-scaling-stroke;
}

.mod-sim__rim {
  fill: var(--sim-paper-deep);
  stroke: var(--sim-ink);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.mod-sim__spokes {
  fill: none;
  stroke: var(--sim-ink);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.mod-sim__stage[data-wheel="at-large"] .mod-sim__tyre {
  stroke-width: 10;
  transform: scale(1.07);
}

.mod-sim__stage[data-wheel="mt-33"] .mod-sim__tyre {
  stroke: #050c16;
  stroke-dasharray: 4 3;
  stroke-width: 12;
  transform: scale(1.12);
}

.mod-sim__bar,
.mod-sim__roof-bars,
.mod-sim__awning,
.mod-sim__tent,
.mod-sim__cargo-shell,
.mod-sim__cargo-shelves {
  fill: none;
  stroke: var(--sim-ink);
  stroke-linejoin: round;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.mod-sim__winch,
.mod-sim__cargo-cell {
  fill: var(--sim-watch);
  stroke: var(--sim-ink);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.mod-sim__winch-drum {
  fill: none;
  stroke: var(--sim-ink);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.mod-sim__cargo-shell {
  fill: rgba(16, 27, 36, 0.07);
}

.mod-sim__stage[data-protection="none"] .mod-sim__layer--protection,
.mod-sim__stage[data-roof="none"] .mod-sim__layer--roof,
.mod-sim__stage[data-cargo="none"] .mod-sim__layer--cargo {
  opacity: 0;
}

.mod-sim__stage[data-protection="nudge"] :is(.mod-sim__winch, .mod-sim__winch-drum) {
  display: none;
}

.mod-sim__stage[data-protection="alloy-bar"] :is(.mod-sim__winch, .mod-sim__winch-drum) {
  opacity: 0.22;
}

.mod-sim__stage[data-roof="roof-bars"] :is(.mod-sim__awning, .mod-sim__tent) {
  display: none;
}

.mod-sim__stage[data-roof="platform-awning"] .mod-sim__tent {
  display: none;
}

.mod-sim__stage[data-cargo="light-pack"] .mod-sim__cargo-shell {
  transform: scale(0.72);
  transform-box: fill-box;
  transform-origin: right bottom;
}

.mod-sim__stage[data-cargo="remote-module"] .mod-sim__cargo-shell {
  fill: url("#mod-sim-hatch");
  stroke-width: 4;
}

.mod-sim__stage[data-view="section"] .mod-sim__body {
  fill: url("#mod-sim-hatch");
  fill-opacity: 0.82;
}

.mod-sim__stage[data-view="section"] .mod-sim__glass {
  fill: rgba(25, 71, 255, 0.06);
}

.mod-sim__stage .mod-sim__layer:not(.mod-sim__layer--body) {
  opacity: 0.58;
}

.mod-sim__stage[data-active-system="suspension"] .mod-sim__layer--suspension,
.mod-sim__stage[data-active-system="wheel"] .mod-sim__layer--wheel,
.mod-sim__stage[data-active-system="protection"] .mod-sim__layer--protection,
.mod-sim__stage[data-active-system="roof"] .mod-sim__layer--roof,
.mod-sim__stage[data-active-system="cargo"] .mod-sim__layer--cargo {
  opacity: 1;
  filter: drop-shadow(0 5px 0 rgba(255, 76, 55, 0.16));
}

.mod-sim__axle-reactions path {
  fill: none;
  stroke: var(--sim-datum);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.mod-sim__assembly-control {
  padding: 20px clamp(24px, 3vw, 42px) 22px;
  background: rgba(255, 255, 255, 0.2);
  border-top: 1px solid rgba(16, 27, 36, 0.18);
  border-bottom: 1px solid rgba(16, 27, 36, 0.18);
}

.mod-sim__assembly-control label,
.mod-sim__assembly-control > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.mod-sim__assembly-control label span,
.mod-sim__assembly-control > div span,
.mod-sim__paint > span {
  color: #53636a;
  font-size: 8px;
  font-weight: 720;
}

.mod-sim__assembly-control output {
  color: var(--sim-ink);
  font-family: var(--display);
  font-size: 24px;
  font-weight: 760;
}

.mod-sim__assembly-control input {
  width: 100%;
  margin: 13px 0 9px;
  accent-color: var(--sim-datum);
}

.mod-sim__paint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px clamp(24px, 3vw, 42px);
  border-bottom: 1px solid rgba(16, 27, 36, 0.18);
}

.mod-sim__paint > div {
  display: flex;
  gap: 8px;
}

.mod-sim__paint button {
  width: 30px;
  height: 30px;
  padding: 0;
  background: var(--paint);
  border: 2px solid var(--sim-paper);
  box-shadow: 0 0 0 1px rgba(16, 27, 36, 0.34);
}

.mod-sim__paint button[aria-pressed="true"] {
  box-shadow: 0 0 0 3px var(--sim-ink);
}

.mod-sim__magazine {
  background: #edf1ef;
}

.mod-sim__magazine > header {
  padding: 25px clamp(24px, 3vw, 42px) 20px;
}

.mod-sim__magazine header h4 {
  color: var(--sim-ink);
  font-size: 30px;
}

.mod-sim__systems {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid rgba(16, 27, 36, 0.22);
  border-bottom: 1px solid rgba(16, 27, 36, 0.22);
}

.mod-sim__systems button {
  display: grid;
  min-width: 0;
  min-height: 84px;
  padding: 13px 14px;
  color: var(--sim-ink);
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(16, 27, 36, 0.18);
  text-align: left;
}

.mod-sim__systems button:last-child {
  border-right: 0;
}

.mod-sim__systems button:hover,
.mod-sim__systems button[aria-selected="true"] {
  color: var(--white);
  background: var(--cobalt-deep);
}

.mod-sim__systems button > span {
  font-family: var(--mono);
  font-size: 8px;
}

.mod-sim__systems button > strong {
  margin-top: 6px;
  font-size: 12px;
}

.mod-sim__systems button > small {
  margin-top: 5px;
  overflow: hidden;
  font-size: 8px;
  opacity: 0.7;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mod-sim__options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 198px;
  border-bottom: 1px solid rgba(16, 27, 36, 0.22);
}

.mod-sim-option {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 198px;
  padding: 18px 16px;
  color: var(--sim-ink);
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(16, 27, 36, 0.17);
  text-align: left;
}

.mod-sim-option:last-child {
  border-right: 0;
}

.mod-sim-option:hover {
  background: rgba(25, 71, 255, 0.07);
}

.mod-sim-option[aria-pressed="true"] {
  color: var(--white);
  background: var(--sim-ink);
}

.mod-sim-option > span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.07em;
}

.mod-sim-option[aria-pressed="true"] > span {
  color: #7994ff;
}

.mod-sim-option > strong {
  margin-top: 10px;
  font-family: var(--display);
  font-size: 22px;
  line-height: 1;
  letter-spacing: -0.03em;
}

.mod-sim-option > b {
  margin-top: 10px;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.04em;
}

.mod-sim-option > small {
  margin-top: auto;
  padding-top: 18px;
  font-size: 10px;
  line-height: 1.6;
  opacity: 0.68;
}

.mod-sim__preset-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 16px clamp(24px, 3vw, 42px) 22px;
}

.mod-sim__preset-actions button,
.mod-sim__ledger-actions button {
  min-height: 48px;
  padding: 10px 13px;
  font-size: 10px;
  font-weight: 750;
}

.mod-sim__preset-actions button {
  color: var(--sim-ink);
  background: transparent;
  border: 1px solid var(--sim-ink);
}

.mod-sim__preset-actions button:hover {
  color: var(--white);
  background: var(--sim-ink);
}

.mod-sim__ledger {
  display: flex;
  flex-direction: column;
  padding: 27px clamp(22px, 2.5vw, 34px) 30px;
  color: var(--white);
  background: #050c16;
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.mod-sim__ledger header {
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.mod-sim__ledger h4 {
  font-size: 35px;
}

.mod-sim__ledger header p {
  margin: 13px 0 0;
  color: rgba(255, 255, 255, 0.48);
  font-size: 10px;
}

.mod-sim__status {
  margin-top: 22px;
  padding: 17px 17px 18px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-left: 5px solid var(--cobalt);
}

.mod-sim__status[data-state="watch"] {
  border-left-color: var(--sim-watch);
}

.mod-sim__status[data-state="high"] {
  border-left-color: var(--sim-datum);
}

.mod-sim__status span {
  color: rgba(255, 255, 255, 0.47);
  font-size: 8px;
}

.mod-sim__status strong {
  display: block;
  margin-top: 8px;
  font-family: var(--display);
  font-size: 23px;
  line-height: 1.08;
}

.mod-sim__status p {
  margin: 9px 0 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 10px;
  line-height: 1.6;
}

.mod-sim__metrics {
  margin: 22px 0 0;
}

.mod-sim__metrics > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.mod-sim__metrics dt {
  color: rgba(255, 255, 255, 0.47);
  font-size: 10px;
}

.mod-sim__metrics dd {
  margin: 0;
  color: var(--white);
  font-family: var(--mono);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.mod-sim__metrics dd b {
  font-family: var(--display);
  font-size: 23px;
  letter-spacing: -0.03em;
}

.mod-sim__issues {
  margin-top: 25px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.mod-sim__issues h5 {
  margin: 5px 0 0;
  font-family: var(--display);
  font-size: 25px;
  line-height: 1;
}

.mod-sim__issues ul {
  display: grid;
  gap: 10px;
  margin: 17px 0 0;
  padding: 0;
  list-style: none;
}

.mod-sim__issues li {
  position: relative;
  padding-left: 17px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 10px;
  line-height: 1.65;
}

.mod-sim__issues li::before {
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 7px;
  height: 7px;
  background:
    linear-gradient(135deg, transparent 38%, var(--sim-datum) 39% 61%, transparent 62%);
  content: "";
}

.mod-sim__selected {
  margin-top: 25px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.mod-sim__selected h5 {
  margin: 5px 0 0;
  font-family: var(--display);
  font-size: 25px;
  line-height: 1;
}

.mod-sim__selected ol {
  display: grid;
  gap: 0;
  margin: 17px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.mod-sim__selected li {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 3px 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.mod-sim__selected li > span {
  grid-row: 1 / 3;
  color: #7f98ff;
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.05em;
}

.mod-sim__selected li > strong {
  min-width: 0;
  font-size: 10px;
  line-height: 1.35;
}

.mod-sim__selected li > small {
  color: rgba(255, 255, 255, 0.45);
  font-family: var(--mono);
  font-size: 7px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.03em;
}

.mod-sim__selected li.is-empty {
  display: block;
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px;
  line-height: 1.6;
}

.mod-sim__ledger-actions {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding-top: 28px;
}

.mod-sim__ledger-actions button {
  color: var(--white);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.72);
}

.mod-sim__ledger-actions button:first-child {
  background: var(--cobalt-deep);
  border-color: var(--cobalt-deep);
}

.mod-sim__ledger-actions button:hover {
  color: var(--sim-ink);
  background: var(--white);
  border-color: var(--white);
}

.mod-sim__ledger-actions button:first-child:hover {
  color: var(--white);
  background: var(--cobalt);
  border-color: var(--cobalt);
}

.mod-sim__disclaimer {
  margin: 0;
  padding: 16px 22px;
  color: rgba(255, 255, 255, 0.54);
  background: #050c16;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-top: 0;
  font-size: 8px;
  line-height: 1.8;
}

.mod-sim__noscript {
  display: block;
  margin-top: 12px;
  padding: 15px 18px;
  color: rgba(255, 255, 255, 0.66);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 10px;
}

.load-desk__plan-source {
  display: inline-block;
  margin-left: 7px;
  padding: 2px 6px;
  color: var(--white);
  background: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 720;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.load-desk__plan-source[hidden] {
  display: none;
}

.mod-sim :is(button, input, [tabindex]):focus-visible {
  outline: 3px solid var(--sim-datum);
  outline-offset: 3px;
}

@media (max-width: 1120px) {
  .mod-sim__header {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .mod-sim__sync {
    max-width: 560px;
  }

  .mod-sim__bay {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.44fr);
  }

  .mod-sim__options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mod-sim-option:nth-child(2n) {
    border-right: 0;
  }

  .mod-sim-option:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(16, 27, 36, 0.17);
  }
}

@media (max-width: 900px) {
  .mod-sim__bay {
    grid-template-columns: 1fr;
  }

  .mod-sim__ledger {
    min-height: 680px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    border-left: 0;
  }

  .mod-sim__metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .mod-sim__metrics > div:nth-child(odd) {
    padding-right: 18px;
    border-right: 1px solid rgba(255, 255, 255, 0.14);
  }

  .mod-sim__metrics > div:nth-child(even) {
    padding-left: 18px;
  }
}

@media (max-width: 720px) {
  .mod-sim {
    margin-inline: -20px;
  }

  .mod-sim__header {
    margin-inline: 20px;
    padding-top: 27px;
  }

  .mod-sim__header h3 {
    font-size: clamp(50px, 15vw, 69px);
  }

  .mod-sim__header h3 br {
    display: none;
  }

  .mod-sim__sync {
    max-width: none;
  }

  .mod-sim__bay,
  .mod-sim__disclaimer {
    border-right: 0;
    border-left: 0;
  }

  .mod-sim__instrument {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
    padding: 24px 20px 20px;
  }

  .mod-sim__views {
    width: 100%;
  }

  .mod-sim__drawing {
    min-height: 420px;
    padding: 0;
    aspect-ratio: 4 / 5;
  }

  .mod-sim__drawing svg {
    min-height: 420px;
  }

  .mod-sim__assembly-control,
  .mod-sim__paint {
    padding-right: 20px;
    padding-left: 20px;
  }

  .mod-sim__paint {
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
  }

  .mod-sim__paint button {
    width: 34px;
    height: 34px;
  }

  .mod-sim__magazine > header {
    padding: 24px 20px 19px;
  }

  .mod-sim__systems {
    grid-template-columns: repeat(2, 1fr);
  }

  .mod-sim__systems button {
    border-bottom: 1px solid rgba(16, 27, 36, 0.18);
  }

  .mod-sim__systems button:nth-child(2n) {
    border-right: 0;
  }

  .mod-sim__systems button:last-child {
    grid-column: 1 / -1;
    border-bottom: 0;
  }

  .mod-sim__options {
    grid-template-columns: 1fr;
  }

  .mod-sim-option {
    min-height: 158px;
    border-right: 0;
    border-bottom: 1px solid rgba(16, 27, 36, 0.17);
  }

  .mod-sim-option:last-child {
    border-bottom: 0;
  }

  .mod-sim__preset-actions {
    grid-template-columns: 1fr;
    padding: 16px 20px 22px;
  }

  .mod-sim__ledger {
    min-height: 0;
    padding: 27px 20px 30px;
  }

  .mod-sim__metrics {
    display: block;
  }

  .mod-sim__metrics > div:nth-child(odd),
  .mod-sim__metrics > div:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
  }

  .mod-sim__disclaimer {
    padding: 16px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mod-sim__layer,
  .mod-sim__connector-lines path,
  .mod-sim__tyre {
    transition: none;
  }
}

/* NOVA Paddock / automotive forum */
.car-forum {
  scroll-margin-top: calc(var(--header-height) + 24px);
  background:
    linear-gradient(90deg, rgba(17, 23, 28, 0.035) 1px, transparent 1px) 0 0 / 8.333% 100%,
    var(--garage-mist);
}

.car-forum__intro {
  display: grid;
  grid-template-columns: 0.7fr 1.18fr 0.8fr;
  align-items: end;
  gap: clamp(34px, 5.8vw, 90px);
  margin-bottom: clamp(52px, 6vw, 82px);
  padding-top: 30px;
  border-top: 1px solid var(--hairline);
}

.car-forum__intro .eyebrow {
  align-self: start;
  margin: 5px 0 0;
}

.car-forum__intro > div > span,
.forum-board__mast > div > span,
.forum-feed__head,
.forum-sidebar section > span,
.forum-noscript,
.forum-compose header span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.12em;
}

.car-forum__intro h2,
.car-forum__intro h3 {
  margin: 14px 0 0;
  font-family: var(--display);
  font-size: clamp(54px, 5.9vw, 90px);
  font-weight: 780;
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.car-forum__intro > p:last-child {
  max-width: 31rem;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.85;
}

.forum-skip {
  display: inline-flex;
  min-height: var(--nova-control-compact);
  align-items: center;
  margin: 0 0 14px;
  padding: 0 15px;
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  background: var(--white);
  border: 1px solid var(--hairline);
}

.forum-skip:hover {
  color: var(--white);
  background: var(--cobalt-deep);
}

.forum-board {
  border: 1px solid var(--hairline);
  background: var(--white);
  box-shadow: var(--depth-surface);
}

.forum-board__mast {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) auto auto;
  align-items: stretch;
  min-height: 156px;
  color: var(--white);
  background:
    linear-gradient(120deg, transparent 57%, rgba(255, 255, 255, 0.045)),
    var(--track-night);
  border-bottom: 4px solid var(--brake);
}

.forum-board__mast > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px clamp(26px, 3vw, 46px);
}

.forum-board__mast > div > span {
  color: rgba(255, 255, 255, 0.5);
}

.forum-board__mast h3,
.forum-board__mast h4 {
  margin: 10px 0 0;
  font-family: var(--display);
  font-size: clamp(35px, 3.4vw, 52px);
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.forum-board__mast p {
  max-width: 34rem;
  margin: 13px 0 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
}

.forum-board__mast dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(88px, 1fr));
  min-width: 330px;
  margin: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.13);
}

.forum-board__mast dl div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 24px 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.13);
}

.forum-board__mast dt {
  color: rgba(255, 255, 255, 0.48);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.1em;
}

.forum-board__mast dd {
  margin: 9px 0 0;
  font-family: var(--display);
  font-size: 30px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: -0.045em;
}

.forum-board__compose {
  min-width: 168px;
  padding: 0 24px;
  color: var(--white);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  background: var(--cobalt);
  border: 0;
}

.forum-board__compose span {
  display: block;
  margin-top: 9px;
  font-family: var(--display);
  font-size: 30px;
  line-height: 0.5;
}

.forum-board__compose:hover:not(:disabled) {
  background: var(--brake);
}

.forum-foundation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 345px;
  border-bottom: 1px solid var(--hairline);
}

.forum-sections {
  min-width: 0;
  border-right: 1px solid var(--hairline);
}

.forum-sections > header {
  display: grid;
  grid-template-columns: minmax(250px, 0.8fr) minmax(280px, 1.2fr);
  align-items: end;
  gap: 32px;
  min-height: 124px;
  padding: 25px 28px;
  border-bottom: 1px solid var(--hairline);
}

.forum-sections > header span,
.forum-member small,
.forum-notices small {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.forum-sections > header h4 {
  margin: 12px 0 0;
  font-family: var(--display);
  font-size: clamp(30px, 3vw, 43px);
  line-height: 0.95;
  letter-spacing: -0.05em;
}

.forum-sections > header > p {
  max-width: 33rem;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.forum-sections__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.forum-sections__grid button {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 184px;
  align-items: flex-start;
  flex-direction: column;
  padding: 22px;
  color: var(--ink);
  text-align: left;
  background:
    linear-gradient(145deg, transparent 64%, rgba(25, 71, 255, 0.035)),
    var(--white);
  border: 0;
  border-right: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}

.forum-sections__grid button:nth-child(3n) {
  border-right: 0;
}

.forum-sections__grid button:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.forum-sections__grid button::before {
  position: absolute;
  inset: -1px auto auto -1px;
  width: 42px;
  height: 3px;
  background: var(--brake);
  content: "";
  transition: width var(--nova-motion) ease;
}

.forum-sections__grid button:hover:not(:disabled)::before,
.forum-sections__grid button[aria-pressed="true"]::before {
  width: calc(100% + 2px);
}

.forum-sections__grid button[aria-pressed="true"] {
  color: var(--white);
  background: var(--track-night);
}

.forum-section__code {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.1em;
}

.forum-sections__grid button[aria-pressed="true"] .forum-section__code,
.forum-sections__grid button[aria-pressed="true"] p,
.forum-sections__grid button[aria-pressed="true"] small {
  color: rgba(255, 255, 255, 0.62);
}

.forum-sections__grid strong {
  margin-top: 22px;
  font-family: var(--display);
  font-size: 25px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.forum-sections__grid p {
  margin: 10px 0 20px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.forum-sections__grid small {
  margin-top: auto;
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.05em;
}

.forum-sections__grid small b {
  font-size: 10px;
}

.forum-foundation__utility {
  min-width: 0;
}

.forum-member {
  padding: 26px 24px 28px;
  color: var(--white);
  background:
    linear-gradient(135deg, transparent 58%, rgba(25, 71, 255, 0.14)),
    var(--track-night);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.forum-member > header {
  display: flex;
  align-items: center;
  gap: 13px;
}

.forum-member > header > span {
  display: grid;
  width: 49px;
  height: 49px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--track-night);
  font-family: var(--display);
  font-size: 24px;
  font-weight: 760;
  background: var(--white);
  border-bottom: 4px solid var(--brake);
}

.forum-member small {
  color: rgba(255, 255, 255, 0.48);
}

.forum-member h4 {
  margin: 4px 0 0;
  font-family: var(--display);
  font-size: 30px;
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.forum-member dl {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 23px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.forum-member dl div {
  padding: 13px 7px;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.forum-member dl div:last-child {
  border-right: 0;
}

.forum-member dt {
  color: rgba(255, 255, 255, 0.45);
  font-family: var(--mono);
  font-size: 7px;
  line-height: 1.4;
}

.forum-member dd {
  margin: 6px 0 0;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 750;
  line-height: 1;
}

.forum-member__actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 18px;
}

.forum-member__actions button {
  min-height: var(--nova-control-compact);
  padding: 0 7px;
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--mono);
  font-size: 8px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-right: 0;
}

.forum-member__actions button:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.forum-member__actions button:hover:not(:disabled),
.forum-member__actions button[aria-pressed="true"] {
  color: var(--white);
  background: var(--cobalt-deep);
}

.forum-notices {
  padding: 25px 24px 27px;
  background: var(--white);
}

.forum-notices > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.forum-notices h4 {
  margin: 7px 0 0;
  font-family: var(--display);
  font-size: 28px;
  line-height: 0.95;
  letter-spacing: -0.04em;
}

.forum-notices > header > span {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 8px;
  white-space: nowrap;
}

.forum-notices > header > span b {
  font-size: 12px;
}

.forum-notices ul {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.forum-notices li {
  position: relative;
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  gap: 10px 12px;
  padding: 14px 0 15px;
  border-top: 1px solid var(--hairline);
}

.forum-notices li::before {
  position: absolute;
  top: 19px;
  left: -9px;
  width: 4px;
  height: 4px;
  background: var(--brake);
  border-radius: 50%;
  content: "";
}

.forum-notices li.is-read::before {
  background: var(--moon-alloy);
}

.forum-notices li > span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
}

.forum-notices li > p {
  display: grid;
  gap: 4px;
  margin: 0;
}

.forum-notices li > p strong {
  font-size: 11px;
  line-height: 1.45;
}

.forum-notices li > p small {
  color: var(--muted);
  font-family: var(--body);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}

.forum-notices li > div {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.forum-notices time {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
}

.forum-notices li button,
.forum-notices__all {
  min-height: var(--nova-control-compact);
  padding: 0 11px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  background: transparent;
  border: 1px solid var(--hairline);
}

.forum-notices li button {
  min-height: var(--nova-control-compact);
}

.forum-notices li.is-read {
  background: rgba(237, 240, 239, 0.45);
}

.forum-notices__all {
  width: 100%;
  margin-top: 3px;
}

.forum-notices :is(button):hover:not(:disabled) {
  color: var(--cobalt-deep);
  border-color: var(--cobalt);
}

.forum-brands {
  min-width: 0;
  background: var(--garage-mist);
  border-bottom: 1px solid var(--hairline);
}

.forum-brands > header {
  display: grid;
  grid-template-columns: minmax(270px, 0.85fr) minmax(360px, 1.15fr) 150px;
  align-items: stretch;
  min-height: 128px;
  background: var(--white);
  border-bottom: 1px solid var(--hairline);
}

.forum-brands > header > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 28px;
  border-right: 1px solid var(--hairline);
}

.forum-brands > header > div:first-child > span,
.forum-brands__method a,
.forum-brands__scroll-hint {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.forum-brands > header h4 {
  margin: 11px 0 0;
  font-family: var(--display);
  font-size: clamp(31px, 3vw, 43px);
  line-height: 0.94;
  letter-spacing: -0.052em;
}

.forum-brands__method {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 24px 28px;
}

.forum-brands__method p {
  max-width: 37rem;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}

.forum-brands__method a {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 6px;
}

.forum-brands__method a:hover {
  color: var(--brake);
}

.forum-brands__scroll-hint {
  display: none;
}

.forum-brands__all {
  min-width: 0;
  padding: 18px;
  color: var(--white);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: var(--cobalt-deep);
  border: 0;
  border-left: 1px solid var(--hairline);
}

.forum-brands__all b {
  display: block;
  margin-top: 9px;
  font-family: var(--display);
  font-size: 28px;
  line-height: 1;
}

.forum-brands__all[aria-pressed="true"] {
  background: var(--track-night);
  box-shadow: inset 0 -4px 0 var(--brake);
}

.forum-brands__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  padding: 1px 0 0;
  background: var(--hairline);
}

.forum-brands__grid button {
  --brand-volume: 0%;
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 132px;
  align-items: flex-start;
  flex-direction: column;
  padding: 17px 18px 20px;
  overflow: hidden;
  color: var(--ink);
  text-align: left;
  background:
    linear-gradient(145deg, transparent 67%, rgba(25, 71, 255, 0.04)),
    var(--white);
  border: 0;
}

.forum-brands__grid button::before {
  position: absolute;
  right: auto;
  bottom: 0;
  left: 0;
  width: var(--brand-volume);
  height: 3px;
  background: var(--cobalt);
  content: "";
}

.forum-brands__grid button::after {
  position: absolute;
  top: 13px;
  right: 13px;
  display: none;
  color: var(--brake);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.08em;
  content: "已选择";
}

.forum-brands__grid button:hover:not(:disabled) {
  background: var(--garage-mist);
}

.forum-brands__grid button[aria-pressed="true"] {
  color: var(--white);
  background: var(--track-night);
}

.forum-brands__grid button[aria-pressed="true"]::before {
  width: 100%;
  background: var(--brake);
}

.forum-brands__grid button[aria-pressed="true"]::after {
  display: block;
}

.forum-brands__grid button > span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.1em;
}

.forum-brands__grid button strong {
  max-width: calc(100% - 10px);
  margin-top: 12px;
  overflow-wrap: anywhere;
  font-family: var(--display);
  font-size: clamp(19px, 1.9vw, 27px);
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.forum-brands__grid button small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.45;
}

.forum-brands__grid button em {
  margin-top: auto;
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 7px;
  font-style: normal;
  letter-spacing: 0.04em;
}

.forum-brands__grid button em b {
  font-size: 9px;
}

.forum-brands__grid button[aria-pressed="true"] :is(span, small, em) {
  color: rgba(255, 255, 255, 0.62);
}

.forum-vehicles {
  --vehicle-grid: rgba(17, 23, 28, 0.065);
  min-width: 0;
  scroll-margin-top: calc(var(--header-height) + 14px);
  background:
    linear-gradient(90deg, transparent 0 49.92%, var(--vehicle-grid) 50%, transparent 50.08%),
    linear-gradient(0deg, transparent 0 49.92%, var(--vehicle-grid) 50%, transparent 50.08%),
    var(--white);
  background-size: 52px 52px;
  border-bottom: 1px solid var(--hairline);
}

#forum-vehicles-title {
  scroll-margin-top: calc(var(--header-height) + 14px);
}

.forum-vehicles > header {
  display: grid;
  grid-template-columns: minmax(300px, 0.95fr) minmax(380px, 1.2fr) 150px;
  align-items: stretch;
  min-height: 134px;
  background: var(--track-night);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.forum-vehicles > header > div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 25px 28px;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.forum-vehicles > header span,
.forum-vehicles__catalog > header span,
.forum-vehicles__path span,
.forum-model-card > span,
.forum-models__prompt > span {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.forum-vehicles > header h4 {
  margin: 11px 0 0;
  color: var(--white);
  font-family: var(--display);
  font-size: clamp(30px, 3vw, 43px);
  line-height: 0.94;
  letter-spacing: -0.052em;
}

.forum-vehicles > header > p {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 25px 28px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  line-height: 1.75;
}

.forum-vehicles > header > button {
  padding: 18px;
  color: var(--white);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: var(--cobalt-deep);
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.forum-vehicles > header > button:hover:not(:disabled) {
  background: var(--cobalt);
}

.forum-vehicles__path {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 72px;
  background: rgba(247, 248, 246, 0.94);
  border-bottom: 1px solid var(--hairline);
}

.forum-vehicles__path p {
  display: flex;
  min-width: 0;
  justify-content: center;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  padding: 15px 24px;
}

.forum-vehicles__path p:first-child {
  border-right: 1px solid var(--hairline);
}

.forum-vehicles__path strong {
  overflow: hidden;
  color: var(--ink);
  font-family: var(--display);
  font-size: 21px;
  line-height: 1;
  letter-spacing: -0.035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-vehicles__path p:last-child {
  min-width: 250px;
  align-items: flex-end;
  text-align: right;
}

.forum-vehicles__path p:last-child b {
  color: var(--cobalt-deep);
  font-family: var(--display);
  font-size: 25px;
  line-height: 0.8;
}

.forum-vehicles__path p:last-child span {
  color: var(--muted);
  font-size: 7px;
}

.forum-vehicles__classes {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 1px;
  padding: 1px 0 0;
  background: var(--hairline);
}

.forum-vehicles__classes button {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 105px;
  align-items: flex-start;
  flex-direction: column;
  padding: 15px 16px 14px;
  overflow: hidden;
  color: var(--ink);
  text-align: left;
  background: rgba(255, 255, 255, 0.98);
  border: 0;
}

.forum-vehicles__classes button::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: transparent;
  content: "";
}

.forum-vehicles__classes button:hover:not(:disabled) {
  background: var(--garage-mist);
}

.forum-vehicles__classes button[aria-pressed="true"] {
  color: var(--white);
  background: var(--cobalt-deep);
}

.forum-vehicles__classes button[aria-pressed="true"]::after {
  background: var(--brake);
}

.forum-vehicles__classes button > span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.08em;
}

.forum-vehicles__classes button strong {
  margin-top: 9px;
  font-family: var(--display);
  font-size: clamp(16px, 1.5vw, 21px);
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.forum-vehicles__classes button small {
  margin-top: auto;
  padding-top: 10px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 7px;
}

.forum-vehicles__classes button small b {
  color: var(--cobalt-deep);
  font-size: 9px;
}

.forum-vehicles__classes button[aria-pressed="true"] :is(span, small, small b) {
  color: rgba(255, 255, 255, 0.66);
}

.forum-vehicles__catalog {
  background: rgba(237, 240, 239, 0.92);
}

.forum-vehicles__catalog > header {
  display: grid;
  grid-template-columns: minmax(270px, 0.8fr) minmax(0, 1.2fr);
  min-height: 92px;
  background: rgba(247, 248, 246, 0.96);
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}

.forum-vehicles__catalog > header > div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 18px 24px;
  border-right: 1px solid var(--hairline);
}

.forum-vehicles__catalog > header span {
  color: var(--cobalt-deep);
}

.forum-vehicles__catalog > header h5 {
  margin: 8px 0 0;
  font-family: var(--display);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.forum-vehicles__catalog > header > p {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 18px 24px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.7;
}

.forum-models {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(var(--forum-model-columns, 5), minmax(0, 1fr));
  gap: 1px;
  background: var(--hairline);
}

.forum-model-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 215px;
  align-items: flex-start;
  flex-direction: column;
  padding: 20px 19px 18px;
  overflow: hidden;
  color: var(--ink);
  text-align: left;
  background:
    linear-gradient(145deg, transparent 59%, rgba(25, 71, 255, 0.055)),
    var(--white);
  border: 0;
}

.forum-model-card::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 45px;
  height: 4px;
  background: var(--cobalt);
  content: "";
}

.forum-model-card::after {
  position: absolute;
  right: -16px;
  bottom: -29px;
  color: rgba(7, 16, 30, 0.045);
  font-family: var(--display);
  font-size: 104px;
  font-weight: 800;
  line-height: 1;
  content: attr(data-model-index);
  pointer-events: none;
}

.forum-model-card:hover:not(:disabled) {
  background: var(--garage-mist);
}

.forum-model-card[aria-pressed="true"] {
  color: var(--white);
  background:
    linear-gradient(145deg, transparent 54%, rgba(255, 255, 255, 0.045)),
    var(--track-night);
}

.forum-model-card[aria-pressed="true"]::before {
  width: 100%;
  background: var(--brake);
}

.forum-model-card[aria-pressed="true"]::after {
  color: rgba(255, 255, 255, 0.055);
}

.forum-model-card > span {
  position: relative;
  z-index: 1;
  color: var(--cobalt-deep);
}

.forum-model-card > strong {
  position: relative;
  z-index: 1;
  margin-top: 15px;
  font-family: var(--display);
  font-size: clamp(23px, 2.1vw, 31px);
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.forum-model-card > small {
  position: relative;
  z-index: 1;
  margin-top: 9px;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.45;
}

.forum-model-card > p {
  position: relative;
  z-index: 1;
  margin: auto 0 0;
  padding-top: 17px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 7px;
  line-height: 1.55;
}

.forum-model-card__tags {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 10px;
}

.forum-model-card__tags i {
  padding: 3px 5px;
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 6px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.04em;
  border: 1px solid currentColor;
}

.forum-model-card__count {
  position: relative;
  z-index: 1;
  margin-top: 12px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 7px;
}

.forum-model-card__count b {
  color: var(--cobalt-deep);
  font-size: 10px;
}

.forum-model-card[aria-pressed="true"] :is(span, small, p, .forum-model-card__count, .forum-model-card__count b) {
  color: rgba(255, 255, 255, 0.7);
}

.forum-model-card[aria-pressed="true"] .forum-model-card__tags i {
  color: var(--white);
}

.forum-model-card--other {
  min-height: 138px;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(190px, 0.75fr) minmax(280px, 1.4fr) minmax(190px, 0.7fr) auto;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 28px;
}

.forum-model-card--other > span {
  grid-row: 1;
  grid-column: 1;
}

.forum-model-card--other > strong {
  grid-row: 2;
  grid-column: 1;
  margin-top: 9px;
}

.forum-model-card--other > small {
  grid-row: 1;
  grid-column: 2;
  margin-top: 0;
}

.forum-model-card--other > p {
  grid-row: 2;
  grid-column: 2;
  margin: 7px 0 0;
  padding-top: 0;
}

.forum-model-card--other .forum-model-card__tags {
  grid-row: 1 / 3;
  grid-column: 3;
  align-self: center;
  margin-top: 0;
}

.forum-model-card--other .forum-model-card__count {
  grid-row: 1 / 3;
  grid-column: 4;
  align-self: center;
  margin-top: 0;
}

.forum-models__prompt {
  display: flex;
  min-height: 190px;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 36px;
  text-align: center;
  background:
    repeating-linear-gradient(90deg, transparent 0 51px, rgba(17, 23, 28, 0.045) 51px 52px),
    var(--white);
}

.forum-models__prompt > span {
  color: var(--cobalt-deep);
}

.forum-models__prompt > strong {
  font-family: var(--display);
  font-size: clamp(27px, 3vw, 42px);
  line-height: 0.96;
  letter-spacing: -0.05em;
}

.forum-controls {
  display: grid;
  grid-template-columns: minmax(240px, 0.78fr) minmax(520px, 1.55fr) 150px;
  align-items: stretch;
  min-height: 82px;
  border-bottom: 1px solid var(--hairline);
}

.forum-search {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 13px 22px;
  border-right: 1px solid var(--hairline);
}

.forum-search label {
  display: grid;
  width: 100%;
  gap: 5px;
}

.forum-search span,
.forum-sort > span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.09em;
}

.forum-search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  color: var(--ink);
  font-size: 13px;
  background: transparent;
  border: 0;
  outline: 0;
}

.forum-search input::placeholder {
  color: rgba(101, 114, 123, 0.72);
}

.forum-categories {
  display: flex;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}

.forum-categories button {
  flex: 1 0 auto;
  min-width: 88px;
  padding: 0 15px;
  color: var(--muted);
  font-size: 11px;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--hairline);
}

.forum-categories button[aria-pressed="true"] {
  color: var(--white);
  background: var(--cobalt-deep);
  box-shadow: inset 0 -3px 0 var(--brake);
}

.forum-categories button span {
  display: inline-grid;
  min-width: 18px;
  height: 18px;
  margin-left: 4px;
  place-items: center;
  color: inherit;
  font-family: var(--mono);
  font-size: 8px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.forum-sort {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 12px 16px;
}

.forum-sort select {
  min-width: 0;
  padding: 0 22px 0 0;
  color: var(--ink);
  font-size: 12px;
  background: transparent;
  border: 0;
}

.forum-board__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  align-items: start;
}

.forum-feed {
  min-width: 0;
  border-right: 1px solid var(--hairline);
}

.forum-feed__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  padding: 0 24px;
  color: var(--muted);
  border-bottom: 1px solid var(--hairline);
}

.forum-feed__head b {
  color: var(--ink);
  font-size: 12px;
}

.forum-feed__head p {
  margin: 0;
  color: var(--cobalt-deep);
  font: inherit;
}

.forum-feed__head h3 {
  margin: 0;
  color: var(--muted);
  font: inherit;
}

.forum-thread {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  min-height: 294px;
  color: var(--ink);
  background: var(--white);
  border-bottom: 1px solid var(--hairline);
}

.forum-thread:last-child {
  border-bottom: 0;
}

.forum-thread__index {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  padding-top: 27px;
  color: var(--muted);
  background:
    repeating-linear-gradient(0deg, transparent 0 48px, rgba(17, 23, 28, 0.045) 48px 49px),
    var(--garage-mist);
  border-right: 1px solid var(--hairline);
}

.forum-thread__index span {
  font-family: var(--display);
  font-size: 25px;
  font-weight: 720;
  line-height: 1;
  letter-spacing: -0.045em;
}

.forum-thread__index small {
  max-width: 54px;
  font-family: var(--mono);
  font-size: 7px;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-align: center;
}

.forum-thread__content {
  min-width: 0;
  padding: 25px clamp(24px, 3vw, 42px) 27px;
}

.forum-thread__content > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.forum-thread__content > header span {
  padding-left: 9px;
  color: var(--cobalt-deep);
  font-weight: 700;
  border-left: 2px solid var(--brake);
}

.forum-thread h4,
.forum-thread h5 {
  max-width: 50rem;
  margin: 19px 0 0;
  font-family: var(--display);
  font-size: clamp(27px, 2.6vw, 40px);
  font-weight: 760;
  line-height: 1.02;
  letter-spacing: -0.052em;
}

.forum-thread__content > p {
  max-width: 54rem;
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}

.forum-thread__content > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.forum-thread__content > ul li {
  padding: 4px 9px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.05em;
  background: var(--garage-mist);
  border: 1px solid var(--hairline);
}

.forum-thread__content > footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--hairline);
}

.forum-thread__author {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 11px;
}

.forum-thread__author > span {
  display: grid;
  width: 37px;
  height: 37px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--white);
  font-family: var(--display);
  font-size: 18px;
  font-weight: 750;
  background: var(--track-night);
  border-bottom: 3px solid var(--brake);
}

.forum-thread__author p {
  display: grid;
  gap: 1px;
  min-width: 0;
  margin: 0;
}

.forum-thread__author strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-thread__author small {
  color: var(--muted);
  font-size: 9px;
}

.forum-thread__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.forum-thread__actions button,
.forum-sidebar button,
.forum-empty button,
.forum-reply-form button,
.forum-sidebar__saved button {
  min-height: var(--nova-control-compact);
  padding: 0 13px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  background: transparent;
  border: 1px solid var(--hairline);
}

.forum-thread__actions button b {
  margin-left: 3px;
  color: var(--ink);
  font-weight: 700;
}

.forum-thread__actions button:hover:not(:disabled),
.forum-thread__actions button.is-active {
  color: var(--cobalt-deep);
  border-color: var(--cobalt);
}

.forum-thread__actions button.is-active b {
  color: inherit;
}

.forum-thread--featured {
  color: var(--white);
  background:
    linear-gradient(120deg, transparent 58%, rgba(255, 255, 255, 0.04)),
    var(--track-night);
}

.forum-thread--featured .forum-thread__index {
  color: rgba(255, 255, 255, 0.7);
  background:
    repeating-linear-gradient(0deg, transparent 0 48px, rgba(255, 255, 255, 0.06) 48px 49px),
    #0c1726;
  border-right-color: rgba(255, 255, 255, 0.14);
}

.forum-thread--featured .forum-thread__content > header,
.forum-thread--featured .forum-thread__content > p,
.forum-thread--featured .forum-thread__author small {
  color: rgba(255, 255, 255, 0.6);
}

.forum-thread--featured .forum-thread__content > header span {
  color: var(--white);
}

.forum-thread--featured .forum-thread__content > ul li {
  color: rgba(255, 255, 255, 0.76);
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.16);
}

.forum-thread--featured .forum-thread__content > footer {
  border-top-color: rgba(255, 255, 255, 0.15);
}

.forum-thread--featured .forum-thread__author > span {
  color: var(--track-night);
  background: var(--white);
}

.forum-thread--featured .forum-thread__actions button {
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.2);
}

.forum-thread--featured .forum-thread__actions button b {
  color: var(--white);
}

.forum-thread--featured .forum-thread__actions button:hover:not(:disabled),
.forum-thread--featured .forum-thread__actions button.is-active {
  color: var(--white);
  border-color: var(--brake);
}

.forum-thread--local {
  box-shadow: inset 4px 0 0 var(--cobalt);
}

.forum-conversation {
  margin: 25px calc(clamp(24px, 3vw, 42px) * -1) -27px;
  padding: 23px clamp(24px, 3vw, 42px) 28px;
  background: var(--garage-mist);
  border-top: 1px solid var(--hairline);
}

.forum-conversation__head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 17px;
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.forum-conversation__head small {
  color: var(--muted);
  font-size: inherit;
}

.forum-conversation__empty {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 12px;
}

.forum-reply {
  padding: 15px 0;
  border-top: 1px solid var(--hairline);
}

.forum-reply__meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 0;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.05em;
}

.forum-reply > p:last-child {
  margin: 8px 0 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.7;
}

.forum-reply-form {
  display: grid;
  gap: 8px;
  padding-top: 18px;
  border-top: 1px solid var(--hairline);
}

.forum-reply-form label {
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}

.forum-reply-form textarea {
  width: 100%;
  min-height: 96px;
  padding: 13px;
  resize: vertical;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--hairline);
}

.forum-reply-form textarea[aria-invalid="true"] {
  border-color: var(--brake);
}

.forum-reply-form__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.forum-reply-form__actions small {
  color: var(--muted);
  font-size: 9px;
}

.forum-reply-form button {
  color: var(--white);
  background: var(--track-night);
  border-color: var(--track-night);
}

.forum-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 18px);
  min-width: 0;
}

.forum-sidebar section {
  padding: 27px 24px 30px;
  border-bottom: 1px solid var(--hairline);
}

.forum-sidebar section:last-child {
  border-bottom: 0;
}

.forum-sidebar section > span {
  color: var(--cobalt-deep);
  font-size: 8px;
}

.forum-sidebar h4,
.forum-sidebar h5 {
  margin: 16px 0 0;
  font-family: var(--display);
  font-size: 28px;
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.forum-sidebar__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 23px;
}

.forum-sidebar__tags button {
  min-height: 38px;
  padding-inline: 10px;
  font-size: 8px;
}

.forum-sidebar__tags button:hover:not(:disabled) {
  color: var(--cobalt-deep);
  border-color: var(--cobalt);
}

.forum-sidebar__rules {
  color: var(--white);
  background: var(--track-night);
}

.forum-sidebar__rules > span {
  color: rgba(255, 255, 255, 0.5) !important;
}

.forum-sidebar__rules ol {
  display: grid;
  gap: 0;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.forum-sidebar__rules li {
  display: grid;
  grid-template-columns: 29px 1fr;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.forum-sidebar__rules li b {
  color: var(--brake);
  font-family: var(--mono);
  font-size: 8px;
}

.forum-sidebar__rules li p {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 11px;
  line-height: 1.55;
}

.forum-sidebar__saved {
  background:
    linear-gradient(135deg, transparent 62%, rgba(25, 71, 255, 0.08)),
    var(--white);
}

.forum-sidebar__saved > strong {
  display: block;
  margin-top: 14px;
  font-family: var(--display);
  font-size: 68px;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.forum-sidebar__saved p {
  margin: 8px 0 18px;
  color: var(--muted);
  font-size: 11px;
}

.forum-sidebar__saved button {
  width: 100%;
  color: var(--muted);
}

.forum-empty {
  min-height: 420px;
  padding: 62px 42px;
}

.forum-empty > span {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.1em;
}

.forum-empty h4,
.forum-empty h5 {
  max-width: 35rem;
  margin: 28px 0;
  font-family: var(--display);
  font-size: clamp(40px, 5vw, 72px);
  line-height: 0.93;
  letter-spacing: -0.06em;
}

.forum-noscript {
  display: block;
  margin-top: 18px;
  padding: 16px 20px;
  color: var(--muted);
  background: var(--white);
  border: 1px solid var(--hairline);
  line-height: 1.7;
}

.forum-compose {
  width: min(760px, calc(100vw - 40px));
  max-height: min(880px, calc(100dvh - 40px));
  padding: 0;
  overflow: hidden;
  color: var(--ink);
  background: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: var(--depth-floating);
}

.forum-compose::backdrop {
  background: rgba(3, 8, 17, 0.76);
  backdrop-filter: blur(6px);
}

.forum-compose form {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  height: min(760px, calc(100dvh - 40px));
}

.forum-compose header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 31px 34px 29px;
  color: var(--white);
  background: var(--track-night);
  border-bottom: 4px solid var(--brake);
}

.forum-compose header span {
  color: rgba(255, 255, 255, 0.52);
}

.forum-compose header h3,
.forum-compose header h4 {
  margin: 13px 0 0;
  font-family: var(--display);
  font-size: 45px;
  line-height: 0.92;
  letter-spacing: -0.055em;
}

.forum-compose header button {
  width: var(--nova-control-compact);
  height: var(--nova-control-compact);
  flex: 0 0 auto;
  color: var(--white);
  font-size: 27px;
  line-height: 1;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.24);
}

.forum-compose__fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px 24px;
  padding: 31px 34px;
  overflow-y: auto;
}

.forum-compose__fields label {
  display: grid;
  gap: 8px;
}

.forum-compose__fields label > span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.forum-compose__fields input,
.forum-compose__fields select,
.forum-compose__fields textarea {
  width: 100%;
  min-width: 0;
  padding: 12px 0;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hairline);
  outline: 0;
}

.forum-compose__fields textarea {
  min-height: 155px;
  resize: vertical;
  line-height: 1.65;
}

.forum-compose__body {
  grid-column: 1 / -1;
}

.forum-compose footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 34px 27px;
  border-top: 1px solid var(--hairline);
}

.forum-compose footer p {
  max-width: 28rem;
  margin: 0;
  color: var(--muted);
  font-size: 10px;
}

.forum-compose footer > div:first-child {
  display: grid;
  gap: 4px;
}

.forum-compose footer small {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.05em;
}

.forum-compose__actions {
  display: flex;
  gap: 8px;
}

.forum-compose footer button {
  min-height: var(--nova-action);
  padding: 0 24px;
  color: var(--white);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: var(--cobalt);
  border: 0;
}

.forum-compose__actions [data-forum-draft-clear] {
  color: var(--muted);
  background: transparent;
  border: 1px solid var(--hairline);
}

.car-forum :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--brake);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--white);
}

.forum-thread--featured :is(button, input, select, textarea):focus-visible,
.forum-sidebar__rules :is(button, input, select, textarea):focus-visible,
.forum-member button:focus-visible,
.forum-compose header button:focus-visible {
  box-shadow: 0 0 0 5px var(--track-night);
}

.car-forum :is(button, input, select, textarea):disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

@media (min-width: 1121px) {
  .forum-sections {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }

  .forum-sections__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  .forum-sections__grid button {
    min-height: 0;
  }

  .forum-sections__grid button:nth-child(3n) {
    border-right: 1px solid var(--hairline);
  }

  .forum-sections__grid button:nth-child(2n) {
    border-right: 0;
  }

  .forum-sections__grid button:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--hairline);
  }

  .forum-sections__grid button:last-child {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 0;
  }

  .forum-sections__grid button:last-child p {
    max-width: 34rem;
  }

  .forum-vehicles__classes button:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 1120px) {
  .car-forum__intro {
    grid-template-columns: 0.7fr 1.3fr;
  }

  .car-forum__intro > p:last-child {
    grid-column: 2;
  }

  .forum-board__mast {
    grid-template-columns: 1fr auto;
  }

  .forum-board__mast dl {
    grid-row: 2;
    grid-column: 1 / -1;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
    border-left: 0;
  }

  .forum-board__compose {
    grid-column: 2;
    grid-row: 1;
  }

  .forum-controls {
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr) 140px;
  }

  .forum-foundation {
    grid-template-columns: 1fr;
  }

  .forum-sections {
    border-right: 0;
  }

  .forum-foundation__utility {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--hairline);
  }

  .forum-member {
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    border-bottom: 0;
  }

  .forum-brands > header {
    grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr) 130px;
  }

  .forum-brands__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .forum-vehicles > header {
    grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr) 130px;
  }

  .forum-vehicles__classes {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .forum-vehicles__classes button:last-child {
    grid-column: auto;
  }

  .forum-models {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .forum-controls {
    grid-template-columns: 1fr 150px;
  }

  .forum-search {
    border-bottom: 1px solid var(--hairline);
  }

  .forum-categories {
    grid-row: 2;
    grid-column: 1 / -1;
    min-height: 60px;
    border-top: 1px solid var(--hairline);
  }

  .forum-sort {
    border-bottom: 1px solid var(--hairline);
  }

  .forum-board__layout {
    grid-template-columns: 1fr;
  }

  .forum-feed {
    border-right: 0;
  }

  .forum-sidebar {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--hairline);
  }

  .forum-sidebar section {
    border-right: 1px solid var(--hairline);
    border-bottom: 0;
  }

  .forum-sidebar section:last-child {
    border-right: 0;
  }

  .forum-sections__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .forum-sections__grid button:nth-child(3n) {
    border-right: 1px solid var(--hairline);
  }

  .forum-sections__grid button:nth-child(2n) {
    border-right: 0;
  }

  .forum-sections__grid button:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--hairline);
  }

  .forum-sections__grid button:last-child {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 0;
  }

  .forum-brands > header {
    grid-template-columns: 1fr 142px;
  }

  .forum-brands > header > div:first-child {
    border-bottom: 1px solid var(--hairline);
  }

  .forum-brands__method {
    grid-row: 2;
    grid-column: 1 / -1;
    border-top: 1px solid var(--hairline);
  }

  .forum-brands__all {
    grid-row: 1;
    grid-column: 2;
  }

  .forum-brands__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .forum-vehicles > header {
    grid-template-columns: 1fr 142px;
  }

  .forum-vehicles > header > div {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  .forum-vehicles > header > p {
    grid-row: 2;
    grid-column: 1 / -1;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
  }

  .forum-vehicles > header > button {
    grid-row: 1;
    grid-column: 2;
  }

  .forum-vehicles__classes {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .car-forum__intro {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .car-forum__intro .eyebrow,
  .car-forum__intro > p:last-child {
    grid-column: auto;
  }

  .car-forum__intro h2,
  .car-forum__intro h3 {
    font-size: clamp(50px, 15vw, 70px);
  }

  .forum-board {
    margin-inline: -20px;
  }

  .forum-skip {
    margin-left: 0;
  }

  .forum-board__mast {
    display: flex;
    flex-direction: column;
  }

  .forum-board__mast > div {
    padding: 27px 20px;
  }

  .forum-board__mast dl {
    min-width: 0;
    width: 100%;
    order: 2;
  }

  .forum-board__mast dl div {
    padding: 18px 12px;
  }

  .forum-board__mast dd {
    font-size: 25px;
  }

  .forum-board__compose {
    min-height: 62px;
    order: 3;
  }

  .forum-board__compose span {
    display: inline;
    margin: 0 0 0 8px;
    font-size: 22px;
  }

  .forum-sections > header {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px 20px;
  }

  .forum-sections__grid {
    grid-template-columns: 1fr;
  }

  .forum-sections__grid button,
  .forum-sections__grid button:nth-child(2n),
  .forum-sections__grid button:nth-child(3n),
  .forum-sections__grid button:last-child {
    grid-column: auto;
    min-height: 156px;
    padding: 20px;
    border-right: 0;
    border-bottom: 1px solid var(--hairline);
  }

  .forum-sections__grid button:last-child {
    border-bottom: 0;
  }

  .forum-foundation__utility {
    grid-template-columns: 1fr;
  }

  .forum-member {
    padding-inline: 20px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .forum-notices {
    padding-inline: 20px;
  }

  .forum-brands > header {
    grid-template-columns: 1fr;
  }

  .forum-brands > header > div:first-child {
    padding: 24px 20px;
    border-right: 0;
  }

  .forum-brands__method {
    grid-row: auto;
    grid-column: auto;
    padding: 20px;
  }

  .forum-brands__scroll-hint {
    display: inline;
  }

  .forum-brands__all {
    grid-row: auto;
    grid-column: auto;
    min-height: 60px;
    border-top: 1px solid var(--hairline);
    border-left: 0;
  }

  .forum-brands__all b {
    display: inline;
    margin-left: 8px;
    font-size: 18px;
  }

  .forum-brands__grid {
    grid-template-columns: none;
    grid-template-rows: repeat(2, 128px);
    grid-auto-columns: minmax(150px, 44vw);
    grid-auto-flow: column;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .forum-brands__grid button {
    min-height: 128px;
    padding: 16px;
    scroll-snap-align: start;
  }

  .forum-brands__grid button strong {
    font-size: 20px;
  }

  .forum-vehicles > header {
    grid-template-columns: 1fr;
  }

  .forum-vehicles > header > div {
    padding: 24px 20px;
    border-right: 0;
  }

  .forum-vehicles > header > p {
    grid-row: auto;
    grid-column: auto;
    padding: 20px;
  }

  .forum-vehicles > header > button {
    grid-row: auto;
    grid-column: auto;
    min-height: 58px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    border-left: 0;
  }

  .forum-vehicles__path {
    grid-template-columns: 1fr;
  }

  .forum-vehicles__path p {
    padding-inline: 20px;
  }

  .forum-vehicles__path p:first-child {
    border-right: 0;
    border-bottom: 1px solid var(--hairline);
  }

  .forum-vehicles__path p:last-child {
    min-width: 0;
    align-items: flex-start;
    text-align: left;
  }

  .forum-vehicles__path strong {
    font-size: 19px;
    white-space: normal;
  }

  .forum-vehicles__classes {
    grid-template-columns: none;
    grid-template-rows: repeat(2, 105px);
    grid-auto-columns: minmax(145px, 42vw);
    grid-auto-flow: column;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .forum-vehicles__classes button {
    min-height: 105px;
    scroll-snap-align: start;
  }

  .forum-vehicles__catalog > header {
    grid-template-columns: 1fr;
  }

  .forum-vehicles__catalog > header > div {
    padding-inline: 20px;
    border-right: 0;
    border-bottom: 1px solid var(--hairline);
  }

  .forum-vehicles__catalog > header > p {
    padding-inline: 20px;
  }

  .forum-models {
    grid-template-columns: none;
    grid-auto-columns: minmax(225px, 72vw);
    grid-auto-flow: column;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .forum-model-card {
    min-height: 220px;
    scroll-snap-align: start;
  }

  .forum-model-card--other {
    display: flex;
    min-height: 220px;
    grid-column: auto;
  }

  .forum-models__prompt {
    width: 100vw;
    max-width: 100%;
  }

  .forum-controls {
    grid-template-columns: minmax(0, 1fr) 124px;
  }

  .forum-search {
    padding-inline: 20px;
  }

  .forum-categories {
    min-height: 58px;
  }

  .forum-categories button {
    min-width: 96px;
  }

  .forum-feed__head {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    min-height: 72px;
    padding-inline: 20px;
  }

  .forum-thread {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .forum-thread__index {
    padding-top: 22px;
  }

  .forum-thread__index span {
    font-size: 20px;
  }

  .forum-thread__index small {
    max-width: 43px;
    font-size: 6px;
  }

  .forum-thread__content {
    padding: 22px 18px 24px;
  }

  .forum-thread__content > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
    font-size: 9px;
  }

  .forum-thread h4,
  .forum-thread h5 {
    font-size: clamp(28px, 9vw, 38px);
  }

  .forum-thread__content > p {
    font-size: 12px;
  }

  .forum-thread__content > footer {
    align-items: stretch;
    flex-direction: column;
  }

  .forum-thread__actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: stretch;
  }

  .forum-thread__actions button {
    padding-inline: 7px;
  }

  .forum-conversation {
    margin-right: -18px;
    margin-bottom: -24px;
    margin-left: -18px;
    padding: 21px 18px 24px;
  }

  .forum-conversation__head,
  .forum-reply__meta,
  .forum-reply-form__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .forum-reply-form button {
    width: 100%;
  }

  .forum-sidebar {
    grid-template-columns: 1fr;
  }

  .forum-sidebar section,
  .forum-sidebar section:last-child {
    padding-inline: 20px;
    border-right: 0;
    border-bottom: 1px solid var(--hairline);
  }

  .forum-sidebar section:last-child {
    border-bottom: 0;
  }

  .forum-compose {
    width: 100%;
    max-width: 100%;
    max-height: 100dvh;
    margin: 0;
    border: 0;
  }

  .forum-compose form {
    height: 100dvh;
  }

  .forum-compose header {
    padding: 25px 20px;
  }

  .forum-compose header h3,
  .forum-compose header h4 {
    font-size: 39px;
  }

  .forum-compose__fields {
    grid-template-columns: 1fr;
    gap: 21px;
    padding: 27px 20px;
  }

  .forum-compose__body {
    grid-column: auto;
  }

  .forum-compose footer {
    align-items: stretch;
    flex-direction: column;
    padding: 20px;
  }

  .forum-compose__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .forum-compose footer button {
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .forum-categories {
    scroll-snap-type: none;
  }

  .forum-brands__grid {
    scroll-snap-type: none;
  }

  .forum-vehicles__classes,
  .forum-models {
    scroll-snap-type: none;
  }
}

/* WA Load Desk */
.load-desk {
  --load-paper: #edf1ef;
  --load-metal: #c3cdcc;
  --load-watch: #f6aa1c;
  margin: 0 0 clamp(78px, 9vw, 124px);
  color: var(--white);
}

.load-desk__header {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.55fr);
  align-items: end;
  gap: clamp(45px, 7vw, 110px);
  padding: 32px 0 clamp(40px, 5vw, 64px);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.load-desk__header .eyebrow {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.54);
}

.load-desk__header h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(52px, 5.9vw, 82px);
  font-weight: 770;
  line-height: 0.91;
  letter-spacing: -0.065em;
}

.load-desk__header > div:first-child > p:last-child {
  max-width: 720px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.85;
}

.load-desk__sync {
  padding: 20px 22px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.load-desk__sync span,
.load-desk__sync strong,
.load-desk__sync small,
.load-desk__form-head > span,
.load-scale > header span,
.load-scale > header p,
.load-scale__mass > span,
.load-scale__mass > p,
.load-beam__axle span,
.load-beam__axle p,
.load-scale__gvm span,
.load-scale__verdict span,
.load-desk__method > span,
.load-desk__not-calculated span,
.load-desk__disclaimer {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.085em;
}

.load-desk__sync span {
  display: block;
  color: rgba(255, 255, 255, 0.43);
  font-size: 8px;
}

.load-desk__sync strong {
  display: block;
  margin-top: 8px;
  color: var(--white);
  font-family: var(--display);
  font-size: 27px;
  line-height: 1;
  letter-spacing: -0.03em;
}

.load-desk__sync small {
  display: block;
  margin-top: 13px;
  color: rgba(255, 255, 255, 0.46);
  font-size: 7px;
  line-height: 1.65;
}

.load-desk__workbench {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(370px, 1.08fr) minmax(255px, 0.72fr);
  min-height: 780px;
  color: var(--ink);
  border: 1px solid rgba(255, 255, 255, 0.22);
  overflow: hidden;
}

.load-desk__form,
.load-scale,
.load-desk__method {
  min-width: 0;
}

.load-desk__form {
  background: var(--load-paper);
  border-right: 1px solid var(--hairline);
}

.load-desk__form fieldset {
  min-width: 0;
  margin: 0;
  padding: 31px clamp(24px, 2.8vw, 40px) 34px;
  border: 0;
}

.load-desk__form fieldset:disabled {
  opacity: 0.58;
}

.load-desk__form-head > span,
.load-scale > header span,
.load-desk__method > span,
.load-desk__not-calculated span {
  color: var(--cobalt-deep);
  font-size: 8px;
  font-weight: 720;
}

.load-desk__form-head h4,
.load-scale > header h4,
.load-desk__method h4 {
  margin: 9px 0 0;
  font-family: var(--display);
  font-size: 34px;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.load-desk__form-head p {
  margin: 13px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.7;
}

.load-desk__form-head--secondary {
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid var(--hairline);
}

.load-desk__form-head--secondary h4 {
  font-size: 27px;
}

.load-inputs {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}

.load-inputs--ratings {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.load-inputs--split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.load-inputs label {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 126px;
  padding: 13px 12px 11px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid var(--hairline);
}

.load-inputs label > span {
  font-size: 10px;
  font-weight: 760;
}

.load-inputs label > small {
  margin-top: 2px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 6px;
  letter-spacing: 0.05em;
  line-height: 1.35;
}

.load-inputs label > b {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin-top: auto;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 650;
}

.load-inputs input {
  width: 100%;
  min-width: 0;
  padding: 7px 0 5px;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-bottom: 2px solid rgba(17, 23, 28, 0.42);
  border-radius: 0;
  font-family: var(--display);
  font-size: 26px;
  font-weight: 720;
  line-height: 1;
  -moz-appearance: textfield;
}

.load-inputs input::-webkit-inner-spin-button,
.load-inputs input::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.load-inputs input::placeholder {
  color: #849097;
  font-family: var(--body);
  font-size: 10px;
  font-weight: 500;
}

.load-inputs input:focus {
  border-color: var(--cobalt-deep);
}

.load-inputs input[aria-invalid="true"] {
  color: #ad2518;
  border-color: var(--brake);
  background: rgba(255, 76, 55, 0.07);
}

.load-desk__form-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 28px;
}

.load-desk__form-actions button,
.load-desk__actions button {
  min-height: 48px;
  padding: 9px 12px;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--ink);
  font-size: 9px;
  font-weight: 740;
}

.load-desk__form-actions button:hover,
.load-desk__actions button:hover {
  color: var(--white);
  background: var(--ink);
}

.load-scale {
  display: flex;
  flex-direction: column;
  padding: 31px clamp(27px, 3vw, 46px) 34px;
  color: var(--white);
  background: #050c16;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.load-scale > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

.load-scale > header span {
  color: rgba(255, 255, 255, 0.47);
}

.load-scale > header h4 {
  color: var(--white);
  font-size: 39px;
}

.load-scale > header p {
  margin: 0;
  color: rgba(255, 255, 255, 0.39);
  font-size: 7px;
  text-align: right;
}

.load-scale__mass {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 5px 20px;
  padding: 35px 0 28px;
}

.load-scale__mass > span {
  color: rgba(255, 255, 255, 0.48);
  font-size: 8px;
}

.load-scale__mass > strong {
  grid-row: 1 / 3;
  grid-column: 2;
  display: flex;
  align-items: baseline;
  color: var(--white);
  font-family: var(--display);
  font-size: clamp(48px, 5vw, 72px);
  line-height: 0.8;
  letter-spacing: -0.06em;
}

.load-scale__mass > strong small {
  margin-left: 7px;
  color: rgba(255, 255, 255, 0.42);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.load-scale__mass > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: 8px;
}

.load-beam {
  display: grid;
  grid-template-columns: 1fr 52px 1fr;
  align-items: center;
  padding: 26px 0 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.17);
  border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

.load-beam__axle {
  min-width: 0;
}

.load-beam__axle > div:first-child {
  display: grid;
  gap: 4px;
}

.load-beam__axle span,
.load-scale__gvm span {
  color: rgba(255, 255, 255, 0.43);
  font-size: 7px;
}

.load-beam__axle strong {
  overflow-wrap: anywhere;
  color: var(--white);
  font-family: var(--display);
  font-size: 22px;
  line-height: 1;
}

.load-beam__axle strong small {
  color: rgba(255, 255, 255, 0.44);
  font-size: 13px;
}

.load-beam__track {
  height: 7px;
  margin-top: 14px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.load-beam__track i {
  display: block;
  width: 0;
  height: 100%;
  background: var(--cobalt);
  transition: width 220ms ease, background-color 180ms ease;
}

[data-load-axle][data-state="watch"] .load-beam__track i {
  background: var(--load-watch);
}

[data-load-axle][data-state="limit"] .load-beam__track i,
[data-load-axle][data-state="over"] .load-beam__track i {
  background: var(--brake);
}

.load-beam__axle > p {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.56);
  font-size: 7px;
}

[data-load-axle][data-state="over"] > p {
  color: #ff8b7d;
}

.load-beam__spine {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
}

.load-beam__spine::before {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 2px;
  background: rgba(255, 255, 255, 0.24);
  content: "";
}

.load-beam__spine span {
  position: absolute;
  z-index: 1;
  width: 7px;
  height: 7px;
  background: #050c16;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
}

.load-beam__spine span:first-child { left: 0; }
.load-beam__spine span:last-child { right: 0; }

.load-beam__spine i {
  position: relative;
  z-index: 2;
  width: 13px;
  height: 13px;
  background: var(--brake);
  transform: rotate(45deg);
}

.load-scale__gvm {
  padding: 25px 0;
}

.load-scale__gvm > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.load-scale__gvm strong {
  color: var(--white);
  font-family: var(--display);
  font-size: 28px;
  line-height: 1;
}

.load-scale__verdict {
  margin-top: auto;
  padding: 20px 21px;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-left: 5px solid rgba(255, 255, 255, 0.36);
}

.load-scale__verdict[data-state="ready"] { border-left-color: var(--cobalt); }
.load-scale__verdict[data-state="watch"] { border-left-color: var(--load-watch); }
.load-scale__verdict[data-state="limit"] { border-left-color: var(--brake); }
.load-scale__verdict[data-state="over"] { border-left-color: var(--brake); }

.load-scale__verdict span {
  color: rgba(255, 255, 255, 0.48);
  font-size: 7px;
}

.load-scale__verdict strong {
  display: block;
  margin-top: 7px;
  font-family: var(--display);
  font-size: 24px;
  line-height: 1.08;
}

.load-scale__verdict p {
  margin: 9px 0 0;
  color: rgba(255, 255, 255, 0.57);
  font-size: 9px;
  line-height: 1.6;
}

.load-scale__verdict em {
  display: block;
  margin-top: 13px;
  color: rgba(255, 255, 255, 0.4);
  font-family: var(--mono);
  font-size: 7px;
  font-style: normal;
  letter-spacing: 0.08em;
}

.load-desk__method {
  display: flex;
  flex-direction: column;
  padding: 31px clamp(22px, 2.4vw, 34px) 34px;
  background: var(--load-metal);
}

.load-desk__method h4 {
  font-size: 36px;
}

.load-desk__method ol {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(17, 23, 28, 0.18);
}

.load-desk__method li {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(17, 23, 28, 0.18);
}

.load-desk__method li b {
  color: var(--cobalt-deep);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.load-desk__method li p,
.load-desk__not-calculated p {
  margin: 0;
  color: #3f4c53;
  font-size: 9px;
  line-height: 1.65;
}

.load-desk__not-calculated {
  margin-top: 25px;
  padding: 17px;
  border: 1px solid rgba(17, 23, 28, 0.19);
}

.load-desk__not-calculated span {
  color: #8f291f;
}

.load-desk__not-calculated p {
  margin-top: 8px;
}

.load-desk__source-links {
  display: grid;
  gap: 8px;
  margin-top: 24px;
}

.load-desk__source-links a {
  width: fit-content;
  color: var(--ink);
  border-bottom: 1px solid rgba(17, 23, 28, 0.38);
  font-size: 9px;
  font-weight: 700;
}

.load-desk__source-links a:hover {
  color: var(--cobalt-deep);
  border-color: currentColor;
}

.load-desk__actions {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding-top: 26px;
}

.load-desk__actions button:first-child {
  color: var(--white);
  background: var(--cobalt-deep);
  border-color: var(--cobalt-deep);
}

.load-desk__actions button:first-child:hover {
  background: var(--cobalt);
  border-color: var(--cobalt);
}

.load-desk__disclaimer {
  margin: 0;
  padding: 16px 22px;
  color: rgba(255, 255, 255, 0.54);
  background: #050c16;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-top: 0;
  font-size: 8px;
  line-height: 1.8;
}

.load-desk__noscript {
  display: block;
  margin-top: 12px;
  padding: 15px 18px;
  color: rgba(255, 255, 255, 0.66);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 10px;
}

@media (max-width: 1120px) {
  .load-desk__header {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .load-desk__sync {
    max-width: 560px;
  }

  .load-desk__workbench {
    grid-template-columns: minmax(320px, 0.9fr) minmax(380px, 1.1fr);
  }

  .load-scale {
    border-right: 0;
  }

  .load-desk__method {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 0.6fr 1.3fr 1fr;
    gap: 28px;
    align-items: start;
    border-top: 1px solid rgba(17, 23, 28, 0.18);
  }

  .load-desk__method > span,
  .load-desk__method > h4 {
    grid-column: 1;
  }

  .load-desk__method > h4 {
    margin-top: -12px;
    padding-top: 35px;
  }

  .load-desk__method ol {
    grid-column: 2;
    grid-row: 1 / span 3;
    margin-top: 0;
  }

  .load-desk__not-calculated,
  .load-desk__source-links {
    grid-column: 3;
    margin-top: 0;
  }

  .load-desk__actions {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    margin-top: 0;
    padding-top: 0;
  }
}

@media (max-width: 820px) {
  .load-desk__workbench {
    grid-template-columns: 1fr;
  }

  .load-desk__form,
  .load-scale {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  }

  .load-desk__method {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .load-desk__method > span,
  .load-desk__method > h4,
  .load-desk__actions {
    grid-column: 1 / -1;
  }

  .load-desk__method > h4 {
    margin-top: 0;
    padding-top: 0;
  }

  .load-desk__method ol {
    grid-column: 1;
    grid-row: auto;
  }

  .load-desk__not-calculated,
  .load-desk__source-links {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  .load-desk {
    margin-inline: -20px;
  }

  .load-desk__header {
    margin-inline: 20px;
    padding-top: 27px;
  }

  .load-desk__header h3 {
    font-size: clamp(50px, 15vw, 69px);
  }

  .load-desk__header h3 br {
    display: none;
  }

  .load-desk__sync {
    max-width: none;
  }

  .load-desk__workbench,
  .load-desk__disclaimer {
    border-right: 0;
    border-left: 0;
  }

  .load-desk__form fieldset,
  .load-scale,
  .load-desk__method {
    padding: 28px 20px 32px;
  }

  .load-inputs--ratings,
  .load-inputs--split {
    grid-template-columns: 1fr;
  }

  .load-inputs label {
    min-height: 112px;
  }

  .load-desk__form-actions,
  .load-desk__actions {
    grid-template-columns: 1fr;
  }

  .load-scale > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .load-scale > header p {
    text-align: left;
  }

  .load-scale__mass {
    grid-template-columns: 1fr;
  }

  .load-scale__mass > strong {
    grid-row: auto;
    grid-column: auto;
    margin: 14px 0 8px;
    font-size: 62px;
  }

  .load-beam {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .load-beam__spine {
    height: 30px;
    transform: rotate(90deg);
  }

  .load-desk__method {
    display: flex;
    gap: 0;
  }

  .load-desk__method ol,
  .load-desk__not-calculated,
  .load-desk__source-links,
  .load-desk__actions {
    margin-top: 24px;
  }

  .load-desk__disclaimer {
    padding: 16px 20px;
  }
}

/* Homepage depth hierarchy */
:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--night);
}

main > .section {
  box-shadow: inset 0 1px 0 rgba(17, 23, 28, 0.08);
}

main > :is(.section--night, .section--ink, .mod-lab, .clear-service, .signal) {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.09);
}

main > .section > .shell {
  position: relative;
  z-index: 1;
}

.section-heading::before,
.section-heading::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  pointer-events: none;
}

.section-heading::before {
  width: min(540px, 48%);
  height: 1px;
  background: linear-gradient(90deg, rgba(25, 71, 255, 0.82), rgba(25, 71, 255, 0.16) 62%, transparent);
}

.section-heading::after {
  width: 74px;
  height: 2px;
  background: var(--brake);
  box-shadow: 0 0 16px rgba(255, 76, 55, 0.34);
}

.section-heading--light::before {
  background: linear-gradient(90deg, rgba(155, 176, 255, 0.88), rgba(255, 255, 255, 0.12) 62%, transparent);
}

:is(.brand-guide__intro, .au-builds__header, .mod-sim__header, .load-desk__header) {
  position: relative;
}

:is(.brand-guide__intro, .au-builds__header, .mod-sim__header, .load-desk__header)::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 68px;
  height: 2px;
  background: var(--brake);
  box-shadow: 0 0 14px rgba(255, 76, 55, 0.28);
  content: "";
  pointer-events: none;
}

.brand-guide__intro h3 {
  font-size: clamp(46px, 4.9vw, 72px);
}

.au-builds {
  margin-top: clamp(52px, 6vw, 84px);
}

.au-builds__intro h3 {
  font-size: clamp(48px, 5.2vw, 72px);
}

:is(.mod-sim__header h3, .load-desk__header h3) {
  font-size: clamp(46px, 4.8vw, 68px);
}

.mod-data-trace__intro h3 {
  font-size: clamp(36px, 4vw, 58px);
}

.service-demo__head h3 {
  font-size: clamp(36px, 4vw, 56px);
}

:is(
  .design-viewer,
  .material-study,
  .range-planner,
  .cockpit-photo,
  .model-family,
  .brand-guide__interface
) {
  box-shadow: var(--depth-surface);
}

:is(
  .brand-emblem,
  .power-curve,
  .apex-lab,
  .au-builds__interface,
  .mod-sim__bay,
  .load-desk__workbench,
  .mod-lab__bench,
  .mod-data-trace,
  .service-demo
) {
  box-shadow: var(--depth-machine);
}

.cockpit-console {
  box-shadow:
    var(--depth-machine),
    inset 0 0 90px rgba(0, 0, 0, 0.5);
}

:is(.booking-form, .signal-form) {
  box-shadow: var(--depth-floating);
}

.mod-lab__toolbar {
  box-shadow: 0 12px 32px rgba(3, 8, 17, 0.2);
}

@media (max-width: 1020px) {
  .model-family {
    padding-top: 0;
  }

  .model-panel--gt {
    min-height: 540px;
    transform: none;
  }
}

@media (max-width: 720px) {
  .section-heading {
    padding-top: 22px;
  }

  .section-heading::before {
    width: 100%;
  }

  .section-heading::after {
    width: 48px;
  }

  .hero::before,
  .hero__content::before {
    display: none;
  }

  .hero::after {
    background: linear-gradient(180deg, transparent 61%, rgba(3, 8, 17, 0.16) 72%, rgba(3, 8, 17, 0.58) 100%);
  }

  .drive-mode {
    box-shadow:
      0 18px 44px rgba(3, 8, 17, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }

  .au-builds {
    margin-top: 28px;
  }

  :is(.brand-guide__intro h3, .au-builds__intro h3, .mod-sim__header h3, .load-desk__header h3) {
    font-size: clamp(44px, 12vw, 56px);
  }

  .model-family {
    padding-top: 0;
  }

  .model-panel--gt {
    min-height: 465px;
    box-shadow: none;
    transform: none;
  }

  :is(
    .design-viewer,
    .material-study,
    .range-planner,
    .cockpit-photo,
    .model-family,
    .brand-guide__interface,
    .brand-emblem,
    .power-curve,
    .apex-lab,
    .au-builds__interface,
    .mod-sim__bay,
    .load-desk__workbench,
    .mod-lab__bench,
    .mod-data-trace,
    .service-demo,
    .booking-form,
    .signal-form
  ) {
    box-shadow: none;
  }
}

/* NOVA Product Chrome
   Twin Apex marks the control family; cobalt means chosen/actionable,
   while the short heat trace is the active datum. */
:is([data-nova-group], [data-nova-readout], [data-nova-fields]) {
  --nova-component-line: rgba(17, 23, 28, 0.2);
  --nova-component-mark: var(--cobalt);
  --nova-component-mark-soft: rgba(25, 71, 255, 0.18);
}

:is([data-nova-group], [data-nova-readout])[data-nova-theme="dark"] {
  --nova-component-line: rgba(255, 255, 255, 0.2);
  --nova-component-mark: #9bb0ff;
  --nova-component-mark-soft: rgba(155, 176, 255, 0.2);
}

[data-nova-group] {
  position: relative;
  isolation: isolate;
}

[data-nova-group="selector"]::after {
  position: absolute;
  top: 7px;
  right: 8px;
  z-index: 6;
  width: 32px;
  height: 8px;
  background:
    linear-gradient(132deg, transparent 42%, var(--nova-component-mark) 43% 54%, transparent 55%) left center / 18px 8px no-repeat,
    linear-gradient(48deg, transparent 42%, var(--brake) 43% 54%, transparent 55%) right center / 18px 8px no-repeat;
  content: "";
  opacity: 0.68;
  pointer-events: none;
}

[data-nova-group="selector"] > button,
[data-nova-group="choices"] > :is(button, label) {
  position: relative;
  min-height: var(--nova-control-compact);
  border-radius: 0;
  transition:
    color var(--nova-motion) ease,
    background-color var(--nova-motion) ease,
    border-color var(--nova-motion) ease,
    filter var(--nova-motion) ease,
    transform var(--nova-motion) ease;
}

[data-nova-group="selector"] > button:is([aria-pressed="true"], [aria-selected="true"]) {
  box-shadow: inset 0 -1px 0 var(--nova-component-line);
}

[data-nova-group="selector"] > button:is([aria-pressed="true"], [aria-selected="true"])::after {
  position: absolute;
  right: calc(50% - 11px);
  bottom: -1px;
  z-index: 7;
  width: 22px;
  height: 3px;
  background: var(--brake);
  box-shadow: 0 0 12px rgba(255, 76, 55, 0.32);
  content: "";
  pointer-events: none;
}

[data-nova-group="choices"] > button[aria-pressed="true"]::after,
[data-nova-group="choices"] > label:has(input:checked)::after {
  position: absolute;
  top: 12px;
  left: -1px;
  z-index: 3;
  width: 3px;
  height: 22px;
  background: var(--brake);
  box-shadow: 0 0 10px rgba(255, 76, 55, 0.24);
  content: "";
  pointer-events: none;
}

[data-nova-group] > button:focus-visible,
[data-nova-group] > label:has(input:focus-visible) {
  z-index: 8;
  outline: 2px solid var(--brake);
  outline-offset: -4px;
}

[data-nova-action] {
  position: relative;
  min-height: var(--nova-control-compact);
  overflow: hidden;
  border-radius: 0;
  isolation: isolate;
  transition:
    color var(--nova-motion) ease,
    background-color var(--nova-motion) ease,
    border-color var(--nova-motion) ease,
    filter var(--nova-motion) ease,
    transform var(--nova-motion) ease;
}

[data-nova-action="primary"] {
  color: var(--white);
  background: linear-gradient(102deg, var(--cobalt-deep), var(--cobalt) 72%);
  border-color: var(--cobalt);
}

[data-nova-action]::before,
[data-nova-action]::after {
  position: absolute;
  z-index: 2;
  height: 2px;
  content: "";
  pointer-events: none;
}

[data-nova-action]::before {
  top: 0;
  left: 0;
  width: 34px;
  background: rgba(255, 255, 255, 0.78);
}

[data-nova-action="secondary"]::before {
  background: currentColor;
  opacity: 0.48;
}

[data-nova-action]::after {
  right: 0;
  bottom: 0;
  width: 21px;
  background: var(--brake);
  box-shadow: 0 0 12px rgba(255, 76, 55, 0.3);
}

[data-nova-action]:focus-visible {
  outline: 2px solid var(--brake);
  outline-offset: 3px;
}

[data-nova-action]:active:not(:disabled) {
  filter: brightness(0.96);
  transform: translateY(1px);
}

[data-nova-readout] {
  position: relative;
  font-variant-numeric: tabular-nums lining-nums;
}

[data-nova-readout]::before,
[data-nova-readout]::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
  content: "";
  pointer-events: none;
}

[data-nova-readout]::before {
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--nova-component-mark), var(--nova-component-mark-soft) 42%, transparent 78%);
}

[data-nova-readout]::after {
  top: -1px;
  width: 20px;
  height: 3px;
  background: var(--brake);
  box-shadow: 0 0 12px rgba(255, 76, 55, 0.24);
}

[data-nova-readout] dt,
[data-nova-readout] > article > span {
  font-family: var(--mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.075em;
}

[data-nova-readout] :is(dd, strong, b) {
  font-variant-numeric: tabular-nums lining-nums;
}

[data-nova-field] {
  position: relative;
  padding-left: 14px;
  border-left: 2px solid rgba(25, 71, 255, 0.2);
  transition: border-color var(--nova-motion) ease;
}

[data-nova-field]:focus-within {
  border-left-color: var(--brake);
}

[data-nova-field]:is(.is-invalid, :has([aria-invalid="true"])) {
  border-left-color: var(--brake);
}

[data-nova-field] :is(input, select):focus-visible,
[data-nova-fields] input:focus-visible {
  outline: 2px solid var(--cobalt);
  outline-offset: 3px;
}

[data-nova-fields] label {
  position: relative;
  transition:
    background-color var(--nova-motion) ease,
    border-color var(--nova-motion) ease;
}

[data-nova-fields] label::before {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 30px;
  height: 2px;
  background: var(--cobalt);
  content: "";
  transition: width var(--nova-motion) ease;
  pointer-events: none;
}

[data-nova-fields] label:focus-within {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(25, 71, 255, 0.52);
}

[data-nova-fields] label:focus-within::before {
  width: calc(100% + 2px);
  background: linear-gradient(90deg, var(--cobalt) 0 82%, var(--brake) 82% 86%, transparent 86%);
}

[data-nova-fields] label:has(input[aria-invalid="true"])::before {
  width: calc(100% + 2px);
  background: var(--brake);
}

.brand-guide__tab[aria-selected="true"] :is(.brand-guide__tab-index, small) {
  opacity: 0.78;
}

@media (hover: hover) and (pointer: fine) {
  [data-nova-action]:hover:not(:disabled) {
    filter: brightness(1.05);
    transform: translateY(-1px);
  }

  [data-nova-group] > button:hover:not(:disabled),
  [data-nova-group] > label:hover {
    filter: brightness(1.035);
  }
}

@media (max-width: 720px) {
  [data-nova-group="selector"]::after {
    right: 6px;
    width: 27px;
    opacity: 0.58;
  }

  [data-nova-field] {
    padding-left: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .motion-ready .reveal {
    opacity: 1;
    transform: none;
  }

  .apex-rail__progress {
    display: none;
  }

  .signal__pulse b {
    left: calc(50% - 4px);
    animation: none;
  }

  .mod-lab__bench[aria-busy="true"]::before,
  .mod-options__loading::before,
  .mod-data-status > span {
    animation: none;
  }

  .mod-envelope,
  .mod-stage__car,
  .mod-stage__car [data-mod-part],
  .mod-chart__temp,
  .mod-chart__rain {
    transition: none;
  }

  .load-beam__track i {
    transition: none;
  }

  .brand-guide__tabs,
  .brand-route__list,
  .au-builds__tabs {
    scroll-snap-type: none;
  }
}

.hero__identity {
  max-width: 680px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-family: var(--mono);
  font-size: clamp(11px, 0.9vw, 13px);
  font-weight: 560;
  line-height: 1.65;
  letter-spacing: 0.05em;
  transition-delay: 250ms;
}
