/* Product launches, engineering and prices */
.range-hero {
  position: relative;
  isolation: isolate;
  padding: calc(var(--header-h) + 1.4rem) 0 clamp(2.75rem, 6vw, 6rem);
  background: #fff;
  overflow: clip;
}
.range-hero .crumbs { color: #565656; }
.range-hero .crumbs a:hover { color: var(--ink); }
.range-composition { position: relative; }
.range-intro {
  position: relative;
  z-index: 1;
  max-width: 49rem;
  margin: clamp(1.75rem, 5vw, 5rem) auto 0;
  text-align: center;
}
.range-hero h1 {
  font: 700 clamp(3.4rem, 9vw, 10rem)/.88 var(--font-body);
  letter-spacing: -.087em;
  overflow-wrap: anywhere;
}
.range-lead { margin: 1.35rem auto 0; max-width: 47ch; color: var(--ink-soft); }
.range-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 1.65rem; }
.range-actions .btn { border-radius: 100px; }
.range-front .range-composition { isolation: isolate; }
.range-front .range-art { display: block; max-width: 1100px; margin: 0 auto; mix-blend-mode: multiply; }
.range-front .range-art img { width: 100%; height: min(39svh, 26rem); object-fit: contain; }
.range-wordmark {
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  text-align: center;
  white-space: nowrap;
  color: #f0f0f0;
  font: 700 clamp(6rem, 25vw, 27rem)/.83 var(--font-display);
  letter-spacing: -.04em;
  user-select: none;
}

.range-chassis .range-composition { display: grid; align-items: center; gap: 1.5rem; }
.range-chassis .range-art {
  display: block;
  overflow: hidden;
  border-radius: var(--frame-radius);
  clip-path: var(--frame-shape);
  background: #f2f2f2;
}
.range-chassis .range-art img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; mix-blend-mode: multiply; }
.range-material { background: var(--carbon); color: #fff; }
.range-material::after, .range-material .range-art {
  position: absolute;
  z-index: -1;
  inset: 0;
}
.range-material .range-composition { position: static; display: flex; align-items: flex-end; min-height: clamp(22rem, 55svh, 42rem); }
.range-material::after { content: ""; background: linear-gradient(90deg, rgb(15 15 15 / .97) 6%, rgb(15 15 15 / .65) 51%, rgb(15 15 15 / .15)), linear-gradient(0deg, rgb(15 15 15 / .75), transparent 64%); }
.range-material .range-art img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; filter: grayscale(1); }
.range-material .range-intro, .range-compact .range-intro { margin-inline: 0; text-align: left; }
.range-material .range-actions, .range-compact .range-actions { justify-content: flex-start; }
.range-material .range-lead, .range-compact .range-lead { margin-inline: 0; }
.range-material .launch-kicker { color: var(--signal); }
.range-material .crumbs, .range-material .range-lead { color: #e5e5e5; }
.range-material .crumbs a:hover { color: #fff; }
.range-material .btn-outline { color: #fff; border-color: #bcbcbc; }
.range-material .btn-outline:hover { color: var(--carbon); background: #fff; }
.range-material :focus-visible { outline-color: var(--signal); }

.interior h2 {
  font-family: var(--font-body);
  font-size: clamp(2rem, 5vw, 5.75rem);
  line-height: .94;
  letter-spacing: -.07em;
  text-transform: none;
}
.interior .block h2 { font-size: clamp(2.25rem, 4vw, 4.3rem); }
.interior .block-text > p { color: var(--ink-soft); }
.interior .specs-wrap { background: #1c1c1c; color: #fff; }
.interior .specs { margin: 0; border: 0; background: transparent; }
.interior .specs dt { color: var(--signal); text-transform: uppercase; letter-spacing: .06em; }
.interior .specs dd { font: 600 clamp(1.15rem, 2vw, 1.55rem)/1.2 var(--font-body); }
.interior .specs div { padding-block: 1.25rem; }
.interior .specs div + div { border-color: #494949; }
.interior .jump a[aria-current="true"] { background: var(--signal); color: var(--carbon); }
.interior .jump a { border-radius: 100px; }
.interior .gallery .zoom, .interior-gallery .zoom, .chassis-zoom {
  border-radius: var(--frame-radius);
}
.interior .gallery .zoom img, .interior-gallery .zoom img { clip-path: var(--frame-shape); }
.interior .gallery .zoom:hover, .interior-gallery .zoom:hover { box-shadow: inset 0 -3px var(--signal); }
.interior .specs-wrap { border-top: 2px solid var(--signal); }
.interior .gallery .zoom.is-full:not(.is-contain) {
  min-height: clamp(9rem, 22vw, 21rem);
  display: grid;
  place-items: center;
}
.interior .gallery .zoom img, .interior-gallery .zoom img { transition: transform .5s cubic-bezier(.18,.72,.24,1); }

.chassis-showcase .stage-controls { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.chassis-showcase .stage-images img { padding: clamp(.45rem, 2vw, 1.9rem); }
.chassis-showcase .stage-progress span { transform: scaleX(.25); }
.chassis-zoom { width: 100%; margin-top: 1rem; text-align: left; }
.chassis-zoom span { display: block; padding: .75rem 1rem; color: var(--ink); font: 600 .75rem/1.4 var(--font-label); }
.is-animated .chassis-zoom { width: auto; border-radius: 100px; background: transparent; border: 1px solid #727272; }
.is-animated .chassis-zoom span { color: #fff; }
.is-animated .chassis-zoom img { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); }
.is-animated .chassis-zoom::after { display: none; }
.interior-gallery .pair { align-items: start; }
.fenix-details { display: grid; justify-items: start; }
.fenix-details h2 { margin-bottom: 1rem; }
.fenix-details .price-chip { display: inline-flex; gap: .7rem; padding: .7rem 1rem; border: 1px solid var(--line); border-radius: 100px; background: #fff; }
.about-copy h2 { margin-bottom: 1.35rem; }
.about-copy h2 + p { color: var(--ink); font-size: clamp(1.15rem, 2vw, 1.5rem); }

.interior .price-group {
  border: 1px solid var(--line);
  border-radius: var(--frame-radius);
  padding: clamp(1rem, 3vw, 2rem);
  background: #fff;
}
.interior .price-group h2, .interior .price-note h2 { font-size: clamp(1.7rem, 3vw, 3rem); }
.interior .price-group tr:last-child > * { border-bottom: 0; }
.interior .price-group:has(h2:target) { outline: 2px solid var(--graphite); }
.interior .price-note { background: var(--carbon); color: #fff; border-radius: var(--frame-radius); }
.interior .price-note p { color: #d2d2d2; }
.interior .price-note .btn { width: 100%; padding-inline: .75rem; text-align: center; }

@media (min-width: 900px) {
  .range-chassis .range-composition { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(1.5rem, 5vw, 5rem); }
  .range-chassis .range-intro { text-align: left; }
  .range-chassis .range-lead { margin-inline: 0; }
  .range-chassis .range-actions { justify-content: flex-start; }
  .range-chassis h1 { font-size: clamp(4.75rem, 8.1vw, 9rem); }
}
@media (max-width: 560px) {
  .range-front .range-art img { height: clamp(7rem, 45vw, 12rem); }
  .range-actions .btn { padding-inline: 1rem; }
  .interior .price-table td { font-size: 1.3rem; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .interior .gallery .zoom:hover img, .interior-gallery .zoom:hover img { transform: scale(1.055); }
}
@media (prefers-reduced-motion: no-preference) {
  .range-intro { animation: launch-title .85s cubic-bezier(.16, 1, .3, 1) both; }
  .range-front .range-art, .range-chassis .range-art img { animation: launch-product 1.2s cubic-bezier(.18, .72, .24, 1) both; }
  @supports (animation-timeline: view()) {
    .range-material .range-art img {
      animation: workshop-focus linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
  }
}
.chassis-showcase .is-animated .showcase-step { padding-block: 1.6rem; }
@media (min-width: 561px) and (max-width: 859px) {
  .range-front .range-art img { height: clamp(10rem, 30vw, 19rem); }
}

.page-vipvte #front-v3 {
  position: relative;
  isolation: isolate;
  color: #fff;
  border-top: 0;
}
.page-vipvte #front-v3::before {
  position: absolute;
  z-index: -1;
  inset: 0 50%;
  width: 100vw;
  translate: -50% 0;
  background: radial-gradient(ellipse at 60% 10%, #2c2c2c, #151515 70%);
  content: "";
}
.page-vipvte #front-v3 h2 { color: var(--signal); }
.page-vipvte #front-v3 .block-text > p { color: #d7d7d7; }
.page-vipvte #front-v3 .meta-price { color: var(--ink); }
.interior .block-text .meta-price { flex-wrap: wrap; }
.interior .chassis-zoom img, .interior-gallery .pair img { width: 100%; }
.interior .is-animated .chassis-zoom img { width: 1px; }

.esc-feature { max-width: 72rem; margin: 0 auto clamp(1.75rem, 4vw, 3.5rem); }
.esc-feature .zoom { display: block; width: 100%; }
.esc-feature figcaption {
  margin-top: .7rem;
  color: var(--ink-soft);
  font: 500 .82rem/1.5 var(--font-label);
}
