:root {
  --accent: #d45b2c;
  --acid: #d45b2c;
  --black: #090a0b;
  --ink: #15171a;
  --charcoal: #22252a;
  --grey-900: #3c4046;
  --grey-700: #686d74;
  --grey-500: #979ca3;
  --grey-300: #d2d6db;
  --grey-200: #e7e9ec;
  --grey-100: #f4f5f6;
  --white: #fff;
  --v2-black: #101113;
  --v2-paper: #f4f5f6;
}

html { background: var(--grey-100); }
body { background: var(--white); color: var(--ink); }
.site-header,
.site-header.is-scrolled { background: rgba(255,255,255,.97); border-color: var(--grey-200); }
.main-nav a::after { height: 2px; }
.header-pro:hover { border-color: var(--accent); background: var(--accent); color: var(--white); }
.header-area:hover { border-color: var(--accent); color: var(--accent); }
.signal-label i,
.location-status i,
.pro-access-card:not(.pro-access-card--dark) .location-status i { background: var(--accent); box-shadow: 0 0 0 4px rgba(212,91,44,.12); }
.line-cta--accent { border-color: rgba(212,91,44,.72); color: #f0a383; }
.line-cta span,
.range-card__link span,
.text-link--light span,
.floating-contact strong { color: var(--accent); }

.brand-marquee { padding: 14px 0; border-top: 1px solid var(--grey-200); border-bottom: 1px solid var(--grey-200); background: var(--grey-100); color: var(--ink); }
.brand-marquee i { color: var(--accent); }

.ranges-showcase { background: var(--grey-100); color: var(--ink); }
.ranges-showcase .signal-label--dark { color: var(--grey-700); }
.ranges-showcase .v2-section-head > p { color: var(--grey-700); }
.v2-section-head h2 em { color: var(--accent); }
.ranges-track { gap: 5px; padding-inline: 5px; }
.range-tile { min-height: clamp(520px,45vw,650px); }
.range-tile__wash { background: linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.02) 65%); }
.range-tile__body small { color: rgba(255,255,255,.72); }
.ranges-note { color: var(--grey-500); }
.ranges-note a { color: var(--ink); }

.range-tile__logo,
.range-card__logo,
.range-detail-hero__logo { display: flex; align-items: center; min-height: 0; padding: 0; background: transparent !important; box-shadow: none !important; }
.range-tile__logo { width: min(92%,290px); margin-top: 14px; }
.range-card__logo { width: min(88%,430px); margin-top: 16px; }
.range-detail-hero__logo { width: min(680px,70vw); margin-top: 28px; }
.range-tile__logo img,
.range-tile:hover .range-tile__logo img,
.range-card__logo img,
.range-detail-hero__logo img { filter: drop-shadow(0 3px 14px rgba(0,0,0,.45)) !important; transform: none !important; }

.single-work-home { background: var(--grey-100); color: var(--ink); }
.single-work-home__content { border-left: 8px solid var(--accent); }
.single-work-home h2 em { color: var(--accent); -webkit-text-stroke: 0; }
.single-work-home__content::after { color: rgba(212,91,44,.065); }
.single-work-steps { background: var(--grey-300); }
.single-work-steps li { background: var(--grey-100); }

.details-stage { background: var(--white); color: var(--ink); }
.details-stage .signal-label { color: var(--grey-700); }
.details-stage__copy p { color: var(--grey-700); }
.detail-pin i { border-color: var(--accent); background: var(--white); box-shadow: 0 0 0 7px rgba(212,91,44,.16); }
.detail-pin b { background: var(--accent); color: var(--white); }
.details-specs { border-color: var(--grey-300); }
.details-specs span { border-color: var(--grey-300); color: var(--grey-700); }

.works-section { background: #1a1817; }
.made-here__shade { background: linear-gradient(90deg,rgba(13,13,13,.93) 0%,rgba(13,13,13,.68) 39%,rgba(13,13,13,.1) 74%),linear-gradient(0deg,rgba(13,13,13,.42),transparent 50%); }
.made-here h2 em { color: #f1f2f3; }

.professional-gateway { background: var(--grey-100); }
.professional-gateway__grid > a { background: rgba(255,255,255,.76); }
.professional-gateway__grid > a:hover { background: var(--white); }
.professional-gateway__grid > a.is-accent { background: var(--accent); color: var(--white); }
.professional-gateway__grid .is-accent p,
.professional-gateway__grid .is-accent span { color: rgba(255,255,255,.76); }
.professional-gateway__grid .is-accent em { border-color: rgba(255,255,255,.32); }

.section--black { background: #f1f3f5; color: var(--ink); }
.section--black .eyebrow--light,
.section--black .eyebrow--accent { color: var(--accent); }
.section--black .section-heading__copy { color: var(--grey-700); }
.section--black .detail-grid,
.section--black .detail-card { border-color: var(--grey-300); }
.section--black .detail-card p { color: var(--grey-700); }
.section--black .pro-access-card:not(.pro-access-card--dark) { color: var(--ink); }

.feature-split__content { border-left: 8px solid var(--accent); background: var(--grey-100); color: var(--ink); }
.single-work-explainer { border-top: 8px solid var(--accent); background: var(--grey-100); }
.single-work-explainer h2 em { color: var(--accent); -webkit-text-stroke: 0; }
.single-work-explainer::after { color: rgba(212,91,44,.06); }

.range-intro { background: var(--white); }
.range-intro__number { color: var(--accent); }
.range-tech { background: #f1f3f5; color: var(--ink); }
.range-tech .signal-label { color: var(--grey-700); }
.range-tech__title h2 em { color: var(--accent); }
.range-tech__title p { color: var(--grey-700); }
.range-tech__table,
.range-tech__table div { border-color: var(--grey-300); }
.range-tech__table span { color: var(--grey-700); }
.range-finish { background: var(--white); }
.range-finish__content { border-left: 8px solid var(--accent); }
.range-use { background: var(--grey-100); }
.range-use h2 em { color: var(--accent); }
.range-colours { background: #1a1817; }
.range-palette { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 28px; }
.range-palette__item { display: grid; grid-template-columns: 50px auto; grid-template-rows: auto auto; column-gap: 13px; align-items: center; min-width: 150px; }
.range-palette__item > i { grid-row: 1 / 3; width: 50px; height: 50px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: var(--swatch); box-shadow: inset 0 0 0 4px rgba(255,255,255,.06); }
.range-palette__item strong { align-self: end; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.range-palette__item small { align-self: start; color: rgba(255,255,255,.45); font-size: 8px; letter-spacing: .12em; }
.range-switcher__grid a.is-current { background: #e4e7ea; }
.range-detail-hero--vel-rubber .range-detail-hero__logo { width: min(720px,72vw); }
.range-detail-hero__specs > span { background: rgba(17,16,15,.72); }

.range-grid { gap: 5px; background: #eef0f2; }
.range-card__shade { background: linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.06) 64%); }
.works-archive-hero { background: var(--grey-100); color: var(--ink); }
.works-archive-hero p { color: var(--grey-700); }
.works-archive { background: var(--white); color: var(--ink); }
.works-archive__bar { color: var(--grey-500); }

.order-principles { background: var(--grey-100); color: var(--ink); }
.order-principles__grid,
.order-principles__grid div { border-color: var(--grey-300); }
.order-principles__grid p { color: var(--grey-700); }
.order-section { background: var(--white); }
.channel-options input:checked + span { border-color: var(--accent); background: #eef0f2; }

.catalogue-download { border-top: 1px solid var(--grey-300); border-bottom: 1px solid var(--grey-300); background: #eef0f2; }
.form-notice { background: var(--grey-100); }
.form-notice--success { border-left-color: var(--accent); }
.form-notice__download { display: inline-flex; margin: 15px 0 0; padding-bottom: 5px; border-bottom: 1px solid var(--accent); color: var(--ink); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }

.site-footer { background: #171513; }
.site-footer h2 em { color: var(--white); }
.social-links a,
.footer-status { color: #e08a64; }
.floating-contact { background: rgba(23,21,19,.94); }

.capabilities-home {
  padding: clamp(88px,8vw,124px) 0;
  background: var(--grey-100);
  color: var(--ink);
}

.capabilities-home .v2-section-head > p { color: var(--grey-700); }
.capabilities-home .v2-section-head h2 em { color: var(--ink); }

.capabilities-home__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--grey-300);
  border-left: 1px solid var(--grey-300);
}

.capabilities-home__grid > a {
  position: relative;
  min-height: 360px;
  padding: clamp(28px,3vw,42px);
  border-right: 1px solid var(--grey-300);
  border-bottom: 1px solid var(--grey-300);
  background: var(--white);
  color: var(--ink);
  transition: border-color .25s ease, transform .3s ease;
}

.capabilities-home__grid > a:hover {
  z-index: 1;
  border-top: 3px solid var(--accent);
  transform: translateY(-4px);
}

.capabilities-home__grid span {
  color: var(--grey-500);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
}

.capabilities-home__grid h3 {
  margin: 74px 0 18px;
  font-size: clamp(34px,3vw,44px);
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: .94;
}

.capabilities-home__grid p {
  max-width: 340px;
  margin: 0;
  color: var(--grey-700);
  font-size: 14px;
}

.capabilities-home__grid em {
  position: absolute;
  right: clamp(28px,3vw,42px);
  bottom: 28px;
  left: clamp(28px,3vw,42px);
  padding-top: 13px;
  border-top: 1px solid var(--grey-300);
  color: var(--accent);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.about-engineering {
  padding: clamp(90px,9vw,140px) 0;
  background: var(--v2-black);
  color: var(--white);
}

.about-engineering__content { align-self: center; }
.about-engineering__content h2 {
  max-width: 620px;
  margin: 18px 0 0;
  font-size: clamp(46px,5vw,70px);
  font-weight: 900;
  letter-spacing: -.06em;
  line-height: .92;
}

.about-engineering__lead {
  max-width: 620px;
  margin: 28px 0 35px;
  color: rgba(255,255,255,.68);
  font-size: 17px;
}

.capability-grid {
  border-color: var(--grey-300);
}

.capability-grid .detail-card {
  min-height: 340px;
  border-color: var(--grey-300);
  background: var(--white);
  color: var(--ink);
}

.capability-grid .detail-card h3 { margin-top: 92px; }
.capability-grid .detail-card p { color: var(--grey-700); }

.page-hero--capabilities .page-hero__media { background-position: center; }

.capability-jump {
  border-bottom: 1px solid var(--grey-200);
  background: var(--white);
}

.capability-jump__inner {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.capability-jump a {
  display: flex;
  gap: 14px;
  align-items: center;
  min-height: 86px;
  padding: 18px 24px;
  border-right: 1px solid var(--grey-200);
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.capability-jump a:first-child { border-left: 1px solid var(--grey-200); }
.capability-jump a:hover { color: var(--accent); }
.capability-jump span { color: var(--grey-500); font-size: 8px; }

.capability-feature {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr);
  min-height: 760px;
  background: var(--white);
}

.capability-feature--reverse { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); background: var(--grey-100); }
.capability-feature--reverse .capability-feature__media { order: 2; }
.capability-feature--reverse .capability-feature__content { order: 1; }

.capability-feature__media {
  min-height: 640px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.capability-feature__content {
  align-self: center;
  padding: clamp(58px,7vw,112px);
}

.capability-feature h2 {
  max-width: 700px;
  margin: 20px 0 0;
  color: var(--ink);
  font-size: clamp(44px,4.3vw,66px);
  font-weight: 900;
  letter-spacing: -.058em;
  line-height: .95;
}

.capability-feature__lead {
  max-width: 670px;
  margin: 28px 0 36px;
  color: var(--grey-700);
  font-size: 16px;
  line-height: 1.7;
}

.capability-process,
.capability-options {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid var(--grey-300);
  border-left: 1px solid var(--grey-300);
}

.capability-process > div,
.capability-options > div {
  min-height: 132px;
  padding: 22px;
  border-right: 1px solid var(--grey-300);
  border-bottom: 1px solid var(--grey-300);
}

.capability-process span,
.capability-options span {
  display: block;
  margin-bottom: 15px;
  color: var(--accent);
  font-size: 8px;
  font-weight: 900;
}

.capability-process strong,
.capability-options strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
}

.capability-process p {
  margin: 8px 0 0;
  color: var(--grey-700);
  font-size: 12px;
  line-height: 1.45;
}

.capability-options > div { min-height: 112px; }

.conditional-fields {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 22px;
  padding: 22px;
  border: 1px solid var(--grey-300);
  background: var(--grey-100);
}

.conditional-fields[hidden] { display: none !important; }

.confirmation-page {
  position: relative;
  min-height: calc(100svh - var(--header-height));
  overflow: hidden;
  background: var(--black);
}

.confirmation-page__media,
.confirmation-page__shade {
  position: absolute;
  inset: 0;
}

.confirmation-page__media {
  background-position: center;
  background-size: cover;
  filter: saturate(.72);
}

.confirmation-page__shade { background: linear-gradient(90deg,rgba(7,8,9,.92),rgba(7,8,9,.55) 56%,rgba(7,8,9,.2)); }

.confirmation-page__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  min-height: calc(100svh - var(--header-height));
  padding-top: 72px;
  padding-bottom: 72px;
}

.confirmation-card {
  width: min(100%,720px);
  padding: clamp(38px,5vw,72px);
  border-top: 5px solid var(--accent);
  background: rgba(255,255,255,.97);
  box-shadow: 0 30px 90px rgba(0,0,0,.32);
}

.confirmation-mark {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: var(--white);
  font-size: 24px;
  font-weight: 900;
}

.confirmation-card h1 {
  margin: 16px 0 22px;
  color: var(--ink);
  font-size: clamp(42px,5vw,66px);
  font-weight: 900;
  letter-spacing: -.06em;
  line-height: .94;
}

.confirmation-card > p {
  max-width: 590px;
  margin: 0;
  color: var(--grey-700);
  font-size: 16px;
  line-height: 1.7;
}

.confirmation-reference {
  display: flex;
  justify-content: space-between;
  margin-top: 32px;
  padding: 18px 0;
  border-top: 1px solid var(--grey-300);
  border-bottom: 1px solid var(--grey-300);
}

.confirmation-reference span { color: var(--grey-500); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.confirmation-reference strong { color: var(--ink); font-size: 12px; letter-spacing: .06em; }
.confirmation-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.confirmation-card > small { display: block; margin-top: 22px; color: var(--grey-500); font-size: 11px; }

/*
 * Desktop direction: premium automotive, not editorial luxury.
 * Mobile keeps the denser, sequential experience that already works well.
 */
@media (min-width: 921px) {
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .v2-hero,
  .v2-hero__content {
    min-height: min(720px, calc(100svh - 74px));
  }

  .v2-hero__content {
    padding-top: 40px;
    padding-bottom: 48px;
  }

  .v2-hero__grain {
    background:
      linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.58) 28%, rgba(0,0,0,.03) 65%, rgba(0,0,0,.12) 100%),
      linear-gradient(0deg, rgba(0,0,0,.28), transparent 44%);
  }

  .v2-hero__copy { width: min(620px, 53%); }

  .v2-hero h1 {
    margin-top: 20px;
    font-size: clamp(48px, 4.6vw, 66px);
    letter-spacing: -.045em;
    line-height: .98;
  }

  .v2-hero h1 em {
    color: var(--white);
    -webkit-text-stroke: 0;
  }

  .v2-hero p {
    max-width: 530px;
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.55;
  }

  .v3-hero__actions { margin-top: 26px; }
  .v2-hero__stamp { right: var(--gutter); bottom: 45px; }
  .v2-hero__rail,
  .brand-marquee { display: none; }

  .ranges-showcase { padding: 104px 0 58px; }

  .ranges-showcase .v2-section-head {
    margin-bottom: 52px;
  }

  .ranges-showcase .v2-section-head h2 {
    font-size: clamp(42px, 4.1vw, 58px);
    line-height: .98;
  }

  .ranges-showcase .v2-section-head h2 em,
  .single-work-home h2 em,
  .works-section .v2-section-head h2 em,
  .professional-gateway .v2-section-head h2 em {
    color: var(--ink);
  }

  .ranges-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: min(calc(100% - 64px), 1360px);
    margin-inline: auto;
    padding: 0;
  }

  .range-tile { min-height: 450px; }
  .range-tile__index { display: none; }
  .range-tile__body { right: 34px; bottom: 32px; left: 34px; }
  .range-tile__logo { width: min(52%, 260px); }
  .range-tile__body em { max-height: 25px; margin-top: 14px; opacity: .9; }

  .ranges-note {
    width: min(calc(100% - 64px), 1360px);
    margin-inline: auto;
    padding-top: 24px;
  }

  .single-work-home {
    grid-template-columns: 1fr 1fr;
    width: min(calc(100% - 64px), 1360px);
    min-height: 610px;
    margin: 112px auto;
    background: var(--white);
  }

  .single-work-home__media {
    min-height: 610px;
    background-position: left center;
    background-size: auto 125%;
  }

  .single-work-home__content {
    padding: clamp(50px, 5vw, 74px);
    border: 1px solid var(--grey-200);
    border-left: 0;
    background: var(--white);
  }

  .single-work-home__content::after { display: none; }

  .single-work-home h2 {
    font-size: clamp(43px, 4.2vw, 60px);
    line-height: .95;
  }

  .single-work-home__content > p {
    margin-top: 24px;
    color: var(--grey-700);
    font-size: 15px;
  }

  .single-work-steps { margin-top: 28px; background: var(--grey-200); }
  .single-work-steps li { min-height: 78px; padding: 15px; background: var(--white); }
  .single-work-steps span { margin-bottom: 13px; }
  .single-work-home .button-row { margin-top: 25px; }

  .details-stage { display: none; }

  .works-section {
    padding: 104px 0;
    background: var(--white);
    color: var(--ink);
  }

  .works-section .signal-label { color: var(--grey-700); }
  .works-section .v2-section-head--light { color: var(--ink); }
  .works-section__intro { color: var(--grey-700); }
  .works-section .line-cta { border-color: var(--grey-300); color: var(--ink); }

  .works-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 430px;
    gap: 18px;
  }

  .work-card,
  .work-card--hero,
  .work-card:nth-child(2),
  .work-card:nth-child(3) {
    grid-column: span 1;
    grid-row: span 1;
  }

  .work-card:nth-child(n+4) { display: none; }

  .made-here,
  .made-here__inner { min-height: 640px; }

  .made-here h2 {
    font-size: clamp(48px, 5vw, 68px);
    line-height: .94;
  }

  .professional-gateway { padding: 104px 0; }
  .professional-gateway__grid > a { min-height: 330px; }
  .professional-gateway__grid h3 { margin-top: 66px; }

  .professional-gateway__grid > a.is-accent {
    border-top: 4px solid var(--accent);
    background: var(--white);
    color: var(--ink);
  }

  .professional-gateway__grid .is-accent span,
  .professional-gateway__grid .is-accent p { color: var(--grey-700); }
  .professional-gateway__grid .is-accent em { border-color: var(--grey-300); color: var(--accent); }

  .floating-contact { display: none; }
}

@media (max-width: 920px) {
	.capability-jump__inner { grid-template-columns: 1fr; }
	.capability-jump a,
	.capability-jump a:first-child { min-height: 68px; border-right: 1px solid var(--grey-200); border-bottom: 1px solid var(--grey-200); border-left: 1px solid var(--grey-200); }
	.capability-feature,
	.capability-feature--reverse { grid-template-columns: 1fr; min-height: 0; }
	.capability-feature--reverse .capability-feature__media,
	.capability-feature--reverse .capability-feature__content { order: initial; }
	.capability-feature__media { min-height: 540px; }
	.capability-feature__content { padding: 64px var(--gutter) 76px; }
	.capabilities-home__grid { grid-template-columns: 1fr; }
	.capabilities-home__grid > a { min-height: 320px; }
	.about-engineering .process-layout { grid-template-columns: 1fr; }
	.about-engineering .process-media { min-height: 560px; }
  .ranges-track { padding-inline: 0; }
  .single-work-home__content,
  .feature-split__content,
  .range-finish__content { border-left: 0; border-top: 6px solid var(--accent); }
  .range-detail-hero__logo,
  .range-detail-hero--vel-rubber .range-detail-hero__logo { width: min(100%,620px); }
}

@media (max-width: 620px) {
	.capability-feature__media { min-height: 390px; }
	.capability-feature h2 { font-size: 44px; }
	.capability-process,
	.capability-options,
	.conditional-fields { grid-template-columns: 1fr; }
	.confirmation-page__inner { align-items: flex-end; padding: 48px 18px; }
	.confirmation-card { padding: 34px 26px; }
	.confirmation-actions .button { width: 100%; justify-content: center; }
	.capabilities-home { padding: 82px 0; }
	.capabilities-home__grid > a { min-height: 300px; }
	.capabilities-home__grid h3 { margin-top: 58px; font-size: 36px; }
	.about-engineering .process-media { min-height: 430px; }
	.about-engineering__content h2 { font-size: 50px; }
  .range-tile__logo { width: min(86%,260px); min-height: 0; }
  .range-card__logo { width: min(90%,330px); }
  .details-stage__media { min-height: 520px; }
}
