/*
Theme Name: DRIVE Confidence Update
Theme URI: https://example.com/
Author: RMG Global Ventures
Description: DRIVE Black Label v7.8 launch candidate with approved mechanic Mr. D hero and DRIVE Insights.
Version: 7.7.0
Template: drive-black-label
Text Domain: drive-black-label-confidence
*/

/* This child theme does not package or replace the parent hero image. */

.office-confidence {
  --oc-black:#050505;
  --oc-gold:#d0a34b;
  --oc-bright:#efcc75;
  --oc-white:#f5f1e8;
  --oc-muted:#aaa399;
  position:relative;
  height:215vh;
  background:#050505;
  color:var(--oc-white);
}

.oc-sticky {
  position:sticky;
  top:0;
  height:100vh;
  min-height:700px;
  overflow:hidden;
  isolation:isolate;
  background:#050505;
}

.oc-scene {
  position:absolute;
  inset:0;
  z-index:-4;
  background-image:url("assets/images/confidence-office.webp");
  background-size:cover;
  background-position:center center;
  transform:scale(1.025);
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1), filter .7s ease;
}

.office-confidence.is-active .oc-scene {
  transform:scale(1);
}

.oc-vignette {
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,4,4,.98) 0%,rgba(4,4,4,.94) 20%,rgba(4,4,4,.55) 39%,rgba(4,4,4,.08) 58%,rgba(4,4,4,.06) 100%),
    linear-gradient(180deg,rgba(4,4,4,.38),transparent 18%,transparent 78%,rgba(4,4,4,.6));
}

.oc-light {
  position:absolute;
  inset:-25%;
  z-index:-2;
  pointer-events:none;
  opacity:.16;
  background:linear-gradient(110deg,transparent 38%,rgba(239,204,117,.16) 49%,transparent 61%);
  transform:translateX(-52%);
  animation:ocSweep 9s ease-in-out infinite;
}

@keyframes ocSweep {
  0%,28% { transform:translateX(-52%); }
  72%,100% { transform:translateX(52%); }
}

.oc-brand {
  position:absolute;
  top:7.5vh;
  left:6.5vw;
  width:clamp(150px,13vw,230px);
  opacity:0;
  transform:translateY(-14px);
  transition:opacity .45s ease .05s, transform .55s cubic-bezier(.22,.61,.36,1) .05s;
}

.oc-brand img {
  display:block;
  width:100%;
  height:auto;
}

.office-confidence.is-active .oc-brand {
  opacity:1;
  transform:none;
}

.oc-copy {
  position:absolute;
  left:6.5vw;
  top:50%;
  width:min(38vw,590px);
  transform:translateY(-47%);
  opacity:0;
  transition:opacity .48s ease .12s, transform .58s cubic-bezier(.22,.61,.36,1) .12s;
}

.office-confidence.is-active .oc-copy {
  opacity:1;
  transform:translateY(-50%);
}

.oc-eyebrow {
  display:block;
  margin-bottom:24px;
  color:var(--oc-bright);
  font-size:10px;
  font-weight:700;
  letter-spacing:.42em;
  text-transform:uppercase;
}

.oc-quote {
  margin:0;
  font:400 clamp(3.6rem,6.5vw,7rem)/.95 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.oc-quote span,
.oc-quote strong {
  display:block;
}

.oc-quote span {
  color:var(--oc-white);
}

.oc-quote strong {
  margin-top:12px;
  color:var(--oc-bright);
  font-weight:400;
}

.oc-response {
  margin:34px 0 0;
  padding-top:25px;
  border-top:1px solid rgba(208,163,75,.34);
  color:var(--oc-white);
  font:400 clamp(1.25rem,1.9vw,1.8rem)/1.5 Georgia,"Times New Roman",serif;
}

.oc-signoff {
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:27px;
}

.oc-signoff::before {
  content:"";
  width:48px;
  height:1px;
  background:var(--oc-gold);
}

.oc-signoff__name {
  color:var(--oc-bright);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(2rem,3vw,3.2rem);
  line-height:1;
}

.oc-signoff__title {
  color:var(--oc-muted);
  font-size:9px;
  letter-spacing:.27em;
  text-transform:uppercase;
}

.oc-dialogue {
  position:absolute;
  right:5vw;
  top:14vh;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
  max-width:360px;
  text-align:right;
  pointer-events:none;
}

.oc-dialogue__line {
  display:block;
  padding:10px 14px;
  border-right:1px solid rgba(239,204,117,.55);
  background:linear-gradient(90deg,transparent,rgba(5,5,5,.66));
  color:rgba(245,241,232,.82);
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
  opacity:0;
  transform:translateX(18px);
}

.office-confidence.is-speaking .oc-dialogue__line--one {
  animation:ocSpeak .42s ease forwards .1s;
}

.office-confidence.is-speaking .oc-dialogue__line--two {
  animation:ocSpeak .42s ease forwards 1.15s;
}

@keyframes ocSpeak {
  to { opacity:1; transform:none; }
}

.oc-button {
  position:absolute;
  right:5vw;
  bottom:6.5vh;
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:17px 24px;
  border:1px solid var(--oc-gold);
  color:var(--oc-bright);
  background:rgba(5,5,5,.55);
  backdrop-filter:blur(8px);
  font-size:10px;
  font-weight:700;
  letter-spacing:.17em;
  text-decoration:none;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(16px);
  transition:opacity .4s ease .38s, transform .5s ease .38s, background .3s ease, color .3s ease;
}

.office-confidence.is-active .oc-button {
  opacity:1;
  transform:none;
}

.oc-button:hover {
  background:var(--oc-bright);
  color:#080808;
}

.oc-button span {
  font-size:18px;
  transition:transform .3s ease;
}

.oc-button:hover span {
  transform:translateX(5px);
}

.oc-scroll {
  position:absolute;
  left:3vw;
  bottom:4vh;
  color:rgba(239,204,117,.72);
  font-size:9px;
  letter-spacing:.34em;
  text-transform:uppercase;
}

@media(max-width:1080px) {
  .oc-copy {
    left:5vw;
    width:43vw;
  }

  .oc-vignette {
    background:
      linear-gradient(90deg,rgba(4,4,4,.98) 0%,rgba(4,4,4,.91) 30%,rgba(4,4,4,.36) 55%,rgba(4,4,4,.08) 100%),
      linear-gradient(180deg,rgba(4,4,4,.35),transparent 22%,transparent 74%,rgba(4,4,4,.7));
  }

  .oc-dialogue {
    display:none;
  }
}

@media(max-width:760px) {
  .office-confidence {
    height:auto;
  }

  .oc-sticky {
    position:relative;
    height:auto;
    min-height:100vh;
    padding:440px 24px 100px;
  }

  .oc-scene {
    background-size:auto 440px;
    background-repeat:no-repeat;
    background-position:67% top;
    transform:none;
  }

  .oc-vignette {
    background:
      linear-gradient(180deg,transparent 0,rgba(5,5,5,.05) 32%,#050505 52%,#050505 100%),
      linear-gradient(90deg,rgba(5,5,5,.35),transparent 60%);
  }

  .oc-brand {
    top:28px;
    left:24px;
    width:145px;
    opacity:1;
    transform:none;
  }

  .oc-copy {
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    transform:none;
    opacity:1;
  }

  .oc-quote {
    font-size:clamp(3.2rem,16vw,5rem);
  }

  .oc-button {
    position:relative;
    right:auto;
    bottom:auto;
    margin-top:42px;
    opacity:1;
    transform:none;
  }

  .oc-scroll {
    display:none;
  }
}

@media(prefers-reduced-motion:reduce) {
  .oc-scene,.oc-brand,.oc-copy,.oc-button {
    transition:none!important;
    transform:none!important;
    opacity:1!important;
  }
  .oc-light { animation:none!important; }
  .oc-dialogue { display:none; }
}


/* ==========================================================
   v3.1 corrections
   - eliminate baked-underlay conflict
   - scale Mr. D scene down
   - add visible transition sequence
   ========================================================== */

.office-confidence {
  height: 245vh;
}

.oc-sticky {
  background:#050505;
}

/* Start with a clean black curtain, then reveal the office. */
.oc-sticky::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:7;
  pointer-events:none;
  background:#050505;
  opacity:1;
  transition:opacity .72s cubic-bezier(.22,.61,.36,1);
}

.office-confidence.is-active .oc-sticky::before {
  opacity:0;
}

/* Make Mr. D and the office fit comfortably inside frame. */
.oc-scene {
  inset:4vh 2vw 0 2vw;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center top;
  transform:scale(1.08);
  opacity:.12;
  filter:brightness(.65);
  transition:
    opacity .66s ease .12s,
    transform .9s cubic-bezier(.22,.61,.36,1) .08s,
    filter .75s ease .08s;
}

.office-confidence.is-active .oc-scene {
  opacity:1;
  transform:scale(1);
  filter:brightness(1);
}

/* Keep the left live-copy area visually clean. */
.oc-vignette {
  background:
    linear-gradient(90deg,
      rgba(4,4,4,.995) 0%,
      rgba(4,4,4,.985) 20%,
      rgba(4,4,4,.86) 34%,
      rgba(4,4,4,.26) 50%,
      rgba(4,4,4,.03) 68%,
      rgba(4,4,4,.08) 100%),
    linear-gradient(180deg,
      rgba(4,4,4,.38),
      transparent 18%,
      transparent 78%,
      rgba(4,4,4,.64));
}

/* Staggered but fast reveal: logo -> quote -> dialogue -> button. */
.oc-brand {
  opacity:0;
  transform:translateY(-12px);
  transition:
    opacity .36s ease .34s,
    transform .48s cubic-bezier(.22,.61,.36,1) .34s;
}

.oc-copy {
  opacity:0;
  transform:translateY(-46%) translateX(-18px);
  transition:
    opacity .42s ease .48s,
    transform .56s cubic-bezier(.22,.61,.36,1) .48s;
}

.office-confidence.is-active .oc-copy {
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.oc-button {
  transition:
    opacity .35s ease .72s,
    transform .45s ease .72s,
    background .3s ease,
    color .3s ease;
}

/* Talking lines appear after the scene is clearly established. */
.office-confidence.is-speaking .oc-dialogue__line--one {
  animation:ocSpeak .36s ease forwards .15s;
}

.office-confidence.is-speaking .oc-dialogue__line--two {
  animation:ocSpeak .36s ease forwards .78s;
}

/* Prevent the live text from visually colliding with the figure. */
.oc-copy {
  left:5.5vw;
  width:min(34vw,520px);
}

.oc-quote {
  font-size:clamp(3.25rem,5.65vw,6.2rem);
}

.oc-response {
  max-width:480px;
}

/* Faster shared gold sweep after reveal. */
.oc-light {
  opacity:0;
  transform:translateX(-58%);
  animation:none;
  transition:
    opacity .32s ease .7s,
    transform 1.1s cubic-bezier(.22,.61,.36,1) .65s;
}

.office-confidence.is-active .oc-light {
  opacity:.15;
  transform:translateX(22%);
}

@media(max-width:1080px) {
  .oc-scene {
    inset:5vh 0 0 0;
    background-size:cover;
    background-position:60% top;
  }

  .oc-copy {
    width:40vw;
  }
}

@media(max-width:760px) {
  .office-confidence {
    height:auto;
  }

  .oc-sticky::before {
    display:none;
  }

  .oc-scene {
    inset:0;
    opacity:1;
    filter:none;
    background-size:auto 430px;
    background-position:65% top;
  }

  .oc-copy {
    width:100%;
    transform:none;
  }

  .office-confidence.is-active .oc-copy {
    transform:none;
  }
}


/* ==========================================================
   v3.2 corrections
   - remove duplicate right-side overlay
   - remove duplicate baked CTA
   - slower, more deliberate transition
   ========================================================== */

.oc-dialogue {
  display:none !important;
}

/* Slightly longer black-to-office reveal. */
.oc-sticky::before {
  transition:opacity 1.15s cubic-bezier(.22,.61,.36,1);
}

/* Slow the scene reveal without making it feel stalled. */
.oc-scene {
  transition:
    opacity .95s ease .18s,
    transform 1.35s cubic-bezier(.22,.61,.36,1) .12s,
    filter 1.05s ease .12s;
}

/* Logo and message follow the scene instead of appearing instantly. */
.oc-brand {
  transition:
    opacity .58s ease .55s,
    transform .72s cubic-bezier(.22,.61,.36,1) .55s;
}

.oc-copy {
  transition:
    opacity .65s ease .72s,
    transform .82s cubic-bezier(.22,.61,.36,1) .72s;
}

.oc-button {
  transition:
    opacity .52s ease 1.05s,
    transform .62s ease 1.05s,
    background .3s ease,
    color .3s ease;
}

/* Slow the shared gold sweep slightly. */
.oc-light {
  transition:
    opacity .45s ease 1.0s,
    transform 1.55s cubic-bezier(.22,.61,.36,1) .92s;
}

/* Move the live CTA into the cleaned lower-right area. */
.oc-button {
  right:5.5vw;
  bottom:5.5vh;
}

/* Keep the right side visually quiet now that the dialogue panel is gone. */
.oc-vignette {
  background:
    linear-gradient(90deg,
      rgba(4,4,4,.995) 0%,
      rgba(4,4,4,.985) 20%,
      rgba(4,4,4,.84) 34%,
      rgba(4,4,4,.20) 50%,
      rgba(4,4,4,.03) 72%,
      rgba(4,4,4,.08) 100%),
    linear-gradient(180deg,
      rgba(4,4,4,.34),
      transparent 18%,
      transparent 78%,
      rgba(4,4,4,.68));
}


/* ==========================================================
   v3.3
   Confidence: remove redundant wall logo.
   Promise: cinematic Escalade protection sequence.
   ========================================================== */

/* The official DRIVE mark remains only at the left of Confidence. */
.oc-scene {
  background-image:url("assets/images/confidence-office.webp");
}

/* ------------------ Promise cinematic moment ------------------ */

.promise-cinematic {
  --pc-black:#050505;
  --pc-gold:#d0a34b;
  --pc-bright:#efcc75;
  --pc-white:#f5f1e8;
  --pc-muted:#aaa399;
  position:relative;
  height:390vh;
  background:#050505;
  color:var(--pc-white);
}

.pc-sticky {
  position:sticky;
  top:0;
  height:100vh;
  min-height:700px;
  overflow:hidden;
  isolation:isolate;
  background:#050505;
}

.pc-scene {
  position:absolute;
  inset:0;
  z-index:-5;
  background-image:url("assets/images/promise-escalade.webp");
  background-size:cover;
  background-position:center center;
  opacity:.18;
  transform:scale(1.07);
  filter:brightness(.55) saturate(.82);
  transition:
    opacity .9s ease,
    transform 1.3s cubic-bezier(.22,.61,.36,1),
    filter 1.1s ease;
}

.promise-cinematic.is-active .pc-scene {
  opacity:1;
  transform:scale(1);
  filter:brightness(1) saturate(1);
}

.pc-vignette {
  position:absolute;
  inset:0;
  z-index:-4;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,4,4,.98) 0%,rgba(4,4,4,.90) 23%,rgba(4,4,4,.46) 41%,transparent 64%),
    linear-gradient(180deg,rgba(4,4,4,.44),transparent 18%,transparent 76%,rgba(4,4,4,.72));
}

.pc-scan {
  position:absolute;
  top:-15%;
  bottom:-15%;
  left:-20%;
  z-index:-2;
  width:17%;
  opacity:0;
  transform:skewX(-12deg);
  background:linear-gradient(90deg,transparent,rgba(239,204,117,.22),rgba(239,204,117,.08),transparent);
  filter:blur(3px);
}

.promise-cinematic.is-active .pc-scan {
  animation:pcScan 5.4s ease-in-out infinite 1s;
}

@keyframes pcScan {
  0%,18% { left:-20%; opacity:0; }
  28% { opacity:.8; }
  72% { opacity:.55; }
  86%,100% { left:115%; opacity:0; }
}

.pc-copy {
  position:absolute;
  left:6vw;
  top:50%;
  width:min(36vw,570px);
  transform:translateY(-44%) translateX(-22px);
  opacity:0;
  transition:
    opacity .55s ease .35s,
    transform .72s cubic-bezier(.22,.61,.36,1) .35s;
}

.promise-cinematic.is-active .pc-copy {
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.pc-eyebrow {
  display:block;
  margin-bottom:25px;
  color:var(--pc-bright);
  font-size:10px;
  font-weight:700;
  letter-spacing:.42em;
  text-transform:uppercase;
}

.pc-copy h2 {
  margin:0;
  font:400 clamp(3.5rem,6.3vw,7rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.pc-copy h2 span,
.pc-copy h2 strong {
  display:block;
}

.pc-copy h2 span {
  color:var(--pc-white);
}

.pc-copy h2 strong {
  margin-top:15px;
  color:var(--pc-bright);
  font-weight:400;
}

.pc-copy p {
  max-width:520px;
  margin:30px 0 0;
  padding-top:26px;
  border-top:1px solid rgba(208,163,75,.34);
  color:var(--pc-muted);
  font-size:1rem;
  line-height:1.85;
}

.pc-zones {
  position:absolute;
  inset:0;
  pointer-events:none;
}

.pc-zone {
  position:absolute;
  width:28px;
  height:28px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--pc-bright);
  opacity:.18;
  transform:scale(.72);
  transition:
    opacity .35s ease,
    transform .42s cubic-bezier(.22,.61,.36,1);
  pointer-events:auto;
}

.pc-zone.is-active {
  opacity:1;
  transform:scale(1);
}

.pc-zone__pulse {
  position:absolute;
  inset:5px;
  border:1px solid currentColor;
  border-radius:50%;
  background:rgba(208,163,75,.12);
  box-shadow:0 0 24px rgba(239,204,117,.55);
}

.pc-zone.is-active .pc-zone__pulse::before,
.pc-zone.is-active .pc-zone__pulse::after {
  content:"";
  position:absolute;
  inset:-8px;
  border:1px solid rgba(239,204,117,.42);
  border-radius:50%;
  animation:pcPulse 1.9s ease-out infinite;
}

.pc-zone.is-active .pc-zone__pulse::after {
  animation-delay:.8s;
}

@keyframes pcPulse {
  0% { opacity:.8; transform:scale(.5); }
  100% { opacity:0; transform:scale(2.1); }
}

.pc-zone__label {
  position:absolute;
  top:34px;
  left:50%;
  padding:7px 9px;
  border:1px solid rgba(208,163,75,.32);
  background:rgba(5,5,5,.72);
  backdrop-filter:blur(8px);
  color:var(--pc-bright);
  font-size:8px;
  font-weight:700;
  letter-spacing:.16em;
  white-space:nowrap;
  transform:translateX(-50%);
  opacity:0;
  transition:opacity .28s ease;
}

.pc-zone.is-active .pc-zone__label,
.pc-zone:hover .pc-zone__label {
  opacity:1;
}

.pc-zone--engine { left:46%; top:47%; }
.pc-zone--technology { left:58%; top:37%; }
.pc-zone--transmission { left:59%; top:61%; }
.pc-zone--steering { left:49.5%; top:63%; }
.pc-zone--suspension { left:74%; top:68%; }

.pc-detail {
  position:absolute;
  right:5.5vw;
  top:14vh;
  display:flex;
  gap:17px;
  width:min(320px,28vw);
  padding:20px 22px;
  border:1px solid rgba(208,163,75,.32);
  background:rgba(5,5,5,.66);
  backdrop-filter:blur(12px);
  opacity:0;
  transform:translateX(22px);
  transition:opacity .42s ease .65s, transform .55s ease .65s;
}

.promise-cinematic.is-active .pc-detail {
  opacity:1;
  transform:none;
}

.pc-detail__index {
  color:var(--pc-bright);
  font:400 2.5rem/1 Georgia,serif;
}

.pc-detail__label {
  color:var(--pc-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.25em;
}

.pc-detail p {
  margin:9px 0 0;
  color:var(--pc-muted);
  font-size:12px;
  line-height:1.55;
}

.pc-button {
  position:absolute;
  right:5.5vw;
  bottom:6vh;
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:17px 24px;
  border:1px solid var(--pc-gold);
  background:rgba(5,5,5,.55);
  backdrop-filter:blur(8px);
  color:var(--pc-bright);
  font-size:10px;
  font-weight:700;
  letter-spacing:.17em;
  text-decoration:none;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(16px);
  transition:
    opacity .42s ease .9s,
    transform .55s ease .9s,
    background .3s ease,
    color .3s ease;
}

.promise-cinematic.is-active .pc-button {
  opacity:1;
  transform:none;
}

.pc-button:hover {
  background:var(--pc-bright);
  color:#080808;
}

.pc-button span {
  font-size:18px;
  transition:transform .3s ease;
}

.pc-button:hover span {
  transform:translateX(5px);
}

.pc-progress {
  position:absolute;
  left:50%;
  bottom:4.5vh;
  display:flex;
  gap:10px;
  transform:translateX(-50%);
}

.pc-progress span {
  width:28px;
  height:2px;
  background:rgba(208,163,75,.18);
  transition:background .35s ease, box-shadow .35s ease;
}

.pc-progress span.is-active {
  background:var(--pc-bright);
  box-shadow:0 0 14px rgba(239,204,117,.45);
}

@media(max-width:1000px) {
  .pc-copy {
    width:42vw;
  }

  .pc-detail {
    width:250px;
  }
}

@media(max-width:760px) {
  .promise-cinematic {
    height:auto;
  }

  .pc-sticky {
    position:relative;
    height:auto;
    min-height:100vh;
    padding:470px 24px 110px;
  }

  .pc-scene {
    background-size:auto 470px;
    background-repeat:no-repeat;
    background-position:64% top;
    opacity:1;
    transform:none;
    filter:none;
  }

  .pc-vignette {
    background:
      linear-gradient(180deg,transparent 0,rgba(5,5,5,.05) 32%,#050505 55%,#050505 100%),
      linear-gradient(90deg,rgba(5,5,5,.28),transparent 60%);
  }

  .pc-copy {
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    opacity:1;
    transform:none;
  }

  .pc-copy h2 {
    font-size:clamp(3.2rem,15vw,5rem);
  }

  .pc-zones,
  .pc-detail,
  .pc-progress {
    display:none;
  }

  .pc-button {
    position:relative;
    right:auto;
    bottom:auto;
    margin-top:42px;
    opacity:1;
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce) {
  .pc-scene,.pc-copy,.pc-detail,.pc-button {
    transition:none!important;
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }

  .pc-scan,
  .pc-zone__pulse::before,
  .pc-zone__pulse::after {
    animation:none!important;
  }
}


/* ==========================================================
   v3.4 — Enhanced Promise protection illumination
   ========================================================== */

/* The full vehicle carries a restrained gold edge glow. */
.pc-protection-wash {
  position:absolute;
  inset:8% 4% 6% 31%;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 48% 48%,rgba(239,204,117,.18),transparent 20%),
    radial-gradient(ellipse at center,rgba(208,163,75,.11),transparent 62%);
  filter:blur(22px);
  transform:scale(.94);
  transition:
    opacity .6s ease,
    transform .85s cubic-bezier(.22,.61,.36,1);
}

.promise-cinematic.is-active .pc-protection-wash {
  opacity:.75;
  transform:scale(1);
}

/* More prominent system points. */
.pc-zone {
  width:44px;
  height:44px;
  opacity:.24;
}

.pc-zone__pulse {
  inset:9px;
  border:2px solid currentColor;
  background:
    radial-gradient(circle,rgba(239,204,117,.52) 0%,rgba(208,163,75,.18) 42%,transparent 72%);
  box-shadow:
    0 0 18px rgba(239,204,117,.65),
    0 0 46px rgba(208,163,75,.28);
}

.pc-zone.is-active {
  transform:scale(1.18);
  filter:drop-shadow(0 0 18px rgba(239,204,117,.62));
}

.pc-zone.is-active .pc-zone__pulse {
  box-shadow:
    0 0 24px rgba(255,226,154,.95),
    0 0 62px rgba(208,163,75,.58),
    0 0 110px rgba(208,163,75,.24);
}

.pc-zone.is-active .pc-zone__pulse::before,
.pc-zone.is-active .pc-zone__pulse::after {
  inset:-12px;
  border-color:rgba(239,204,117,.6);
}

.pc-zone__label {
  top:48px;
  padding:9px 11px;
  border-color:rgba(239,204,117,.55);
  background:rgba(5,5,5,.84);
  box-shadow:0 10px 30px rgba(0,0,0,.42),0 0 24px rgba(208,163,75,.12);
  font-size:9px;
}

/* A bright, moving gold scan that visibly travels over the vehicle. */
.pc-scan {
  width:23%;
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(239,204,117,.06) 20%,
      rgba(255,231,169,.46) 48%,
      rgba(208,163,75,.20) 62%,
      transparent 100%);
  filter:blur(2px);
}

.promise-cinematic.is-active .pc-scan {
  animation-duration:4.4s;
}

/* Active zone glow spreads into the vehicle around the selected system. */
.pc-zone::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:150px;
  height:150px;
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.5);
  opacity:0;
  background:radial-gradient(circle,rgba(239,204,117,.28),rgba(208,163,75,.12) 38%,transparent 72%);
  filter:blur(5px);
  pointer-events:none;
  transition:opacity .42s ease,transform .55s cubic-bezier(.22,.61,.36,1);
}

.pc-zone.is-active::after {
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}

/* Animated connection line from vehicle to information panel. */
.pc-connector {
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}

.pc-connector__path {
  fill:none;
  stroke:rgba(239,204,117,.72);
  stroke-width:1.4;
  stroke-dasharray:10 7;
  stroke-dashoffset:140;
  filter:drop-shadow(0 0 5px rgba(239,204,117,.42));
  opacity:0;
  transition:opacity .35s ease;
}

.pc-connector__dot {
  fill:var(--pc-bright);
  filter:drop-shadow(0 0 8px rgba(239,204,117,.85));
  opacity:0;
}

.promise-cinematic.is-active .pc-connector__path,
.promise-cinematic.is-active .pc-connector__dot {
  opacity:1;
}

.promise-cinematic.is-active .pc-connector__path {
  animation:pcConnectorFlow 2.2s linear infinite;
}

@keyframes pcConnectorFlow {
  to { stroke-dashoffset:0; }
}

/* Richer glass detail panel. */
.pc-detail {
  width:min(370px,31vw);
  padding:25px 26px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.04),transparent 48%),
    rgba(5,5,5,.72);
  border-color:rgba(239,204,117,.52);
  box-shadow:
    0 28px 65px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 38px rgba(208,163,75,.09);
}

.pc-detail__content {
  min-width:0;
}

.pc-detail__label {
  font-size:10px;
}

.pc-detail p {
  margin-top:11px;
  font-size:13px;
}

.pc-detail__list {
  margin:16px 0 0;
  padding:0;
  list-style:none;
}

.pc-detail__list li {
  position:relative;
  margin:0 0 8px;
  padding-left:17px;
  color:rgba(245,241,232,.84);
  font-size:11px;
  line-height:1.45;
}

.pc-detail__list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  border:1px solid var(--pc-bright);
  transform:rotate(45deg);
  box-shadow:0 0 9px rgba(239,204,117,.28);
}

.pc-detail__status {
  display:inline-block;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(208,163,75,.28);
  color:var(--pc-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

/* Dim all inactive zones more clearly so the selected one dominates. */
.promise-cinematic.has-zone .pc-zone:not(.is-active) {
  opacity:.08;
  filter:saturate(.4);
}

/* Stronger progress indicator. */
.pc-progress span {
  height:3px;
}

.pc-progress span.is-active {
  box-shadow:
    0 0 11px rgba(239,204,117,.65),
    0 0 24px rgba(208,163,75,.25);
}

@media(max-width:1000px) {
  .pc-connector {
    display:none;
  }

  .pc-detail {
    width:280px;
  }
}

@media(max-width:760px) {
  .pc-protection-wash,
  .pc-connector {
    display:none;
  }
}


/* ==========================================================
   v3.5 — Promise autoplay + office bookshelf continuation
   ========================================================== */

.pc-autoplay {
  position:absolute;
  right:5.5vw;
  bottom:13vh;
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(239,204,117,.68);
  font-size:8px;
  letter-spacing:.22em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s ease 1.15s,transform .45s ease 1.15s;
}

.promise-cinematic.is-active .pc-autoplay {
  opacity:1;
  transform:none;
}

.pc-autoplay__dot {
  width:7px;
  height:7px;
  border:1px solid var(--pc-bright);
  border-radius:50%;
  box-shadow:0 0 12px rgba(239,204,117,.4);
  animation:pcAutoPulse 1.6s ease-in-out infinite;
}

.promise-cinematic.is-paused .pc-autoplay__dot {
  animation:none;
  opacity:.35;
}

.promise-cinematic.is-paused .pc-autoplay__text::after {
  content:" — USER CONTROL";
}

@keyframes pcAutoPulse {
  0%,100% { transform:scale(.75); opacity:.45; }
  50% { transform:scale(1.2); opacity:1; }
}

@media(max-width:760px) {
  .pc-autoplay { display:none; }
}


/* ==========================================================
   v3.6 — Protection moment in corrected story order
   ========================================================== */
.protection-moment{
  --pm-gold:#d0a34b;--pm-bright:#efcc75;--pm-white:#f5f1e8;--pm-muted:#aaa399;
  position:relative;overflow:hidden;padding:130px 5.5vw 0;background:
  radial-gradient(circle at 50% 20%,rgba(208,163,75,.08),transparent 32%),
  linear-gradient(180deg,#050505 0%,#090806 62%,#050505 100%);color:var(--pm-white)
}
.protection-moment:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background-image:linear-gradient(rgba(239,204,117,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(239,204,117,.035) 1px,transparent 1px);background-size:82px 82px;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 78%,transparent)}
.pm-intro{position:relative;z-index:2;width:min(1320px,100%);margin:0 auto 72px;text-align:center;opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .85s cubic-bezier(.22,.61,.36,1)}
.protection-moment.is-visible .pm-intro{opacity:1;transform:none}
.pm-kicker{display:block;margin-bottom:22px;color:var(--pm-bright);font-size:10px;font-weight:700;letter-spacing:.48em}
.pm-intro h2{margin:0;font:400 clamp(3.5rem,7vw,7.5rem)/.95 Georgia,"Times New Roman",serif;letter-spacing:-.05em}
.pm-intro p{max-width:760px;margin:30px auto 0;color:var(--pm-muted);font-size:1rem;line-height:1.85}
.pm-benefits{position:relative;z-index:2;width:min(1420px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pm-benefit{position:relative;min-height:480px;overflow:hidden;padding:38px 30px 34px;border:1px solid rgba(208,163,75,.26);background:linear-gradient(150deg,rgba(255,255,255,.035),transparent 50%),rgba(9,8,7,.76);backdrop-filter:blur(12px);opacity:0;transform:translateY(42px);transition:opacity .65s ease,transform .8s cubic-bezier(.22,.61,.36,1),border-color .35s ease,box-shadow .35s ease}
.protection-moment.is-visible .pm-benefit{opacity:1;transform:none}
.protection-moment.is-visible .pm-benefit:nth-child(2){transition-delay:.1s}.protection-moment.is-visible .pm-benefit:nth-child(3){transition-delay:.2s}.protection-moment.is-visible .pm-benefit:nth-child(4){transition-delay:.3s}
.pm-benefit:hover{transform:translateY(-8px);border-color:rgba(239,204,117,.72);box-shadow:0 28px 70px rgba(0,0,0,.48),0 0 40px rgba(208,163,75,.09)}
.pm-benefit__visual{position:relative;width:92px;height:92px;display:grid;place-items:center;margin-bottom:56px;color:var(--pm-bright)}
.pm-benefit__visual:before,.pm-benefit__visual:after{content:"";position:absolute;inset:0;border:1px solid rgba(208,163,75,.42);border-radius:50%}
.pm-benefit__visual:after{inset:10px;border-color:rgba(239,204,117,.16);animation:pmRing 4s linear infinite}
.pm-benefit__visual svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 9px rgba(239,204,117,.24))}
@keyframes pmRing{to{transform:rotate(360deg)}}
.pm-benefit__number{position:absolute;right:25px;top:26px;color:rgba(239,204,117,.20);font:400 3.6rem/1 Georgia,serif}
.pm-benefit__label{display:block;margin-bottom:14px;color:var(--pm-bright);font-size:9px;font-weight:700;letter-spacing:.25em}
.pm-benefit h3{margin:0 0 16px;font:400 clamp(1.55rem,2vw,2.15rem)/1.14 Georgia,serif}
.pm-benefit p{margin:0;color:var(--pm-muted);font-size:13px;line-height:1.72}
.pm-benefit__energy{position:absolute;left:-55%;bottom:-25%;width:85%;height:62%;background:linear-gradient(90deg,transparent,rgba(239,204,117,.18),transparent);filter:blur(16px);transform:rotate(-12deg);animation:pmEnergy 6s ease-in-out infinite}
.pm-benefit:nth-child(2) .pm-benefit__energy{animation-delay:1.2s}.pm-benefit:nth-child(3) .pm-benefit__energy{animation-delay:2.4s}.pm-benefit:nth-child(4) .pm-benefit__energy{animation-delay:3.6s}
@keyframes pmEnergy{0%,22%{left:-55%;opacity:0}35%{opacity:.85}72%{opacity:.45}88%,100%{left:125%;opacity:0}}
.pm-benefit--roadside .pm-benefit__visual{animation:pmPulse 2.8s ease-in-out infinite}.pm-benefit--transfer .pm-benefit__visual svg{animation:pmTransfer 3s ease-in-out infinite}
@keyframes pmPulse{0%,100%{filter:drop-shadow(0 0 0 rgba(239,204,117,0))}50%{filter:drop-shadow(0 0 20px rgba(239,204,117,.34))}}
@keyframes pmTransfer{0%,100%{transform:translateX(-2px)}50%{transform:translateX(3px)}}
.pm-transition{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px;padding:105px 0 80px;color:var(--pm-bright)}
.pm-transition__line{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--pm-bright),transparent);transition:width 1.2s cubic-bezier(.22,.61,.36,1)}
.protection-moment.is-visible .pm-transition__line{width:min(820px,80vw)}
.pm-transition__copy{font-size:8px;font-weight:700;letter-spacing:.4em}.pm-transition__arrow{font-size:28px;animation:pmArrow 1.8s ease-in-out infinite}
@keyframes pmArrow{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(8px);opacity:1}}
@media(max-width:1050px){.pm-benefits{grid-template-columns:1fr 1fr}.pm-benefit{min-height:410px}}
@media(max-width:650px){.protection-moment{padding:95px 24px 0}.pm-benefits{grid-template-columns:1fr}.pm-benefit{min-height:auto}.pm-intro h2{font-size:3.7rem}.pm-transition{padding-top:75px}}
@media(prefers-reduced-motion:reduce){.pm-intro,.pm-benefit{opacity:1;transform:none;transition:none}.pm-benefit__visual:after,.pm-benefit__energy,.pm-benefit--roadside .pm-benefit__visual,.pm-benefit--transfer .pm-benefit__visual svg,.pm-transition__arrow{animation:none}.pm-transition__line{width:min(820px,80vw)}}


/* ==========================================================
   MILESTONE 2 — THE JOURNEY
   Protection → Promise → Journey
   ========================================================== */

.journey-cinematic {
  --jr-black:#050505;
  --jr-gold:#d0a34b;
  --jr-bright:#efcc75;
  --jr-white:#f5f1e8;
  --jr-muted:#aaa399;
  position:relative;
  height:430vh;
  color:var(--jr-white);
  background:#050505;
}

.jr-sticky {
  position:sticky;
  top:0;
  height:100vh;
  min-height:720px;
  overflow:hidden;
  isolation:isolate;
  background:#050505;
}

.jr-sticky::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,5,5,.86),transparent 37%,transparent 76%,rgba(5,5,5,.24)),
    linear-gradient(180deg,rgba(5,5,5,.35),transparent 18%,transparent 72%,rgba(5,5,5,.78));
}

.jr-environment,
.jr-scene {
  position:absolute;
  inset:0;
}

.jr-environment { z-index:-6; }

.jr-scene {
  opacity:0;
  transform:scale(1.035);
  transition:
    opacity 1.05s ease,
    transform 1.45s cubic-bezier(.22,.61,.36,1);
}

.jr-scene.is-active {
  opacity:1;
  transform:scale(1);
}

/* Home / rain */
.jr-scene--home {
  background:
    radial-gradient(circle at 76% 25%,rgba(222,170,78,.20),transparent 17%),
    linear-gradient(180deg,#080b11 0%,#0e1015 55%,#050505 100%);
}

.jr-rain {
  position:absolute;
  inset:-20%;
  opacity:.24;
  background-image:repeating-linear-gradient(105deg,transparent 0 28px,rgba(220,228,237,.20) 29px,transparent 31px);
  animation:jrRain .55s linear infinite;
}

@keyframes jrRain { to { transform:translate3d(-35px,55px,0); } }

.jr-home {
  position:absolute;
  right:3%;
  top:13%;
  width:52%;
  height:54%;
  filter:drop-shadow(0 25px 50px rgba(0,0,0,.65));
}

.jr-home i { position:absolute; display:block; }

.jr-home__roof {
  left:2%; top:8%; width:96%; height:34%;
  background:linear-gradient(145deg,#282623,#0b0b0b);
  clip-path:polygon(10% 100%,31% 15%,72% 15%,96% 100%);
  border-bottom:2px solid rgba(208,163,75,.36);
}

.jr-home__body {
  left:12%; top:37%; width:78%; height:52%;
  background:linear-gradient(90deg,#111,#29251e 54%,#0c0c0c);
  border:1px solid rgba(208,163,75,.19);
}

.jr-home__window {
  top:48%; width:18%; height:23%;
  background:linear-gradient(180deg,#f3cc78,#5c421a);
  box-shadow:0 0 30px rgba(239,204,117,.36);
}

.jr-home__window--one { left:24%; }
.jr-home__window--two { left:57%; }

.jr-home__door {
  left:45%; top:58%; width:13%; height:31%;
  background:#080808;
  border:1px solid rgba(208,163,75,.28);
}

/* Mountain */
.jr-scene--mountain {
  background:linear-gradient(180deg,#3e301d 0%,#b37a35 21%,#2d2927 48%,#070707 100%);
}

.jr-sun {
  position:absolute;
  right:16%;
  top:16%;
  width:130px;
  height:130px;
  border-radius:50%;
  background:#f2cf85;
  box-shadow:0 0 80px rgba(239,204,117,.55);
}

.jr-mountain {
  position:absolute;
  left:-5%;
  right:-5%;
  bottom:24%;
  height:48%;
  background:#18191a;
  clip-path:polygon(0 100%,0 58%,11% 42%,20% 65%,33% 21%,42% 58%,52% 37%,63% 73%,74% 32%,86% 56%,100% 20%,100% 100%);
}

.jr-mountain--back {
  bottom:34%;
  opacity:.58;
  transform:scale(1.08);
  background:#34312e;
}

.jr-mountain--front {
  background:linear-gradient(180deg,#202020,#070707);
}

/* City */
.jr-scene--city {
  background:
    radial-gradient(circle at 70% 25%,rgba(208,163,75,.14),transparent 24%),
    linear-gradient(180deg,#0d121c 0%,#11131a 51%,#050505 100%);
}

.jr-cityline {
  position:absolute;
  left:0; right:0; bottom:22%;
  height:60%;
}

.jr-cityline i {
  position:absolute;
  left:var(--x);
  bottom:0;
  width:10%;
  height:var(--h);
  background:
    repeating-linear-gradient(90deg,transparent 0 13px,rgba(239,204,117,.22) 14px 17px,transparent 18px 31px),
    repeating-linear-gradient(0deg,#101114 0 17px,#26231d 18px 22px);
  border:1px solid rgba(208,163,75,.13);
}

/* Coast */
.jr-scene--coast {
  background:linear-gradient(180deg,#33201d 0%,#cc7e46 27%,#e5ad67 43%,#20242a 44%,#050505 100%);
}

.jr-coast-sun {
  position:absolute;
  left:68%;
  top:23%;
  width:110px;
  height:110px;
  border-radius:50%;
  background:#ffd99a;
  box-shadow:0 0 100px rgba(255,198,116,.62);
}

.jr-ocean {
  position:absolute;
  left:0; right:0; top:43%; bottom:22%;
  background:
    repeating-linear-gradient(175deg,rgba(255,223,171,.13) 0 2px,transparent 3px 18px),
    linear-gradient(180deg,#5d6a71,#10161a);
}

.jr-coast-road {
  position:absolute;
  left:0; right:0; bottom:0;
  height:34%;
  background:linear-gradient(180deg,#191919,#050505);
  clip-path:polygon(0 30%,100% 0,100% 100%,0 100%);
}

/* Garage */
.jr-scene--garage {
  background:
    radial-gradient(circle at 50% 35%,rgba(208,163,75,.12),transparent 29%),
    repeating-linear-gradient(90deg,#090909 0,#090909 4px,#0d0c0b 5px,#050505 10px);
}

.jr-garage-frame {
  position:absolute;
  left:11%; right:11%; top:8%; bottom:9%;
  border:1px solid rgba(208,163,75,.28);
  box-shadow:inset 0 0 90px rgba(0,0,0,.72);
}

.jr-garage-light {
  position:absolute;
  top:10%;
  width:2px;
  height:67%;
  background:linear-gradient(transparent,var(--jr-bright),transparent);
  box-shadow:0 0 24px rgba(239,204,117,.5);
}

.jr-garage-light--one { left:28%; }
.jr-garage-light--two { right:28%; }

/* Road */
.jr-road {
  position:absolute;
  z-index:-2;
  left:15%;
  right:8%;
  bottom:-3%;
  height:42%;
  clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,#111,#030303);
  opacity:.92;
}

.jr-road__edge,
.jr-road__center {
  position:absolute;
  display:block;
  background:linear-gradient(180deg,transparent,var(--jr-gold));
  filter:drop-shadow(0 0 8px rgba(208,163,75,.45));
}

.jr-road__edge {
  bottom:0;
  width:2px;
  height:100%;
}

.jr-road__edge--left { left:8%; transform:rotate(13deg); transform-origin:bottom; }
.jr-road__edge--right { right:8%; transform:rotate(-13deg); transform-origin:bottom; }

.jr-road__center {
  left:50%;
  bottom:0;
  width:3px;
  height:90%;
  transform:translateX(-50%);
  background:repeating-linear-gradient(180deg,var(--jr-bright) 0 22px,transparent 23px 52px);
  animation:jrRoad 1.25s linear infinite;
}

@keyframes jrRoad { to { background-position-y:52px; } }

/* Vehicle */
.jr-vehicle {
  position:absolute;
  z-index:2;
  right:0;
  bottom:4%;
  width:min(69vw,1120px);
  height:69%;
  opacity:0;
  transform:translate3d(10%,2%,0) scale(.95);
  transition:
    opacity .85s ease .28s,
    transform 1.2s cubic-bezier(.22,.61,.36,1) .22s;
}

.journey-cinematic.is-active .jr-vehicle {
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.jr-vehicle img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  mix-blend-mode:screen;
  filter:contrast(1.08) brightness(.92) saturate(.88);
}

.jr-vehicle__gold {
  position:absolute;
  inset:18% 7% 13% 7%;
  opacity:.58;
  background:linear-gradient(103deg,transparent 35%,rgba(239,204,117,.35) 49%,transparent 61%);
  transform:translateX(-58%) skewX(-9deg);
  animation:jrCarSweep 6.8s ease-in-out infinite;
  mix-blend-mode:screen;
}

@keyframes jrCarSweep {
  0%,23% { transform:translateX(-58%) skewX(-9deg); opacity:0; }
  35% { opacity:.75; }
  72% { opacity:.45; }
  88%,100% { transform:translateX(68%) skewX(-9deg); opacity:0; }
}

.jr-headlight {
  position:absolute;
  bottom:23%;
  width:80px;
  height:14px;
  opacity:.78;
  background:radial-gradient(ellipse,rgba(255,244,204,.96),rgba(239,204,117,.35) 35%,transparent 72%);
  filter:blur(2px);
}

.jr-headlight--left { left:28%; }
.jr-headlight--right { left:38%; }

/* Copy */
.jr-copy {
  position:absolute;
  z-index:10;
  left:5.5vw;
  top:12vh;
  width:min(39vw,650px);
  opacity:0;
  transform:translateY(22px);
  transition:opacity .55s ease .18s,transform .72s cubic-bezier(.22,.61,.36,1) .18s;
}

.journey-cinematic.is-active .jr-copy {
  opacity:1;
  transform:none;
}

.jr-eyebrow {
  display:block;
  margin-bottom:22px;
  color:var(--jr-bright);
  font-size:10px;
  font-weight:700;
  letter-spacing:.43em;
}

.jr-copy h2 {
  margin:0;
  font:400 clamp(3.3rem,5.8vw,6.5rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.jr-copy h2 span,
.jr-copy h2 strong { display:block; }

.jr-copy h2 span { color:var(--jr-white); }
.jr-copy h2 strong {
  margin-top:10px;
  color:var(--jr-bright);
  font-weight:400;
}

.jr-copy p {
  margin:24px 0 0;
  color:var(--jr-muted);
  font:400 clamp(1.2rem,1.8vw,1.7rem)/1.5 Georgia,serif;
}

.jr-caption {
  position:absolute;
  z-index:10;
  left:5.5vw;
  bottom:9vh;
  display:flex;
  align-items:center;
  gap:20px;
  min-width:360px;
  padding:18px 20px;
  border-left:1px solid var(--jr-gold);
  background:linear-gradient(90deg,rgba(5,5,5,.78),transparent);
  backdrop-filter:blur(8px);
}

.jr-caption__number {
  color:var(--jr-bright);
  font:400 2.3rem/1 Georgia,serif;
}

.jr-caption small {
  display:block;
  margin-bottom:7px;
  color:var(--jr-bright);
  font-size:8px;
  letter-spacing:.24em;
}

.jr-caption strong {
  font:400 1.25rem/1.2 Georgia,serif;
}

.jr-odometer {
  position:absolute;
  z-index:10;
  right:5vw;
  top:8vh;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
}

.jr-odometer__label {
  color:rgba(239,204,117,.62);
  font-size:8px;
  letter-spacing:.25em;
}

.jr-odometer__value {
  color:var(--jr-bright);
  font:400 clamp(2rem,3vw,3.6rem)/1 "Courier New",monospace;
  letter-spacing:.12em;
  text-shadow:0 0 20px rgba(239,204,117,.25);
}

.jr-final {
  position:absolute;
  z-index:12;
  right:6vw;
  top:21vh;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease,transform .75s ease;
}

.journey-cinematic.is-final .jr-final {
  opacity:1;
  transform:none;
}

.jr-final span {
  color:var(--jr-white);
  font:400 clamp(3rem,6vw,6.8rem)/1 Georgia,serif;
}

.jr-final small {
  color:var(--jr-bright);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(1.8rem,3vw,3rem);
}

.jr-controls {
  position:absolute;
  z-index:12;
  right:4vw;
  top:50%;
  display:flex;
  flex-direction:column;
  gap:13px;
  transform:translateY(-50%);
}

.jr-controls button {
  width:9px;
  height:9px;
  padding:0;
  border:1px solid rgba(239,204,117,.48);
  border-radius:50%;
  background:transparent;
  transition:transform .3s ease,background .3s ease,box-shadow .3s ease;
}

.jr-controls button.is-active {
  transform:scale(1.4);
  background:var(--jr-bright);
  box-shadow:0 0 15px rgba(239,204,117,.58);
}

.jr-autoplay {
  position:absolute;
  z-index:12;
  right:5vw;
  bottom:12vh;
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(239,204,117,.64);
  font-size:8px;
  letter-spacing:.23em;
}

.jr-autoplay i {
  width:7px;
  height:7px;
  border:1px solid var(--jr-bright);
  border-radius:50%;
  animation:jrAuto 1.55s ease-in-out infinite;
}

.journey-cinematic.is-paused .jr-autoplay i { animation:none; opacity:.35; }
.journey-cinematic.is-paused .jr-autoplay span::after { content:" — USER CONTROL"; }

@keyframes jrAuto {
  0%,100% { transform:scale(.7); opacity:.4; }
  50% { transform:scale(1.2); opacity:1; }
}

.jr-button {
  position:absolute;
  z-index:12;
  right:5vw;
  bottom:5vh;
  display:inline-flex;
  align-items:center;
  gap:17px;
  padding:16px 23px;
  border:1px solid var(--jr-gold);
  color:var(--jr-bright);
  background:rgba(5,5,5,.62);
  backdrop-filter:blur(8px);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-decoration:none;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .4s ease .85s,transform .5s ease .85s,background .3s ease,color .3s ease;
}

.journey-cinematic.is-active .jr-button {
  opacity:1;
  transform:none;
}

.jr-button:hover {
  color:#080808;
  background:var(--jr-bright);
}

.jr-button span {
  font-size:17px;
  transition:transform .3s ease;
}

.jr-button:hover span { transform:translateX(5px); }

@media(max-width:1050px) {
  .jr-copy { width:46vw; }
  .jr-vehicle { width:76vw; right:-8vw; }
}

@media(max-width:760px) {
  .journey-cinematic { height:auto; }

  .jr-sticky {
    position:relative;
    height:auto;
    min-height:100vh;
    padding:88px 24px 100px;
  }

  .jr-environment { height:440px; }
  .jr-scene { height:440px; }

  .jr-road {
    left:0; right:0; bottom:auto; top:260px; height:260px;
  }

  .jr-vehicle {
    position:relative;
    right:auto;
    bottom:auto;
    width:130%;
    height:360px;
    margin:220px 0 0 -15%;
    opacity:1;
    transform:none;
  }

  .jr-copy,
  .jr-caption,
  .jr-odometer,
  .jr-button {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    opacity:1;
    transform:none;
  }

  .jr-copy { margin-top:20px; }
  .jr-copy h2 { font-size:clamp(3rem,14vw,5rem); }

  .jr-caption { min-width:0; margin-top:42px; }
  .jr-odometer { align-items:flex-start; margin-top:28px; }
  .jr-controls,.jr-autoplay { display:none; }
  .jr-final { display:none; }
  .jr-button { margin-top:36px; }
}

@media(prefers-reduced-motion:reduce) {
  .jr-scene,.jr-vehicle,.jr-copy,.jr-button,.jr-final {
    transition:none!important;
    transform:none!important;
    opacity:1!important;
  }

  .jr-rain,.jr-road__center,.jr-vehicle__gold,.jr-autoplay i {
    animation:none!important;
  }
}


/* ==========================================================
   v4.1 — Post-factory-coverage Journey messaging
   ========================================================== */

.jr-odometer__qualifier {
  display:block;
  max-width:290px;
  margin-top:4px;
  color:rgba(170,163,153,.72);
  font-size:7px;
  line-height:1.45;
  letter-spacing:.12em;
  text-align:right;
  text-transform:uppercase;
}

@media(max-width:760px) {
  .jr-odometer__qualifier {
    max-width:100%;
    text-align:left;
  }
}


/* ==========================================================
   v4.2 — True asset fixes
   - Journey vehicle studio rectangle is feathered away
   - Confidence office uses a unique continuous bookcase
   ========================================================== */

/* Eliminate the rectangular studio plate around the vehicle. */
.jr-vehicle {
  overflow:visible;
  background:transparent !important;
}

.jr-vehicle img {
  display:block;
  background:transparent !important;
  mix-blend-mode:screen;
  -webkit-mask-image:
    radial-gradient(ellipse 67% 61% at 61% 57%,
      #000 0%,
      #000 57%,
      rgba(0,0,0,.96) 64%,
      rgba(0,0,0,.58) 74%,
      transparent 91%);
  mask-image:
    radial-gradient(ellipse 67% 61% at 61% 57%,
      #000 0%,
      #000 57%,
      rgba(0,0,0,.96) 64%,
      rgba(0,0,0,.58) 74%,
      transparent 91%);
}

/* Add a soft environment-matched floor shadow instead of a black panel. */
.jr-vehicle::before {
  content:"";
  position:absolute;
  z-index:-1;
  left:17%;
  right:4%;
  bottom:8%;
  height:20%;
  border-radius:50%;
  background:radial-gradient(ellipse,
    rgba(0,0,0,.72) 0%,
    rgba(0,0,0,.42) 40%,
    transparent 74%);
  filter:blur(17px);
}

/* Blend the reflective studio floor into each environment. */
.jr-vehicle::after {
  content:"";
  position:absolute;
  z-index:1;
  left:10%;
  right:0;
  bottom:3%;
  height:23%;
  pointer-events:none;
  opacity:.48;
  background:linear-gradient(180deg,
    transparent,
    rgba(208,163,75,.10) 42%,
    rgba(0,0,0,.30));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 86%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 20%,#000 86%,transparent);
}

/* Remove any hard panel edge inherited from earlier image treatment. */
.jr-scene,
.jr-environment,
.jr-sticky {
  background-clip:padding-box;
}

@media(max-width:760px) {
  .jr-vehicle img {
    -webkit-mask-image:
      radial-gradient(ellipse 78% 62% at 58% 56%,#000 0%,#000 58%,transparent 94%);
    mask-image:
      radial-gradient(ellipse 78% 62% at 58% 56%,#000 0%,#000 58%,transparent 94%);
  }
}


/* ==========================================================
   v4.3 — Production-quality asset replacement
   ========================================================== */

.jr-vehicle {
  overflow:visible;
  background:transparent !important;
  right:1.5vw;
  bottom:5%;
  width:min(64vw,1040px);
  height:65%;
}

.jr-vehicle img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  background:transparent !important;
  mix-blend-mode:normal !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
  filter:
    drop-shadow(0 28px 30px rgba(0,0,0,.64))
    contrast(1.03)
    brightness(.96)
    saturate(.92);
}

.jr-vehicle::after {
  display:none !important;
}

.jr-vehicle::before {
  left:18%;
  right:8%;
  bottom:7%;
  height:16%;
  background:radial-gradient(
    ellipse,
    rgba(0,0,0,.70) 0%,
    rgba(0,0,0,.34) 47%,
    transparent 76%
  );
  filter:blur(15px);
}

.jr-vehicle__gold {
  inset:17% 5% 17% 8%;
  opacity:.42;
  mix-blend-mode:screen;
}

@media(max-width:1050px) {
  .jr-vehicle {
    width:70vw;
    right:-4vw;
  }
}

@media(max-width:760px) {
  .jr-vehicle {
    width:124%;
    margin-left:-12%;
  }

  .jr-vehicle img {
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}


/* ==========================================================
   v4.4 — Simplified premium Journey
   One controlled environment; no changing background composites.
   ========================================================== */

.journey-cinematic {
  display:none !important;
}

.journey-editorial {
  --je-black:#050505;
  --je-gold:#d0a34b;
  --je-bright:#efcc75;
  --je-white:#f5f1e8;
  --je-muted:#aaa399;
  position:relative;
  height:300vh;
  color:var(--je-white);
  background:#050505;
}

.je-sticky {
  position:sticky;
  top:0;
  height:100vh;
  min-height:720px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 74% 44%,rgba(208,163,75,.12),transparent 30%),
    linear-gradient(115deg,#050505 0%,#090806 56%,#050505 100%);
}

.je-atmosphere {
  position:absolute;
  inset:0;
  z-index:-5;
  pointer-events:none;
  background:
    repeating-linear-gradient(108deg,transparent 0 84px,rgba(239,204,117,.022) 85px,transparent 87px),
    radial-gradient(ellipse at 72% 52%,rgba(239,204,117,.07),transparent 45%);
}

.je-road {
  position:absolute;
  z-index:-3;
  left:4%;
  right:3%;
  bottom:-15%;
  height:50%;
  transform:perspective(800px) rotateX(62deg);
  transform-origin:center bottom;
  background:linear-gradient(180deg,#111 0%,#030303 100%);
  clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);
}

.je-road__line {
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:3px;
  transform:translateX(-50%);
  background:repeating-linear-gradient(180deg,var(--je-bright) 0 26px,transparent 27px 64px);
  animation:jeRoad 1.45s linear infinite;
  box-shadow:0 0 13px rgba(239,204,117,.42);
}

.je-road__glow {
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at center,rgba(208,163,75,.13),transparent 58%);
}

@keyframes jeRoad {
  to { background-position-y:64px; }
}

.je-copy {
  position:absolute;
  left:5.5vw;
  top:12vh;
  width:min(42vw,690px);
  opacity:0;
  transform:translateY(22px);
  transition:opacity .58s ease .15s,transform .74s cubic-bezier(.22,.61,.36,1) .15s;
}

.journey-editorial.is-active .je-copy {
  opacity:1;
  transform:none;
}

.je-eyebrow {
  display:block;
  margin-bottom:22px;
  color:var(--je-bright);
  font-size:10px;
  font-weight:700;
  letter-spacing:.43em;
}

.je-copy h2 {
  margin:0;
  font:400 clamp(3.4rem,6vw,6.8rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.je-copy h2 span,
.je-copy h2 strong { display:block; }

.je-copy h2 span { color:var(--je-white); }
.je-copy h2 strong {
  margin-top:10px;
  color:var(--je-bright);
  font-weight:400;
}

.je-copy p {
  margin:24px 0 0;
  color:var(--je-muted);
  font:400 clamp(1.2rem,1.8vw,1.7rem)/1.5 Georgia,serif;
}

.je-vehicle {
  position:absolute;
  z-index:2;
  right:1.5vw;
  bottom:11vh;
  width:min(62vw,1040px);
  height:62vh;
  opacity:0;
  transform:translateX(5%) scale(.96);
  transition:opacity .72s ease .32s,transform 1.05s cubic-bezier(.22,.61,.36,1) .28s;
}

.journey-editorial.is-active .je-vehicle {
  opacity:1;
  transform:none;
}

.je-vehicle::before {
  content:"";
  position:absolute;
  left:16%;
  right:7%;
  bottom:5%;
  height:17%;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.72),rgba(0,0,0,.32) 48%,transparent 76%);
  filter:blur(16px);
}

.je-vehicle img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 26px 28px rgba(0,0,0,.58)) brightness(.96) contrast(1.03);
}

.je-vehicle__sweep {
  position:absolute;
  inset:18% 4% 19% 8%;
  opacity:0;
  background:linear-gradient(103deg,transparent 35%,rgba(239,204,117,.42) 49%,transparent 61%);
  transform:translateX(-60%) skewX(-8deg);
  mix-blend-mode:screen;
}

.journey-editorial.is-active .je-vehicle__sweep {
  animation:jeSweep 5.8s ease-in-out infinite 1.1s;
}

@keyframes jeSweep {
  0%,22% { transform:translateX(-60%) skewX(-8deg); opacity:0; }
  34% { opacity:.75; }
  72% { opacity:.38; }
  88%,100% { transform:translateX(67%) skewX(-8deg); opacity:0; }
}

.je-mileage {
  position:absolute;
  z-index:8;
  right:5vw;
  top:7vh;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  max-width:330px;
  opacity:0;
  transform:translateY(-12px);
  transition:opacity .45s ease .65s,transform .55s ease .65s;
}

.journey-editorial.is-active .je-mileage {
  opacity:1;
  transform:none;
}

.je-mileage__label {
  color:rgba(239,204,117,.68);
  font-size:8px;
  letter-spacing:.23em;
}

.je-mileage__value {
  margin-top:5px;
  color:var(--je-bright);
  font:400 clamp(2.1rem,3.4vw,4rem)/1 "Courier New",monospace;
  letter-spacing:.12em;
  text-shadow:0 0 20px rgba(239,204,117,.24);
}

.je-mileage small {
  margin-top:7px;
  color:rgba(170,163,153,.7);
  font-size:7px;
  line-height:1.45;
  letter-spacing:.1em;
  text-align:right;
  text-transform:uppercase;
}

.je-milestone {
  position:absolute;
  z-index:8;
  left:5.5vw;
  bottom:17vh;
  display:flex;
  gap:20px;
  width:min(36vw,520px);
  padding:19px 20px;
  border-left:1px solid var(--je-gold);
  background:linear-gradient(90deg,rgba(5,5,5,.84),transparent);
  backdrop-filter:blur(7px);
}

.je-milestone__number {
  color:var(--je-bright);
  font:400 2.4rem/1 Georgia,serif;
}

.je-milestone small {
  display:block;
  margin-bottom:7px;
  color:var(--je-bright);
  font-size:8px;
  letter-spacing:.23em;
}

.je-milestone strong {
  display:block;
  font:400 1.35rem/1.2 Georgia,serif;
}

.je-milestone p {
  margin:8px 0 0;
  color:var(--je-muted);
  font-size:11px;
  line-height:1.55;
}

.je-timeline {
  position:absolute;
  z-index:9;
  left:5.5vw;
  right:5.5vw;
  bottom:5vh;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  padding-top:23px;
  border-top:1px solid rgba(208,163,75,.25);
}

.je-timeline button {
  position:relative;
  padding:12px 10px 0;
  border:0;
  color:rgba(245,241,232,.45);
  background:transparent;
  text-align:left;
  transition:color .3s ease;
}

.je-timeline button::before {
  content:"";
  position:absolute;
  top:-29px;
  left:9px;
  width:9px;
  height:9px;
  border:1px solid rgba(239,204,117,.48);
  border-radius:50%;
  background:#050505;
  transition:background .3s ease,box-shadow .3s ease,transform .3s ease;
}

.je-timeline button.is-active {
  color:var(--je-white);
}

.je-timeline button.is-active::before {
  transform:scale(1.2);
  background:var(--je-bright);
  box-shadow:0 0 14px rgba(239,204,117,.6);
}

.je-timeline button span {
  display:block;
  color:var(--je-bright);
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
}

.je-timeline button small {
  display:block;
  margin-top:5px;
  font-size:8px;
  letter-spacing:.11em;
}

.je-timeline__progress {
  position:absolute;
  left:0;
  top:-1px;
  width:0;
  height:2px;
  background:linear-gradient(90deg,var(--je-gold),var(--je-bright));
  box-shadow:0 0 14px rgba(239,204,117,.45);
  transition:width .65s cubic-bezier(.22,.61,.36,1);
}

.je-autoplay {
  position:absolute;
  z-index:9;
  right:5vw;
  bottom:14vh;
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(239,204,117,.62);
  font-size:8px;
  letter-spacing:.22em;
}

.je-autoplay i {
  width:7px;
  height:7px;
  border:1px solid var(--je-bright);
  border-radius:50%;
  animation:jeAuto 1.55s ease-in-out infinite;
}

.journey-editorial.is-paused .je-autoplay i { animation:none; opacity:.35; }
.journey-editorial.is-paused .je-autoplay span::after { content:" — USER CONTROL"; }

@keyframes jeAuto {
  0%,100% { transform:scale(.7); opacity:.4; }
  50% { transform:scale(1.2); opacity:1; }
}

.je-button {
  position:absolute;
  z-index:9;
  right:5vw;
  bottom:8vh;
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding:15px 22px;
  border:1px solid var(--je-gold);
  color:var(--je-bright);
  background:rgba(5,5,5,.64);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-decoration:none;
}

.je-button:hover {
  color:#080808;
  background:var(--je-bright);
}

@media(max-width:1000px) {
  .je-copy { width:48vw; }
  .je-vehicle { width:68vw; right:-5vw; }
}

@media(max-width:760px) {
  .journey-editorial { height:auto; }

  .je-sticky {
    position:relative;
    height:auto;
    min-height:100vh;
    padding:85px 24px 105px;
  }

  .je-copy,
  .je-vehicle,
  .je-mileage,
  .je-milestone,
  .je-button {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    opacity:1;
    transform:none;
  }

  .je-copy h2 { font-size:clamp(3rem,14vw,5rem); }

  .je-vehicle {
    height:330px;
    margin-top:40px;
  }

  .je-mileage {
    align-items:flex-start;
    margin-top:18px;
  }

  .je-mileage small { text-align:left; }

  .je-milestone {
    margin-top:35px;
  }

  .je-timeline,
  .je-autoplay,
  .je-road {
    display:none;
  }

  .je-button {
    margin-top:32px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .je-copy,.je-vehicle,.je-mileage {
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  .je-road__line,.je-vehicle__sweep,.je-autoplay i {
    animation:none!important;
  }
}


/* ==========================================================
   v4.5 — Abstract Journey
   No vehicle image. No cropped composite. Pure motion + mileage.
   ========================================================== */

.journey-editorial {
  display:none !important;
}

.journey-abstract {
  --ja-black:#050505;
  --ja-gold:#d0a34b;
  --ja-bright:#efcc75;
  --ja-white:#f5f1e8;
  --ja-muted:#aaa399;
  position:relative;
  height:330vh;
  color:var(--ja-white);
  background:#050505;
}

.ja-sticky {
  position:sticky;
  top:0;
  height:100vh;
  min-height:720px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 70% 42%,rgba(208,163,75,.10),transparent 26%),
    radial-gradient(circle at 70% 42%,rgba(239,204,117,.04),transparent 48%),
    linear-gradient(112deg,#050505 0%,#090806 56%,#050505 100%);
}

.ja-ambient {
  position:absolute;
  inset:0;
  z-index:-5;
  pointer-events:none;
  background:
    repeating-linear-gradient(110deg,transparent 0 88px,rgba(239,204,117,.025) 89px,transparent 91px),
    linear-gradient(180deg,rgba(255,255,255,.008),transparent 40%);
}

.ja-copy {
  position:absolute;
  z-index:10;
  left:5.5vw;
  top:13vh;
  width:min(43vw,710px);
  opacity:0;
  transform:translateY(24px);
  transition:opacity .58s ease .14s,transform .75s cubic-bezier(.22,.61,.36,1) .14s;
}

.journey-abstract.is-active .ja-copy {
  opacity:1;
  transform:none;
}

.ja-eyebrow {
  display:block;
  margin-bottom:22px;
  color:var(--ja-bright);
  font-size:10px;
  font-weight:700;
  letter-spacing:.43em;
}

.ja-copy h2 {
  margin:0;
  font:400 clamp(3.4rem,6vw,6.9rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.ja-copy h2 span,
.ja-copy h2 strong {
  display:block;
}

.ja-copy h2 span {
  color:var(--ja-white);
}

.ja-copy h2 strong {
  margin-top:10px;
  color:var(--ja-bright);
  font-weight:400;
}

.ja-copy p {
  margin:24px 0 0;
  color:var(--ja-muted);
  font:400 clamp(1.2rem,1.8vw,1.7rem)/1.5 Georgia,serif;
}

/* Mileage sits safely below the sticky header. */
.ja-mileage {
  position:absolute;
  z-index:12;
  right:5vw;
  top:16vh;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  max-width:340px;
  opacity:0;
  transform:translateY(-12px);
  transition:opacity .5s ease .54s,transform .62s ease .54s;
}

.journey-abstract.is-active .ja-mileage {
  opacity:1;
  transform:none;
}

.ja-mileage__label {
  color:rgba(239,204,117,.70);
  font-size:8px;
  letter-spacing:.24em;
}

.ja-mileage__value {
  margin-top:6px;
  color:var(--ja-bright);
  font:400 clamp(2.3rem,4vw,4.6rem)/1 "Courier New",monospace;
  letter-spacing:.12em;
  text-shadow:0 0 24px rgba(239,204,117,.28);
}

.ja-mileage small {
  margin-top:8px;
  color:rgba(170,163,153,.72);
  font-size:7px;
  line-height:1.45;
  letter-spacing:.11em;
  text-align:right;
  text-transform:uppercase;
}

/* Abstract gold road. */
.ja-road {
  position:absolute;
  z-index:1;
  left:32%;
  right:4%;
  top:24%;
  bottom:-10%;
  perspective:900px;
  pointer-events:none;
}

.ja-road::before {
  content:"";
  position:absolute;
  inset:0;
  transform:rotateX(63deg);
  transform-origin:center bottom;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 26%),
    linear-gradient(180deg,#111 0%,#050505 72%);
  clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);
  box-shadow:inset 0 0 80px rgba(0,0,0,.75);
}

.ja-road__left,
.ja-road__right,
.ja-road__center {
  position:absolute;
  z-index:2;
  top:4%;
  bottom:0;
  display:block;
  filter:drop-shadow(0 0 9px rgba(239,204,117,.45));
}

.ja-road__left,
.ja-road__right {
  width:2px;
  background:linear-gradient(180deg,transparent,var(--ja-gold));
}

.ja-road__left {
  left:15%;
  transform:rotate(13deg);
  transform-origin:bottom;
}

.ja-road__right {
  right:15%;
  transform:rotate(-13deg);
  transform-origin:bottom;
}

.ja-road__center {
  left:50%;
  width:3px;
  transform:translateX(-50%);
  background:repeating-linear-gradient(180deg,var(--ja-bright) 0 24px,transparent 25px 62px);
  animation:jaRoadFlow 1.45s linear infinite;
}

@keyframes jaRoadFlow {
  to { background-position-y:62px; }
}

.ja-road__horizon {
  position:absolute;
  z-index:3;
  left:41%;
  right:41%;
  top:3%;
  height:2px;
  background:var(--ja-bright);
  box-shadow:0 0 34px 12px rgba(239,204,117,.22);
}

.ja-road__energy {
  position:absolute;
  z-index:4;
  left:10%;
  right:10%;
  top:16%;
  height:42%;
  opacity:.45;
  background:linear-gradient(105deg,transparent 34%,rgba(239,204,117,.30) 48%,transparent 63%);
  transform:translateX(-65%) skewX(-10deg);
}

.journey-abstract.is-active .ja-road__energy {
  animation:jaEnergy 5.3s ease-in-out infinite 1s;
}

@keyframes jaEnergy {
  0%,20% { transform:translateX(-65%) skewX(-10deg); opacity:0; }
  34% { opacity:.75; }
  72% { opacity:.35; }
  88%,100% { transform:translateX(70%) skewX(-10deg); opacity:0; }
}

/* Active milestone summary. */
.ja-active {
  position:absolute;
  z-index:12;
  left:5.5vw;
  bottom:18vh;
  display:flex;
  gap:20px;
  width:min(37vw,540px);
  padding:20px 21px;
  border-left:1px solid var(--ja-gold);
  background:linear-gradient(90deg,rgba(5,5,5,.86),transparent);
  backdrop-filter:blur(8px);
}

.ja-active__number {
  color:var(--ja-bright);
  font:400 2.45rem/1 Georgia,serif;
}

.ja-active small {
  display:block;
  margin-bottom:7px;
  color:var(--ja-bright);
  font-size:8px;
  letter-spacing:.23em;
}

.ja-active strong {
  display:block;
  font:400 1.45rem/1.2 Georgia,serif;
}

.ja-active p {
  margin:8px 0 0;
  color:var(--ja-muted);
  font-size:11px;
  line-height:1.55;
}

/* Floating mileage milestones. */
.ja-milestones {
  position:absolute;
  z-index:14;
  left:5.5vw;
  right:5.5vw;
  bottom:5vh;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  padding-top:24px;
  border-top:1px solid rgba(208,163,75,.25);
}

.ja-point {
  position:relative;
  padding:12px 12px 0;
  border:0;
  color:rgba(245,241,232,.38);
  background:transparent;
  text-align:left;
  transition:color .35s ease,transform .35s ease;
}

.ja-point:hover,
.ja-point:focus-visible,
.ja-point.is-active {
  color:var(--ja-white);
  transform:translateY(-3px);
}

.ja-point__dot {
  position:absolute;
  left:10px;
  top:-30px;
  width:10px;
  height:10px;
  border:1px solid rgba(239,204,117,.52);
  border-radius:50%;
  background:#050505;
  transition:transform .3s ease,background .3s ease,box-shadow .3s ease;
}

.ja-point.is-active .ja-point__dot {
  transform:scale(1.32);
  background:var(--ja-bright);
  box-shadow:
    0 0 12px rgba(239,204,117,.72),
    0 0 28px rgba(208,163,75,.30);
}

.ja-point__miles {
  display:block;
  color:var(--ja-bright);
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
}

.ja-point small {
  display:block;
  margin-top:6px;
  font-size:8px;
  letter-spacing:.1em;
  line-height:1.4;
}

.ja-progress {
  position:absolute;
  left:0;
  top:-1px;
  width:0;
  height:2px;
  background:linear-gradient(90deg,var(--ja-gold),var(--ja-bright));
  box-shadow:0 0 16px rgba(239,204,117,.48);
  transition:width .7s cubic-bezier(.22,.61,.36,1);
}

.ja-autoplay {
  position:absolute;
  z-index:15;
  right:5vw;
  bottom:14vh;
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(239,204,117,.64);
  font-size:8px;
  letter-spacing:.23em;
}

.ja-autoplay i {
  width:7px;
  height:7px;
  border:1px solid var(--ja-bright);
  border-radius:50%;
  animation:jaAuto 1.55s ease-in-out infinite;
}

.journey-abstract.is-paused .ja-autoplay i {
  animation:none;
  opacity:.35;
}

.journey-abstract.is-paused .ja-autoplay span::after {
  content:" — USER CONTROL";
}

@keyframes jaAuto {
  0%,100% { transform:scale(.7); opacity:.4; }
  50% { transform:scale(1.2); opacity:1; }
}

.ja-button {
  position:absolute;
  z-index:15;
  right:5vw;
  bottom:8vh;
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding:15px 22px;
  border:1px solid var(--ja-gold);
  color:var(--ja-bright);
  background:rgba(5,5,5,.66);
  backdrop-filter:blur(7px);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-decoration:none;
  transition:background .3s ease,color .3s ease,transform .3s ease;
}

.ja-button:hover {
  color:#080808;
  background:var(--ja-bright);
  transform:translateY(-3px);
}

@media(max-width:1000px) {
  .ja-copy { width:49vw; }
  .ja-road { left:36%; }
}

@media(max-width:760px) {
  .journey-abstract {
    height:auto;
  }

  .ja-sticky {
    position:relative;
    height:auto;
    min-height:100vh;
    padding:90px 24px 105px;
  }

  .ja-copy,
  .ja-mileage,
  .ja-active,
  .ja-button {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    opacity:1;
    transform:none;
  }

  .ja-copy h2 {
    font-size:clamp(3rem,14vw,5rem);
  }

  .ja-mileage {
    align-items:flex-start;
    margin-top:46px;
  }

  .ja-mileage small {
    text-align:left;
  }

  .ja-road {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    height:360px;
    margin-top:35px;
  }

  .ja-active {
    margin-top:20px;
  }

  .ja-milestones,
  .ja-autoplay {
    display:none;
  }

  .ja-button {
    margin-top:34px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .ja-copy,
  .ja-mileage {
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  .ja-road__center,
  .ja-road__energy,
  .ja-autoplay i {
    animation:none!important;
  }
}


/* ==========================================================
   v4.6 — Premium Ownership Timeline
   One milestone at a time. No highway. No vehicle photograph.
   ========================================================== */

.journey-abstract {
  display:none !important;
}

.journey-timeline {
  --jt-black:#050505;
  --jt-gold:#d0a34b;
  --jt-bright:#efcc75;
  --jt-white:#f5f1e8;
  --jt-muted:#aaa399;
  position:relative;
  height:310vh;
  color:var(--jt-white);
  background:#050505;
}

.jt-sticky {
  position:sticky;
  top:0;
  height:100vh;
  min-height:720px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 69% 49%,rgba(208,163,75,.095),transparent 27%),
    radial-gradient(circle at 82% 20%,rgba(239,204,117,.035),transparent 22%),
    linear-gradient(115deg,#050505 0%,#080706 58%,#050505 100%);
}

.jt-ambient {
  position:absolute;
  inset:0;
  z-index:-6;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(rgba(239,204,117,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(239,204,117,.018) 1px,transparent 1px);
  background-size:88px 88px;
  mask-image:linear-gradient(90deg,transparent 2%,#000 30%,#000 95%,transparent);
}

.jt-copy {
  position:absolute;
  z-index:8;
  left:5.5vw;
  top:13vh;
  width:min(41vw,660px);
  opacity:0;
  transform:translateY(24px);
  transition:opacity .56s ease .12s,transform .72s cubic-bezier(.22,.61,.36,1) .12s;
}

.journey-timeline.is-active .jt-copy {
  opacity:1;
  transform:none;
}

.jt-eyebrow {
  display:block;
  margin-bottom:22px;
  color:var(--jt-bright);
  font-size:10px;
  font-weight:700;
  letter-spacing:.43em;
}

.jt-copy h2 {
  margin:0;
  font:400 clamp(3.25rem,5.55vw,6.35rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.jt-copy h2 span,
.jt-copy h2 strong {
  display:block;
}

.jt-copy h2 span {
  color:var(--jt-white);
}

.jt-copy h2 strong {
  margin-top:10px;
  color:var(--jt-bright);
  font-weight:400;
}

.jt-copy p {
  margin:24px 0 0;
  color:var(--jt-muted);
  font:400 clamp(1.15rem,1.65vw,1.55rem)/1.5 Georgia,serif;
}

/* Restrained SUV outline — not a hero image. */
.jt-vehicle-outline {
  position:absolute;
  z-index:1;
  right:2vw;
  top:18vh;
  width:min(61vw,1080px);
  height:auto;
  opacity:.14;
  overflow:visible;
  transform:translateX(4%) scale(.985);
  transition:opacity .7s ease .38s,transform 1s cubic-bezier(.22,.61,.36,1) .32s;
}

.journey-timeline.is-active .jt-vehicle-outline {
  opacity:.38;
  transform:none;
}

.jt-outline {
  fill:none;
  stroke:url(#jtGoldStroke);
  stroke-width:2.2;
  vector-effect:non-scaling-stroke;
}

.jt-outline--body {
  stroke-width:2.6;
  filter:url(#jtGlow);
}

.jt-outline--glass {
  stroke-opacity:.45;
}

.jt-outline--detail {
  stroke-opacity:.28;
  stroke-dasharray:7 12;
}

.jt-outline--wheel,
.jt-outline--hub {
  stroke-opacity:.36;
}

/* Large active milestone: the emotional center. */
.jt-feature {
  position:absolute;
  z-index:10;
  right:5.5vw;
  top:31vh;
  width:min(37vw,590px);
  min-height:320px;
  display:grid;
  grid-template-columns:76px 1fr;
  gap:26px;
  padding:34px 36px;
  border-top:1px solid rgba(239,204,117,.42);
  border-bottom:1px solid rgba(208,163,75,.18);
  background:
    linear-gradient(110deg,rgba(5,5,5,.92),rgba(5,5,5,.62) 74%,transparent),
    linear-gradient(180deg,rgba(255,255,255,.018),transparent);
  backdrop-filter:blur(9px);
  opacity:0;
  transform:translateX(25px);
  transition:opacity .55s ease .48s,transform .72s cubic-bezier(.22,.61,.36,1) .48s;
}

.journey-timeline.is-active .jt-feature {
  opacity:1;
  transform:none;
}

.jt-feature.is-changing .jt-feature__content {
  opacity:0;
  transform:translateY(10px);
}

.jt-feature__index {
  color:rgba(239,204,117,.52);
  font:400 4rem/1 Georgia,serif;
}

.jt-feature__content {
  transition:opacity .24s ease,transform .3s ease;
}

.jt-feature__label {
  display:block;
  margin-bottom:13px;
  color:var(--jt-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.27em;
}

.jt-feature__miles {
  display:block;
  color:var(--jt-bright);
  font:400 clamp(3.8rem,6.4vw,7rem)/.92 "Courier New",monospace;
  letter-spacing:.08em;
  text-shadow:0 0 27px rgba(239,204,117,.22);
}

.jt-feature h3 {
  margin:20px 0 10px;
  color:var(--jt-white);
  font:400 clamp(1.8rem,2.65vw,3rem)/1.08 Georgia,serif;
}

.jt-feature p {
  max-width:470px;
  margin:0;
  color:var(--jt-muted);
  font-size:13px;
  line-height:1.7;
}

/* Secondary odometer stays below sticky header. */
.jt-status {
  position:absolute;
  z-index:11;
  right:5.5vw;
  top:14vh;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  max-width:350px;
  opacity:0;
  transform:translateY(-12px);
  transition:opacity .48s ease .66s,transform .6s ease .66s;
}

.journey-timeline.is-active .jt-status {
  opacity:1;
  transform:none;
}

.jt-status__label {
  color:rgba(239,204,117,.64);
  font-size:8px;
  letter-spacing:.22em;
}

.jt-status__odometer {
  margin-top:6px;
  color:rgba(239,204,117,.78);
  font:400 clamp(1.75rem,2.5vw,3rem)/1 "Courier New",monospace;
  letter-spacing:.12em;
}

.jt-status small {
  margin-top:6px;
  color:rgba(170,163,153,.62);
  font-size:7px;
  line-height:1.45;
  letter-spacing:.1em;
  text-align:right;
  text-transform:uppercase;
}

/* Vertical editorial navigation. */
.jt-navigation {
  position:absolute;
  z-index:13;
  left:5.5vw;
  bottom:6vh;
  width:min(40vw,650px);
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  padding-top:24px;
  border-top:1px solid rgba(208,163,75,.22);
}

.jt-navigation button {
  position:relative;
  min-height:72px;
  padding:10px 9px 0;
  border:0;
  color:rgba(245,241,232,.34);
  background:transparent;
  text-align:left;
  transition:color .34s ease,transform .34s ease;
}

.jt-navigation button:hover,
.jt-navigation button:focus-visible,
.jt-navigation button.is-active {
  color:var(--jt-white);
  transform:translateY(-4px);
}

.jt-navigation button::before {
  content:"";
  position:absolute;
  left:8px;
  top:-30px;
  width:10px;
  height:10px;
  border:1px solid rgba(239,204,117,.5);
  border-radius:50%;
  background:#050505;
  transition:background .3s ease,box-shadow .3s ease,transform .3s ease;
}

.jt-navigation button.is-active::before {
  transform:scale(1.32);
  background:var(--jt-bright);
  box-shadow:0 0 15px rgba(239,204,117,.7),0 0 30px rgba(208,163,75,.24);
}

.jt-navigation button span {
  display:block;
  margin-bottom:7px;
  color:var(--jt-bright);
  font:400 1.25rem/1 Georgia,serif;
}

.jt-navigation button small {
  display:block;
  font-size:8px;
  line-height:1.35;
  letter-spacing:.08em;
}

.jt-navigation__line {
  position:absolute;
  left:0;
  top:-1px;
  width:0;
  height:2px;
  background:linear-gradient(90deg,var(--jt-gold),var(--jt-bright));
  box-shadow:0 0 14px rgba(239,204,117,.46);
  transition:width .72s cubic-bezier(.22,.61,.36,1);
}

.jt-autoplay {
  position:absolute;
  z-index:13;
  right:5.5vw;
  bottom:14vh;
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(239,204,117,.58);
  font-size:8px;
  letter-spacing:.2em;
}

.jt-autoplay i {
  width:7px;
  height:7px;
  border:1px solid var(--jt-bright);
  border-radius:50%;
  animation:jtAuto 1.6s ease-in-out infinite;
}

.journey-timeline.is-paused .jt-autoplay i {
  animation:none;
  opacity:.35;
}

.journey-timeline.is-paused .jt-autoplay span::after {
  content:" — USER CONTROL";
}

@keyframes jtAuto {
  0%,100% { transform:scale(.7); opacity:.4; }
  50% { transform:scale(1.2); opacity:1; }
}

.jt-button {
  position:absolute;
  z-index:13;
  right:5.5vw;
  bottom:7vh;
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding:15px 22px;
  border:1px solid var(--jt-gold);
  color:var(--jt-bright);
  background:rgba(5,5,5,.66);
  backdrop-filter:blur(7px);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-decoration:none;
  transition:background .3s ease,color .3s ease,transform .3s ease;
}

.jt-button:hover {
  color:#080808;
  background:var(--jt-bright);
  transform:translateY(-3px);
}

@media(max-width:1100px) {
  .jt-copy { width:45vw; }
  .jt-feature { width:40vw; }
  .jt-vehicle-outline { width:65vw; right:-4vw; }
}

@media(max-width:760px) {
  .journey-timeline {
    height:auto;
  }

  .jt-sticky {
    position:relative;
    height:auto;
    min-height:100vh;
    padding:88px 24px 105px;
  }

  .jt-copy,
  .jt-feature,
  .jt-status,
  .jt-navigation,
  .jt-button {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    opacity:1;
    transform:none;
  }

  .jt-copy h2 {
    font-size:clamp(3rem,14vw,5rem);
  }

  .jt-vehicle-outline {
    position:relative;
    right:auto;
    top:auto;
    width:125%;
    margin:32px 0 -10px -12%;
    opacity:.34;
  }

  .jt-status {
    align-items:flex-start;
    margin-top:25px;
  }

  .jt-status small {
    text-align:left;
  }

  .jt-feature {
    grid-template-columns:58px 1fr;
    min-height:0;
    margin-top:36px;
    padding:28px 22px;
  }

  .jt-feature__index {
    font-size:3rem;
  }

  .jt-feature__miles {
    font-size:clamp(3.2rem,14vw,5rem);
  }

  .jt-navigation {
    grid-template-columns:1fr;
    margin-top:38px;
    padding-top:0;
    border-top:0;
  }

  .jt-navigation button {
    min-height:52px;
    padding:12px 10px 12px 40px;
    border-left:1px solid rgba(208,163,75,.2);
  }

  .jt-navigation button::before {
    left:-5px;
    top:19px;
  }

  .jt-navigation__line,
  .jt-autoplay {
    display:none;
  }

  .jt-button {
    margin-top:32px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .jt-copy,
  .jt-feature,
  .jt-status,
  .jt-vehicle-outline {
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  .jt-autoplay i {
    animation:none!important;
  }
}


/* ==========================================================
   v4.7 — Approved office + meaningful Journey handoff
   ========================================================== */

/* ---------- Confidence: approved office image ---------- */

.office-confidence--approved .oc-scene {
  inset:0;
  background-image:url("assets/images/confidence-office.webp");
  background-size:cover;
  background-position:center center;
  opacity:.18;
  transform:scale(1.035);
  filter:brightness(.62);
  transition:
    opacity 1s ease .12s,
    transform 1.3s cubic-bezier(.22,.61,.36,1) .08s,
    filter 1.05s ease .08s;
}

.office-confidence--approved.is-active .oc-scene {
  opacity:1;
  transform:scale(1);
  filter:brightness(1);
}

.office-confidence--approved .oc-sticky::before {
  transition:opacity 1.05s cubic-bezier(.22,.61,.36,1);
}

.oc-approved-vignette {
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,5,5,.82) 0%,rgba(5,5,5,.38) 25%,transparent 48%,transparent 100%),
    linear-gradient(180deg,rgba(5,5,5,.24),transparent 22%,transparent 72%,rgba(5,5,5,.72));
}

.oc-approved-message {
  position:absolute;
  z-index:4;
  left:5.5vw;
  bottom:11vh;
  width:min(35vw,520px);
  padding:27px 30px 28px;
  border-left:1px solid rgba(239,204,117,.72);
  background:
    linear-gradient(100deg,rgba(5,5,5,.94),rgba(5,5,5,.72) 72%,transparent);
  backdrop-filter:blur(9px);
  opacity:0;
  transform:translateX(-18px);
  transition:opacity .58s ease .55s,transform .72s cubic-bezier(.22,.61,.36,1) .55s;
}

.office-confidence--approved.is-active .oc-approved-message {
  opacity:1;
  transform:none;
}

.oc-approved-message blockquote {
  margin:0;
  font:400 clamp(2.6rem,4.6vw,5.1rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.04em;
}

.oc-approved-message blockquote span,
.oc-approved-message blockquote strong {
  display:block;
}

.oc-approved-message blockquote span {
  color:var(--oc-white);
}

.oc-approved-message blockquote strong {
  margin-top:7px;
  color:var(--oc-bright);
  font-weight:400;
}

.oc-approved-message p {
  margin:22px 0 0;
  padding-top:19px;
  border-top:1px solid rgba(208,163,75,.30);
  color:var(--oc-white);
  font:400 1.15rem/1.5 Georgia,"Times New Roman",serif;
}

.office-confidence--approved .oc-button {
  right:4.5vw;
  bottom:5vh;
}

@media(max-width:900px) {
  .oc-approved-message {
    width:44vw;
  }
}

@media(max-width:760px) {
  .office-confidence--approved .oc-sticky {
    padding:500px 24px 95px;
  }

  .office-confidence--approved .oc-scene {
    background-size:auto 500px;
    background-repeat:no-repeat;
    background-position:58% top;
  }

  .oc-approved-message {
    position:relative;
    left:auto;
    bottom:auto;
    width:100%;
    opacity:1;
    transform:none;
  }
}

/* ---------- Journey: one mileage, one clear handoff ---------- */

/* Remove the duplicate small odometer completely. */
.jt-status {
  display:none !important;
}

/* Give the headline more breathing room and make the message decisive. */
.jt-copy {
  top:15vh;
  width:min(43vw,700px);
}

.jt-copy h2 {
  font-size:clamp(3.35rem,5.7vw,6.55rem);
}

.jt-copy p {
  max-width:570px;
  color:rgba(245,241,232,.72);
}

/* Move the active story into the primary reading zone. */
.jt-feature {
  top:29vh;
  right:5vw;
  width:min(39vw,620px);
  min-height:350px;
  padding:38px 40px;
  background:
    linear-gradient(112deg,rgba(5,5,5,.96),rgba(5,5,5,.72) 76%,rgba(5,5,5,.15)),
    linear-gradient(180deg,rgba(239,204,117,.028),transparent);
}

.jt-feature__miles {
  font-size:clamp(4.5rem,7.3vw,8.2rem);
}

.jt-feature h3 {
  max-width:520px;
  font-size:clamp(2rem,2.9vw,3.35rem);
}

.jt-feature p {
  max-width:520px;
  font-size:14px;
  line-height:1.75;
}

/* The outline should support the story, not compete with it. */
.jt-vehicle-outline {
  top:21vh;
  right:0;
  width:min(58vw,1020px);
  opacity:.10;
}

.journey-timeline.is-active .jt-vehicle-outline {
  opacity:.25;
}

/* Navigation becomes chapter control, not a second mileage chart. */
.jt-navigation {
  width:min(43vw,690px);
}

.jt-navigation button span {
  color:rgba(239,204,117,.62);
}

.jt-navigation button.is-active span {
  color:var(--jt-bright);
}

@media(max-width:1100px) {
  .jt-copy {
    width:47vw;
  }

  .jt-feature {
    width:42vw;
  }
}

@media(max-width:760px) {
  .jt-copy {
    margin-bottom:20px;
  }

  .jt-feature {
    padding:30px 24px;
  }
}


/* ==========================================================
   Milestone 3 v5.0 — Confidence in Action
   ========================================================== */

.claims-action {
  --ca-gold:#d0a34b;
  --ca-bright:#efcc75;
  --ca-white:#f5f1e8;
  --ca-muted:#aaa399;
  position:relative;
  min-height:100vh;
  padding:120px 6vw 100px;
  overflow:hidden;
  color:var(--ca-white);
  background:
    radial-gradient(circle at 76% 40%,rgba(208,163,75,.11),transparent 28%),
    linear-gradient(120deg,#050505,#0a0806 58%,#050505);
}

.claims-action::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.16;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(239,204,117,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(239,204,117,.03) 1px,transparent 1px);
  background-size:72px 72px;
}

.ca-inner {
  position:relative;
  z-index:2;
  width:min(1320px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  gap:70px;
  align-items:center;
}

.ca-eyebrow {
  display:block;
  margin-bottom:24px;
  color:var(--ca-bright);
  font-size:10px;
  font-weight:700;
  letter-spacing:.42em;
}

.ca-copy h2 {
  margin:0;
  font:400 clamp(3.6rem,6.7vw,7.4rem)/.96 Georgia,"Times New Roman",serif;
  letter-spacing:-.05em;
}

.ca-copy h2 span,
.ca-copy h2 strong {
  display:block;
}

.ca-copy h2 strong {
  margin-top:10px;
  color:var(--ca-bright);
  font-weight:400;
}

.ca-copy > p {
  max-width:620px;
  margin:30px 0 0;
  color:var(--ca-muted);
  font-size:1rem;
  line-height:1.8;
}

.ca-promises {
  display:grid;
  gap:12px;
  margin-top:36px;
}

.ca-promises span {
  position:relative;
  padding-left:25px;
  color:rgba(245,241,232,.86);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ca-promises span::before {
  content:"";
  position:absolute;
  left:0;
  top:.35em;
  width:9px;
  height:9px;
  border:1px solid var(--ca-bright);
  transform:rotate(45deg);
  box-shadow:0 0 12px rgba(239,204,117,.25);
}

.ca-console {
  padding:28px;
  border:1px solid rgba(208,163,75,.45);
  background:
    linear-gradient(145deg,rgba(255,255,255,.035),transparent 50%),
    rgba(7,7,7,.8);
  backdrop-filter:blur(14px);
  box-shadow:0 35px 90px rgba(0,0,0,.55),0 0 50px rgba(208,163,75,.07);
}

.ca-console__header {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(208,163,75,.2);
  color:var(--ca-muted);
  font-size:8px;
  letter-spacing:.2em;
}

.ca-console__header > span {
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--ca-bright);
}

.ca-console__header i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ca-bright);
  box-shadow:0 0 14px rgba(239,204,117,.75);
  animation:caPulse 1.5s ease-in-out infinite;
}

@keyframes caPulse {
  0%,100% { opacity:.4; transform:scale(.75); }
  50% { opacity:1; transform:scale(1.2); }
}

.ca-console__body {
  padding:36px 0 25px;
  transition:opacity .22s ease,transform .28s ease;
}

.ca-console.is-changing .ca-console__body {
  opacity:0;
  transform:translateY(8px);
}

.ca-console__label {
  color:var(--ca-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.25em;
}

.ca-console__title {
  margin:12px 0 12px;
  font:400 clamp(2rem,3vw,3.2rem)/1.08 Georgia,serif;
}

.ca-console__text {
  margin:0;
  color:var(--ca-muted);
  font-size:13px;
  line-height:1.7;
}

.ca-console__details {
  display:grid;
  gap:12px;
  margin:30px 0 0;
  padding:22px 0 0;
  border-top:1px solid rgba(208,163,75,.2);
}

.ca-console__details div {
  display:flex;
  justify-content:space-between;
  gap:24px;
}

.ca-console__details dt {
  color:rgba(170,163,153,.7);
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.ca-console__details dd {
  margin:0;
  color:var(--ca-white);
  font-size:12px;
  text-align:right;
}

.ca-console__payment {
  color:var(--ca-bright)!important;
  font:700 1.25rem/1 "Courier New",monospace!important;
}

.ca-console__progress {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.ca-console__progress span {
  height:3px;
  background:rgba(208,163,75,.16);
  transition:background .35s ease,box-shadow .35s ease;
}

.ca-console__progress span.is-active {
  background:var(--ca-bright);
  box-shadow:0 0 14px rgba(239,204,117,.48);
}

.ca-controls {
  grid-column:2;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.ca-controls button {
  padding:13px 12px;
  border:1px solid rgba(208,163,75,.24);
  color:rgba(245,241,232,.45);
  background:rgba(5,5,5,.55);
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:color .3s ease,border-color .3s ease,background .3s ease;
}

.ca-controls button:hover,
.ca-controls button.is-active {
  color:var(--ca-bright);
  border-color:rgba(239,204,117,.72);
  background:rgba(208,163,75,.06);
}

@media(max-width:900px) {
  .ca-inner {
    grid-template-columns:1fr;
  }

  .ca-controls {
    grid-column:1;
  }
}

@media(max-width:600px) {
  .claims-action {
    padding:90px 24px 80px;
  }

  .ca-console {
    padding:22px;
  }

  .ca-controls {
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   v5.1 — Protect My Vehicle working lead form
   ========================================================== */

.coverage-form-section {
  --cf-gold:#d0a34b;
  --cf-bright:#efcc75;
  --cf-white:#f5f1e8;
  --cf-muted:#aaa399;
  position:relative;
  min-height:100vh;
  padding:125px 6vw 110px;
  overflow:hidden;
  color:var(--cf-white);
  background:
    radial-gradient(circle at 78% 36%,rgba(208,163,75,.10),transparent 27%),
    linear-gradient(120deg,#050505,#0a0806 58%,#050505);
}

.coverage-form-section::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.16;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(239,204,117,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(239,204,117,.025) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(90deg,transparent,#000 26%,#000 94%,transparent);
}

.cf-shell {
  position:relative;
  z-index:2;
  width:min(1320px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  gap:78px;
  align-items:start;
}

.cf-intro {
  position:sticky;
  top:145px;
}

.cf-eyebrow {
  display:block;
  margin-bottom:24px;
  color:var(--cf-bright);
  font-size:10px;
  font-weight:700;
  letter-spacing:.42em;
}

.cf-intro h2 {
  margin:0;
  font:400 clamp(3.7rem,6.4vw,7.2rem)/.96 Georgia,"Times New Roman",serif;
  letter-spacing:-.05em;
}

.cf-intro h2 span,
.cf-intro h2 strong {
  display:block;
}

.cf-intro h2 strong {
  margin-top:9px;
  color:var(--cf-bright);
  font-weight:400;
}

.cf-intro > p {
  max-width:570px;
  margin:30px 0 0;
  color:var(--cf-muted);
  font-size:1rem;
  line-height:1.8;
}

.cf-assurance {
  display:grid;
  gap:13px;
  margin-top:36px;
}

.cf-assurance span {
  position:relative;
  padding-left:24px;
  color:rgba(245,241,232,.8);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.cf-assurance span::before {
  content:"";
  position:absolute;
  left:0;
  top:.32em;
  width:9px;
  height:9px;
  border:1px solid var(--cf-bright);
  transform:rotate(45deg);
  box-shadow:0 0 11px rgba(239,204,117,.24);
}

.cf-form {
  padding:34px;
  border:1px solid rgba(208,163,75,.38);
  background:
    linear-gradient(145deg,rgba(255,255,255,.032),transparent 50%),
    rgba(7,7,7,.82);
  backdrop-filter:blur(14px);
  box-shadow:0 35px 90px rgba(0,0,0,.52),0 0 48px rgba(208,163,75,.06);
}

.cf-form__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.cf-form label {
  display:grid;
  gap:9px;
}

.cf-form label > span {
  color:rgba(245,241,232,.72);
  font-size:8px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.cf-form input,
.cf-form textarea {
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(208,163,75,.24);
  border-radius:0;
  outline:0;
  color:var(--cf-white);
  background:rgba(5,5,5,.72);
  font:400 15px/1.4 Arial,Helvetica,sans-serif;
  transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;
}

.cf-form input {
  height:51px;
  padding:0 15px;
}

.cf-form textarea {
  min-height:112px;
  padding:14px 15px;
  resize:vertical;
}

.cf-form input:focus,
.cf-form textarea:focus {
  border-color:rgba(239,204,117,.74);
  background:rgba(8,8,8,.92);
  box-shadow:0 0 0 3px rgba(208,163,75,.07),0 0 24px rgba(208,163,75,.08);
}

.cf-form input[aria-invalid="true"],
.cf-form textarea[aria-invalid="true"] {
  border-color:#d88f75;
}

.cf-form__full {
  grid-column:1/-1;
}

.cf-consent {
  grid-template-columns:18px 1fr!important;
  gap:12px!important;
  align-items:start;
  margin-top:23px;
}

.cf-consent input {
  width:16px;
  height:16px;
  margin:1px 0 0;
  accent-color:var(--cf-gold);
}

.cf-consent span {
  color:var(--cf-muted)!important;
  font-size:9px!important;
  font-weight:400!important;
  line-height:1.55;
  letter-spacing:.05em!important;
  text-transform:none!important;
}

.cf-honeypot {
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
}

.cf-submit {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-width:240px;
  margin-top:27px;
  padding:17px 23px;
  border:1px solid var(--cf-gold);
  color:var(--cf-bright);
  background:transparent;
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:background .3s ease,color .3s ease,transform .3s ease,opacity .3s ease;
}

.cf-submit:hover:not(:disabled) {
  color:#080808;
  background:var(--cf-bright);
  transform:translateY(-3px);
}

.cf-submit:disabled {
  cursor:wait;
  opacity:.58;
}

.cf-submit__loading {
  display:none;
}

.cf-form.is-sending .cf-submit__default {
  display:none;
}

.cf-form.is-sending .cf-submit__loading {
  display:inline;
}

.cf-result {
  min-height:22px;
  margin-top:18px;
  color:var(--cf-muted);
  font-size:12px;
  line-height:1.55;
}

.cf-result.is-success {
  color:var(--cf-bright);
}

.cf-result.is-error {
  color:#e2a087;
}

@media(max-width:980px) {
  .cf-shell {
    grid-template-columns:1fr;
  }

  .cf-intro {
    position:relative;
    top:auto;
  }
}

@media(max-width:620px) {
  .coverage-form-section {
    padding:90px 24px 80px;
  }

  .cf-form {
    padding:24px 20px;
  }

  .cf-form__grid {
    grid-template-columns:1fr;
  }

  .cf-form__full {
    grid-column:1;
  }

  .cf-submit {
    width:100%;
  }
}


/* ==========================================================
   v5.2 — Chairman's Office Finale
   ========================================================== */

.chairman-finale {
  --ch-gold:#d0a34b;
  --ch-bright:#efcc75;
  --ch-white:#f5f1e8;
  --ch-muted:#aaa399;
  position:relative;
  min-height:100vh;
  overflow:hidden;
  display:flex;
  align-items:center;
  color:var(--ch-white);
  background:#050505;
}

.ch-office {
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url("assets/images/confidence-office.webp");
  background-size:cover;
  background-position:62% center;
  opacity:.2;
  transform:scale(1.045);
  filter:brightness(.52) saturate(.9);
  transition:
    opacity 1.05s ease,
    transform 1.45s cubic-bezier(.22,.61,.36,1),
    filter 1.15s ease;
}

.chairman-finale.is-active .ch-office {
  opacity:1;
  transform:scale(1);
  filter:brightness(.82) saturate(.94);
}

.ch-vignette {
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,4,4,.99) 0%,rgba(4,4,4,.95) 24%,rgba(4,4,4,.63) 45%,rgba(4,4,4,.17) 68%,rgba(4,4,4,.30) 100%),
    linear-gradient(180deg,rgba(4,4,4,.42),transparent 20%,transparent 70%,rgba(4,4,4,.86));
}

.ch-gold-sweep {
  position:absolute;
  z-index:2;
  inset:-20%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(108deg,transparent 38%,rgba(239,204,117,.12) 49%,transparent 61%);
  transform:translateX(-55%);
}

.chairman-finale.is-active .ch-gold-sweep {
  animation:chSweep 7.5s ease-in-out infinite 1.2s;
}

@keyframes chSweep {
  0%,25% { transform:translateX(-55%); opacity:0; }
  38% { opacity:.9; }
  73% { opacity:.35; }
  90%,100% { transform:translateX(58%); opacity:0; }
}

.ch-content {
  position:relative;
  z-index:4;
  width:min(650px,43vw);
  margin-left:6vw;
  padding:46px 44px 42px;
  border-left:1px solid rgba(239,204,117,.7);
  background:
    linear-gradient(100deg,rgba(5,5,5,.96),rgba(5,5,5,.78) 76%,rgba(5,5,5,.10));
  backdrop-filter:blur(11px);
  opacity:0;
  transform:translateX(-24px);
  transition:opacity .65s ease .35s,transform .85s cubic-bezier(.22,.61,.36,1) .35s;
}

.chairman-finale.is-active .ch-content {
  opacity:1;
  transform:none;
}

.ch-eyebrow {
  display:block;
  margin-bottom:26px;
  color:var(--ch-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.4em;
}

.ch-content blockquote {
  margin:0;
  font:400 clamp(3rem,5.3vw,6.1rem)/.96 Georgia,"Times New Roman",serif;
  letter-spacing:-.048em;
}

.ch-content blockquote span,
.ch-content blockquote strong {
  display:block;
}

.ch-content blockquote strong {
  margin-top:10px;
  color:var(--ch-bright);
  font-weight:400;
}

.ch-message {
  max-width:580px;
  margin:30px 0 0;
  color:var(--ch-muted);
  font-size:1rem;
  line-height:1.85;
}

.ch-closing {
  margin:27px 0 0;
  padding-top:24px;
  border-top:1px solid rgba(208,163,75,.28);
  color:var(--ch-white);
  font:400 1.25rem/1.55 Georgia,"Times New Roman",serif;
}

.ch-closing strong {
  display:block;
  margin-top:4px;
  color:var(--ch-bright);
  font-weight:400;
}

.ch-signoff {
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:28px;
}

.ch-signoff::before {
  content:"";
  width:48px;
  height:1px;
  background:var(--ch-gold);
}

.ch-signoff__name {
  color:var(--ch-bright);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(2.2rem,3.5vw,3.6rem);
  line-height:1;
}

.ch-signoff__title {
  color:var(--ch-muted);
  font-size:8px;
  letter-spacing:.25em;
  text-transform:uppercase;
}

.ch-actions {
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin-top:34px;
}

.ch-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:49px;
  padding:0 22px;
  border:1px solid var(--ch-gold);
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
  text-decoration:none;
  text-transform:uppercase;
  transition:background .3s ease,color .3s ease,transform .3s ease;
}

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

.ch-button--primary {
  color:#080808;
  background:var(--ch-bright);
}

.ch-button--primary:hover {
  color:var(--ch-bright);
  background:transparent;
}

.ch-button--secondary {
  color:var(--ch-bright);
  background:rgba(5,5,5,.62);
}

.ch-button--secondary:hover {
  color:#080808;
  background:var(--ch-bright);
}

.ch-promise {
  position:absolute;
  z-index:4;
  right:4vw;
  bottom:4vh;
  display:flex;
  align-items:center;
  gap:13px;
  color:rgba(239,204,117,.55);
  font-size:7px;
  letter-spacing:.23em;
}

.ch-promise i {
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--ch-gold);
}

@media(max-width:1000px) {
  .ch-content {
    width:min(710px,55vw);
  }

  .ch-office {
    background-position:67% center;
  }
}

@media(max-width:760px) {
  .chairman-finale {
    min-height:auto;
    padding:470px 24px 90px;
    align-items:flex-start;
  }

  .ch-office {
    height:470px;
    background-size:auto 470px;
    background-repeat:no-repeat;
    background-position:58% top;
    opacity:1;
    filter:brightness(.74);
  }

  .ch-vignette {
    background:
      linear-gradient(180deg,transparent 0%,rgba(5,5,5,.08) 34%,#050505 58%,#050505 100%);
  }

  .ch-content {
    width:100%;
    margin:0;
    padding:30px 24px;
    opacity:1;
    transform:none;
  }

  .ch-content blockquote {
    font-size:clamp(3rem,14vw,5rem);
  }

  .ch-promise {
    display:none;
  }

  .ch-actions {
    flex-direction:column;
  }

  .ch-button {
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce) {
  .ch-office,
  .ch-content {
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  .ch-gold-sweep {
    animation:none!important;
  }
}


/* ==========================================================
   v5.3 — Chairman focus + consistent corporate seal
   ========================================================== */

/* Confidence now uses the same approved Mr. D portrait as the finale. */
.office-confidence--approved .oc-scene {
  background-image:url("assets/images/confidence-office.webp") !important;
  background-size:cover !important;
  background-position:45% center !important;
}

.office-confidence--approved .oc-approved-vignette {
  background:
    linear-gradient(90deg,rgba(5,5,5,.90) 0%,rgba(5,5,5,.62) 29%,rgba(5,5,5,.08) 52%,rgba(5,5,5,.18) 100%),
    linear-gradient(180deg,rgba(5,5,5,.20),transparent 28%,transparent 70%,rgba(5,5,5,.76));
}

.office-confidence--approved .oc-approved-message {
  left:4.8vw;
  bottom:9vh;
  width:min(31vw,480px);
}

/* Finale image is the approved Chairman composition. */
.chairman-finale--focus {
  min-height:100vh;
  background:#050505;
}

.ch-office--approved {
  background-image:url("assets/images/chairman-office.webp") !important;
  background-size:cover !important;
  background-position:39% center !important;
  opacity:.42;
  transform:scale(1.045);
  filter:brightness(.56) saturate(.92);
  transition:
    opacity 1.25s ease .08s,
    transform 2.2s cubic-bezier(.22,.61,.36,1) .08s,
    filter 1.6s ease .08s;
}

.chairman-finale--focus.is-active .ch-office--approved {
  opacity:1;
  transform:scale(1.015) translateX(1.2%);
  filter:brightness(.92) saturate(1);
}

/* This light slowly centers on Mr. D's face to create the acknowledgement moment. */
.ch-focus-light {
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 38% 32%,rgba(239,204,117,.22),transparent 17%),
    radial-gradient(circle at 38% 37%,rgba(239,204,117,.08),transparent 31%);
  transition:opacity 2s ease 1.15s;
  mix-blend-mode:screen;
}

.chairman-finale--focus.is-active .ch-focus-light {
  opacity:1;
}

.chairman-finale--focus .ch-vignette {
  z-index:2;
  background:
    linear-gradient(90deg,rgba(4,4,4,.10) 0%,rgba(4,4,4,.06) 36%,rgba(4,4,4,.42) 58%,rgba(4,4,4,.92) 100%),
    linear-gradient(180deg,rgba(4,4,4,.20),transparent 20%,transparent 72%,rgba(4,4,4,.76));
}

/* Copy moves to the right so Mr. D remains the main subject. */
.ch-content--concise {
  position:absolute;
  z-index:4;
  right:5vw;
  left:auto;
  width:min(37vw,590px);
  margin:0;
  padding:38px 38px 34px;
  border-left:1px solid rgba(239,204,117,.68);
  background:
    linear-gradient(100deg,rgba(5,5,5,.76),rgba(5,5,5,.90) 62%,rgba(5,5,5,.96));
  backdrop-filter:blur(8px);
}

.ch-content--concise blockquote {
  font-size:clamp(2.7rem,4.7vw,5.2rem);
}

.ch-content--concise .ch-closing {
  margin-top:24px;
  padding-top:21px;
}

.ch-content--concise .ch-actions {
  margin-top:27px;
}

.ch-signature-lockup {
  position:absolute;
  z-index:5;
  left:6vw;
  bottom:5vh;
  display:flex;
  align-items:center;
  gap:16px;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .55s ease 1.45s,transform .7s ease 1.45s;
}

.chairman-finale--focus.is-active .ch-signature-lockup {
  opacity:1;
  transform:none;
}

.ch-signature-lockup::before {
  content:"";
  width:54px;
  height:1px;
  background:var(--ch-gold);
}

.ch-signature-lockup__name {
  color:var(--ch-bright);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(2.4rem,3.7vw,3.8rem);
  line-height:1;
}

.ch-signature-lockup__title {
  color:rgba(245,241,232,.62);
  font-size:8px;
  letter-spacing:.25em;
  text-transform:uppercase;
}

@media(max-width:1100px) {
  .ch-content--concise {
    width:min(43vw,610px);
  }

  .ch-office--approved {
    background-position:34% center !important;
  }
}

@media(max-width:760px) {
  .chairman-finale--focus {
    padding:510px 24px 90px;
  }

  .ch-office--approved {
    height:510px;
    background-size:auto 510px !important;
    background-position:38% top !important;
    opacity:1;
    transform:none;
    filter:brightness(.86);
  }

  .ch-focus-light {
    display:none;
  }

  .chairman-finale--focus .ch-vignette {
    background:
      linear-gradient(180deg,transparent 0%,rgba(5,5,5,.04) 43%,#050505 68%,#050505 100%);
  }

  .ch-content--concise {
    position:relative;
    right:auto;
    width:100%;
    padding:30px 24px;
  }

  .ch-signature-lockup {
    position:relative;
    left:auto;
    bottom:auto;
    margin-top:26px;
  }
}


/* ==========================================================
   v5.4 — Final navigation and label cleanup
   ========================================================== */

/* Remove internal sequence/status labels from the public experience. */
.pc-autoplay,
.jr-autoplay,
.je-autoplay,
.ja-autoplay,
.jt-autoplay,
.ca-console__status,
.ca-console__time {
  display:none !important;
}

/* Keep CTAs visually centered after removing the status labels. */
.promise-cinematic .pc-button,
.journey-timeline .jt-button,
.journey-editorial .je-button,
.journey-abstract .ja-button {
  margin-top:0;
}

/* Smooth anchor movement while preserving accessibility. */
html {
  scroll-behavior:smooth;
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}

/* Prevent sticky header from covering anchor destinations. */
#confidence,
#protection,
#promise,
#journey,
#claims,
#coverage,
#chairman {
  scroll-margin-top:96px;
}


/* ==========================================================
   v5.5 — Restore Scene 2 + clean finale + final nav correction
   ========================================================== */

/* Scene 2 restored to the approved Confidence office artwork. */
.office-confidence--approved .oc-scene {
  background-image:url("assets/images/confidence-office.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
}

.office-confidence--approved .oc-approved-vignette {
  background:
    linear-gradient(90deg,rgba(5,5,5,.84) 0%,rgba(5,5,5,.43) 30%,transparent 53%,rgba(5,5,5,.08) 100%),
    linear-gradient(180deg,rgba(5,5,5,.18),transparent 24%,transparent 70%,rgba(5,5,5,.76)) !important;
}

.office-confidence--approved .oc-approved-message {
  left:5.5vw !important;
  bottom:10vh !important;
  width:min(35vw,520px) !important;
}

/* Final scene is now the approved artwork itself—no duplicated live copy. */
.chairman-finale--image-only {
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:#050505;
}

.ch-image-only {
  position:absolute;
  inset:0;
  background-image:url("assets/images/chairman-office.webp");
  background-size:cover;
  background-position:center center;
  opacity:.22;
  transform:scale(1.035);
  filter:brightness(.58) saturate(.94);
  transition:
    opacity 1.1s ease .08s,
    transform 1.8s cubic-bezier(.22,.61,.36,1) .08s,
    filter 1.25s ease .08s;
}

.chairman-finale--image-only.is-active .ch-image-only {
  opacity:1;
  transform:scale(1);
  filter:brightness(.94) saturate(1);
}

.ch-image-vignette {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(5,5,5,.18),transparent 18%,transparent 72%,rgba(5,5,5,.55)),
    linear-gradient(90deg,rgba(5,5,5,.10),transparent 30%,transparent 82%,rgba(5,5,5,.24));
}

.ch-final-cta {
  position:absolute;
  z-index:3;
  right:5vw;
  bottom:5vh;
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:50px;
  padding:0 24px;
  border:1px solid #d0a34b;
  color:#080808;
  background:#efcc75;
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-decoration:none;
  text-transform:uppercase;
  box-shadow:0 15px 35px rgba(0,0,0,.35);
  transition:transform .3s ease,background .3s ease,color .3s ease;
}

.ch-final-cta:hover {
  transform:translateY(-3px);
  color:#efcc75;
  background:rgba(5,5,5,.82);
}

@media(max-width:760px) {
  .chairman-finale--image-only {
    min-height:760px;
  }

  .ch-image-only {
    background-size:auto 760px;
    background-position:46% top;
  }

  .ch-final-cta {
    left:24px;
    right:24px;
    bottom:30px;
    justify-content:center;
  }
}


/* ==========================================================
   v5.6 — Hero hotspots + smaller Chairman + logo cleanup
   ========================================================== */

/* Real click targets over the two baked hero buttons. */
.hero-hotspots {
  position:absolute;
  z-index:40;
  left:0;
  right:0;
  top:0;
  height:100vh;
  min-height:700px;
  pointer-events:none;
}

.hero-hotspot {
  position:absolute;
  display:block;
  pointer-events:auto;
  border:1px solid transparent;
  background:transparent;
  cursor:pointer;
}

/* Positions align to the baked buttons in the approved desktop hero. */
.hero-hotspot--journey {
  left:2.2%;
  top:61.5%;
  width:17.8%;
  height:8.8%;
}

.hero-hotspot--coverage {
  left:20.7%;
  top:61.5%;
  width:17.4%;
  height:8.8%;
}

.hero-hotspot:focus-visible {
  outline:2px solid #efcc75;
  outline-offset:4px;
  background:rgba(239,204,117,.06);
}

/* Final Chairman artwork is smaller, with more breathing room around Mr. D. */
.chairman-finale--image-only {
  background:#050505;
}

.chairman-finale--image-only .ch-image-only {
  inset:4vh 3vw 6vh;
  background-size:contain !important;
  background-repeat:no-repeat;
  background-position:center center !important;
  transform:scale(1.02);
}

.chairman-finale--image-only.is-active .ch-image-only {
  transform:scale(.94);
}

@media(max-width:1200px) {
  .hero-hotspot--journey {
    left:2.3%;
    top:61%;
    width:18.2%;
  }

  .hero-hotspot--coverage {
    left:21%;
    top:61%;
    width:18%;
  }
}

@media(max-width:760px) {
  .hero-hotspots {
    height:100svh;
    min-height:620px;
  }

  .hero-hotspot--journey {
    left:5%;
    top:65%;
    width:42%;
    height:9%;
  }

  .hero-hotspot--coverage {
    left:51%;
    top:65%;
    width:44%;
    height:9%;
  }

  .chairman-finale--image-only .ch-image-only {
    inset:20px 0 95px;
    background-size:contain !important;
  }
}


/* ==========================================================
   v6.0 GOLD MASTER
   ========================================================== */

/* Remove the two buttons baked into the hero artwork. */
.hero-hotspots {
  display:none !important;
}

.hero-button-covers {
  position:absolute;
  z-index:39;
  inset:0;
  height:100vh;
  min-height:700px;
  pointer-events:none;
}

.hero-button-cover {
  position:absolute;
  top:61.1%;
  height:9.4%;
  background:
    linear-gradient(180deg,rgba(4,4,4,.98),rgba(4,4,4,.98)),
    #050505;
  box-shadow:
    0 -1px 0 rgba(208,163,75,.08),
    0 1px 0 rgba(0,0,0,.8);
}

.hero-button-cover--left {
  left:1.8%;
  width:18.6%;
}

.hero-button-cover--right {
  left:20.2%;
  width:18.8%;
}

/* Protection must clear the sticky header and reveal the top-left title. */
#protection.protection-moment {
  scroll-margin-top:112px;
  padding-top:150px !important;
}

.protection-moment .pm-intro {
  margin-top:18px;
}

/* Gold Master Chairman finale. */
.chairman-gold-master {
  --cgm-gold:#d0a34b;
  --cgm-bright:#efcc75;
  --cgm-white:#f5f1e8;
  --cgm-muted:#aaa399;
  position:relative;
  min-height:100vh;
  overflow:hidden;
  color:var(--cgm-white);
  background:#050505;
}

.cgm-image {
  position:absolute;
  inset:0;
  background-image:url("assets/images/chairman-office-clean.webp");
  background-size:cover;
  background-position:center center;
  opacity:.28;
  transform:scale(1.035);
  filter:brightness(.64) saturate(.94);
  transition:
    opacity 1.15s ease,
    transform 1.8s cubic-bezier(.22,.61,.36,1),
    filter 1.35s ease;
}

.chairman-gold-master.is-active .cgm-image {
  opacity:1;
  transform:scale(1);
  filter:brightness(.92) saturate(1);
}

.cgm-vignette {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,5,5,.12) 0%,rgba(5,5,5,.05) 42%,rgba(5,5,5,.55) 64%,rgba(5,5,5,.96) 100%),
    linear-gradient(180deg,rgba(5,5,5,.18),transparent 22%,transparent 74%,rgba(5,5,5,.72));
}

.cgm-copy {
  position:absolute;
  z-index:3;
  right:5vw;
  top:50%;
  width:min(35vw,570px);
  transform:translateY(-46%);
  padding:38px 38px 34px;
  border-left:1px solid rgba(239,204,117,.68);
  background:
    linear-gradient(100deg,rgba(5,5,5,.76),rgba(5,5,5,.93) 74%,rgba(5,5,5,.97));
  backdrop-filter:blur(8px);
  opacity:0;
  transition:opacity .72s ease .42s,transform .85s cubic-bezier(.22,.61,.36,1) .42s;
}

.chairman-gold-master.is-active .cgm-copy {
  opacity:1;
  transform:translateY(-50%);
}

.cgm-eyebrow {
  display:block;
  margin-bottom:24px;
  color:var(--cgm-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.38em;
}

.cgm-copy h2 {
  margin:0;
  font:400 clamp(2.9rem,4.7vw,5.3rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.cgm-copy h2 span,
.cgm-copy h2 strong {
  display:block;
}

.cgm-copy h2 strong {
  margin-top:8px;
  color:var(--cgm-bright);
  font-weight:400;
}

.cgm-copy p {
  margin:27px 0 3px;
  color:var(--cgm-muted);
  font:400 1.15rem/1.5 Georgia,serif;
}

.cgm-copy h3 {
  margin:0;
  color:var(--cgm-bright);
  font:400 clamp(1.8rem,2.8vw,3rem)/1.2 Georgia,serif;
}

.cgm-button {
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:50px;
  margin-top:30px;
  padding:0 23px;
  border:1px solid var(--cgm-gold);
  color:#080808;
  background:var(--cgm-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .3s ease,background .3s ease,color .3s ease;
}

.cgm-button:hover {
  transform:translateY(-3px);
  color:var(--cgm-bright);
  background:transparent;
}

@media(max-width:900px) {
  .cgm-copy {
    width:min(43vw,600px);
  }
}

@media(max-width:760px) {
  .hero-button-covers {
    height:100svh;
    min-height:620px;
  }

  .hero-button-cover {
    top:64.6%;
    height:10%;
  }

  .hero-button-cover--left {
    left:4%;
    width:43%;
  }

  .hero-button-cover--right {
    left:50%;
    width:46%;
  }

  #protection.protection-moment {
    padding-top:120px !important;
  }

  .chairman-gold-master {
    min-height:820px;
  }

  .cgm-image {
    background-size:auto 620px;
    background-position:34% top;
  }

  .cgm-vignette {
    background:
      linear-gradient(180deg,transparent 0%,rgba(5,5,5,.08) 48%,#050505 67%,#050505 100%);
  }

  .cgm-copy {
    left:24px;
    right:24px;
    top:auto;
    bottom:34px;
    width:auto;
    transform:none;
    padding:28px 24px;
  }

  .chairman-gold-master.is-active .cgm-copy {
    transform:none;
  }

  .cgm-copy h2 {
    font-size:clamp(2.8rem,12vw,4.5rem);
  }

  .cgm-button {
    width:100%;
    justify-content:center;
  }
}

@media(prefers-reduced-motion:reduce) {
  .cgm-image,
  .cgm-copy {
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* ==========================================================
   v6.1 — Final QA polish
   ========================================================== */

/* JS places these covers inside the actual hero container. */
.hero-art-button-covers {
  position:absolute !important;
  inset:0 !important;
  z-index:999 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

.hero-art-button-cover {
  position:absolute;
  top:68.4%;
  height:8.2%;
  background:
    linear-gradient(180deg,rgba(3,3,3,.99),rgba(5,5,5,.99));
  box-shadow:
    inset 0 1px 0 rgba(208,163,75,.05),
    0 0 20px rgba(0,0,0,.45);
}

.hero-art-button-cover--one {
  left:2.0%;
  width:16.6%;
}

.hero-art-button-cover--two {
  left:19.6%;
  width:16.7%;
}

/* Restore Scene 2 from the clean office plate. */
.office-confidence--approved .oc-scene {
  background-image:url("assets/images/confidence-office-clean.webp") !important;
  background-position:center center !important;
  background-size:cover !important;
}

/* Promise / Protection: top-left copy fully clears the sticky header. */
#promise.promise-cinematic {
  scroll-margin-top:110px;
}

.promise-cinematic .pc-copy {
  top:max(118px,15vh) !important;
}

/* Remove only the floating component tags; keep glow, line, and info card. */
.promise-cinematic .pc-zone__label {
  display:none !important;
}

/* Keep invisible hotspot buttons usable without visible labels. */
.promise-cinematic .pc-zone {
  background:transparent !important;
  border:0 !important;
}

/* Signature-style clean finale: no baked text, badges, or ghost graphics. */
.chairman-signature-finale {
  --csf-gold:#d0a34b;
  --csf-bright:#efcc75;
  --csf-white:#f5f1e8;
  --csf-muted:#aaa399;
  position:relative;
  min-height:100vh;
  overflow:hidden;
  color:var(--csf-white);
  background:#050505;
}

.csf-office {
  position:absolute;
  inset:3vh 2.5vw 5vh;
  background-image:url("assets/images/chairman-office-clean.webp");
  background-repeat:no-repeat;
  background-size:82% auto;
  background-position:left center;
  opacity:.28;
  transform:scale(1.025);
  filter:brightness(.62) saturate(.94);
  transition:
    opacity 1.15s ease,
    transform 1.75s cubic-bezier(.22,.61,.36,1),
    filter 1.35s ease;
}

.chairman-signature-finale.is-active .csf-office {
  opacity:1;
  transform:scale(.98);
  filter:brightness(.90) saturate(1);
}

.csf-vignette {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,5,5,.08) 0%,rgba(5,5,5,.04) 43%,rgba(5,5,5,.58) 65%,rgba(5,5,5,.97) 100%),
    linear-gradient(180deg,rgba(5,5,5,.15),transparent 22%,transparent 76%,rgba(5,5,5,.72));
}

.csf-copy {
  position:absolute;
  z-index:3;
  right:5vw;
  top:50%;
  width:min(35vw,570px);
  transform:translateY(-46%);
  padding:39px 38px 35px;
  border-left:1px solid rgba(239,204,117,.67);
  background:
    linear-gradient(100deg,rgba(5,5,5,.70),rgba(5,5,5,.93) 70%,rgba(5,5,5,.98));
  backdrop-filter:blur(9px);
  opacity:0;
  transition:opacity .72s ease .38s,transform .84s cubic-bezier(.22,.61,.36,1) .38s;
}

.chairman-signature-finale.is-active .csf-copy {
  opacity:1;
  transform:translateY(-50%);
}

.csf-eyebrow {
  display:block;
  margin-bottom:24px;
  color:var(--csf-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.38em;
}

.csf-copy h2 {
  margin:0;
  font:400 clamp(2.9rem,4.65vw,5.2rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.csf-copy h2 span,
.csf-copy h2 strong {
  display:block;
}

.csf-copy h2 strong {
  margin-top:8px;
  color:var(--csf-bright);
  font-weight:400;
}

.csf-copy > p {
  margin:27px 0 2px;
  color:var(--csf-muted);
  font:400 1.12rem/1.5 Georgia,serif;
}

.csf-copy h3 {
  margin:0;
  color:var(--csf-bright);
  font:400 clamp(1.8rem,2.7vw,2.9rem)/1.2 Georgia,serif;
}

.csf-signature {
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:25px;
}

.csf-signature::before {
  content:"";
  width:48px;
  height:1px;
  background:var(--csf-gold);
}

.csf-signature span {
  color:var(--csf-bright);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(2.1rem,3.2vw,3.3rem);
  line-height:1;
}

.csf-signature small {
  color:rgba(245,241,232,.58);
  font-size:7px;
  letter-spacing:.23em;
  text-transform:uppercase;
}

.csf-button {
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:50px;
  margin-top:29px;
  padding:0 23px;
  border:1px solid var(--csf-gold);
  color:#080808;
  background:var(--csf-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .3s ease,background .3s ease,color .3s ease;
}

.csf-button:hover {
  transform:translateY(-3px);
  color:var(--csf-bright);
  background:transparent;
}

@media(max-width:900px) {
  .csf-copy {
    width:min(43vw,600px);
  }

  .csf-office {
    background-size:90% auto;
  }
}

@media(max-width:760px) {
  .hero-art-button-cover {
    top:69%;
    height:8.5%;
  }

  .hero-art-button-cover--one {
    left:4%;
    width:42%;
  }

  .hero-art-button-cover--two {
    left:50%;
    width:45%;
  }

  .promise-cinematic .pc-copy {
    top:118px !important;
  }

  .chairman-signature-finale {
    min-height:820px;
  }

  .csf-office {
    inset:18px 0 250px;
    background-size:auto 570px;
    background-position:35% top;
  }

  .csf-vignette {
    background:
      linear-gradient(180deg,transparent 0%,rgba(5,5,5,.07) 49%,#050505 69%,#050505 100%);
  }

  .csf-copy {
    left:24px;
    right:24px;
    top:auto;
    bottom:32px;
    width:auto;
    transform:none;
    padding:28px 24px;
  }

  .chairman-signature-finale.is-active .csf-copy {
    transform:none;
  }

  .csf-copy h2 {
    font-size:clamp(2.8rem,12vw,4.5rem);
  }

  .csf-button {
    width:100%;
    justify-content:center;
  }
}


/* ==========================================================
   v7.0 Production Release
   ========================================================== */

/* Approved hero replaces the parent theme hero entirely. */
.drive-approved-hero {
  position:relative;
  width:100%;
  min-height:100vh;
  overflow:hidden;
  background:#000;
}

.drive-approved-hero picture,
.drive-approved-hero img {
  display:block;
  width:100%;
  height:100%;
}

.drive-approved-hero img {
  min-height:100vh;
  object-fit:cover;
  object-position:center top;
}

/* The only hero action retained is the real navigation CTA in the artwork's header. */
.drive-approved-hero__coverage {
  position:absolute;
  z-index:5;
  right:2.15%;
  top:2.05%;
  width:16.5%;
  height:6.3%;
  border:1px solid transparent;
}

.drive-approved-hero__coverage:focus-visible {
  outline:2px solid #efcc75;
  outline-offset:3px;
}

/* Original approved one-seal office master. */
.office-confidence--approved .oc-scene {
  background-image:url("assets/images/confidence-office.webp") !important;
  background-position:center center !important;
  background-size:cover !important;
}

/* Delete the transition overlay between Protection and Promise. */
.protection-moment .pm-transition {
  display:none !important;
}

#protection.protection-moment {
  padding-bottom:90px !important;
}

/* Promise begins cleanly and the Escalade sits higher in frame. */
.promise-cinematic .pc-scene {
  background-position:center 42% !important;
}

.promise-cinematic .pc-copy {
  top:52% !important;
}

.promise-cinematic .pc-zone__label {
  display:none !important;
}

/* Production Chairman close. */
.chairman-production {
  --cp-gold:#d0a34b;
  --cp-bright:#efcc75;
  --cp-white:#f5f1e8;
  --cp-muted:#aaa399;
  position:relative;
  min-height:100vh;
  overflow:hidden;
  color:var(--cp-white);
  background:#050505;
}

.cp-office {
  position:absolute;
  inset:3vh 2vw 5vh;
  background-image:url("assets/images/chairman-office.webp");
  background-repeat:no-repeat;
  background-size:78% auto;
  background-position:left center;
  opacity:.28;
  transform:scale(1.025);
  filter:brightness(.62) saturate(.94);
  transition:opacity 1.1s ease,transform 1.7s cubic-bezier(.22,.61,.36,1),filter 1.25s ease;
}

.chairman-production.is-active .cp-office {
  opacity:1;
  transform:scale(.98);
  filter:brightness(.90) saturate(1);
}

.cp-vignette {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,5,5,.07) 0%,rgba(5,5,5,.03) 43%,rgba(5,5,5,.60) 66%,rgba(5,5,5,.98) 100%),
    linear-gradient(180deg,rgba(5,5,5,.14),transparent 22%,transparent 76%,rgba(5,5,5,.72));
}

.cp-copy {
  position:absolute;
  z-index:3;
  right:5vw;
  top:50%;
  width:min(35vw,570px);
  transform:translateY(-46%);
  padding:39px 38px 35px;
  border-left:1px solid rgba(239,204,117,.67);
  background:linear-gradient(100deg,rgba(5,5,5,.72),rgba(5,5,5,.94) 70%,rgba(5,5,5,.98));
  backdrop-filter:blur(9px);
  opacity:0;
  transition:opacity .72s ease .38s,transform .84s cubic-bezier(.22,.61,.36,1) .38s;
}

.chairman-production.is-active .cp-copy {
  opacity:1;
  transform:translateY(-50%);
}

.cp-eyebrow {
  display:block;
  margin-bottom:24px;
  color:var(--cp-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.38em;
}

.cp-copy h2 {
  margin:0;
  font:400 clamp(2.9rem,4.65vw,5.2rem)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
}

.cp-copy h2 span,
.cp-copy h2 strong { display:block; }

.cp-copy h2 strong {
  margin-top:8px;
  color:var(--cp-bright);
  font-weight:400;
}

.cp-copy > p {
  margin:27px 0 2px;
  color:var(--cp-muted);
  font:400 1.12rem/1.5 Georgia,serif;
}

.cp-copy h3 {
  margin:0;
  color:var(--cp-bright);
  font:400 clamp(1.8rem,2.7vw,2.9rem)/1.2 Georgia,serif;
}

.cp-signature {
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:25px;
}

.cp-signature::before {
  content:"";
  width:48px;
  height:1px;
  background:var(--cp-gold);
}

.cp-signature span {
  color:var(--cp-bright);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:clamp(2.1rem,3.2vw,3.3rem);
  line-height:1;
}

.cp-signature small {
  color:rgba(245,241,232,.58);
  font-size:7px;
  letter-spacing:.23em;
  text-transform:uppercase;
}

.cp-button {
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:50px;
  margin-top:29px;
  padding:0 23px;
  border:1px solid var(--cp-gold);
  color:#080808;
  background:var(--cp-bright);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-decoration:none;
  text-transform:uppercase;
}

@media(max-width:760px) {
  .drive-approved-hero {
    min-height:auto;
  }

  .drive-approved-hero img {
    min-height:0;
    height:auto;
    object-fit:contain;
  }

  .drive-approved-hero__coverage {
    right:2%;
    top:2%;
    width:24%;
    height:7%;
  }

  .promise-cinematic .pc-copy {
    top:120px !important;
  }

  .chairman-production {
    min-height:820px;
  }

  .cp-office {
    inset:18px 0 250px;
    background-size:auto 570px;
    background-position:35% top;
  }

  .cp-vignette {
    background:linear-gradient(180deg,transparent 0%,rgba(5,5,5,.07) 49%,#050505 69%,#050505 100%);
  }

  .cp-copy {
    left:24px;
    right:24px;
    top:auto;
    bottom:32px;
    width:auto;
    transform:none;
    padding:28px 24px;
  }

  .chairman-production.is-active .cp-copy {
    transform:none;
  }

  .cp-button {
    width:100%;
    justify-content:center;
  }
}


/* ==========================================================
   v7.2 — Approved hero + immediate top navigation
   ========================================================== */

.drive-approved-hero {
  position:relative;
  width:100%;
  overflow:hidden;
  background:#000;
}

.drive-approved-hero picture,
.drive-approved-hero img {
  display:block;
  width:100%;
}

.drive-approved-hero img {
  height:auto;
  object-fit:contain;
  object-position:center top;
}

/* Real transparent links aligned over the navigation baked into the approved hero. */
.drive-approved-hero__nav {
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
}

.drive-approved-hero__link {
  position:absolute;
  top:1.55%;
  height:5.9%;
  display:block;
  pointer-events:auto;
  border:1px solid transparent;
  background:transparent;
}

.drive-approved-hero__link:focus-visible {
  outline:2px solid #efcc75;
  outline-offset:3px;
  background:rgba(239,204,117,.06);
}

.drive-approved-hero__link--protection {
  left:48.4%;
  width:8.1%;
}

.drive-approved-hero__link--coverage {
  left:57.2%;
  width:11.7%;
}

.drive-approved-hero__link--claims {
  left:69.7%;
  width:6.2%;
}

.drive-approved-hero__link--difference {
  left:76.4%;
  width:12.5%;
}

.drive-approved-hero__link--investment {
  left:89.2%;
  width:10.0%;
}

#protection,
#coverage,
#claims,
#chairman {
  scroll-margin-top:96px;
}

html {
  scroll-behavior:smooth;
}

@media(max-width:760px) {
  .drive-approved-hero__link {
    top:1.1%;
    height:7%;
  }

  .drive-approved-hero__link--protection {
    left:41.2%;
    width:11.0%;
  }

  .drive-approved-hero__link--coverage {
    left:52.5%;
    width:14.5%;
  }

  .drive-approved-hero__link--claims {
    left:67.4%;
    width:8.4%;
  }

  .drive-approved-hero__link--difference {
    left:76.2%;
    width:14.0%;
  }

  .drive-approved-hero__link--investment {
    left:90.3%;
    width:9.2%;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}


/* ==========================================================
   v7.3 FINAL — fitted hero and exact artwork navigation
   ========================================================== */

/* Full-width black stage prevents the page background showing beside the art. */
.drive-approved-hero {
  position:relative !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  overflow:hidden !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  background:#000 !important;
}

/* The artboard always keeps the exact 1366 × 768 proportions of the approved hero. */
.drive-approved-hero__artboard {
  position:relative;
  width:min(100vw, calc((100vh - 32px) * 1.7786458333));
  aspect-ratio:1366 / 768;
  flex:0 0 auto;
  background:#000;
}

.drive-approved-hero__artboard picture,
.drive-approved-hero__artboard img {
  display:block;
  width:100%;
  height:100%;
}

.drive-approved-hero__artboard img {
  object-fit:contain !important;
  object-position:center top !important;
}

/* The transparent navigation now follows the image artboard—not the page container. */
.drive-approved-hero__nav {
  position:absolute !important;
  inset:0 !important;
  z-index:99999 !important;
  pointer-events:none !important;
}

.drive-approved-hero__link {
  position:absolute !important;
  top:0 !important;
  height:6.4% !important;
  display:block !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  border:1px solid transparent !important;
  background:transparent !important;
}

/* Coordinates measured from the actual 1366 × 768 approved hero artwork. */
.drive-approved-hero__link--protection {
  left:30.3% !important;
  width:9.7% !important;
}

.drive-approved-hero__link--coverage {
  left:40.0% !important;
  width:12.7% !important;
}

.drive-approved-hero__link--claims {
  left:53.2% !important;
  width:6.6% !important;
}

.drive-approved-hero__link--difference {
  left:59.6% !important;
  width:17.3% !important;
}

.drive-approved-hero__link--investment {
  left:79.5% !important;
  width:17.0% !important;
}

.drive-approved-hero__link:hover,
.drive-approved-hero__link:focus-visible {
  background:rgba(239,204,117,.045) !important;
  outline:2px solid rgba(239,204,117,.75) !important;
  outline-offset:-2px !important;
}

@media(max-width:782px) {
  .drive-approved-hero__artboard {
    width:100vw;
    max-height:none;
  }

  .drive-approved-hero__link {
    height:7.5% !important;
  }
}


/* ==========================================================
   v7.5 STABLE — final hero only
   ========================================================== */

.hero-art-button-covers,
.hero-art-button-cover,
.hero-button-covers,
.hero-button-cover,
.hero-hotspots,
.hero-hotspot,
.drive-hero__hotspots,
.drive-mobile-bar {
  display:none !important;
  pointer-events:none !important;
}

.drive-approved-hero {
  position:relative !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#000 !important;
}

.drive-approved-hero__artboard {
  position:relative !important;
  width:100vw !important;
  aspect-ratio:1366 / 768 !important;
  margin:0 !important;
  background:#000 !important;
}

.drive-approved-hero__artboard picture,
.drive-approved-hero__artboard img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
}

.drive-approved-hero__artboard img {
  object-fit:cover !important;
  object-position:center top !important;
}

.drive-approved-hero__nav {
  position:absolute !important;
  inset:0 !important;
  z-index:999999 !important;
  pointer-events:none !important;
}

.drive-approved-hero__link {
  position:absolute !important;
  top:0 !important;
  height:6.7% !important;
  display:block !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  background:transparent !important;
  border:0 !important;
}

.drive-approved-hero__link--protection { left:30.0% !important; width:9.6% !important; }
.drive-approved-hero__link--coverage { left:41.1% !important; width:13.0% !important; }
.drive-approved-hero__link--claims { left:55.5% !important; width:7.0% !important; }
.drive-approved-hero__link--difference { left:62.2% !important; width:15.4% !important; }
.drive-approved-hero__link--investment { left:81.2% !important; width:17.0% !important; }

.drive-approved-hero__link:focus-visible {
  outline:2px solid #efcc75 !important;
  outline-offset:-3px !important;
  background:rgba(239,204,117,.05) !important;
}

#protection,
#coverage,
#claims,
#chairman {
  scroll-margin-top:96px;
}

@media(max-width:782px) {
  .drive-approved-hero__link {
    height:8% !important;
  }
}

/* =========================================================
   DRIVE Black Label v7.6 — Mechanic Mr. D + DRIVE Insights
   ========================================================= */
:root {
  --di-black:#050505;
  --di-black-soft:#0b0b0b;
  --di-gold:#d5a844;
  --di-gold-bright:#f0cf79;
  --di-white:#f7f4ed;
  --di-muted:#aaa49b;
  --di-line:rgba(213,168,68,.26);
}

.di-page,
.home-insights,
.service-confidence,
.service-finale { background:var(--di-black); color:var(--di-white); }

.di-shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.di-kicker,
.di-section-heading > span,
.di-callout span,
.di-article-cta span,
.di-mrd-note span {
  color:var(--di-gold-bright);
  font-size:11px;
  font-weight:800;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.di-button {
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding:16px 22px;
  border:1px solid var(--di-gold);
  background:linear-gradient(135deg,rgba(213,168,68,.14),rgba(5,5,5,.3));
  color:var(--di-gold-bright)!important;
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  text-decoration:none!important;
  text-transform:uppercase;
  transition:.25s ease;
}
.di-button:hover { background:var(--di-gold-bright); color:#050505!important; transform:translateY(-2px); }
.di-button span,
.di-text-link span { transition:transform .25s ease; }
.di-button:hover span,
.di-text-link:hover span { transform:translateX(5px); }
.di-secondary { color:var(--di-white)!important; font-size:11px; font-weight:800; letter-spacing:.13em; text-decoration:none!important; text-transform:uppercase; border-bottom:1px solid var(--di-gold); padding-bottom:7px; }
.di-glow { position:absolute; width:75%; aspect-ratio:1; left:50%; top:48%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(232,188,76,.34),rgba(213,168,68,.08) 42%,transparent 70%); filter:blur(7px); }

/* Mechanic Mr. D confidence scene */
.service-confidence { position:relative; overflow:hidden; padding:105px 0 40px; border-top:1px solid var(--di-line); border-bottom:1px solid var(--di-line); }
.service-confidence::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 76% 43%,rgba(213,168,68,.12),transparent 37%),linear-gradient(100deg,#050505 0%,#050505 54%,#090806 100%); }
.service-confidence__grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; min-height:650px; }
.service-confidence__copy { position:relative; z-index:2; max-width:640px; }
.service-confidence h2 { margin:20px 0 24px; font:400 clamp(3.2rem,5.6vw,6rem)/.96 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.service-confidence h2 span,
.service-confidence h2 strong { display:block; }
.service-confidence h2 strong { color:var(--di-gold-bright); font-weight:400; }
.service-confidence p { max-width:600px; color:#d6d1c8; font-size:clamp(1.05rem,1.5vw,1.3rem); line-height:1.75; }
.service-confidence__actions { display:flex; align-items:center; gap:28px; margin-top:36px; flex-wrap:wrap; }
.service-confidence__mrd { position:relative; align-self:end; min-height:610px; }
.service-confidence__mrd img { position:absolute; z-index:1; right:-2%; bottom:-2px; width:min(590px,100%); height:auto; filter:drop-shadow(0 25px 35px rgba(0,0,0,.72)); }

/* Home Insights module */
.home-insights { position:relative; overflow:hidden; padding:100px 0 0; border-top:1px solid var(--di-line); }
.home-insights::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,#050505 0%,#050505 56%,#0c0a06 100%); }
.home-insights__grid { position:relative; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; min-height:590px; }
.home-insights__copy { position:relative; z-index:2; padding-bottom:90px; }
.home-insights h2 { margin:18px 0 24px; font:400 clamp(3rem,5vw,5.7rem)/.98 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.home-insights h2 strong { color:var(--di-gold-bright); font-weight:400; }
.home-insights p { max-width:610px; margin-bottom:34px; color:#d5d0c7; font-size:1.17rem; line-height:1.75; }
.home-insights__mrd { position:relative; align-self:end; min-height:530px; }
.home-insights__mrd img { position:absolute; right:0; bottom:0; z-index:1; width:min(520px,100%); filter:drop-shadow(0 24px 38px rgba(0,0,0,.8)); }

/* Insights archive */
.di-hero { position:relative; overflow:hidden; min-height:720px; padding-top:80px; background:linear-gradient(115deg,#050505 0%,#050505 59%,#100d07 100%); border-bottom:1px solid var(--di-line); }
.di-hero__grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; min-height:640px; }
.di-hero__copy { position:relative; z-index:2; padding:55px 0 70px; }
.di-hero h1 { margin:21px 0 25px; font:400 clamp(4rem,7vw,7.5rem)/.91 Georgia,"Times New Roman",serif; letter-spacing:-.055em; }
.di-hero h1 strong { color:var(--di-gold-bright); font-weight:400; }
.di-hero__copy p { max-width:620px; margin:0 0 34px; color:#d5d0c7; font-size:1.22rem; line-height:1.75; }
.di-hero__mrd { position:relative; align-self:end; min-height:620px; }
.di-hero__mrd img { position:absolute; z-index:1; right:-5%; bottom:0; width:min(610px,105%); filter:drop-shadow(0 28px 42px rgba(0,0,0,.82)); }
.di-index { padding:105px 0 120px; background:#f5f1e8; color:#121212; }
.di-section-heading { max-width:780px; margin-bottom:48px; }
.di-section-heading h2 { margin:13px 0 17px; font:400 clamp(2.5rem,4.6vw,4.8rem)/1 Georgia,"Times New Roman",serif; letter-spacing:-.04em; }
.di-section-heading p { color:#5f5a52; font-size:1.13rem; line-height:1.7; }
.di-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.di-card { position:relative; display:flex; flex-direction:column; min-height:330px; padding:30px; border:1px solid rgba(29,24,16,.14); background:#fff; box-shadow:0 16px 45px rgba(20,16,8,.06); }
.di-card__meta { display:flex; justify-content:space-between; gap:15px; margin-bottom:26px; color:#9b7425; font-size:9px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.di-card__meta small { color:#8c877e; font-size:9px; }
.di-card h3 { margin:0 0 16px; font:400 1.72rem/1.14 Georgia,"Times New Roman",serif; }
.di-card h3 a { color:#131313; text-decoration:none; }
.di-card p { margin:0 0 28px; color:#676158; line-height:1.65; }
.di-text-link { margin-top:auto; color:#8e6718!important; font-size:10px; font-weight:800; letter-spacing:.13em; text-decoration:none!important; text-transform:uppercase; }
.di-callout { padding:82px 0; background:#090909; border-top:1px solid var(--di-line); }
.di-callout__inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.di-callout h2 { margin:12px 0; font:400 clamp(2.3rem,4vw,4.2rem)/1 Georgia,"Times New Roman",serif; }
.di-callout p { color:#b8b2a9; }
.di-callout a { color:var(--di-gold-bright)!important; font:400 clamp(2rem,4vw,4rem)/1 Georgia,"Times New Roman",serif; text-decoration:none!important; }

/* Single article */
.di-article-hero { position:relative; overflow:hidden; padding:100px 0 0; background:linear-gradient(115deg,#050505 0%,#050505 62%,#100d07 100%); border-bottom:1px solid var(--di-line); }
.di-article-hero__inner { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; min-height:570px; }
.di-article-hero__copy { position:relative; z-index:2; padding:65px 0 85px; }
.di-back { display:inline-block; margin-bottom:34px; color:#c7a34f!important; font-size:10px; font-weight:800; letter-spacing:.17em; text-decoration:none!important; text-transform:uppercase; }
.di-article-hero h1 { max-width:850px; margin:18px 0 24px; font:400 clamp(3.4rem,6vw,6.6rem)/.95 Georgia,"Times New Roman",serif; letter-spacing:-.05em; }
.di-article-hero__copy > p { max-width:700px; color:#d2cdc4; font-size:1.2rem; line-height:1.7; }
.di-article-hero__mrd { position:relative; min-height:500px; }
.di-article-hero__mrd img { position:absolute; z-index:1; right:-5%; bottom:0; width:min(495px,105%); filter:drop-shadow(0 26px 40px rgba(0,0,0,.85)); }
.di-article { background:#f7f4ed; color:#171717; }
.di-article__body { width:min(790px,calc(100% - 48px)); margin:0 auto; padding:92px 0 110px; font:400 1.16rem/1.86 Georgia,"Times New Roman",serif; }
.di-article__body p { margin:0 0 1.55em; }
.di-article__body h2 { margin:2.1em 0 .7em; font:400 clamp(2rem,3.2vw,3rem)/1.08 Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
.di-article__body blockquote { margin:2.2em -70px; padding:34px 45px; border-left:3px solid var(--di-gold); background:#ede7db; color:#211d17; font:400 clamp(1.55rem,2.6vw,2.35rem)/1.35 Georgia,"Times New Roman",serif; }
.di-article__body ul { margin:0 0 2em 1.3em; }
.drive-dropcap:first-letter { float:left; margin:.08em .12em 0 0; color:#ad7e1f; font:400 4.7em/.72 Georgia,"Times New Roman",serif; }
.di-mrd-note { display:grid; grid-template-columns:180px 1fr; align-items:center; gap:30px; margin-top:65px; padding:30px 34px 20px; overflow:hidden; background:#090909; color:#f5f1e8; }
.di-mrd-note img { align-self:end; width:180px; margin-bottom:-21px; }
.di-mrd-note p { margin:10px 0 8px; font-size:1.08rem; line-height:1.55; }
.di-mrd-note strong { color:var(--di-gold-bright); font-family:"Brush Script MT","Segoe Script",cursive; font-size:1.7rem; font-weight:400; }
.di-article-cta { padding:90px 0; text-align:center; background:#090909; }
.di-article-cta h2 { margin:14px 0 15px; font:400 clamp(2.8rem,5vw,5.2rem)/1 Georgia,"Times New Roman",serif; }
.di-article-cta p { margin:0 auto 32px; max-width:650px; color:#b8b2a9; font-size:1.12rem; line-height:1.7; }
.di-continue { padding:95px 0 115px; background:#f1ece3; color:#151515; }

/* Mechanic finale */
.service-finale { position:relative; overflow:hidden; padding:70px 0 0; border-top:1px solid var(--di-line); }
.service-finale::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 26% 48%,rgba(213,168,68,.14),transparent 37%),#050505; }
.service-finale__grid { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; min-height:650px; }
.service-finale__mrd { position:relative; align-self:end; min-height:600px; }
.service-finale__mrd img { position:absolute; z-index:1; left:-3%; bottom:0; width:min(580px,105%); filter:drop-shadow(0 28px 44px rgba(0,0,0,.85)); }
.service-finale__copy { position:relative; z-index:2; padding:70px 0 100px 40px; }
.service-finale h2 { margin:19px 0 24px; font:400 clamp(3rem,5vw,5.3rem)/.98 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.service-finale p { max-width:600px; margin-bottom:34px; color:#d2cdc4; font-size:1.18rem; line-height:1.75; }

@media(max-width:900px) {
  .di-shell { width:min(100% - 30px,1180px); }
  .service-confidence__grid,
  .home-insights__grid,
  .di-hero__grid,
  .di-article-hero__inner,
  .service-finale__grid { grid-template-columns:1fr; }
  .service-confidence__copy,
  .home-insights__copy,
  .di-hero__copy,
  .di-article-hero__copy,
  .service-finale__copy { padding-left:0; padding-right:0; }
  .service-confidence__mrd { min-height:480px; }
  .home-insights__mrd { min-height:450px; }
  .di-hero__mrd { min-height:500px; }
  .di-article-hero__mrd { min-height:420px; }
  .service-finale__mrd { order:2; min-height:500px; }
  .service-finale__copy { order:1; }
  .di-card-grid { grid-template-columns:1fr 1fr; }
  .di-article__body blockquote { margin:2em 0; }
}

@media(max-width:620px) {
  .service-confidence { padding-top:75px; }
  .service-confidence__grid { min-height:auto; }
  .service-confidence h2,
  .home-insights h2,
  .di-hero h1,
  .di-article-hero h1,
  .service-finale h2 { font-size:clamp(2.65rem,13vw,4rem); }
  .service-confidence__mrd { min-height:390px; }
  .home-insights { padding-top:76px; }
  .home-insights__copy { padding-bottom:25px; }
  .home-insights__mrd { min-height:390px; }
  .di-hero { padding-top:45px; }
  .di-hero__copy { padding-bottom:20px; }
  .di-hero__mrd { min-height:410px; }
  .di-card-grid { grid-template-columns:1fr; }
  .di-callout__inner { align-items:flex-start; flex-direction:column; }
  .di-article-hero__copy { padding:55px 0 20px; }
  .di-article-hero__mrd { min-height:360px; }
  .di-article__body { width:min(100% - 34px,790px); padding:68px 0 80px; font-size:1.07rem; }
  .di-mrd-note { grid-template-columns:105px 1fr; gap:18px; padding:24px 20px 15px; }
  .di-mrd-note img { width:115px; }
  .service-finale__copy { padding-bottom:25px; }
  .service-finale__mrd { min-height:430px; }
}


/* =========================================================
   DRIVE Black Label v7.7 — launch polish
   ========================================================= */
.di-hero__mrd img,
.di-article-hero__mrd img,
.home-insights__mrd img,
.service-confidence__mrd img,
.service-finale__mrd img,
.di-mrd-note img {
  background:transparent !important;
  mix-blend-mode:normal !important;
}

/* Dark editorial cards: easier on the eyes and consistent with Black Label */
.di-index,
.di-continue {
  background:#070707 !important;
  color:var(--di-white) !important;
}
.di-section-heading p { color:#bcb6ad !important; }
.di-card {
  min-height:340px;
  padding:32px;
  border:1px solid rgba(213,168,68,.34) !important;
  background:linear-gradient(145deg,#121212 0%,#090909 100%) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.42) !important;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.di-card:hover {
  transform:translateY(-5px);
  border-color:rgba(240,207,121,.78) !important;
  box-shadow:0 24px 58px rgba(0,0,0,.62) !important;
}
.di-card h3 a { color:#f7f4ed !important; }
.di-card p { color:#beb8af !important; }
.di-card__meta small { color:#8e887e !important; }
.di-text-link { color:var(--di-gold-bright)!important; }

/* Article reading surface: warm charcoal instead of a harsh white box */
.di-article { background:#080808 !important; color:#eee9df !important; }
.di-article__body {
  width:min(850px,calc(100% - 48px));
  color:#e7e1d7 !important;
  font-size:1.2rem;
  line-height:1.9;
}
.di-article__body h2 { color:#fffaf0 !important; }
.di-article__body a { color:var(--di-gold-bright) !important; }
.di-article__body blockquote {
  border-left-color:var(--di-gold-bright) !important;
  background:#13110d !important;
  color:#fff6df !important;
}
.drive-dropcap:first-letter { color:var(--di-gold-bright) !important; }
.di-mrd-note {
  border:1px solid rgba(213,168,68,.34);
  background:linear-gradient(135deg,#121212,#080808) !important;
}

/* Give Mr. D a cinematic black stage instead of any visible white edge */
.di-hero__mrd,
.di-article-hero__mrd,
.home-insights__mrd {
  isolation:isolate;
}
.di-hero__mrd::after,
.di-article-hero__mrd::after,
.home-insights__mrd::after {
  content:"";
  position:absolute;
  z-index:0;
  inset:15% 2% 0 8%;
  background:radial-gradient(circle at 52% 38%,rgba(228,182,67,.22),rgba(5,5,5,.08) 42%,transparent 70%);
  filter:blur(10px);
}
.di-hero__mrd img,
.di-article-hero__mrd img,
.home-insights__mrd img { z-index:2 !important; }

/* Slightly tighter archive hero for better balance */
.di-hero__grid { grid-template-columns:1.18fr .82fr; }
.di-hero__mrd img { right:0 !important; width:min(540px,100%) !important; }
.di-article-hero__inner { grid-template-columns:1.2fr .8fr; }
.di-article-hero__mrd img { right:0 !important; width:min(440px,100%) !important; }

@media(max-width:900px){
  .di-hero__grid,.di-article-hero__inner{grid-template-columns:1fr;}
}

/* =========================================================
   DRIVE Black Label v7.8 — approved launch hero
   ========================================================= */
.drive-approved-hero,
.drive-approved-hero__artboard {
  background:#000 !important;
}
.drive-approved-hero__artboard::before,
.drive-approved-hero__artboard::after {
  content:none !important;
  display:none !important;
}
.drive-approved-hero__artboard > picture,
.drive-approved-hero__artboard > picture > img {
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
/* Exact header hit areas for the approved 1366x768 composite. */
.drive-approved-hero__link--protection { left:30.0% !important; width:9.6% !important; }
.drive-approved-hero__link--coverage { left:41.1% !important; width:13.0% !important; }
.drive-approved-hero__link--claims { left:55.5% !important; width:7.0% !important; }
.drive-approved-hero__link--difference { left:62.2% !important; width:15.4% !important; }
.drive-approved-hero__link--investment { left:81.2% !important; width:17.0% !important; }
