
:root {
  --black: #08090b;
  --black-2: #0e1013;
  --black-3: #15181c;
  --surface: #1a1d22;
  --surface-2: #21252b;
  --red: #e10600;
  --red-hot: #ff2a22;
  --silver: #aeb1b7;
  --silver-2: #d7d9de;
  --white: #ffffff;
  --paper: #f4f4f2;
  --paper-2: #ececea;
  --ink: #131518;
  --muted: #686b72;
  --line-dark: rgba(255,255,255,.12);
  --line-light: #d7d8dc;
  --green: #2b8a57;
  --amber: #a36c00;
  --container: 1460px;
  --header-height: 82px;
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 16px;
  --shadow: 0 30px 90px rgba(0,0,0,.18);
  --font-scale: 1;
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  font-size: calc(16px * var(--font-scale));
}
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
body.large-text { --font-scale: 1.1; }
body.drawer-open { overflow: hidden; }

img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }

[hidden] { display: none !important; }

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

.skip-link {
  position: fixed;
  z-index: 1000;
  left: 18px;
  top: -80px;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--white);
  color: var(--black);
  font-weight: 850;
  transition: top .18s;
}
.skip-link:focus { top: 18px; }

.prototype-strip {
  min-height: 30px;
  padding: 7px 18px;
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  background: #3a0805;
  color: #ffd5d2;
  font-size: .68rem;
  letter-spacing: .035em;
  text-align: center;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 70;
  min-height: var(--header-height);
  background: rgba(8,9,11,.93);
  border-bottom: 1px solid var(--line-dark);
  backdrop-filter: blur(18px);
}
.header-shell {
  width: min(var(--container), calc(100% - 36px));
  min-height: var(--header-height);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 290px) 1fr auto;
  align-items: center;
  gap: 28px;
}
.brand-link {
  display: inline-flex;
  align-items: center;
  width: min(265px, 100%);
  min-width: 0;
}
.brand-link img {
  width: 100%;
  height: 62px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.25));
}

.primary-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(20px, 2.2vw, 38px);
}
.primary-nav a {
  position: relative;
  color: #c8c9ce;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 740;
}
.primary-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -9px;
  height: 2px;
  background: var(--red);
  transition: right .18s;
}
.primary-nav a:hover,
.primary-nav a[aria-current="page"] { color: var(--white); }
.primary-nav a:hover::after,
.primary-nav a[aria-current="page"]::after { right: 0; }

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header-phone {
  color: var(--white);
  text-decoration: none;
  font-size: .76rem;
  font-weight: 850;
  white-space: nowrap;
}
.text-size-button,
.header-call-icon {
  width: 39px;
  height: 39px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  background: transparent;
  color: var(--white);
  font-size: .74rem;
  font-weight: 900;
  cursor: pointer;
}

.header-call-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 39px;
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}

.header-call-icon svg {
  width: 17px;
  height: 17px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header-call-icon:hover,
.header-call-icon:focus-visible {
  color: #fff;
  border-color: rgba(225,6,0,.82);
  background: rgba(225,6,0,.12);
  transform: translateY(-1px);
}
.menu-trigger {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: var(--white);
  cursor: pointer;
}
.menu-label {
  font-size: .72rem;
  font-weight: 850;
}
.menu-icon {
  width: 18px;
  display: grid;
  gap: 5px;
}
.menu-icon i {
  display: block;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
.menu-trigger[aria-expanded="true"] .menu-icon i:first-child {
  transform: translateY(3.5px) rotate(45deg);
}
.menu-trigger[aria-expanded="true"] .menu-icon i:last-child {
  transform: translateY(-3.5px) rotate(-45deg);
}

.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(4px);
}
.navigation-drawer {
  position: fixed;
  z-index: 90;
  top: 0;
  right: 0;
  width: min(620px, 100%);
  height: 100dvh;
  overflow-y: auto;
  background:
    radial-gradient(circle at 90% 8%, rgba(225,6,0,.16), transparent 25%),
    linear-gradient(150deg, #121418, #090a0c 72%);
  color: var(--white);
  border-left: 1px solid rgba(255,255,255,.12);
  box-shadow: -30px 0 80px rgba(0,0,0,.42);
}
.drawer-header {
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 28px;
  border-bottom: 1px solid var(--line-dark);
}
.drawer-header img {
  width: 220px;
  height: 64px;
  object-fit: contain;
  object-position: left;
}
.drawer-close {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
}
.drawer-content { padding: 40px 28px 36px; }
.drawer-intro h2 {
  margin: 7px 0 10px;
  max-width: 480px;
  font-size: clamp(2rem, 4.5vw, 3.6rem);
  line-height: .98;
  letter-spacing: -.05em;
}
.drawer-intro p {
  margin: 0;
  max-width: 430px;
  color: #aeb0b6;
}
.drawer-links {
  display: grid;
  margin-top: 42px;
  border-top: 1px solid var(--line-dark);
}
.drawer-links a {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  min-height: 58px;
  border-bottom: 1px solid var(--line-dark);
  color: #efeff2;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 740;
}
.drawer-links a span {
  color: var(--red);
  font-size: .66rem;
  letter-spacing: .1em;
}
.drawer-links a:hover { padding-left: 8px; }
.drawer-contact {
  display: grid;
  gap: 5px;
  margin-top: 34px;
  color: #9b9da4;
  font-size: .76rem;
}
.drawer-contact a {
  color: var(--white);
  text-decoration: none;
  font-weight: 750;
}

.button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 21px;
  border: 0;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 850;
  cursor: pointer;
  transition: transform .18s, box-shadow .18s, background .18s;
}
.button:hover { transform: translateY(-2px); }
.button-small {
  min-height: 44px;
  padding: 9px 15px;
  font-size: .73rem;
}
.button-red {
  background: var(--red);
  color: var(--white);
  box-shadow: 0 14px 35px rgba(225,6,0,.22);
}
.button-red:hover { background: var(--red-hot); }
.button-dark {
  background: var(--black);
  color: var(--white);
}
.button-light {
  background: var(--white);
  color: var(--black);
}
.button-outline {
  border: 1px solid #b7b9bf;
  background: transparent;
  color: var(--ink);
}
.button-ghost {
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.035);
  color: var(--white);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: inherit;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  background: var(--red);
}

.hero-v3 {
  position: relative;
  overflow: hidden;
  min-height: 760px;
  display: grid;
  align-items: center;
  background:
    radial-gradient(circle at 82% 18%, rgba(225,6,0,.18), transparent 23%),
    linear-gradient(135deg, #090a0c 0%, #12151a 48%, #07080a 100%);
  color: var(--white);
}
.hero-v3::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: linear-gradient(to bottom, black, transparent 86%);
}
.hero-v3::after {
  content: "RK";
  position: absolute;
  right: -2vw;
  bottom: -12vw;
  color: rgba(255,255,255,.025);
  font-size: clamp(18rem, 35vw, 42rem);
  font-weight: 950;
  letter-spacing: -.18em;
  line-height: .8;
}
.hero-v3-shell {
  position: relative;
  z-index: 2;
  width: min(var(--container), calc(100% - 36px));
  margin: auto;
  padding: 86px 0 96px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: 62px;
  align-items: center;
}
.hero-copy-v3 { max-width: 760px; }
.hero-copy-v3 h1 {
  margin: 18px 0 0;
  font-size: clamp(3.1rem, 5.5vw, 6.6rem);
  line-height: .94;
  letter-spacing: -.06em;
  font-weight: 880;
}
.hero-copy-v3 h1 span {
  display: block;
  margin-top: 13px;
  color: #aeb0b7;
  font-weight: 680;
}
.hero-copy-v3 p {
  max-width: 660px;
  margin: 26px 0 0;
  color: #c0c2c8;
  font-size: clamp(.98rem, 1.2vw, 1.18rem);
}
.hero-actions {
  display: flex;
  gap: 11px;
  flex-wrap: wrap;
  margin-top: 31px;
}
.hero-microcopy {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 24px;
  color: #7f8289;
  font-size: .68rem;
}
.hero-microcopy span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.hero-microcopy span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--red);
}

.search-console {
  position: relative;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.075), rgba(255,255,255,.018));
  box-shadow: 0 38px 90px rgba(0,0,0,.36);
  backdrop-filter: blur(18px);
}
.console-topline {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.console-topline strong {
  font-size: .82rem;
  letter-spacing: .04em;
}
.live-dot {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #b7bac0;
  font-size: .66rem;
}
.live-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 7px rgba(225,6,0,.12);
}
.brief-list {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}
.brief-item {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 15px;
  background: rgba(0,0,0,.24);
  border: 1px solid rgba(255,255,255,.08);
}
.brief-index {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #24272d;
  color: var(--red);
  font-size: .65rem;
  font-weight: 900;
}
.brief-item strong {
  display: block;
  font-size: .78rem;
}
.brief-item small {
  display: block;
  margin-top: 2px;
  color: #8c8f96;
  font-size: .62rem;
}
.brief-status {
  color: #c8cad0;
  font-size: .62rem;
  font-weight: 800;
  white-space: nowrap;
}
.console-proof {
  margin-top: 15px;
  padding: 17px;
  border-radius: 16px;
  background:
    linear-gradient(110deg, rgba(225,6,0,.14), rgba(225,6,0,.035));
  border: 1px solid rgba(225,6,0,.24);
}
.console-proof strong {
  display: block;
  margin-bottom: 4px;
}
.console-proof span {
  color: #b5b7bd;
  font-size: .7rem;
}

.brand-rail {
  padding: 24px max(18px, calc((100vw - var(--container))/2));
  background: #0d0f12;
  color: var(--white);
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand-rail-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
}
.brand-rail-header span {
  color: #7f8289;
  font-size: .64rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.brand-rail-header small {
  color: #686b72;
  font-size: .6rem;
}
.brand-wordmarks {
  display: grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  overflow: hidden;
}
.brand-wordmarks span {
  min-height: 60px;
  display: grid;
  place-items: center;
  padding: 8px;
  color: #bec0c5;
  border-right: 1px solid rgba(255,255,255,.08);
  font-size: .72rem;
  font-weight: 780;
  letter-spacing: .02em;
  text-align: center;
}
.brand-wordmarks span:last-child { border-right: 0; }
.brand-wordmarks span:hover {
  color: var(--white);
  background: rgba(255,255,255,.04);
}

.section {
  padding: 105px max(18px, calc((100vw - var(--container))/2));
}
.section-light { background: var(--paper); }
.section-warm { background: var(--paper-2); }
.section-dark {
  background: var(--black-2);
  color: var(--white);
}
.section-black {
  background: var(--black);
  color: var(--white);
}

.section-heading {
  max-width: 900px;
  margin-bottom: 42px;
}
.section-heading.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section-heading h2 {
  margin: 10px 0 0;
  font-size: clamp(2.15rem, 3.6vw, 4.5rem);
  line-height: 1;
  letter-spacing: -.05em;
}
.section-heading p {
  max-width: 720px;
  margin: 18px 0 0;
  color: var(--muted);
}
.section-dark .section-heading p,
.section-black .section-heading p { color: #a8abb2; }
.section-heading.center p { margin-left: auto; margin-right: auto; }

.signal-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 15px;
}
.signal-card {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: 28px;
  border-radius: 22px;
  background: var(--white);
  border: 1px solid var(--line-light);
}
.signal-card.featured {
  background:
    radial-gradient(circle at 85% 15%, rgba(225,6,0,.22), transparent 28%),
    linear-gradient(145deg, #15181c, #0d0f12);
  color: var(--white);
  border-color: rgba(255,255,255,.1);
}
.signal-number {
  color: var(--red);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .13em;
}
.signal-card h3 {
  margin: auto 0 10px;
  font-size: 1.55rem;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.signal-card p {
  color: var(--muted);
  font-size: .8rem;
}
.signal-card.featured p { color: #a9acb3; }
.signal-card a {
  align-self: flex-start;
  margin-top: 20px;
  color: inherit;
  text-decoration: none;
  font-size: .76rem;
  font-weight: 850;
  border-bottom: 2px solid var(--red);
}

.inventory-stage {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr);
  gap: 18px;
}
.inventory-message,
.inventory-proof {
  min-height: 470px;
  padding: 42px;
  border-radius: 28px;
}
.inventory-message {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 80% 20%, rgba(225,6,0,.16), transparent 27%),
    linear-gradient(145deg, #14171b, #090a0c);
  color: var(--white);
}
.inventory-message h2 {
  margin: 10px 0 0;
  font-size: clamp(2.4rem, 4.6vw, 5.7rem);
  line-height: .94;
  letter-spacing: -.06em;
}
.inventory-message p {
  max-width: 700px;
  color: #aeb1b7;
}
.inventory-proof {
  display: grid;
  align-content: space-between;
  background: var(--red);
  color: var(--white);
}
.inventory-zero {
  font-size: clamp(7rem, 12vw, 12rem);
  line-height: .72;
  font-weight: 920;
  letter-spacing: -.08em;
}
.inventory-proof h3 {
  margin: 0;
  max-width: 320px;
  font-size: 2rem;
  line-height: 1;
}
.inventory-proof p {
  color: #ffe1df;
  font-size: .8rem;
}

.passport-stage {
  display: grid;
  grid-template-columns: minmax(310px,.7fr) minmax(0,1.3fr);
  gap: 18px;
}
.passport-lead {
  padding: 36px;
  border-radius: 26px;
  background: var(--red);
  color: var(--white);
}
.passport-lead h2 {
  margin: 8px 0 14px;
  font-size: clamp(2.3rem, 4vw, 4.8rem);
  line-height: .95;
  letter-spacing: -.055em;
}
.passport-lead p { color: #ffe0de; }
.passport-cells {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.passport-cell {
  min-height: 150px;
  padding: 22px;
  border-radius: 17px;
  background: #191c21;
  border: 1px solid rgba(255,255,255,.09);
}
.passport-cell strong {
  display: block;
  margin-bottom: 6px;
}
.passport-cell span {
  color: #9699a1;
  font-size: .74rem;
}

.editorial-statement {
  max-width: 1100px;
  margin: auto;
  text-align: center;
}
.editorial-statement blockquote {
  margin: 0;
  font-size: clamp(2.35rem, 4.8vw, 6rem);
  line-height: 1;
  letter-spacing: -.058em;
  font-weight: 860;
}
.editorial-statement blockquote span { color: var(--red); }

.method-grid,
.info-grid,
.value-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 13px;
}
.method-card,
.info-card,
.value-card {
  padding: 24px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid var(--line-light);
}
.method-card strong,
.info-card strong,
.value-card strong {
  display: block;
  margin-bottom: 7px;
}
.method-card span,
.info-card span,
.value-card span {
  color: var(--muted);
  font-size: .76rem;
}
.method-index {
  display: block;
  margin-bottom: 30px;
  color: var(--red) !important;
  font-weight: 900;
}

.page-hero {
  min-height: 465px;
  display: grid;
  align-items: end;
  padding: 88px max(18px, calc((100vw - var(--container))/2));
  background:
    radial-gradient(circle at 82% 18%, rgba(225,6,0,.16), transparent 25%),
    linear-gradient(145deg, #08090b, #15181d);
  color: var(--white);
}
.page-hero .inner { max-width: 1050px; }
.page-hero h1 {
  margin: 13px 0 0;
  font-size: clamp(2.8rem, 5vw, 6rem);
  line-height: .95;
  letter-spacing: -.06em;
}
.page-hero p {
  max-width: 730px;
  margin: 20px 0 0;
  color: #b0b3ba;
}

.content-shell {
  width: min(var(--container), calc(100% - 36px));
  margin: 0 auto;
  padding: 90px 0 120px;
}
.content-narrow {
  width: min(900px, calc(100% - 36px));
  margin: 0 auto;
  padding: 90px 0 120px;
}

.form-card {
  padding: 32px;
  border-radius: 22px;
  background: var(--white);
  border: 1px solid var(--line-light);
  box-shadow: 0 18px 55px rgba(0,0,0,.07);
}
.form-card h2,
.form-card h3 { margin-top: 0; }
.form-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
}
.form-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.field {
  display: grid;
  gap: 7px;
}
.field.full { grid-column: 1 / -1; }
.field label,
fieldset legend {
  color: #4f5258;
  font-size: .72rem;
  font-weight: 820;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #c9cbd0;
  border-radius: 11px;
  background: #fff;
  color: var(--ink);
  outline: none;
}
.field textarea {
  min-height: 130px;
  resize: vertical;
}
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 4px rgba(225,6,0,.09);
}
.choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.choice { position: relative; }
.choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.choice label {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid #c9cbd0;
  border-radius: 999px;
  cursor: pointer;
  font-size: .75rem;
  font-weight: 740;
}
.choice input:checked + label {
  border-color: var(--red);
  background: #fff0ef;
  color: #8d0d09;
}
.check-line {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 13px;
  color: #565961;
  font-size: .72rem;
}
.check-line input {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--red);
}
.form-note {
  margin: 13px 0 0;
  padding: 12px 13px;
  border-radius: 10px;
  background: #f3f3f5;
  color: #5e6168;
  font-size: .7rem;
}
.form-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 21px;
}
.form-error {
  margin-top: 13px;
  padding: 11px 13px;
  border-radius: 10px;
  background: #fff0ef;
  color: #86110c;
  font-size: .74rem;
}
.form-success {
  padding: 28px;
  border-radius: 18px;
  background: #edf8f1;
  border: 1px solid #a8cfb7;
}
.form-success h3 { color: #17613a; }

.split-layout {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(330px,.7fr);
  gap: 20px;
  align-items: start;
}
.sticky-panel {
  position: sticky;
  top: 110px;
}
.calculator-result {
  padding: 26px;
  border-radius: 22px;
  background: var(--black);
  color: var(--white);
}
.calculator-result .big-total {
  display: block;
  margin: 8px 0 5px;
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  line-height: 1;
}
.result-row {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  font-size: .76rem;
}
.result-row span { color: #a5a8af; }
.result-row strong { text-align: right; }
.result-alert {
  margin-top: 13px;
  padding: 11px;
  border-radius: 10px;
  background: rgba(225,6,0,.14);
  color: #ffd7d5;
  font-size: .68rem;
}

.guided-shell {
  max-width: 850px;
  margin: 0 auto;
}
.progress-track {
  height: 5px;
  overflow: hidden;
  border-radius: 99px;
  background: #dedfe2;
}
.progress-fill {
  height: 100%;
  width: 0;
  background: var(--red);
  transition: width .25s;
}
.guided-step {
  min-height: 410px;
  margin-top: 21px;
  padding: 34px;
  border-radius: 22px;
  background: var(--white);
  border: 1px solid var(--line-light);
}
.guided-step h2 {
  margin: 10px 0 8px;
  font-size: clamp(1.9rem, 3vw, 3.2rem);
  line-height: 1.06;
  letter-spacing: -.04em;
}
.guided-step p { color: var(--muted); }
.large-choice-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 24px;
}
.large-choice {
  min-height: 102px;
  padding: 17px;
  border: 1px solid #cdced3;
  border-radius: 15px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}
.large-choice:hover,
.large-choice.selected {
  border-color: var(--red);
  background: #fff5f4;
}
.large-choice strong {
  display: block;
}
.large-choice span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: .7rem;
}

.contact-options {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 13px;
}
.contact-option {
  padding: 24px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid var(--line-light);
}
.contact-option h3 { margin: 0 0 8px; }
.contact-option p {
  min-height: 67px;
  color: var(--muted);
  font-size: .76rem;
}
.contact-option a {
  color: var(--ink);
  font-size: .74rem;
  font-weight: 850;
  text-decoration: none;
  border-bottom: 2px solid var(--red);
}

.legal-copy h2 {
  margin-top: 40px;
  font-size: 1.45rem;
}
.legal-copy p,
.legal-copy li { color: #4d5057; }
.legal-banner {
  padding: 14px 15px;
  border: 1px solid #e4bd61;
  border-radius: 11px;
  background: #fff6d9;
  color: #6f4c00;
  font-size: .75rem;
}

.site-footer {
  padding: 66px max(18px, calc((100vw - var(--container))/2)) 24px;
  background: #08090b;
  color: var(--white);
}
.footer-main {
  display: grid;
  grid-template-columns: 1.3fr repeat(3,minmax(0,.7fr));
  gap: 36px;
}
.footer-brand img {
  width: 250px;
  height: 80px;
  object-fit: contain;
  object-position: left center;
}
.footer-brand p {
  color: #a5a8af;
  font-size: .78rem;
}
.footer-group h2 {
  margin: 0 0 14px;
  font-size: .68rem;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.footer-group a,
.footer-group p {
  display: block;
  margin: 7px 0;
  color: #a5a8af;
  text-decoration: none;
  font-size: .73rem;
}
.footer-group a:hover { color: var(--white); }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: #74777e;
  font-size: .65rem;
}

.toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 120;
  max-width: 420px;
  transform: translateY(140%);
  padding: 13px 16px;
  border-left: 4px solid var(--red);
  border-radius: 11px;
  background: #111318;
  color: #fff;
  box-shadow: var(--shadow);
  font-size: .74rem;
  transition: transform .2s;
}
.toast.show { transform: translateY(0); }
.toast.error { background: #5f0b08; }

@media (max-width: 1280px) {
  .header-shell {
    grid-template-columns: minmax(190px,240px) 1fr auto;
  }
  .header-phone { display: none; }
  .brand-wordmarks {
    grid-template-columns: repeat(6,minmax(0,1fr));
  }
  .brand-wordmarks span:nth-child(6) { border-right: 0; }
  .brand-wordmarks span:nth-child(-n+6) {
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .method-grid,
  .info-grid,
  .value-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1020px) {
  .primary-nav { display: none; }
  .header-shell {
    grid-template-columns: minmax(180px,240px) 1fr;
  }
  .header-actions { justify-self: end; }
  .hero-v3-shell {
    grid-template-columns: 1fr;
    gap: 36px;
    padding-top: 64px;
  }
  .search-console { max-width: 760px; }
  .signal-grid { grid-template-columns: 1fr 1fr; }
  .signal-card:last-child { grid-column: 1 / -1; min-height: 240px; }
  .inventory-stage,
  .passport-stage,
  .split-layout { grid-template-columns: 1fr; }
  .sticky-panel { position: static; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .prototype-strip span:last-child { display: none; }
  .header-shell {
    min-height: 72px;
    width: calc(100% - 24px);
    grid-template-columns: minmax(150px,210px) auto;
  }
  .brand-link img { height: 54px; }
  .text-size-button,
  .desktop-contact { display: none; }
  .menu-label { display: none; }
  .menu-trigger {
    width: 44px;
    padding: 10px 12px;
  }
  .hero-v3 { min-height: auto; }
  .hero-v3-shell {
    width: calc(100% - 28px);
    padding: 54px 0 66px;
  }
  .hero-copy-v3 h1 {
    font-size: clamp(2.7rem, 12vw, 4.6rem);
  }
  .search-console { padding: 20px; }
  .brief-item {
    grid-template-columns: 34px 1fr;
  }
  .brief-status { grid-column: 2; }
  .brand-wordmarks {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .brand-wordmarks span {
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .brand-wordmarks span:nth-child(3n) { border-right: 0; }
  .signal-grid,
  .passport-cells,
  .form-grid,
  .form-grid.three,
  .large-choice-grid,
  .contact-options {
    grid-template-columns: 1fr;
  }
  .signal-card:last-child { grid-column: auto; }
  .section { padding: 72px 18px; }
  .inventory-message,
  .inventory-proof { min-height: 390px; padding: 28px; }
  .page-hero {
    min-height: 390px;
    padding: 66px 18px;
  }
  .content-shell,
  .content-narrow {
    width: calc(100% - 24px);
    padding: 64px 0 88px;
  }
}

@media (max-width: 520px) {
  .navigation-drawer { width: 100%; }
  .drawer-header,
  .drawer-content { padding-left: 20px; padding-right: 20px; }
  .drawer-header img { width: 190px; }
  .hero-actions .button { width: 100%; }
  .method-grid,
  .info-grid,
  .value-grid,
  .footer-main { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .form-card,
  .guided-step { padding: 22px; }
  .footer-bottom { flex-direction: column; }
}

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


/* V3 — SSR, inventaire professionnel, dialogue accessible et conformité */

.navigation-dialog {
  width: min(620px, calc(100% - 24px));
  max-width: none;
  height: min(880px, calc(100dvh - 24px));
  max-height: none;
  margin: 12px 12px 12px auto;
  padding: 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 26px;
  background:
    radial-gradient(circle at 90% 8%, rgba(225,6,0,.16), transparent 25%),
    linear-gradient(150deg, #121418, #090a0c 72%);
  color: var(--white);
  box-shadow: -30px 0 80px rgba(0,0,0,.42);
  overflow-y: auto;
}
.navigation-dialog::backdrop {
  background: rgba(0,0,0,.66);
  backdrop-filter: blur(5px);
}
.navigation-dialog[open] { display: block; }

.anti-bot-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.quick-search {
  margin-bottom: 24px;
  padding: 18px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid var(--line-light);
  box-shadow: 0 14px 40px rgba(0,0,0,.06);
}
.quick-search label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
}
.quick-search-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}
.quick-search-row input {
  min-height: 52px;
  padding: 12px 15px;
  border: 1px solid #c8cad0;
  border-radius: 999px;
  outline: none;
}
.quick-search-row input:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 4px rgba(225,6,0,.09);
}

.inventory-section { padding-top: 54px; }
.inventory-toolbar {
  display: grid;
  grid-template-columns: minmax(0,1fr) 260px auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
  padding: 17px;
  border: 1px solid var(--line-light);
  border-radius: 18px;
  background: var(--white);
  box-shadow: 0 12px 32px rgba(0,0,0,.05);
}
.inventory-search,
.inventory-sort { display: grid; gap: 6px; }
.inventory-toolbar label,
.filter-panel label {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 800;
}
.inventory-toolbar input,
.inventory-toolbar select,
.filter-panel input,
.filter-panel select {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #c9cbd0;
  border-radius: 11px;
  background: var(--white);
  color: var(--ink);
}

.inventory-layout {
  display: grid;
  grid-template-columns: 290px minmax(0,1fr);
  gap: 18px;
  align-items: start;
}
.filter-panel {
  position: sticky;
  top: 105px;
  padding: 20px;
  border: 1px solid var(--line-light);
  border-radius: 18px;
  background: var(--white);
}
.filter-panel h2 { margin: 0 0 15px; font-size: 1.1rem; }
.filter-grid { display: grid; gap: 11px; }
.filter-grid label { display: grid; gap: 5px; }
.filter-panel .button { width: 100%; margin-top: 15px; }
.reset-link {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  text-align: center;
  font-size: .72rem;
}

.results-heading {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  margin-bottom: 14px;
}
.results-heading h2 { margin: 0; font-size: 1.4rem; }
.results-heading span { color: var(--muted); font-size: .7rem; }

.vehicle-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}
.vehicle-card {
  overflow: hidden;
  border: 1px solid var(--line-light);
  border-radius: 20px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(0,0,0,.055);
}
.vehicle-card-media {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #111318;
}
.vehicle-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s;
}
.vehicle-card:hover .vehicle-card-media img { transform: scale(1.025); }
.vehicle-placeholder {
  width: 100%;
  height: 100%;
  min-height: 230px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 70% 25%, rgba(225,6,0,.18), transparent 25%),
    linear-gradient(145deg, #15181d, #090a0c);
  color: rgba(255,255,255,.13);
}
.vehicle-placeholder span {
  font-size: 7rem;
  font-weight: 950;
  letter-spacing: -.12em;
}
.vehicle-card-body { padding: 17px; }
.vehicle-card-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.passport-badge,
.stock-badge {
  display: inline-flex;
  padding: 6px 8px;
  border-radius: 999px;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.passport-badge { background: #edf4f8; color: #30566d; }
.stock-badge { background: #f0f0f2; color: #64666d; }
.vehicle-card h2 {
  margin: 14px 0 10px;
  font-size: 1.1rem;
  line-height: 1.13;
}
.vehicle-card h2 a { text-decoration: none; }
.vehicle-facts { display: flex; flex-wrap: wrap; gap: 7px; }
.vehicle-facts span {
  padding: 6px 8px;
  border-radius: 8px;
  background: #f3f3f5;
  color: #61646b;
  font-size: .62rem;
}
.vehicle-price-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: end;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line-light);
}
.vehicle-price-row strong { font-size: 1.35rem; }
.vehicle-price-row a {
  color: var(--red);
  font-size: .7rem;
  font-weight: 850;
  text-decoration: none;
}

.empty-inventory-professional {
  grid-column: 1 / -1;
  min-height: 410px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 38px;
  border: 1px dashed #bbbcc2;
  border-radius: 22px;
  background: linear-gradient(145deg, #fafafa, #f0f0f2);
}
.empty-inventory-professional > strong {
  color: var(--red);
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.empty-inventory-professional h2 {
  max-width: 680px;
  margin: 10px 0;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: -.05em;
}
.empty-inventory-professional p { max-width: 650px; color: var(--muted); }

.vehicle-detail {
  width: min(var(--container), calc(100% - 36px));
  margin: 46px auto 80px;
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(360px,.65fr);
  gap: 20px;
  align-items: start;
}
.gallery-main {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 24px;
  background: #111318;
}
.gallery-main img { width: 100%; height: 100%; object-fit: cover; }
.detail-placeholder {
  min-height: 100%;
  display: grid;
  align-content: center;
  gap: 8px;
}
.detail-placeholder small { color: #a0a3aa; }
.gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 7px;
  margin-top: 8px;
}
.gallery-thumb {
  padding: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 2px solid transparent;
  border-radius: 10px;
  background: #111;
  cursor: pointer;
}
.gallery-thumb:focus-visible { border-color: var(--red); outline: none; }
.gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.vehicle-summary {
  position: sticky;
  top: 105px;
  padding: 25px;
  border: 1px solid var(--line-light);
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 16px 48px rgba(0,0,0,.08);
}
.vehicle-summary h1 {
  margin: 12px 0 6px;
  font-size: clamp(2rem, 3vw, 3.5rem);
  line-height: .98;
  letter-spacing: -.05em;
}
.vehicle-subtitle,
.summary-note { color: var(--muted); font-size: .72rem; }
.detail-price {
  margin: 20px 0;
  padding: 17px;
  border-radius: 16px;
  background: var(--black);
  color: var(--white);
}
.detail-price span,
.detail-price del { display: block; color: #a4a7ae; font-size: .68rem; }
.detail-price strong { display: block; margin: 4px 0; font-size: 2.2rem; }
.vehicle-summary-facts { display: grid; border-top: 1px solid var(--line-light); }
.vehicle-summary-facts div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line-light);
  font-size: .72rem;
}
.vehicle-summary-facts span { color: var(--muted); }
.vehicle-summary-facts strong { text-align: right; }
.vehicle-actions { display: grid; gap: 8px; margin-top: 18px; }
.text-action {
  padding: 9px;
  color: var(--red);
  text-align: center;
  font-size: .72rem;
  font-weight: 850;
}
.preview-banner {
  padding: 12px;
  background: #fff3cf;
  color: #775000;
  text-align: center;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.certainty-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}
.certainty-grid article {
  padding: 22px;
  border: 1px solid var(--line-light);
  border-radius: 16px;
  background: var(--white);
}
.certainty-grid strong { color: var(--red); font-size: .72rem; letter-spacing: .1em; }
.certainty-grid p { color: var(--muted); font-size: .74rem; }
.vehicle-description,
.options-panel {
  margin-top: 20px;
  padding: 26px;
  border: 1px solid var(--line-light);
  border-radius: 19px;
  background: var(--white);
}
.options-panel ul {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  padding: 0;
  list-style: none;
}
.options-panel li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 11px;
  border-radius: 10px;
  background: #f2f2f4;
  font-size: .72rem;
}
.options-panel small { color: var(--muted); }
.passport-detail-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 11px;
}
.passport-detail-card {
  padding: 23px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 17px;
  background: #191c21;
}
.passport-detail-card h3 { margin: 0 0 8px; }
.passport-detail-card p { color: #a5a8af; font-size: .75rem; }

.guided-form {
  max-width: 860px;
  margin: auto;
  padding: 30px;
  border: 1px solid var(--line-light);
  border-radius: 22px;
  background: var(--white);
}
.guided-progress { display: grid; gap: 5px; }
.guided-progress label { color: var(--muted); font-size: .68rem; font-weight: 800; }
.guided-progress progress { width: 100%; height: 8px; accent-color: var(--red); }
.guided-step {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin: 24px 0;
  padding: 0;
  border: 0;
}
.guided-step legend {
  grid-column: 1 / -1;
  margin-bottom: 10px;
  font-size: clamp(1.7rem, 3vw, 2.8rem);
  font-weight: 850;
  letter-spacing: -.04em;
}
.guided-step label,
.contact-preferences label,
.alert-channel label { position: relative; }
.guided-step input[type="radio"],
.guided-step input[type="checkbox"],
.contact-preferences input[type="radio"],
.contact-preferences input[type="checkbox"],
.alert-channel input[type="radio"],
.alert-channel input[type="checkbox"] { position: absolute; opacity: 0; }
.guided-step label span,
.contact-preferences label span,
.alert-channel label span {
  min-height: 72px;
  display: flex;
  align-items: center;
  padding: 14px;
  border: 1px solid #c9cbd0;
  border-radius: 14px;
  background: var(--white);
  cursor: pointer;
}
.guided-step input[type="radio"]:checked + span,
.guided-step input[type="checkbox"]:checked + span,
.contact-preferences input[type="radio"]:checked + span,
.contact-preferences input[type="checkbox"]:checked + span,
.alert-channel input[type="radio"]:checked + span,
.alert-channel input[type="checkbox"]:checked + span {
  border-color: var(--red);
  background: #fff0ef;
  color: #83110d;
}
.guided-step input[type="radio"]:focus-visible + span,
.guided-step input[type="checkbox"]:focus-visible + span,
.contact-preferences input[type="radio"]:focus-visible + span,
.contact-preferences input[type="checkbox"]:focus-visible + span,
.alert-channel input[type="radio"]:focus-visible + span,
.alert-channel input[type="checkbox"]:focus-visible + span {
  outline: 3px solid rgba(225,6,0,.2);
  outline-offset: 2px;
}
.guided-actions { display: flex; justify-content: space-between; gap: 10px; }
.guided-result h2 { font-size: 2rem; }
.contact-preferences,
.alert-channel {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  border: 0;
}
.contact-preferences legend,
.alert-channel legend { width: 100%; margin-bottom: 5px; }
.contact-preferences label span,
.alert-channel label span {
  min-height: 42px;
  border-radius: 999px;
  padding: 9px 13px;
  font-size: .72rem;
}
.method-grid.five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.method-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.editorial-statement.left { margin: 0; text-align: left; }
.form-feedback.is-error {
  margin-top: 12px;
  padding: 10px;
  border-radius: 9px;
  background: #fff0ef;
  color: #85110c;
  font-size: .72rem;
}
.form-feedback.is-success {
  margin-top: 12px;
  padding: 10px;
  border-radius: 9px;
  background: #edf8f1;
  color: #17613a;
  font-size: .72rem;
}

.footer-bottom { color: #8b8e95; }

@media (max-width: 1180px) {
  .vehicle-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vehicle-detail { grid-template-columns: 1fr; }
  .vehicle-summary { position: static; }
  .method-grid.five { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .inventory-toolbar,
  .inventory-layout { grid-template-columns: 1fr; }
  .filter-panel { position: static; }
  .filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gallery-thumbs { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .certainty-grid,
  .passport-detail-grid { grid-template-columns: 1fr; }
  .method-grid.five { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .quick-search-row,
  .vehicle-grid,
  .filter-grid,
  .guided-step,
  .options-panel ul,
  .method-grid.five,
  .method-grid.two { grid-template-columns: 1fr; }
  .gallery-thumbs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .vehicle-detail { width: calc(100% - 22px); margin-top: 20px; }
  .vehicle-summary { padding: 20px; }
}


/* V3.2 — estimation sans TVQ SAAQ et exposition publique minimale */

.qst-separate-notice {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #e8c971;
  border-radius: 13px;
  background: #fff7dd;
  color: #6b4b00;
}

.qst-separate-notice strong {
  display: block;
  margin-bottom: 5px;
}

.qst-separate-notice p {
  margin: 0;
  font-size: .74rem;
}

.vehicle-document-link {
  margin: 15px 0 0;
  font-size: .72rem;
}

.vehicle-document-link a {
  color: var(--red);
  font-weight: 850;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}


/* ============================================================
   V3.2 FINALE — PASSEPORT RK
   ============================================================ */

.passport-professional .passport-heading {
  max-width: 880px;
}

.passport-professional-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.passport-professional-card {
  position: relative;
  min-height: 230px;
  padding: 24px;
  border: 1px solid var(--line-light);
  border-radius: 18px;
  background: var(--white);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .045);
}

.passport-card-index {
  display: inline-flex;
  margin-bottom: 36px;
  color: var(--red);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.passport-professional-card strong {
  display: block;
  margin-bottom: 10px;
  font-size: 1rem;
  letter-spacing: -.02em;
}

.passport-professional-card p {
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.65;
}

.passport-control-layout {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 42px;
  align-items: center;
}

.passport-control-layout h2 {
  margin: 8px 0 12px;
  font-size: clamp(2.1rem, 4vw, 4.2rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.passport-control-layout > div > p {
  max-width: 620px;
  color: #a5a8af;
}

.passport-status-grid {
  display: grid;
  gap: 10px;
}

.passport-status-grid article {
  display: grid;
  grid-template-columns: 14px 145px 1fr;
  gap: 13px;
  align-items: center;
  padding: 17px 18px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 14px;
  background: #191c21;
}

.passport-status-grid strong {
  font-size: .82rem;
}

.passport-status-grid p {
  margin: 0;
  color: #a5a8af;
  font-size: .7rem;
}

.passport-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.passport-status-dot.confirmed {
  background: #38a66b;
}

.passport-status-dot.observed {
  background: #d69b22;
}

.passport-status-dot.pending {
  background: #858992;
}

.passport-documents-section .section-heading {
  max-width: 980px;
  margin-bottom: 0;
}

/* ============================================================
   V3.2 FINALE — CONFIDENTIALITÉ
   ============================================================ */

.privacy-professional {
  padding-top: 48px;
}

.privacy-meta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: end;
  margin-bottom: 22px;
  padding: 18px 0;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.privacy-meta > div {
  display: grid;
  gap: 4px;
}

.privacy-meta > div:last-child {
  text-align: right;
}

.privacy-meta span:not(.eyebrow) {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 700;
}

.privacy-meta strong {
  font-size: .78rem;
}

.privacy-layout {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.privacy-summary {
  position: sticky;
  top: 108px;
  padding: 22px;
  border: 1px solid var(--line-light);
  border-radius: 18px;
  background: var(--white);
  box-shadow: 0 12px 36px rgba(0, 0, 0, .05);
}

.privacy-summary h2 {
  margin: 0 0 15px;
  font-size: 1.3rem;
}

.privacy-summary ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.55;
}

.privacy-contact-card {
  display: grid;
  gap: 5px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line-light);
}

.privacy-contact-card span {
  color: var(--muted);
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 850;
}

.privacy-contact-card strong,
.privacy-contact-card a {
  font-size: .7rem;
}

.privacy-contact-card a,
.privacy-policy-copy a {
  color: var(--red);
  text-decoration: none;
}

.privacy-policy-copy {
  display: grid;
  gap: 0;
}

.privacy-policy-copy > section {
  position: relative;
  padding: 28px 0 30px 52px;
  border-bottom: 1px solid var(--line-light);
}

.privacy-policy-copy > section:first-child {
  border-top: 1px solid var(--line-light);
}

.privacy-section-number {
  position: absolute;
  top: 31px;
  left: 0;
  color: var(--red);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .1em;
}

.privacy-policy-copy h2 {
  margin: 0 0 12px;
  font-size: 1.45rem;
  letter-spacing: -.025em;
}

.privacy-policy-copy p {
  margin: 0 0 11px;
  color: #50535b;
  font-size: .76rem;
  line-height: 1.75;
}

.privacy-policy-copy p:last-child {
  margin-bottom: 0;
}

.privacy-responsible {
  padding: 15px;
  border-radius: 12px;
  background: #f4f4f6;
}

/* ============================================================
   RESPONSIVE — pages modifiées seulement
   ============================================================ */

@media (max-width: 1100px) {
  .passport-professional-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .passport-control-layout {
    grid-template-columns: 1fr;
  }

  .privacy-layout {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .privacy-summary {
    position: static;
  }
}

@media (max-width: 680px) {
  .passport-professional-grid {
    grid-template-columns: 1fr;
  }

  .passport-professional-card {
    min-height: 0;
  }

  .passport-status-grid article {
    grid-template-columns: 14px 1fr;
  }

  .passport-status-grid p {
    grid-column: 2;
  }

  .privacy-meta {
    grid-template-columns: 1fr;
  }

  .privacy-meta > div:last-child {
    text-align: left;
  }

  .privacy-policy-copy > section {
    padding-left: 38px;
  }
}


/* ============================================================
   RÉSEAUX SOCIAUX — FOOTER & CONTACT
   ============================================================ */

.social-links-block {
  margin-top: 18px;
}

.social-links-label {
  display: block;
  margin-bottom: 9px;
  color: #a5a8af;
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.social-links-row {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
}

.footer-group .social-link,
.social-link {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  margin: 0;
  border-radius: 9px;
  text-decoration: none;
  transition:
    transform .18s ease,
    box-shadow .18s ease;
}

.social-link img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.social-link:hover,
.social-link:focus-visible {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
}

.social-link:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

.social-links-contact {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line-light);
}

.social-links-contact .social-links-label {
  color: var(--muted);
}

.social-link-large {
  width: 44px;
  height: 44px;
  border-radius: 11px;
}

@media (max-width: 620px) {
  .social-link-large {
    width: 42px;
    height: 42px;
  }
}


/* ============================================================
   FINAL V1 — CONDITIONS D'UTILISATION
   ============================================================ */

.terms-professional {
  padding-top: 46px;
}

.terms-meta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: end;
  margin-bottom: 24px;
  padding: 16px 0;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.terms-meta > div {
  display: grid;
  gap: 4px;
}

.terms-meta > div:last-child {
  text-align: right;
}

.terms-meta span:not(.eyebrow) {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 750;
}

.terms-meta strong {
  font-size: .8rem;
}

.terms-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 52px;
  align-items: start;
}

.terms-nav {
  position: sticky;
  top: 108px;
  display: grid;
  padding: 18px;
  border: 1px solid var(--line-light);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(0,0,0,.04);
}

.terms-nav-title {
  margin-bottom: 10px;
  color: var(--muted);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.terms-nav a {
  padding: 9px 0;
  border-bottom: 1px solid #ececef;
  color: #34363c;
  font-size: .69rem;
  font-weight: 750;
  text-decoration: none;
}

.terms-nav a:last-child {
  border-bottom: 0;
}

.terms-nav a:hover {
  color: var(--red);
}

.terms-copy {
  display: grid;
}

.terms-copy > section {
  position: relative;
  padding: 27px 0 30px 50px;
  border-bottom: 1px solid var(--line-light);
  scroll-margin-top: 120px;
}

.terms-copy > section:first-child {
  border-top: 1px solid var(--line-light);
}

.terms-number {
  position: absolute;
  top: 31px;
  left: 0;
  color: var(--red);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .1em;
}

.terms-copy h2 {
  margin: 0 0 11px;
  font-size: 1.48rem;
  letter-spacing: -.025em;
}

.terms-copy p {
  margin: 0 0 11px;
  max-width: 900px;
  color: #50535a;
  font-size: .76rem;
  line-height: 1.75;
}

.terms-copy p:last-child {
  margin-bottom: 0;
}

.terms-copy a {
  color: var(--red);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}


/* ============================================================
   FINAL V1 — ESTIMATEUR DE FINANCEMENT
   ============================================================ */

.finance-professional {
  padding-top: 46px;
}

.finance-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.finance-principles article {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 3px 12px;
  align-items: start;
  padding: 15px 17px;
  border: 1px solid var(--line-light);
  border-radius: 14px;
  background: #fff;
}

.finance-principles article > span {
  grid-row: 1 / 3;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #111318;
  color: #fff;
  font-size: .6rem;
  font-weight: 900;
}

.finance-principles strong {
  font-size: .75rem;
}

.finance-principles p {
  margin: 0;
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.45;
}

.finance-calculator-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .72fr);
  gap: 16px;
  align-items: start;
}

.finance-form-card,
.finance-result-card {
  overflow: hidden;
  border-radius: 20px;
}

.finance-form-card {
  border: 1px solid var(--line-light);
  background: #fff;
  box-shadow: 0 12px 38px rgba(0,0,0,.055);
}

.finance-result-card {
  position: sticky;
  top: 105px;
  padding: 0;
  background: #090a0c;
  color: #fff;
  box-shadow: 0 18px 48px rgba(0,0,0,.16);
}

.finance-card-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--line-light);
}

.finance-card-heading.dark {
  border-bottom-color: rgba(255,255,255,.1);
}

.finance-card-heading h2 {
  margin: 5px 0 0;
  font-size: 1.5rem;
  letter-spacing: -.035em;
}

.finance-card-step {
  padding: 7px 9px;
  border-radius: 999px;
  background: #f1f2f4;
  color: #73767e;
  font-size: .6rem;
  font-weight: 900;
}

.finance-card-heading.dark .finance-card-step {
  background: rgba(255,255,255,.09);
  color: #b7bac0;
}

.finance-form-section {
  padding: 20px 24px;
  border-bottom: 1px solid var(--line-light);
}

.finance-form-section h3 {
  margin: 0 0 14px;
  font-size: .82rem;
}

.finance-form-card .field label {
  margin-bottom: 6px;
  font-size: .66rem;
  font-weight: 850;
}

.finance-form-card input,
.finance-form-card select {
  min-height: 49px;
  border-radius: 11px;
}

.finance-form-card .field small {
  display: block;
  margin-top: 6px;
  color: #7a7d85;
  font-size: .61rem;
}

.rate-input-wrap {
  position: relative;
}

.rate-input-wrap input {
  width: 100%;
  padding-right: 44px;
}

.rate-input-wrap span {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #73767e;
  font-size: .76rem;
  font-weight: 850;
}

.finance-check {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin-top: 14px;
  color: #575a61;
  font-size: .68rem;
  line-height: 1.45;
}

.finance-check input {
  flex: 0 0 auto;
  width: 17px;
  min-height: 17px;
  height: 17px;
  margin-top: 1px;
  accent-color: var(--red);
}

.finance-form-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 20px 24px 22px;
}

.finance-reset {
  min-height: 44px;
  padding: 10px 14px;
  border: 0;
  background: transparent;
  color: #6f7279;
  font-size: .68rem;
  font-weight: 850;
  cursor: pointer;
}

.finance-payment-hero {
  padding: 24px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.finance-payment-hero > span {
  display: block;
  color: #9ea1a8;
  font-size: .66rem;
  font-weight: 750;
}

.finance-payment-hero > strong {
  display: block;
  margin: 7px 0 4px;
  font-size: clamp(2.7rem, 5vw, 4.6rem);
  line-height: .95;
  letter-spacing: -.055em;
}

.finance-payment-hero > small {
  color: #c5c7cc;
  font-size: .68rem;
}

.finance-breakdown {
  padding: 8px 24px 4px;
}

.finance-breakdown > div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: .68rem;
}

.finance-breakdown span {
  color: #9da0a7;
}

.finance-breakdown strong {
  color: #fff;
  text-align: right;
}

.finance-breakdown-emphasis {
  margin: 3px -8px;
  padding: 12px 8px !important;
  border-radius: 9px;
  background: rgba(255,255,255,.055);
}

.finance-frequency-comparison {
  margin: 14px 24px 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: #121419;
}

.finance-comparison-title {
  display: block;
  margin-bottom: 8px;
  color: #8f9299;
  font-size: .6rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.finance-frequency-comparison > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0;
  font-size: .67rem;
}

.finance-frequency-comparison > div span {
  color: #a4a7ae;
}

.finance-qst-note {
  margin: 14px 24px 0;
  padding: 13px 14px;
  border-left: 3px solid #dba32c;
  border-radius: 8px;
  background: #211d14;
}

.finance-qst-note strong {
  display: block;
  margin-bottom: 4px;
  color: #f2d692;
  font-size: .68rem;
}

.finance-qst-note p {
  margin: 0;
  color: #c9bfa5;
  font-size: .62rem;
  line-height: 1.5;
}

.finance-result-card .result-alert {
  margin: 14px 24px 0;
}

.finance-contact-button {
  width: calc(100% - 48px);
  margin: 14px 24px 24px;
}

.finance-disclosure {
  margin-top: 14px;
  padding: 17px 19px;
  border: 1px solid var(--line-light);
  border-radius: 14px;
  background: #f5f5f6;
}

.finance-disclosure strong {
  display: block;
  margin-bottom: 5px;
  font-size: .7rem;
}

.finance-disclosure p {
  margin: 0;
  color: #62656c;
  font-size: .67rem;
  line-height: 1.6;
}


/* ============================================================
   FINAL V1 — FICHE VÉHICULE
   ============================================================ */

.vehicle-v1-shell {
  width: min(var(--container), calc(100% - 36px));
  margin: 0 auto;
  padding: 28px 0 82px;
}

.vehicle-breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 17px;
  color: #7b7e85;
  font-size: .65rem;
}

.vehicle-breadcrumb a {
  color: #4f5259;
  text-decoration: none;
}

.vehicle-breadcrumb a:hover {
  color: var(--red);
}

.vehicle-v1-top {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, .55fr);
  gap: 18px;
  align-items: start;
}

.vehicle-main-media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 20px;
  background: #0c0e11;
}

.vehicle-main-image-button {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  padding: 0;
  border: 0;
  background: #0c0e11;
  cursor: zoom-in;
}

.vehicle-main-image-button img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vehicle-photo-count {
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(8,9,11,.86);
  color: #fff;
  font-size: .64rem;
  font-weight: 850;
  backdrop-filter: blur(8px);
}

.vehicle-v1-placeholder {
  min-height: 100%;
}

.vehicle-thumbnails {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  margin-top: 8px;
}

.vehicle-thumbnails .gallery-thumb {
  opacity: .66;
  border-radius: 9px;
  transition: opacity .15s, border-color .15s;
}

.vehicle-thumbnails .gallery-thumb:hover,
.vehicle-thumbnails .gallery-thumb.is-active {
  opacity: 1;
}

.vehicle-thumbnails .gallery-thumb.is-active {
  border-color: var(--red);
}

.vehicle-purchase-card {
  position: sticky;
  top: 104px;
  padding: 23px;
  border: 1px solid var(--line-light);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(0,0,0,.075);
}

.vehicle-purchase-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.vehicle-appointment-badge {
  padding: 6px 8px;
  border-radius: 999px;
  background: #f1f1f3;
  color: #666970;
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.vehicle-purchase-card h1 {
  margin: 14px 0 7px;
  font-size: clamp(2rem, 3.2vw, 3.5rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.vehicle-reference-line {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  color: #797c83;
  font-size: .64rem;
}

.vehicle-v1-price {
  margin: 20px 0 16px;
  padding: 17px 0;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
}

.vehicle-v1-price > span {
  display: block;
  color: #71747b;
  font-size: .64rem;
  font-weight: 750;
}

.vehicle-v1-price > strong {
  display: block;
  margin-top: 4px;
  font-size: 2.45rem;
  line-height: 1;
  letter-spacing: -.045em;
}

.vehicle-previous-price {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 7px;
  color: #8a8d94;
  font-size: .62rem;
}

.vehicle-primary-actions {
  display: grid;
  gap: 8px;
}

.vehicle-secondary-actions {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 11px;
  padding: 10px 0 2px;
}

.vehicle-secondary-actions a {
  color: #50535a;
  font-size: .65rem;
  font-weight: 850;
  text-decoration: none;
  border-bottom: 1px solid #c4c6ca;
}

.vehicle-trust-summary {
  display: grid;
  gap: 0;
  margin-top: 17px;
  border-top: 1px solid var(--line-light);
}

.vehicle-trust-summary > div {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line-light);
  font-size: .63rem;
}

.vehicle-trust-summary span {
  color: #7b7e85;
}

.vehicle-trust-summary strong {
  text-align: right;
}

.vehicle-report-link {
  display: inline-block;
  margin-top: 12px;
  color: var(--red);
  font-size: .64rem;
  font-weight: 850;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.vehicle-card-note {
  margin: 13px 0 0;
  color: #83868d;
  font-size: .6rem;
  line-height: 1.5;
}

.vehicle-key-details {
  margin-top: 40px;
}

.vehicle-section-heading {
  margin-bottom: 17px;
}

.vehicle-section-heading.compact {
  max-width: 740px;
}

.vehicle-section-heading.small h2 {
  font-size: 1.7rem;
}

.vehicle-section-heading h2 {
  margin: 6px 0 6px;
  font-size: clamp(2rem, 3.7vw, 3.35rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.vehicle-section-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.6;
}

.vehicle-spec-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.vehicle-spec-card {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 14px;
  border: 1px solid var(--line-light);
  border-radius: 12px;
  background: #fff;
}

.vehicle-spec-card span {
  color: #777a81;
  font-size: .6rem;
  font-weight: 750;
}

.vehicle-spec-card strong {
  font-size: .76rem;
  line-height: 1.3;
}

.vehicle-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, .55fr);
  gap: 18px;
  align-items: start;
  margin-top: 44px;
}

.vehicle-main-content {
  min-width: 0;
}

.vehicle-story,
.vehicle-options-v1 {
  padding: 27px;
  border: 1px solid var(--line-light);
  border-radius: 18px;
  background: #fff;
}

.vehicle-options-v1 {
  margin-top: 14px;
}

.vehicle-lead-description {
  margin: 0 0 17px;
  color: #292b30;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.55;
}

.vehicle-long-description {
  color: #555860;
  font-size: .76rem;
  line-height: 1.8;
  white-space: pre-line;
}

.vehicle-empty-copy,
.vehicle-empty-panel {
  color: #777a81;
  font-size: .72rem;
}

.vehicle-option-groups {
  display: grid;
  gap: 8px;
}

.vehicle-option-group {
  overflow: hidden;
  border: 1px solid #dedfe2;
  border-radius: 11px;
  background: #fafafb;
}

.vehicle-option-group summary {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 13px 15px;
  list-style: none;
  cursor: pointer;
  font-size: .72rem;
  font-weight: 850;
}

.vehicle-option-group summary::-webkit-details-marker {
  display: none;
}

.vehicle-option-group summary::after {
  content: "+";
  order: 3;
  color: #7d8087;
  font-size: 1rem;
}

.vehicle-option-group[open] summary::after {
  content: "−";
}

.vehicle-option-group summary strong {
  margin-left: auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: #eceef1;
  color: #6b6e75;
  font-size: .58rem;
}

.vehicle-option-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 5px 15px 13px;
  border-top: 1px solid #e2e3e6;
  background: #fff;
}

.vehicle-option-list > div {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 8px 7px;
  color: #3d4046;
  font-size: .68rem;
}

.vehicle-option-check {
  color: var(--red);
  font-weight: 900;
}

.vehicle-decision-column {
  display: grid;
  gap: 14px;
}

.vehicle-passport-card,
.vehicle-next-step-card {
  padding: 23px;
  border-radius: 18px;
}

.vehicle-passport-card {
  background: #0b0c0f;
  color: #fff;
}

.vehicle-passport-list {
  display: grid;
}

.vehicle-passport-list > div {
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.vehicle-passport-list span {
  color: #a0a3aa;
  font-size: .61rem;
  font-weight: 800;
}

.vehicle-passport-list p {
  margin: 4px 0 0;
  color: #e4e5e8;
  font-size: .68rem;
  line-height: 1.55;
}

.vehicle-passport-link {
  display: inline-block;
  margin-top: 15px;
  color: #fff;
  font-size: .65rem;
  font-weight: 850;
  text-decoration: none;
  border-bottom: 2px solid var(--red);
}

.vehicle-next-step-card {
  border: 1px solid var(--line-light);
  background: #f4f4f6;
}

.vehicle-next-step-card h2 {
  margin: 7px 0;
  font-size: 1.5rem;
  line-height: 1.05;
}

.vehicle-next-step-card p {
  margin: 0 0 15px;
  color: #676a71;
  font-size: .69rem;
  line-height: 1.55;
}

.vehicle-next-step-card .button {
  width: 100%;
  margin-top: 7px;
}

.vehicle-lightbox {
  width: min(1400px, calc(100% - 28px));
  height: min(920px, calc(100dvh - 28px));
  max-width: none;
  max-height: none;
  padding: 0;
  border: 0;
  border-radius: 17px;
  background: #090a0c;
  color: #fff;
  overflow: hidden;
}

.vehicle-lightbox::backdrop {
  background: rgba(0,0,0,.88);
  backdrop-filter: blur(6px);
}

.vehicle-lightbox-toolbar {
  min-height: 58px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.vehicle-lightbox-toolbar span {
  color: #b1b4bb;
  font-size: .68rem;
}

.vehicle-lightbox-toolbar button {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 1.45rem;
  cursor: pointer;
}

.vehicle-lightbox-stage {
  height: calc(100% - 58px);
  display: grid;
  grid-template-columns: 56px 1fr 56px;
  gap: 10px;
  align-items: center;
  padding: 12px;
}

.vehicle-lightbox-stage img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
}

.lightbox-arrow {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
}


/* ============================================================
   FINAL V1 — RÉSEAUX SOCIAUX
   ============================================================ */

.footer-social-connect {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 30px;
  align-items: center;
  margin-bottom: 40px;
  padding: 0 0 32px;
  border-bottom: 1px solid rgba(255,255,255,.11);
}

.footer-social-copy h2 {
  margin: 5px 0 6px;
  font-size: 1.55rem;
  letter-spacing: -.035em;
}

.footer-social-copy p {
  margin: 0;
  color: #9da0a7;
  font-size: .69rem;
}

.footer-social-icons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.footer-group .social-link-featured,
.social-link-featured {
  width: auto;
  height: auto;
  display: grid;
  grid-template-columns: 48px auto;
  gap: 9px;
  align-items: center;
  padding: 6px 11px 6px 6px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 13px;
  background: rgba(255,255,255,.035);
  color: #fff;
}

.social-link-featured img {
  width: 48px;
  height: 48px;
  border-radius: 11px;
}

.social-link-featured > span {
  color: #dfe0e3;
  font-size: .66rem;
  font-weight: 800;
}


/* ============================================================
   FINAL V1 — RESPONSIVE DES ÉCRANS MODIFIÉS
   ============================================================ */

@media (max-width: 1180px) {
  .finance-calculator-shell,
  .vehicle-v1-top,
  .vehicle-content-grid {
    grid-template-columns: 1fr;
  }

  .finance-result-card,
  .vehicle-purchase-card {
    position: static;
  }

  .vehicle-spec-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .footer-social-connect {
    grid-template-columns: 1fr;
  }

  .footer-social-icons {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .terms-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .terms-nav {
    position: static;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 0 16px;
  }

  .terms-nav-title {
    grid-column: 1 / -1;
  }

  .finance-principles {
    grid-template-columns: 1fr;
  }

  .vehicle-spec-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vehicle-thumbnails {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .vehicle-option-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .terms-meta {
    grid-template-columns: 1fr;
  }

  .terms-meta > div:last-child {
    text-align: left;
  }

  .terms-nav {
    grid-template-columns: 1fr;
  }

  .terms-copy > section {
    padding-left: 38px;
  }

  .finance-card-heading,
  .finance-form-section,
  .finance-form-actions {
    padding-left: 17px;
    padding-right: 17px;
  }

  .finance-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .finance-payment-hero,
  .finance-breakdown {
    padding-left: 17px;
    padding-right: 17px;
  }

  .finance-frequency-comparison,
  .finance-qst-note,
  .finance-result-card .result-alert {
    margin-left: 17px;
    margin-right: 17px;
  }

  .finance-contact-button {
    width: calc(100% - 34px);
    margin-left: 17px;
    margin-right: 17px;
  }

  .vehicle-v1-shell {
    width: calc(100% - 22px);
  }

  .vehicle-purchase-card,
  .vehicle-story,
  .vehicle-options-v1,
  .vehicle-passport-card,
  .vehicle-next-step-card {
    padding: 18px;
  }

  .vehicle-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vehicle-spec-card {
    min-height: 96px;
  }

  .vehicle-thumbnails {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vehicle-lightbox-stage {
    grid-template-columns: 40px 1fr 40px;
    padding: 7px;
  }

  .lightbox-arrow {
    width: 38px;
    height: 38px;
  }

  .footer-social-icons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .social-link-featured {
    width: 100%;
  }
}

/* V1.0.1 — robustesse sans modification de la direction visuelle */
.vehicle-long-description {
  white-space: pre-line;
}

.inventory-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 2rem;
  text-align: center;
}

.noscript-navigation {
  display: flex;
  gap: 0.9rem;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0.9rem 1.2rem;
  background: var(--rk-black, #111111);
}

.noscript-navigation a {
  color: #FFFFFF;
  text-decoration: none;
}

.noscript-guided-fallback {
  margin-bottom: 1.5rem;
}


/* V1.0.6 — direction visuelle "cockpit sportif" + mouvement premium */

/* Ruban automobile : emblèmes locaux, boucle continue, aucune ressource tierce. */
.brand-rail {
  position: relative;
  overflow: hidden;
  padding-top: 22px;
  padding-bottom: 22px;
  background:
    radial-gradient(circle at 50% 110%, rgba(225,6,0,.11), transparent 34%),
    linear-gradient(180deg, #0c0e11, #090b0d);
}
.brand-rail::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 49.8%, rgba(255,255,255,.025) 50%, transparent 50.2%),
    repeating-linear-gradient(90deg, transparent 0 119px, rgba(255,255,255,.018) 120px);
  opacity: .5;
}
.brand-rail-header {
  position: relative;
  z-index: 2;
  margin-bottom: 15px;
}
.brand-marquee {
  position: relative;
  z-index: 1;
  width: 100%;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.brand-marquee-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: rkBrandMarquee 36s linear infinite;
}
.brand-marquee:hover .brand-marquee-track {
  animation-play-state: paused;
}
.brand-marquee-set {
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
}
.brand-badge {
  position: relative;
  width: clamp(142px, 10.5vw, 188px);
  min-height: 104px;
  display: grid;
  grid-template-rows: 68px auto;
  place-items: center;
  gap: 3px;
  padding: 12px 18px 10px;
  border-right: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(180deg, rgba(255,255,255,.018), transparent);
  color: #aeb1b7;
  transition:
    color .28s ease,
    background .28s ease,
    transform .28s cubic-bezier(.2,.8,.2,1);
}
.brand-badge::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(225,6,0,.8), transparent);
  opacity: 0;
  transform: scaleX(.3);
  transition: opacity .28s ease, transform .28s ease;
}
.brand-badge img {
  width: 94px;
  height: 58px;
  object-fit: contain;
  opacity: .7;
  filter: grayscale(1) brightness(1.2) contrast(.95);
  transition:
    opacity .28s ease,
    filter .28s ease,
    transform .28s cubic-bezier(.2,.8,.2,1);
}
.brand-badge span {
  font-size: .62rem;
  font-weight: 780;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand-badge:hover {
  color: #fff;
  background:
    radial-gradient(circle at 50% 45%, rgba(225,6,0,.12), transparent 62%),
    rgba(255,255,255,.025);
  transform: translateY(-2px);
}
.brand-badge:hover::after {
  opacity: 1;
  transform: scaleX(1);
}
.brand-badge:hover img {
  opacity: 1;
  filter: grayscale(1) brightness(1.5) drop-shadow(0 0 13px rgba(225,6,0,.34));
  transform: scale(1.06);
}
@keyframes rkBrandMarquee {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}

/* Déclencheur menu : petite impulsion lumineuse avant l'ouverture. */
.menu-trigger {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition:
    border-color .28s ease,
    background .28s ease,
    box-shadow .28s ease,
    transform .28s cubic-bezier(.2,.8,.2,1);
}
.menu-trigger::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  background: linear-gradient(110deg, transparent 15%, rgba(225,6,0,.62) 48%, transparent 68%);
  transform: translateX(-145%);
  transition: transform .48s cubic-bezier(.2,.8,.2,1);
}
.menu-trigger:hover,
.menu-trigger[aria-expanded="true"] {
  border-color: rgba(255,59,51,.62);
  background: rgba(225,6,0,.09);
  box-shadow: 0 0 0 1px rgba(225,6,0,.06), 0 0 30px rgba(225,6,0,.18);
  transform: translateY(-1px);
}
.menu-trigger:hover::before,
.menu-trigger[aria-expanded="true"]::before {
  transform: translateX(145%);
}
.menu-label {
  transition: color .24s ease, letter-spacing .24s ease;
}
.menu-trigger[aria-expanded="true"] .menu-label {
  color: #ff5a53;
  letter-spacing: .05em;
}
.menu-icon i {
  transform-origin: center;
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    background .24s ease,
    box-shadow .24s ease;
}
.menu-trigger[aria-expanded="true"] .menu-icon i {
  background: #ff463f;
  box-shadow: 0 0 9px rgba(225,6,0,.62);
}

/* Menu plein écran : cockpit sombre, diagonales, balayage rouge et séquençage. */
dialog.navigation-dialog.cockpit-dialog {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 84% 18%, rgba(225,6,0,.19), transparent 24%),
    radial-gradient(circle at 18% 76%, rgba(98,0,0,.17), transparent 30%),
    linear-gradient(116deg, #07090b 0 48%, #0b0d10 49% 100%);
  box-shadow: none;
}
dialog.navigation-dialog.cockpit-dialog[open] {
  display: block;
  animation: rkCockpitReveal .52s cubic-bezier(.16,.84,.22,1) both;
}
dialog.navigation-dialog.cockpit-dialog.is-closing {
  animation: rkCockpitClose .34s cubic-bezier(.55,.05,.65,.95) both;
  pointer-events: none;
}
dialog.navigation-dialog.cockpit-dialog::backdrop {
  background: rgba(0,0,0,.86);
  backdrop-filter: blur(9px);
}
.cockpit-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .28;
  background:
    repeating-linear-gradient(0deg, transparent 0 47px, rgba(255,255,255,.018) 48px),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.014) 80px);
  -webkit-mask-image: linear-gradient(90deg, transparent 4%, #000 28%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 4%, #000 28%, #000 100%);
}
.cockpit-grid::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(108deg, transparent 0 56%, rgba(225,6,0,.08) 56.2%, transparent 57%);
}
.cockpit-watermark {
  position: absolute;
  left: clamp(34px, 6vw, 118px);
  top: 50%;
  width: min(39vw, 650px);
  aspect-ratio: 900 / 506;
  transform: translateY(-48%);
  background: url("/public/assets/rk-logo-v3.png") center / contain no-repeat;
  opacity: .055;
  filter: grayscale(1) contrast(1.15);
  pointer-events: none;
}
.cockpit-beam {
  position: absolute;
  top: -22vh;
  bottom: -22vh;
  left: 47%;
  width: 10px;
  pointer-events: none;
  opacity: 0;
  transform: rotate(15deg) translateX(-50vw);
  background:
    linear-gradient(90deg,
      transparent,
      rgba(255,30,22,.25) 18%,
      rgba(255,62,53,.95) 48%,
      rgba(255,30,22,.3) 76%,
      transparent);
  box-shadow:
    0 0 18px rgba(225,6,0,.9),
    0 0 70px rgba(225,6,0,.42);
  filter: blur(.2px);
}
.cockpit-dialog[open]:not(.is-closing) .cockpit-beam {
  animation: rkCockpitBeam .82s .06s cubic-bezier(.16,.84,.22,1) both;
}
.cockpit-dialog .drawer-header {
  position: relative;
  z-index: 5;
  width: min(var(--container), calc(100% - 56px));
  min-height: 100px;
  margin: 0 auto;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.cockpit-dialog .drawer-header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: min(210px, 32vw);
  height: 1px;
  background: linear-gradient(90deg, var(--red), transparent);
  box-shadow: 0 0 14px rgba(225,6,0,.45);
}
.cockpit-dialog .drawer-header img {
  width: 238px;
  height: 66px;
}
.cockpit-dialog .drawer-close {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(255,255,255,.025);
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    background .28s ease,
    box-shadow .28s ease;
}
.cockpit-dialog .drawer-close span {
  display: block;
  transform: translateY(-1px);
  transition: transform .28s cubic-bezier(.2,.8,.2,1);
}
.cockpit-dialog .drawer-close:hover {
  transform: rotate(90deg);
  border-color: rgba(255,68,60,.72);
  background: rgba(225,6,0,.12);
  box-shadow: 0 0 24px rgba(225,6,0,.2);
}
.cockpit-dialog .drawer-content {
  position: relative;
  z-index: 4;
  width: min(760px, 51vw);
  margin-left: auto;
  margin-right: clamp(32px, 7vw, 130px);
  padding: clamp(44px, 7vh, 86px) 0 38px;
}
.cockpit-dialog .drawer-intro {
  position: relative;
  padding-left: 22px;
}
.cockpit-dialog .drawer-intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 2px;
  background: linear-gradient(180deg, var(--red-hot), rgba(225,6,0,.08));
  box-shadow: 0 0 18px rgba(225,6,0,.32);
}
.cockpit-dialog .drawer-intro .eyebrow {
  color: #ff514a;
  letter-spacing: .18em;
}
.cockpit-dialog .drawer-intro h2 {
  margin: 9px 0 0;
  max-width: 690px;
  font-size: clamp(2.45rem, 4.5vw, 5.6rem);
  line-height: .93;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.cockpit-dialog .drawer-links {
  margin-top: clamp(30px, 5vh, 55px);
  border-top: 1px solid rgba(255,255,255,.13);
}
.cockpit-dialog .drawer-links a {
  position: relative;
  grid-template-columns: 56px 1fr;
  min-height: clamp(59px, 7.2vh, 78px);
  overflow: hidden;
  padding-right: 48px;
  color: #eceef2;
  border-bottom-color: rgba(255,255,255,.1);
  font-size: clamp(1.05rem, 1.45vw, 1.55rem);
  letter-spacing: -.015em;
  transform: translateX(34px);
  opacity: 0;
  transition:
    padding-left .28s cubic-bezier(.2,.8,.2,1),
    color .24s ease,
    background .24s ease;
}
.cockpit-dialog .drawer-links a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(225,6,0,.17), transparent 46%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .32s cubic-bezier(.2,.8,.2,1);
}
.cockpit-dialog .drawer-links a::after {
  content: "→";
  position: absolute;
  right: 15px;
  top: 50%;
  color: #ff4c45;
  opacity: 0;
  transform: translate(-12px,-50%);
  transition: opacity .28s ease, transform .28s cubic-bezier(.2,.8,.2,1);
}
.cockpit-dialog .drawer-links a > * {
  position: relative;
  z-index: 1;
}
.cockpit-dialog .drawer-links a span {
  color: #ff3f37;
  font-size: .63rem;
  letter-spacing: .15em;
}
.cockpit-dialog .drawer-links a:hover {
  padding-left: 12px;
  color: #fff;
}
.cockpit-dialog .drawer-links a:hover::before {
  transform: scaleX(1);
}
.cockpit-dialog .drawer-links a:hover::after {
  opacity: 1;
  transform: translate(0,-50%);
}
.cockpit-dialog[open]:not(.is-closing) .drawer-links a {
  animation: rkCockpitLinkIn .48s cubic-bezier(.18,.78,.23,1) forwards;
}
.cockpit-dialog[open]:not(.is-closing) .drawer-links a:nth-child(1) { animation-delay: .17s; }
.cockpit-dialog[open]:not(.is-closing) .drawer-links a:nth-child(2) { animation-delay: .21s; }
.cockpit-dialog[open]:not(.is-closing) .drawer-links a:nth-child(3) { animation-delay: .25s; }
.cockpit-dialog[open]:not(.is-closing) .drawer-links a:nth-child(4) { animation-delay: .29s; }
.cockpit-dialog[open]:not(.is-closing) .drawer-links a:nth-child(5) { animation-delay: .33s; }
.cockpit-dialog[open]:not(.is-closing) .drawer-links a:nth-child(6) { animation-delay: .37s; }
.cockpit-dialog[open]:not(.is-closing) .drawer-links a:nth-child(7) { animation-delay: .41s; }
.cockpit-dialog .drawer-contact {
  position: relative;
  padding: 18px 0 0 22px;
  margin-top: 26px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.cockpit-dialog .drawer-contact::before {
  content: "";
  position: absolute;
  left: 0;
  top: 23px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--red-hot);
  box-shadow: 0 0 15px rgba(225,6,0,.72);
}

@keyframes rkCockpitReveal {
  0% {
    opacity: 0;
    clip-path: polygon(100% 0,100% 0,100% 100%,100% 100%);
  }
  100% {
    opacity: 1;
    clip-path: polygon(3% 0,100% 0,100% 100%,0 100%);
  }
}
@keyframes rkCockpitClose {
  from {
    opacity: 1;
    clip-path: polygon(3% 0,100% 0,100% 100%,0 100%);
  }
  to {
    opacity: 0;
    clip-path: polygon(100% 0,100% 0,100% 100%,100% 100%);
  }
}
@keyframes rkCockpitBeam {
  0% { opacity: 0; transform: rotate(15deg) translateX(-58vw); }
  18% { opacity: 1; }
  72% { opacity: .85; }
  100% { opacity: 0; transform: rotate(15deg) translateX(67vw); }
}
@keyframes rkCockpitLinkIn {
  to { opacity: 1; transform: translateX(0); }
}

/* Micro-mouvements au scroll : intentionnels, courts, sans masquer le contenu sans JS. */
.motion-ready .rk-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.2,.8,.2,1);
}
.motion-ready .rk-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.button-red:hover {
  box-shadow:
    0 14px 35px rgba(225,6,0,.22),
    0 0 0 1px rgba(255,80,70,.18),
    0 0 32px rgba(225,6,0,.16);
}

@media (max-width: 860px) {
  .brand-marquee-track { animation-duration: 46s; }
  .brand-badge {
    width: 138px;
    min-height: 94px;
    grid-template-rows: 61px auto;
    padding-inline: 14px;
  }
  .brand-badge img {
    width: 82px;
    height: 52px;
  }

  dialog.navigation-dialog.cockpit-dialog {
    background:
      radial-gradient(circle at 86% 16%, rgba(225,6,0,.2), transparent 28%),
      linear-gradient(150deg, #080a0c, #0c0e11 76%);
  }
  .cockpit-watermark {
    left: 50%;
    top: 44%;
    width: 82vw;
    transform: translate(-50%,-50%);
    opacity: .035;
  }
  .cockpit-dialog .drawer-header {
    width: calc(100% - 36px);
    min-height: 84px;
  }
  .cockpit-dialog .drawer-header img {
    width: 185px;
    height: 54px;
  }
  .cockpit-dialog .drawer-content {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 34px 0 26px;
  }
  .cockpit-dialog .drawer-intro h2 {
    font-size: clamp(2.25rem, 10vw, 4.1rem);
  }
  .cockpit-dialog .drawer-links {
    margin-top: 28px;
  }
  .cockpit-dialog .drawer-links a {
    grid-template-columns: 44px 1fr;
    min-height: 58px;
    font-size: 1.03rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand-marquee {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
    scrollbar-width: thin;
  }
  .brand-marquee-track {
    animation: none !important;
    transform: none !important;
  }
  .brand-marquee-set[aria-hidden="true"] {
    display: none;
  }
  dialog.navigation-dialog.cockpit-dialog[open],
  dialog.navigation-dialog.cockpit-dialog.is-closing,
  .cockpit-dialog[open] .cockpit-beam,
  .cockpit-dialog[open] .drawer-links a {
    animation: none !important;
  }
  .cockpit-dialog .drawer-links a {
    opacity: 1;
    transform: none;
  }
  .motion-ready .rk-reveal,
  .motion-ready .rk-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .menu-trigger,
  .menu-trigger::before,
  .menu-icon i,
  .brand-badge,
  .brand-badge img {
    transition: none !important;
  }
}


/* V1.0.6.1 — cockpit visible + emblèmes de marques vérifiés.
   Cette couche renforce l'état ouvert du menu : instrumentation persistante,
   console vitrée et signature rouge. Aucun changement de contenu métier. */

/* Les fichiers sous /public/assets/brands sont des vecteurs de marque sourcés,
   intégrés localement. On respecte leur silhouette sans les redessiner. */
.brand-badge[data-brand] img {
  width: 108px;
  height: 62px;
  opacity: .84;
  filter: grayscale(1) brightness(1.28) contrast(1.04);
}
.brand-badge[data-brand="audi"] img,
.brand-badge[data-brand="genesis"] img {
  width: 126px;
}
.brand-badge[data-brand="lexus"] img {
  width: 118px;
}
.brand-badge[data-brand="mercedes-benz"] img,
.brand-badge[data-brand="bmw"] img,
.brand-badge[data-brand="porsche"] img {
  width: 76px;
  height: 64px;
}
.brand-badge[data-brand="volvo"] img,
.brand-badge[data-brand="subaru"] img {
  width: 98px;
}
.brand-badge:hover img {
  opacity: 1;
}

/* Le X du bouton doit être évident, même sur un écran dense. */
.menu-trigger[aria-expanded="true"] .menu-icon {
  position: relative;
  height: 18px;
}
.menu-trigger[aria-expanded="true"] .menu-icon i {
  position: absolute;
  left: 0;
  top: 8px;
  width: 18px;
}
.menu-trigger[aria-expanded="true"] .menu-icon i:first-child {
  transform: rotate(45deg);
}
.menu-trigger[aria-expanded="true"] .menu-icon i:last-child {
  transform: rotate(-45deg);
}

/* Couche d'instrumentation persistante : visible après la fin des animations. */
.cockpit-scanlines,
.cockpit-redline,
.cockpit-hud {
  position: absolute;
  pointer-events: none;
}
.cockpit-scanlines {
  z-index: 1;
  inset: 0;
  opacity: .18;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.018) 0,
      rgba(255,255,255,.018) 1px,
      transparent 1px,
      transparent 5px
    );
  mix-blend-mode: screen;
}
.cockpit-redline {
  z-index: 2;
  left: 0;
  right: 0;
  top: 56%;
  height: 1px;
  opacity: .8;
  background:
    linear-gradient(
      90deg,
      transparent 0 5%,
      rgba(225,6,0,.92) 14% 39%,
      rgba(255,82,74,.28) 53%,
      rgba(225,6,0,.68) 76% 92%,
      transparent
    );
  box-shadow:
    0 0 11px rgba(225,6,0,.58),
    0 0 32px rgba(225,6,0,.18);
}
.cockpit-redline::after {
  content: "";
  position: absolute;
  right: 7.2%;
  top: -4px;
  width: 56px;
  height: 9px;
  border: 1px solid rgba(255,71,62,.6);
  border-left: 0;
  border-right: 0;
  transform: skewX(-32deg);
}

.cockpit-hud {
  z-index: 3;
  inset: 96px 48% 0 0;
}
.cockpit-status {
  position: absolute;
  left: clamp(34px, 5.4vw, 102px);
  top: clamp(30px, 6vh, 72px);
  min-width: 240px;
  padding: 15px 18px 14px 20px;
  border-left: 2px solid rgba(255,48,40,.9);
  border-top: 1px solid rgba(255,255,255,.11);
  border-bottom: 1px solid rgba(255,255,255,.055);
  background:
    linear-gradient(90deg, rgba(225,6,0,.11), rgba(255,255,255,.018) 52%, transparent);
  clip-path: polygon(0 0, 92% 0, 100% 12px, 100% 100%, 0 100%);
  box-shadow: -10px 0 34px rgba(225,6,0,.08);
}
.cockpit-status-kicker {
  display: block;
  color: #8f949d;
  font-size: .56rem;
  font-weight: 850;
  letter-spacing: .2em;
}
.cockpit-status strong {
  display: block;
  margin-top: 4px;
  color: #f6f7f8;
  font-size: clamp(1.15rem, 1.65vw, 1.6rem);
  letter-spacing: .075em;
}
.cockpit-status-live {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  color: #ff625b;
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .13em;
}
.cockpit-status-live i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ff352d;
  box-shadow: 0 0 12px rgba(255,53,45,.95);
  animation: rkCockpitPulse 1.7s ease-in-out infinite;
}

.cockpit-dial {
  position: absolute;
  left: clamp(12px, 2.9vw, 58px);
  top: 51%;
  width: min(39vw, 565px);
  aspect-ratio: 1;
  transform: translateY(-47%);
  border-radius: 50%;
  opacity: .96;
  filter: drop-shadow(0 0 34px rgba(225,6,0,.1));
}
.cockpit-dial-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    repeating-conic-gradient(
      from 214deg,
      rgba(255,59,50,.98) 0deg 1.05deg,
      transparent 1.05deg 6.8deg
    );
  -webkit-mask:
    radial-gradient(circle, transparent 0 67%, #000 67.5% 72.5%, transparent 73%);
  mask:
    radial-gradient(circle, transparent 0 67%, #000 67.5% 72.5%, transparent 73%);
  opacity: .72;
}
.cockpit-dial-ring::before,
.cockpit-dial-ring::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}
.cockpit-dial-ring::before {
  inset: 8.5%;
  border:
    1px solid rgba(255,255,255,.1);
  box-shadow:
    inset 0 0 0 26px rgba(255,255,255,.006),
    0 0 36px rgba(225,6,0,.08);
}
.cockpit-dial-ring::after {
  inset: 19%;
  border:
    1px dashed rgba(255,73,64,.22);
}
.cockpit-dial-inner {
  position: absolute;
  inset: 24%;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.075);
  background:
    radial-gradient(circle, rgba(225,6,0,.085) 0, transparent 54%),
    linear-gradient(90deg, transparent 49.7%, rgba(255,255,255,.055) 50%, transparent 50.3%),
    linear-gradient(0deg, transparent 49.7%, rgba(255,255,255,.055) 50%, transparent 50.3%);
}
.cockpit-dial-inner::after {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  border: 1px solid rgba(255,64,56,.18);
}
.cockpit-dial-needle {
  position: absolute;
  left: 50%;
  bottom: 50%;
  width: 3px;
  height: 33%;
  border-radius: 5px 5px 0 0;
  background: linear-gradient(180deg, #ff645e, #e10600 62%, rgba(225,6,0,.1));
  transform-origin: 50% 100%;
  transform: translateX(-50%) rotate(56deg);
  box-shadow:
    0 0 8px rgba(255,62,53,.72),
    0 0 22px rgba(225,6,0,.34);
}
.cockpit-dial-needle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -4px;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(255,115,106,.82);
  transform: translateX(-50%) rotate(45deg);
}
.cockpit-dial-center {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  border: 2px solid #ff4b43;
  background: #080a0c;
  box-shadow:
    0 0 0 6px rgba(225,6,0,.08),
    0 0 18px rgba(225,6,0,.4);
}
.cockpit-dial-readout {
  position: absolute;
  left: 50%;
  top: 61%;
  transform: translateX(-50%);
  width: 130px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 1px 7px;
  padding: 8px 10px 7px;
  border: 1px solid rgba(255,255,255,.08);
  border-bottom-color: rgba(225,6,0,.34);
  background: rgba(4,5,7,.54);
  text-align: center;
  backdrop-filter: blur(5px);
}
.cockpit-dial-readout span {
  color: #ff5149;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .13em;
}
.cockpit-dial-readout strong {
  color: #f4f5f7;
  font-size: 1.65rem;
  line-height: 1;
}
.cockpit-dial-readout small {
  grid-column: 1 / -1;
  color: #777d87;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .22em;
}
.cockpit-vector-lines {
  position: absolute;
  left: 5.2vw;
  bottom: 6.2vh;
  width: min(35vw, 500px);
  height: 96px;
  opacity: .58;
  background:
    linear-gradient(154deg, transparent 0 43%, rgba(225,6,0,.42) 43.3% 43.6%, transparent 43.9%),
    linear-gradient(26deg, transparent 0 57%, rgba(255,255,255,.12) 57.2% 57.5%, transparent 57.8%),
    linear-gradient(90deg, rgba(255,255,255,.11), transparent 74%);
  border-left: 1px solid rgba(225,6,0,.28);
  border-bottom: 1px solid rgba(255,255,255,.07);
  transform: skewX(-7deg);
}
.cockpit-coordinate {
  position: absolute;
  left: clamp(34px, 5.4vw, 102px);
  bottom: clamp(20px, 3.5vh, 44px);
  color: rgba(207,211,217,.46);
  font-size: .52rem;
  font-weight: 760;
  letter-spacing: .17em;
}

/* La console de navigation est désormais un élément cockpit permanent,
   et non un simple bloc de liens posé sur un fond. */
.cockpit-dialog .drawer-content {
  margin-top: clamp(22px, 3vh, 40px);
  padding:
    clamp(28px, 4.3vh, 54px)
    clamp(24px, 2.3vw, 38px)
    30px;
  border: 1px solid rgba(255,255,255,.11);
  border-left-color: rgba(255,63,55,.46);
  border-bottom-color: rgba(225,6,0,.16);
  background:
    linear-gradient(112deg, rgba(255,255,255,.044), rgba(255,255,255,.012) 48%, rgba(225,6,0,.038)),
    rgba(5,7,9,.56);
  clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  box-shadow:
    -18px 20px 70px rgba(0,0,0,.32),
    -1px 0 0 rgba(225,6,0,.16),
    inset 0 0 0 1px rgba(255,255,255,.015);
  backdrop-filter: blur(13px);
}
.cockpit-dialog .drawer-content::before {
  content: "RK // NAVIGATION";
  position: absolute;
  right: 28px;
  top: 15px;
  color: rgba(255,255,255,.22);
  font-size: .48rem;
  font-weight: 900;
  letter-spacing: .22em;
}
.cockpit-dialog .drawer-content::after {
  content: "";
  position: absolute;
  right: 0;
  top: 58px;
  width: 4px;
  height: 126px;
  background:
    linear-gradient(180deg, transparent, #e10600 18% 76%, transparent);
  box-shadow: 0 0 18px rgba(225,6,0,.48);
}
.cockpit-dialog .drawer-intro h2 {
  text-shadow: 0 10px 32px rgba(0,0,0,.34);
}
.cockpit-dialog .drawer-links {
  position: relative;
  background:
    linear-gradient(90deg, rgba(225,6,0,.035), transparent 32%);
}
.cockpit-dialog .drawer-links a {
  padding-left: 9px;
}
.cockpit-dialog .drawer-links a span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.cockpit-dialog .drawer-links a span::after {
  content: "";
  width: 13px;
  height: 1px;
  background: rgba(255,62,54,.48);
}
.cockpit-dialog .drawer-contact {
  margin-bottom: 2px;
}

/* La marque fantôme devient lisible comme signature, mais ne concurrence pas la navigation. */
.cockpit-watermark {
  left: clamp(70px, 8vw, 145px);
  top: 51%;
  width: min(31vw, 500px);
  opacity: .105;
  filter: grayscale(1) contrast(1.35) brightness(1.08);
}

/* Entrée de l'instrumentation. L'état final reste riche même après ces animations. */
.cockpit-dialog[open]:not(.is-closing) .cockpit-status {
  animation: rkCockpitStatusIn .48s .12s cubic-bezier(.18,.78,.23,1) both;
}
.cockpit-dialog[open]:not(.is-closing) .cockpit-dial {
  animation: rkCockpitDialIn .72s .08s cubic-bezier(.16,.84,.22,1) both;
}
.cockpit-dialog[open]:not(.is-closing) .cockpit-dial-needle {
  animation: rkCockpitNeedleSweep .82s .24s cubic-bezier(.16,.84,.22,1) both;
}
.cockpit-dialog[open]:not(.is-closing) .cockpit-redline {
  animation: rkCockpitRedlineIn .58s .14s ease-out both;
}
@keyframes rkCockpitStatusIn {
  from { opacity: 0; transform: translateX(-28px); }
  to { opacity: 1; transform: none; }
}
@keyframes rkCockpitDialIn {
  from { opacity: 0; transform: translateY(-47%) scale(.78) rotate(-18deg); }
  to { opacity: .96; transform: translateY(-47%) scale(1) rotate(0); }
}
@keyframes rkCockpitNeedleSweep {
  0% { transform: translateX(-50%) rotate(-72deg); }
  64% { transform: translateX(-50%) rotate(71deg); }
  100% { transform: translateX(-50%) rotate(56deg); }
}
@keyframes rkCockpitRedlineIn {
  from { opacity: 0; transform: scaleX(.18); }
  to { opacity: .8; transform: scaleX(1); }
}
@keyframes rkCockpitPulse {
  0%, 100% { opacity: .55; transform: scale(.82); }
  50% { opacity: 1; transform: scale(1.18); }
}

@media (max-width: 980px) {
  .cockpit-hud {
    inset: 84px 0 auto 0;
    height: 230px;
  }
  .cockpit-status {
    left: 22px;
    top: 17px;
    min-width: 205px;
    padding: 11px 14px 10px 16px;
  }
  .cockpit-status strong {
    font-size: 1rem;
  }
  .cockpit-dial {
    left: auto;
    right: -92px;
    top: 92px;
    width: 310px;
    opacity: .38;
  }
  .cockpit-dial-readout,
  .cockpit-coordinate,
  .cockpit-vector-lines {
    display: none;
  }
  .cockpit-redline {
    top: 30%;
  }
  .cockpit-dialog .drawer-content {
    width: calc(100% - 34px);
    max-width: 760px;
    margin: 180px auto 0;
    padding: 32px 20px 22px;
  }
  .cockpit-watermark {
    left: 50%;
    top: 31%;
    width: 70vw;
    transform: translate(-50%,-50%);
    opacity: .055;
  }
}

@media (max-width: 560px) {
  .brand-badge {
    width: 132px;
  }
  .brand-badge[data-brand] img {
    width: 88px;
    height: 53px;
  }
  .brand-badge[data-brand="audi"] img,
  .brand-badge[data-brand="genesis"] img,
  .brand-badge[data-brand="lexus"] img {
    width: 103px;
  }
  .brand-badge[data-brand="mercedes-benz"] img,
  .brand-badge[data-brand="bmw"] img,
  .brand-badge[data-brand="porsche"] img {
    width: 64px;
    height: 55px;
  }
  .cockpit-status {
    left: 17px;
    top: 8px;
  }
  .cockpit-dial {
    right: -105px;
    top: 77px;
    width: 280px;
  }
  .cockpit-dialog .drawer-content {
    margin-top: 155px;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  }
  .cockpit-dialog .drawer-content::before {
    right: 18px;
    top: 12px;
  }
  .cockpit-dialog .drawer-intro {
    padding-left: 15px;
  }
  .cockpit-dialog .drawer-intro h2 {
    font-size: clamp(2rem, 9.3vw, 3.2rem);
  }
  .cockpit-dialog .drawer-links a {
    min-height: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .cockpit-status-live i {
    animation: none !important;
  }
}


/* ============================================================
   V1.0.6.2 — RK // DRIVE SYSTEM CONCEPT
   Local concept layer: ignition, scroll drive mode, scan,
   route transitions, voluntary RK mode and mission configuration.
   ============================================================ */

/* --- RK IGNITION ------------------------------------------------------ */
.rk-ignition {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 2000;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 46%, rgba(225,6,0,.16), transparent 28%),
    linear-gradient(135deg, #050608 0%, #0b0d10 48%, #050608 100%);
  color: #fff;
  opacity: 0;
}
html.rk-ignition-pending .rk-ignition {
  display: grid;
  animation: rkIgnitionScreen 1.45s cubic-bezier(.2,.72,.2,1) both;
}
.rk-ignition-grid {
  position: absolute;
  inset: 0;
  opacity: .28;
  background:
    repeating-linear-gradient(0deg, transparent 0 45px, rgba(255,255,255,.018) 46px),
    repeating-linear-gradient(90deg, transparent 0 77px, rgba(255,255,255,.016) 78px);
  transform: perspective(700px) rotateX(54deg) scale(1.3) translateY(14%);
  transform-origin: center bottom;
}
.rk-ignition-grid::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 44%, rgba(225,6,0,.14) 45%, transparent 46%);
}
.rk-ignition-beam {
  position: absolute;
  left: -30vw;
  top: 50%;
  width: 22vw;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ff443d 60%, #fff);
  box-shadow: 0 0 12px rgba(225,6,0,.9), 0 0 34px rgba(225,6,0,.45);
}
html.rk-ignition-pending .rk-ignition-beam {
  animation: rkIgnitionBeam 1.06s .12s cubic-bezier(.18,.8,.22,1) both;
}
.rk-ignition-panel {
  position: relative;
  z-index: 2;
  width: min(620px, calc(100% - 42px));
  padding: clamp(28px, 6vw, 58px);
  border: 1px solid rgba(255,255,255,.12);
  clip-path: polygon(0 0, 92% 0, 100% 13%, 100% 100%, 8% 100%, 0 87%);
  background:
    linear-gradient(120deg, rgba(255,255,255,.055), transparent 36%),
    rgba(9,11,14,.9);
  box-shadow: 0 36px 100px rgba(0,0,0,.55), inset 0 0 40px rgba(225,6,0,.035);
  transform: translateY(12px) scale(.985);
}
html.rk-ignition-pending .rk-ignition-panel {
  animation: rkIgnitionPanel .48s .08s cubic-bezier(.18,.85,.2,1) both;
}
.rk-ignition-kicker {
  color: #8c8f96;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .22em;
}
.rk-ignition-logo {
  margin: 14px 0 24px;
  color: #fff;
  font-size: clamp(4rem, 13vw, 7.5rem);
  font-weight: 950;
  letter-spacing: -.12em;
  line-height: .8;
  text-shadow: 0 0 34px rgba(225,6,0,.22);
}
.rk-ignition-checks {
  display: grid;
  gap: 7px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.rk-ignition-checks span {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #b9bbc1;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
  opacity: 0;
  transform: translateX(-10px);
}
.rk-ignition-checks b {
  color: #ff514a;
  font-weight: 900;
}
html.rk-ignition-pending .rk-ignition-checks span:nth-child(1) {
  animation: rkIgnitionCheck .2s .34s ease-out forwards;
}
html.rk-ignition-pending .rk-ignition-checks span:nth-child(2) {
  animation: rkIgnitionCheck .2s .52s ease-out forwards;
}
html.rk-ignition-pending .rk-ignition-checks span:nth-child(3) {
  animation: rkIgnitionCheck .2s .70s ease-out forwards;
}
.rk-ignition-ready {
  display: block;
  margin-top: 22px;
  color: #fff;
  font-size: .72rem;
  letter-spacing: .2em;
  opacity: 0;
}
html.rk-ignition-pending .rk-ignition-ready {
  animation: rkIgnitionReady .28s .89s ease-out forwards;
}

@keyframes rkIgnitionScreen {
  0% { opacity: 0; }
  8%, 82% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}
@keyframes rkIgnitionBeam {
  0% { transform: translateX(0); opacity: 0; }
  18% { opacity: 1; }
  100% { transform: translateX(150vw); opacity: 0; }
}
@keyframes rkIgnitionPanel {
  from { opacity: 0; transform: translateY(16px) scale(.98); filter: blur(5px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@keyframes rkIgnitionCheck {
  to { opacity: 1; transform: translateX(0); }
}
@keyframes rkIgnitionReady {
  from { opacity: 0; letter-spacing: .28em; }
  to { opacity: 1; letter-spacing: .2em; }
}

/* --- DRIVE TRANSITIONS ------------------------------------------------ */
.rk-route-transition {
  position: fixed;
  inset: 0;
  z-index: 1900;
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
}
.rk-route-transition::before {
  content: "RK // DRIVE";
  position: absolute;
  right: 24px;
  top: calc(50% - 28px);
  color: rgba(255,255,255,.52);
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .18em;
  opacity: 0;
}
.rk-route-transition span {
  position: absolute;
  left: 0;
  top: 50%;
  width: 34vw;
  min-width: 280px;
  height: 2px;
  transform: translateX(-120%);
  background: linear-gradient(90deg, transparent, #e10600 28%, #ff635d 82%, #fff);
  box-shadow: 0 0 13px rgba(225,6,0,.8), 0 0 42px rgba(225,6,0,.32);
}
html.rk-route-entry-pending .rk-route-transition,
body.rk-route-exit .rk-route-transition {
  visibility: visible;
}
html.rk-route-entry-pending .rk-route-transition span {
  animation: rkRouteEntry .62s cubic-bezier(.18,.78,.22,1) both;
}
html.rk-route-entry-pending .rk-route-transition::before {
  animation: rkRouteLabel .48s .16s ease both;
}
body.rk-route-exit .rk-route-transition span {
  animation: rkRouteExit .24s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes rkRouteEntry {
  0% { transform: translateX(-120%); opacity: 0; }
  16% { opacity: 1; }
  100% { transform: translateX(310vw); opacity: 0; }
}
@keyframes rkRouteExit {
  0% { transform: translateX(-120%); opacity: 0; }
  25% { opacity: 1; }
  100% { transform: translateX(110vw); opacity: .9; }
}
@keyframes rkRouteLabel {
  0%, 100% { opacity: 0; transform: translateX(10px); }
  35%, 72% { opacity: 1; transform: translateX(0); }
}

/* --- DRIVE MODE / SCROLL --------------------------------------------- */
.rk-drive-progress {
  position: fixed;
  z-index: 52;
  top: 50%;
  right: 22px;
  display: grid;
  grid-template-columns: 2px auto;
  gap: 12px;
  align-items: stretch;
  transform: translateY(-50%) translateX(18px);
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}
body.rk-drive-ready.rk-scroll-track .rk-drive-progress {
  opacity: .72;
  transform: translateY(-50%) translateX(0);
}
body.rk-drive-ready.rk-scroll-track .rk-drive-progress:hover { opacity: 1; }
.rk-drive-progress-rail {
  position: relative;
  width: 2px;
  min-height: 184px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.13);
}
.rk-drive-progress-rail i {
  position: absolute;
  inset: 0;
  transform: scaleY(var(--rk-scroll-progress, 0));
  transform-origin: top;
  background: linear-gradient(#7d1714, #e10600 65%, #ff5b54);
  box-shadow: 0 0 10px rgba(225,6,0,.44);
}
.rk-drive-progress ol {
  list-style: none;
  display: grid;
  align-content: space-between;
  gap: 10px;
  min-height: 184px;
  margin: 0;
  padding: 0;
}
.rk-drive-progress li {
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.33);
  font-size: .52rem;
  line-height: 1;
  transition: color .2s ease, transform .2s ease;
}
.rk-drive-progress li span {
  width: 18px;
  color: rgba(255,255,255,.24);
  font-variant-numeric: tabular-nums;
}
.rk-drive-progress li b {
  font-size: .52rem;
  letter-spacing: .13em;
  font-weight: 850;
}
.rk-drive-progress li.is-complete { color: rgba(255,255,255,.5); }
.rk-drive-progress li.is-active {
  color: #fff;
  transform: translateX(-4px);
}
.rk-drive-progress li.is-active span { color: #ff534c; }

/* --- VOLUNTARY RK MODE ------------------------------------------------ */
.rk-mode-toggle {
  display: none;
  position: fixed;
  z-index: 60;
  right: 18px;
  bottom: 18px;
  min-height: 40px;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(10,12,15,.88);
  color: rgba(255,255,255,.7);
  box-shadow: 0 10px 35px rgba(0,0,0,.25);
  backdrop-filter: blur(14px);
  cursor: pointer;
  font-size: .57rem;
  font-weight: 900;
  letter-spacing: .09em;
  transition: border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.rk-drive-ready .rk-mode-toggle { display: inline-flex; }
.rk-mode-toggle:hover,
.rk-mode-toggle:focus-visible {
  color: #fff;
  border-color: rgba(225,6,0,.54);
  transform: translateY(-1px);
}
.rk-mode-toggle:focus-visible {
  outline: 3px solid rgba(225,6,0,.25);
  outline-offset: 3px;
}
.rk-mode-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5c6068;
  box-shadow: 0 0 0 3px rgba(255,255,255,.04);
}
body.rk-mode-active .rk-mode-toggle {
  color: #fff;
  border-color: rgba(225,6,0,.55);
  box-shadow: 0 12px 42px rgba(0,0,0,.3), 0 0 28px rgba(225,6,0,.12);
}
body.rk-mode-active .rk-mode-dot {
  background: #ff433c;
  box-shadow: 0 0 0 3px rgba(225,6,0,.16), 0 0 12px rgba(225,6,0,.72);
  animation: rkModePulse 1.8s ease-in-out infinite;
}
body.rk-mode-active .site-header {
  border-bottom-color: rgba(225,6,0,.3);
  box-shadow: 0 8px 40px rgba(225,6,0,.04);
}
body.rk-mode-active .hero-v3::before {
  opacity: .85;
  background-size: 54px 54px;
}
body.rk-mode-active .brand-marquee-track {
  filter: drop-shadow(0 0 16px rgba(225,6,0,.06));
}
body.rk-mode-active .rk-scan-panel {
  box-shadow: 0 26px 70px rgba(0,0,0,.28), 0 0 44px rgba(225,6,0,.07);
}
body.rk-mode-active .rk-drive-progress {
  opacity: 1;
}
@keyframes rkModePulse {
  0%, 100% { transform: scale(.88); opacity: .68; }
  50% { transform: scale(1.12); opacity: 1; }
}

/* --- RK SCAN ---------------------------------------------------------- */
.rk-scan-section {
  position: relative;
  overflow: hidden;
}
.rk-scan-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 49.92%, rgba(225,6,0,.08) 50%, transparent 50.08%),
    repeating-linear-gradient(0deg, transparent 0 48px, rgba(255,255,255,.018) 49px);
}
.rk-scan-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,.82fr) minmax(420px,1.18fr);
  gap: clamp(38px, 7vw, 110px);
  align-items: center;
}
.rk-scan-copy { max-width: 650px; }
.rk-scan-copy h2 {
  margin: 11px 0 16px;
  font-size: clamp(2.4rem, 4.5vw, 5rem);
  line-height: .96;
  letter-spacing: -.055em;
}
.rk-scan-copy p {
  margin: 0;
  color: #a9acb3;
  max-width: 610px;
}
.rk-scan-copy .button { margin-top: 26px; }

.rk-scan-panel {
  position: relative;
  overflow: hidden;
  padding: 21px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.045), transparent 32%),
    #101216;
  color: #fff;
}
.rk-scan-panel::after {
  content: "";
  position: absolute;
  z-index: 3;
  left: -30%;
  top: 0;
  width: 18%;
  height: 100%;
  transform: skewX(-15deg);
  background: linear-gradient(90deg, transparent, rgba(225,6,0,.2), rgba(255,255,255,.18), transparent);
  opacity: 0;
  pointer-events: none;
}
.rk-scan-panel.is-scanning::after {
  animation: rkScanBeam .82s cubic-bezier(.18,.76,.22,1) both;
}
.rk-scan-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 2px 0 16px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: #7f8289;
  font-size: .56rem;
  letter-spacing: .13em;
}
.rk-scan-panel-head strong {
  color: #b9bbc1;
  font-weight: 850;
}
.rk-scan-line {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  min-height: 62px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  opacity: .46;
  transform: translateX(-7px);
  transition: opacity .28s ease, transform .28s ease;
}
.rk-scan-panel.is-scanning .rk-scan-line:nth-of-type(2) { transition-delay: .12s; }
.rk-scan-panel.is-scanning .rk-scan-line:nth-of-type(3) { transition-delay: .24s; }
.rk-scan-panel.is-scanning .rk-scan-line:nth-of-type(4) { transition-delay: .36s; }
.rk-scan-panel.is-scanning .rk-scan-line {
  opacity: 1;
  transform: translateX(0);
}
.rk-scan-line > span {
  color: #d2d4d9;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .1em;
}
.rk-scan-line b {
  max-width: 270px;
  text-align: right;
  font-size: .63rem;
  letter-spacing: .08em;
}
.rk-scan-line b.is-verified { color: #6fd59d; }
.rk-scan-line b.is-documented { color: #d7d9de; }
.rk-scan-line b.is-pending { color: #c69239; }
.rk-scan-foot {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-top: 14px;
  color: #6f7279;
  font-size: .54rem;
  letter-spacing: .08em;
}
.rk-scan-foot i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e10600;
  box-shadow: 0 0 10px rgba(225,6,0,.55);
}
.rk-vehicle-scan {
  margin-top: 18px;
  padding: 15px;
  border-color: rgba(19,21,24,.14);
  background:
    linear-gradient(120deg, rgba(255,255,255,.055), transparent 32%),
    #121419;
}
.rk-vehicle-scan .rk-scan-line { min-height: 48px; }
.rk-vehicle-scan .rk-scan-panel-head { padding-bottom: 11px; }

@keyframes rkScanBeam {
  0% { left: -30%; opacity: 0; }
  16% { opacity: 1; }
  100% { left: 125%; opacity: 0; }
}

/* --- RK MISSION CONFIGURATION ---------------------------------------- */
.mission-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 16%, rgba(225,6,0,.12), transparent 24%),
    linear-gradient(145deg, #0b0d10, #111419 55%, #090a0c);
  color: #fff;
}
.mission-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .32;
  pointer-events: none;
  background:
    repeating-linear-gradient(0deg, transparent 0 54px, rgba(255,255,255,.018) 55px),
    repeating-linear-gradient(90deg, transparent 0 82px, rgba(255,255,255,.014) 83px);
}
.mission-shell {
  position: relative;
  z-index: 2;
  width: min(1180px, 100%);
  margin: 0 auto;
}
.mission-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 35px;
  align-items: end;
  margin-bottom: 28px;
}
.mission-heading h2 {
  margin: 10px 0 11px;
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: .95;
  letter-spacing: -.055em;
}
.mission-heading p {
  max-width: 720px;
  margin: 0;
  color: #a7aab0;
}
.mission-system-status {
  min-width: 180px;
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}
.mission-system-status span,
.mission-system-status strong {
  display: block;
  font-size: .55rem;
  letter-spacing: .12em;
}
.mission-system-status span { color: #6e7178; }
.mission-system-status strong { margin-top: 4px; color: #d7d9de; }
.mission-system-status i {
  display: block;
  width: 100%;
  height: 2px;
  margin-top: 10px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
}
.mission-system-status i::after {
  content: "";
  display: block;
  width: 38%;
  height: 100%;
  background: #e10600;
  box-shadow: 0 0 10px rgba(225,6,0,.55);
  animation: rkMissionStatus 2.4s ease-in-out infinite alternate;
}
@keyframes rkMissionStatus {
  from { transform: translateX(0); }
  to { transform: translateX(165%); }
}

.guided-form.mission-form {
  max-width: none;
  margin: 0;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 35%),
    rgba(8,10,13,.83);
  color: #fff;
  box-shadow: 0 34px 90px rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
}
.mission-step-map {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  overflow: hidden;
}
.mission-step-map span {
  min-height: 45px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border-right: 1px solid rgba(255,255,255,.08);
  color: #63676f;
  font-size: .54rem;
  font-weight: 850;
  letter-spacing: .07em;
  transition: color .2s ease, background .2s ease;
}
.mission-step-map span:last-child { border-right: 0; }
.mission-step-map span b {
  color: #4f535a;
  font-size: .5rem;
}
.mission-step-map span.is-complete { color: #94979e; }
.mission-step-map span.is-active {
  color: #fff;
  background: linear-gradient(90deg, rgba(225,6,0,.16), rgba(225,6,0,.03));
}
.mission-step-map span.is-active b { color: #ff554f; }

.mission-progress { margin-bottom: 20px; }
.mission-progress-copy {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 7px;
}
.mission-progress label,
.mission-progress-copy span {
  color: #7b7f87;
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .08em;
}
.mission-progress progress {
  width: 100%;
  height: 5px;
  border: 0;
  accent-color: #e10600;
}
.mission-progress progress::-webkit-progress-bar {
  background: rgba(255,255,255,.09);
  border-radius: 999px;
}
.mission-progress progress::-webkit-progress-value {
  background: linear-gradient(90deg, #841714, #e10600, #ff4b44);
  border-radius: 999px;
}
.mission-progress progress::-moz-progress-bar {
  background: linear-gradient(90deg, #841714, #e10600, #ff4b44);
  border-radius: 999px;
}

.mission-form .guided-step {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin: 27px 0 22px;
}
.mission-form .guided-step legend {
  margin-bottom: 15px;
  color: #fff;
  font-size: clamp(1.8rem, 3.4vw, 3.3rem);
  line-height: 1.02;
}
.mission-form .guided-step legend > span {
  display: block;
  margin-bottom: 10px;
  color: #e44b45;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .15em;
}
.mission-form .guided-step label span,
.mission-form .contact-preferences label span,
.mission-form .alert-channel label span {
  min-height: 70px;
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.035);
  color: #c3c5ca;
}
.mission-form .guided-step label span {
  position: relative;
  overflow: hidden;
}
.mission-form .guided-step label span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: #e10600;
  transition: width .2s ease;
}
.mission-form .guided-step input:checked + span,
.mission-form .contact-preferences input:checked + span,
.mission-form .alert-channel input:checked + span {
  border-color: rgba(225,6,0,.65);
  background: rgba(225,6,0,.12);
  color: #fff;
}
.mission-form .guided-step input:checked + span::after { width: 100%; }
.mission-form .guided-step input:focus-visible + span,
.mission-form .contact-preferences input:focus-visible + span,
.mission-form .alert-channel input:focus-visible + span {
  outline-color: rgba(255,81,74,.45);
}

.mission-constraints {
  grid-template-columns: 1fr !important;
}
.mission-subquestion {
  padding-top: 3px;
}
.mission-subquestion + .mission-subquestion {
  margin-top: 12px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.mission-subquestion h3 {
  margin: 0 0 10px;
  color: #aeb1b7;
  font-size: .72rem;
  letter-spacing: .02em;
}
.mission-choice-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
}

.mission-actions {
  padding-top: 4px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.mission-actions .button-outline {
  border-color: rgba(255,255,255,.18);
  color: #fff;
}

.mission-analysis {
  min-height: 170px;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 25px;
  align-items: center;
  margin: 24px 0;
  padding: 25px;
  border: 1px solid rgba(225,6,0,.26);
  border-radius: 16px;
  background: rgba(225,6,0,.055);
}
.mission-analysis[hidden] { display: none !important; }
.mission-analysis-radar {
  position: relative;
  width: 96px;
  height: 96px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  background:
    radial-gradient(circle, transparent 0 28%, rgba(255,255,255,.08) 29% 30%, transparent 31% 56%, rgba(255,255,255,.06) 57% 58%, transparent 59%),
    linear-gradient(90deg, transparent 49%, rgba(255,255,255,.1) 50%, transparent 51%),
    linear-gradient(0deg, transparent 49%, rgba(255,255,255,.1) 50%, transparent 51%);
}
.mission-analysis-radar i {
  position: absolute;
  inset: 50% 50% auto 50%;
  width: 44%;
  height: 1px;
  transform-origin: left;
  background: linear-gradient(90deg, #e10600, transparent);
  animation: rkMissionRadar .75s linear infinite;
}
@keyframes rkMissionRadar {
  to { transform: rotate(360deg); }
}
.mission-analysis span,
.mission-analysis strong,
.mission-analysis small {
  display: block;
}
.mission-analysis span {
  color: #ff5a53;
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .15em;
}
.mission-analysis strong {
  margin-top: 7px;
  font-size: 1.25rem;
}
.mission-analysis small {
  margin-top: 5px;
  color: #8f9299;
  font-size: .64rem;
}

.mission-result {
  margin: 26px 0;
  padding: 26px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 17px;
  background: rgba(255,255,255,.035);
}
.mission-result-kicker {
  display: inline-flex;
  color: #71d39d;
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .16em;
}
.mission-result h2 {
  margin: 8px 0 9px;
  color: #fff;
}
.mission-result > p { color: #a9acb2; }
.mission-summary {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  margin: 20px 0 26px;
}
.mission-summary > div {
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 10px;
  background: rgba(0,0,0,.18);
}
.mission-summary dt {
  color: #747880;
  font-size: .54rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.mission-summary dd {
  margin: 4px 0 0;
  color: #e2e3e6;
  font-size: .7rem;
}
.mission-result .field label,
.mission-result .contact-preferences legend,
.mission-result .alert-channel legend {
  color: #9c9fa6;
}
.mission-result .field input,
.mission-result .field select,
.mission-result .field textarea {
  border-color: rgba(255,255,255,.14);
  background: #f4f4f2;
  color: #15171a;
}
.mission-result .check-line {
  color: #b5b8be;
}
.mission-result .form-note { color: #777b83; }

/* --- responsive ------------------------------------------------------- */
@media (max-width: 1180px) {
  .rk-drive-progress { right: 10px; }
  .rk-drive-progress li b { display: none; }
  .rk-drive-progress li span { width: 15px; }
  .rk-scan-layout { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 820px) {
  .rk-scan-layout { grid-template-columns: 1fr; }
  .mission-heading { grid-template-columns: 1fr; align-items: start; }
  .mission-system-status { max-width: 240px; }
}
@media (max-width: 760px) {
  .rk-ignition-panel { width: calc(100% - 28px); }
  .rk-route-transition::before { display: none; }

  .rk-drive-progress {
    top: auto;
    right: auto;
    left: 12px;
    bottom: 18px;
    grid-template-columns: 1fr;
    transform: translateY(8px);
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    background: rgba(9,11,14,.8);
    backdrop-filter: blur(10px);
  }
  body.rk-drive-ready.rk-scroll-track .rk-drive-progress {
    transform: translateY(0);
  }
  .rk-drive-progress-rail { display: none; }
  .rk-drive-progress ol {
    min-height: 0;
    display: block;
  }
  .rk-drive-progress li { display: none; }
  .rk-drive-progress li.is-active {
    display: flex;
    transform: none;
  }
  .rk-drive-progress li.is-active b { display: inline; }
  .rk-mode-toggle {
    right: 12px;
    bottom: 18px;
    max-width: calc(100vw - 118px);
    min-height: 36px;
    padding: 0 11px;
    font-size: .51rem;
  }

  .mission-step-map { grid-template-columns: repeat(2,1fr); }
  .mission-step-map span:nth-child(2) { border-right: 0; }
  .mission-step-map span:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .mission-form .guided-step,
  .mission-choice-grid { grid-template-columns: 1fr; }
  .mission-summary { grid-template-columns: 1fr; }
  .mission-analysis {
    grid-template-columns: 76px 1fr;
    gap: 17px;
  }
  .mission-analysis-radar { width: 70px; height: 70px; }
}
@media (max-width: 520px) {
  .mission-progress-copy { display: grid; gap: 3px; }
  .mission-system-status { width: 100%; max-width: none; }
  .mission-analysis { grid-template-columns: 1fr; }
  .mission-analysis-radar { width: 62px; height: 62px; }
  .rk-scan-panel-head { display: grid; gap: 4px; }
  .rk-scan-line {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px 0;
  }
  .rk-scan-line b { text-align: left; }
}

/* --- reduced motion / no surprises ---------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html.rk-ignition-pending .rk-ignition {
    display: none !important;
  }
  html.rk-route-entry-pending .rk-route-transition,
  body.rk-route-exit .rk-route-transition {
    display: none !important;
  }
  .rk-scan-panel::after,
  .mission-system-status i::after,
  .mission-analysis-radar i,
  body.rk-mode-active .rk-mode-dot,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline {
    animation: none !important;
  }
  .rk-scan-line {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* ============================================================
   V1.0.6.3 — RK // DRIVE SYSTEM REFINEMENT
   Refinement layer only. V1.0.6.2 remains the frozen staging reference.
   Focus: readable Mission UI, deliberate timing, interactive cockpit,
   persistent Scan feedback and a perceptible voluntary RK Mode.
   ============================================================ */

/* --- IGNITION: slower, deliberate, first-visit signature ------------- */
html.rk-ignition-pending .rk-ignition {
  animation: rkIgnitionScreenV1063 3s cubic-bezier(.18,.76,.2,1) both;
}
.rk-ignition-panel {
  width: min(650px, calc(100% - 42px));
  padding: clamp(28px, 5.5vw, 54px);
  border-color: rgba(255,255,255,.15);
  background:
    linear-gradient(128deg, rgba(255,255,255,.06), transparent 35%),
    radial-gradient(circle at 75% 12%, rgba(225,6,0,.1), transparent 27%),
    rgba(7,9,12,.94);
  box-shadow:
    0 38px 110px rgba(0,0,0,.62),
    0 0 74px rgba(225,6,0,.07),
    inset 0 0 46px rgba(225,6,0,.035);
}
html.rk-ignition-pending .rk-ignition-panel {
  animation: rkIgnitionPanelV1063 .68s .14s cubic-bezier(.18,.85,.2,1) both;
}
.rk-ignition-logo {
  display: grid;
  place-items: center;
  height: clamp(96px, 17vw, 154px);
  margin: 11px 0 8px;
}
.rk-ignition-logo img {
  width: min(310px, 72%);
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 24px rgba(225,6,0,.13));
  opacity: .94;
}
html.rk-ignition-pending .rk-ignition-logo img {
  animation: rkIgnitionLogoV1063 .9s .22s cubic-bezier(.18,.82,.2,1) both;
}
.rk-ignition-meter {
  position: relative;
  height: 23px;
  margin: 3px 0 18px;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.rk-ignition-meter::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 100%;
  height: 2px;
  background: rgba(255,255,255,.06);
}
.rk-ignition-meter i {
  position: absolute;
  left: 0;
  top: 10px;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, #65110f, #e10600 65%, #ff6a63);
  box-shadow: 0 0 12px rgba(225,6,0,.58);
}
.rk-ignition-meter span {
  position: absolute;
  right: 0;
  top: 1px;
  color: rgba(255,255,255,.32);
  font-size: .44rem;
  font-weight: 900;
  letter-spacing: .18em;
}
html.rk-ignition-pending .rk-ignition-meter i {
  animation: rkIgnitionMeterV1063 1.72s .43s cubic-bezier(.18,.78,.22,1) forwards;
}
html.rk-ignition-pending .rk-ignition-beam {
  animation: rkIgnitionBeamV1063 2.25s .18s cubic-bezier(.18,.8,.22,1) both;
}
html.rk-ignition-pending .rk-ignition-checks span:nth-child(1) {
  animation: rkIgnitionCheckV1063 .34s .78s ease-out forwards;
}
html.rk-ignition-pending .rk-ignition-checks span:nth-child(2) {
  animation: rkIgnitionCheckV1063 .34s 1.26s ease-out forwards;
}
html.rk-ignition-pending .rk-ignition-checks span:nth-child(3) {
  animation: rkIgnitionCheckV1063 .34s 1.74s ease-out forwards;
}
html.rk-ignition-pending .rk-ignition-ready {
  animation: rkIgnitionReadyV1063 .46s 2.16s ease-out forwards;
}
@keyframes rkIgnitionScreenV1063 {
  0% { opacity: 0; }
  5%, 84% { opacity: 1; }
  94% { opacity: .94; }
  100% { opacity: 0; visibility: hidden; }
}
@keyframes rkIgnitionPanelV1063 {
  from { opacity: 0; transform: translateY(18px) scale(.975); filter: blur(6px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@keyframes rkIgnitionLogoV1063 {
  0% { opacity: 0; transform: scale(.91); filter: blur(8px) brightness(.6); }
  58% { opacity: .92; filter: blur(0) brightness(1.16); }
  100% { opacity: .94; transform: scale(1); filter: blur(0) brightness(1); }
}
@keyframes rkIgnitionMeterV1063 {
  0% { transform: scaleX(0); }
  68% { transform: scaleX(.82); }
  100% { transform: scaleX(1); }
}
@keyframes rkIgnitionBeamV1063 {
  0% { transform: translateX(0); opacity: 0; }
  14% { opacity: .75; }
  58% { opacity: 1; }
  100% { transform: translateX(165vw); opacity: 0; }
}
@keyframes rkIgnitionCheckV1063 {
  0% { opacity: 0; transform: translateX(-14px); }
  100% { opacity: 1; transform: translateX(0); }
}
@keyframes rkIgnitionReadyV1063 {
  0% { opacity: 0; letter-spacing: .32em; }
  100% { opacity: 1; letter-spacing: .2em; }
}

/* --- COCKPIT: actual interaction, route targeting and telemetry ------- */
.cockpit-dialog {
  --rk-cockpit-angle: 56deg;
  --rk-cockpit-x: 0px;
  --rk-cockpit-y: 0px;
  --rk-cockpit-glow-x: 50%;
  --rk-cockpit-glow-y: 48%;
  background:
    radial-gradient(circle at var(--rk-cockpit-glow-x) var(--rk-cockpit-glow-y), rgba(225,6,0,.11), transparent 27%),
    radial-gradient(circle at 90% 8%, rgba(225,6,0,.16), transparent 25%),
    linear-gradient(150deg, #0c0e11, #050608 72%);
}
.cockpit-dialog::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .46;
  background:
    radial-gradient(circle at var(--rk-cockpit-glow-x) var(--rk-cockpit-glow-y), rgba(255,45,36,.15), transparent 17%),
    linear-gradient(115deg, transparent 18%, rgba(225,6,0,.035) 50%, transparent 76%);
  transition: opacity .25s ease;
}
.cockpit-dial {
  filter:
    drop-shadow(0 0 38px rgba(225,6,0,.12))
    drop-shadow(0 22px 38px rgba(0,0,0,.35));
}
.cockpit-dial::before {
  content: "";
  position: absolute;
  inset: 11%;
  border-radius: 50%;
  border: 1px solid rgba(255,66,58,.12);
  box-shadow: inset 0 0 50px rgba(225,6,0,.045), 0 0 46px rgba(225,6,0,.07);
}
.cockpit-dial::after {
  content: "";
  position: absolute;
  inset: 31%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(225,6,0,.08), transparent 64%);
  pointer-events: none;
}
.cockpit-dial-needle {
  transform: translateX(-50%) rotate(var(--rk-cockpit-angle));
  transition: transform .58s cubic-bezier(.16,.82,.2,1), filter .25s ease;
}
.cockpit-dialog.has-route-focus .cockpit-dial-needle {
  animation: none !important;
  transform: translateX(-50%) rotate(var(--rk-cockpit-angle));
  filter: brightness(1.22);
}
.cockpit-dialog.is-idling .cockpit-dial-needle {
  animation: rkCockpitNeedleIdleV1063 3.8s ease-in-out infinite !important;
}
.cockpit-dialog.is-idling .cockpit-dial-ring {
  animation: rkCockpitRingIdleV1063 24s linear infinite;
}
@keyframes rkCockpitNeedleIdleV1063 {
  0%, 100% { transform: translateX(-50%) rotate(48deg); }
  28% { transform: translateX(-50%) rotate(59deg); }
  55% { transform: translateX(-50%) rotate(53deg); }
  76% { transform: translateX(-50%) rotate(62deg); }
}
@keyframes rkCockpitRingIdleV1063 {
  to { transform: rotate(360deg); }
}
.cockpit-dial-readout {
  width: 188px;
  min-height: 58px;
  padding: 9px 12px 8px;
  background:
    linear-gradient(135deg, rgba(225,6,0,.06), transparent 46%),
    rgba(3,5,7,.72);
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
}
.cockpit-dial-readout small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #989ca5;
  font-size: .44rem;
  letter-spacing: .14em;
}
.cockpit-route-signal {
  position: absolute;
  left: 50%;
  bottom: 13%;
  display: flex;
  gap: 8px;
  transform: translateX(-50%);
}
.cockpit-route-signal i {
  width: 17px;
  height: 2px;
  background: rgba(255,255,255,.1);
  box-shadow: none;
  transition: width .25s ease, background .25s ease, box-shadow .25s ease;
}
.cockpit-route-signal i.is-active {
  width: 29px;
  background: #ff453e;
  box-shadow: 0 0 12px rgba(225,6,0,.7);
}
.cockpit-watermark {
  transform: translate(calc(var(--rk-cockpit-x) * -.42), calc(var(--rk-cockpit-y) * -.42));
  transition: transform .18s ease-out;
}
.cockpit-vector-lines {
  transform: translate(calc(var(--rk-cockpit-x) * .36), calc(var(--rk-cockpit-y) * .28)) skewX(-7deg);
  transition: transform .18s ease-out;
}
.cockpit-dialog .drawer-content {
  transform: translate(calc(var(--rk-cockpit-x) * .12), calc(var(--rk-cockpit-y) * .1));
  transition: transform .22s ease-out, border-color .25s ease, box-shadow .25s ease;
}
.cockpit-dialog .drawer-links a.is-routed,
.cockpit-dialog .drawer-links a:hover,
.cockpit-dialog .drawer-links a:focus-visible {
  padding-left: 18px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(225,6,0,.18), rgba(225,6,0,.045) 38%, transparent 78%);
  text-shadow: 0 0 22px rgba(255,255,255,.07);
}
.cockpit-dialog .drawer-links a.is-routed::before {
  transform: scaleX(1);
}
.cockpit-dialog .drawer-links a.is-routed::after {
  opacity: 1;
  transform: translate(0,-50%);
}
.cockpit-dialog .drawer-links a.is-routed span {
  color: #ff5a53;
  text-shadow: 0 0 12px rgba(225,6,0,.5);
}
.cockpit-dialog.has-route-focus .drawer-content {
  border-left-color: rgba(255,71,63,.72);
  box-shadow:
    -18px 20px 70px rgba(0,0,0,.34),
    -1px 0 0 rgba(225,6,0,.28),
    0 0 52px rgba(225,6,0,.045),
    inset 0 0 0 1px rgba(255,255,255,.02);
}

/* --- RK MODE: visible engagement + optional sound/haptics from JS ----- */
.rk-mode-aura {
  position: fixed;
  inset: -6%;
  z-index: 49;
  pointer-events: none;
  opacity: 0;
  transform: scale(1.015);
  background:
    radial-gradient(circle at 14% 18%, rgba(225,6,0,.12), transparent 27%),
    radial-gradient(circle at 84% 72%, rgba(225,6,0,.09), transparent 30%),
    repeating-linear-gradient(115deg, transparent 0 88px, rgba(255,255,255,.009) 89px 90px);
  transition: opacity .45s ease, transform .55s ease;
}
body.rk-mode-active .rk-mode-aura {
  opacity: .92;
  transform: scale(1);
  animation: rkModeAuraDriftV1063 8s ease-in-out infinite alternate;
}
.rk-mode-announce {
  position: fixed;
  z-index: 75;
  left: 50%;
  top: 88px;
  min-width: min(340px, calc(100vw - 30px));
  padding: 12px 17px 13px;
  border: 1px solid rgba(255,76,68,.42);
  border-radius: 10px;
  background: rgba(6,8,10,.93);
  color: #fff;
  box-shadow: 0 18px 54px rgba(0,0,0,.42), 0 0 30px rgba(225,6,0,.09);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%,-12px) scale(.97);
  pointer-events: none;
  text-align: center;
}
.rk-mode-announce span,
.rk-mode-announce strong {
  display: block;
}
.rk-mode-announce span {
  color: #ff5952;
  font-size: .49rem;
  font-weight: 900;
  letter-spacing: .18em;
}
.rk-mode-announce strong {
  margin-top: 4px;
  font-size: .72rem;
  letter-spacing: .11em;
}
body.rk-mode-burst .rk-mode-announce {
  visibility: visible;
  animation: rkModeAnnounceV1063 .82s cubic-bezier(.18,.78,.22,1) both;
}
body.rk-mode-burst .rk-mode-aura {
  animation: rkModeBurstV1063 1.05s ease-out both;
}
body.rk-mode-active .rk-mode-toggle {
  border-color: rgba(255,70,62,.8);
  background: rgba(12,9,11,.94);
  box-shadow:
    0 12px 42px rgba(0,0,0,.34),
    0 0 34px rgba(225,6,0,.21),
    inset 0 0 18px rgba(225,6,0,.055);
}
body.rk-mode-active .site-header {
  border-bottom-color: rgba(255,67,59,.48);
  box-shadow: 0 8px 42px rgba(225,6,0,.075);
}
body.rk-mode-active .hero-v3::before {
  opacity: 1;
  background-size: 48px 48px;
}
body.rk-mode-active .section-black::after,
body.rk-mode-active .section-dark::after {
  opacity: .12;
}
body.rk-mode-active .mission-form,
body.rk-mode-active .rk-scan-panel {
  border-color: rgba(255,75,67,.28);
  box-shadow: 0 26px 74px rgba(0,0,0,.32), 0 0 54px rgba(225,6,0,.095);
}
body.rk-mode-active .cockpit-dialog[open] {
  box-shadow: -34px 0 95px rgba(0,0,0,.5), 0 0 62px rgba(225,6,0,.08);
}
@keyframes rkModeAuraDriftV1063 {
  from { transform: translate3d(-.4%, -.3%, 0) scale(1); }
  to { transform: translate3d(.5%, .35%, 0) scale(1.012); }
}
@keyframes rkModeAnnounceV1063 {
  0% { opacity: 0; transform: translate(-50%,-14px) scale(.96); }
  18%, 72% { opacity: 1; transform: translate(-50%,0) scale(1); }
  100% { opacity: 0; transform: translate(-50%,8px) scale(.985); }
}
@keyframes rkModeBurstV1063 {
  0% { opacity: .25; filter: brightness(.9); }
  30% { opacity: 1; filter: brightness(1.25); }
  100% { opacity: .92; filter: brightness(1); }
}

/* --- RK SCAN: slower, readable and persistent ------------------------ */
.rk-scan-panel {
  border-color: rgba(255,255,255,.16);
  background:
    linear-gradient(120deg, rgba(255,255,255,.052), transparent 32%),
    radial-gradient(circle at 85% 9%, rgba(225,6,0,.075), transparent 24%),
    #0b0e12;
  box-shadow: 0 24px 68px rgba(0,0,0,.26);
}
.rk-scan-status {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 33px;
  padding: 8px 0 7px;
  border-bottom: 1px solid rgba(255,255,255,.075);
  color: #9fa3ab;
  font-size: .52rem;
  font-weight: 850;
  letter-spacing: .13em;
}
.rk-scan-status i {
  width: 28px;
  height: 2px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
}
.rk-scan-status i::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  transform: translateX(-105%);
  background: #ff4942;
  box-shadow: 0 0 9px rgba(225,6,0,.65);
}
.rk-scan-panel.is-scanning .rk-scan-status i::after {
  animation: rkScanStatusV1063 2.25s cubic-bezier(.18,.78,.22,1) forwards;
}
.rk-scan-panel.is-scanning::after {
  width: 13%;
  animation: rkScanBeamV1063 2.25s .1s cubic-bezier(.18,.76,.22,1) both;
}
.rk-scan-line {
  opacity: .4;
  transform: translateX(-10px);
  transition: opacity .48s ease, transform .48s cubic-bezier(.18,.78,.22,1), background .35s ease;
}
.rk-scan-panel.is-scanning [data-rk-scan-line]:nth-of-type(3) { transition-delay: .52s; }
.rk-scan-panel.is-scanning [data-rk-scan-line]:nth-of-type(4) { transition-delay: 1.03s; }
.rk-scan-panel.is-scanning [data-rk-scan-line]:nth-of-type(5) { transition-delay: 1.54s; }
.rk-scan-panel.scan-complete .rk-scan-line {
  opacity: 1;
  transform: none;
}
.rk-scan-panel.scan-complete .rk-scan-status {
  color: #d3d5da;
}
.rk-scan-panel.scan-complete .rk-scan-status i::after {
  transform: translateX(0);
}
.rk-scan-line > span {
  color: #f0f1f3;
}
.rk-scan-line b.is-pending {
  color: #e8ad4c;
}
@keyframes rkScanBeamV1063 {
  0% { left: -24%; opacity: 0; }
  12% { opacity: .8; }
  50% { opacity: 1; }
  100% { left: 124%; opacity: 0; }
}
@keyframes rkScanStatusV1063 {
  0% { transform: translateX(-105%); }
  100% { transform: translateX(0); }
}

/* --- MISSION: remove legacy white fieldset and improve contrast ------- */
.mission-form .guided-step {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mission-form .guided-step label span,
.mission-form .contact-preferences label span,
.mission-form .alert-channel label span {
  min-height: 76px;
  border-color: rgba(255,255,255,.15);
  background:
    linear-gradient(135deg, rgba(255,255,255,.048), rgba(255,255,255,.018));
  color: #e0e2e6;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.008);
}
.mission-form .guided-step label span:hover {
  border-color: rgba(255,91,83,.4);
  background:
    linear-gradient(135deg, rgba(225,6,0,.105), rgba(255,255,255,.026));
  color: #fff;
  transform: translateY(-1px);
}
.mission-form .guided-step label span {
  transition:
    border-color .22s ease,
    background .22s ease,
    color .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}
.mission-form .guided-step input:checked + span,
.mission-form .contact-preferences input:checked + span,
.mission-form .alert-channel input:checked + span {
  border-color: rgba(255,72,64,.76);
  background:
    linear-gradient(135deg, rgba(225,6,0,.2), rgba(225,6,0,.075));
  color: #fff;
  box-shadow: 0 0 28px rgba(225,6,0,.08), inset 0 0 0 1px rgba(255,77,69,.08);
}
.mission-analysis {
  min-height: 190px;
  border-color: rgba(255,76,68,.34);
  background:
    radial-gradient(circle at 11% 50%, rgba(225,6,0,.13), transparent 25%),
    rgba(225,6,0,.045);
  box-shadow: inset 0 0 42px rgba(225,6,0,.025);
}
.mission-analysis-radar i {
  animation-duration: 1.35s;
}
.mission-analysis strong {
  min-height: 1.55em;
  color: #f5f6f7;
}

/* --- responsive refinements ------------------------------------------ */
@media (max-width: 760px) {
  .rk-ignition-logo {
    height: 102px;
  }
  .rk-ignition-logo img {
    width: min(270px, 82%);
  }
  .rk-mode-announce {
    top: 76px;
  }
  .rk-mode-aura {
    inset: -3%;
  }
  .cockpit-route-signal {
    bottom: 10%;
    gap: 5px;
  }
  .cockpit-route-signal i {
    width: 10px;
  }
  .cockpit-route-signal i.is-active {
    width: 18px;
  }
  .cockpit-dial-readout {
    width: 142px;
  }
  .mission-form .guided-step label span {
    min-height: 66px;
  }
}
@media (max-width: 520px) {
  .rk-ignition-panel {
    padding: 25px 22px;
  }
  .rk-ignition-checks span {
    font-size: .64rem;
  }
  .rk-scan-status {
    font-size: .48rem;
  }
}

/* --- reduced motion: no moving dial, beam, aura or announcement ------- */
@media (prefers-reduced-motion: reduce) {
  html.rk-ignition-pending .rk-ignition,
  html.rk-ignition-pending .rk-ignition-panel,
  html.rk-ignition-pending .rk-ignition-logo img,
  html.rk-ignition-pending .rk-ignition-meter i,
  html.rk-ignition-pending .rk-ignition-beam,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .cockpit-dialog.is-idling .cockpit-dial-needle,
  .cockpit-dialog.is-idling .cockpit-dial-ring,
  .rk-scan-panel.is-scanning::after,
  .rk-scan-panel.is-scanning .rk-scan-status i::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  body.rk-mode-burst .rk-mode-aura {
    animation: none !important;
  }
  .cockpit-watermark,
  .cockpit-vector-lines,
  .cockpit-dialog .drawer-content {
    transform: none !important;
    transition: none !important;
  }
  .rk-mode-aura {
    opacity: 0 !important;
  }
  body.rk-mode-burst .rk-mode-announce {
    opacity: 0 !important;
  }
}

/* ============================================================
   V1.0.6.4 — RK // RESPONSIVE UX REFINEMENT
   Purpose:
   - make the homepage research console an unmistakable action;
   - make page transitions visible without delaying navigation;
   - keep Drive Mode readable in French over light or dark sections;
   - harden phone/tablet reflow and touch behavior.
   ============================================================ */

/* The old 320px hard floor is removed so zoomed/narrow browser windows can
   still reflow instead of exposing a clipped side strip. */
body {
  min-width: 0;
}

/* --- HOME: the research console is now one clear interactive gateway --- */
.search-console-link {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  isolation: isolate;
  transition:
    transform .26s cubic-bezier(.18,.78,.22,1),
    border-color .26s ease,
    box-shadow .26s ease,
    background .26s ease;
}
.search-console-link::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 28px;
  right: 28px;
  bottom: 0;
  height: 2px;
  transform: scaleX(.16);
  transform-origin: left;
  background: linear-gradient(90deg, #e10600, #ff5b54 62%, transparent);
  box-shadow: 0 0 18px rgba(225,6,0,.44);
  transition: transform .34s cubic-bezier(.18,.78,.22,1);
}
.search-console-link:hover,
.search-console-link:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(255,79,71,.42);
  box-shadow:
    0 42px 100px rgba(0,0,0,.42),
    0 0 48px rgba(225,6,0,.085);
}
.search-console-link:hover::after,
.search-console-link:focus-visible::after {
  transform: scaleX(1);
}
.search-console-link:focus-visible {
  outline: 3px solid rgba(255,76,68,.42);
  outline-offset: 4px;
}
.console-topline > div {
  min-width: 0;
}
.console-kicker {
  display: block;
  margin-bottom: 3px;
  color: #ff5a53;
  font-size: .53rem;
  font-weight: 900;
  letter-spacing: .15em;
}
.search-console-link .brief-item {
  transition:
    transform .24s cubic-bezier(.18,.78,.22,1),
    border-color .24s ease,
    background .24s ease;
}
.search-console-link:hover .brief-item {
  border-color: rgba(255,255,255,.12);
}
.search-console-link:hover .brief-item:nth-child(1) { transform: translateX(2px); }
.search-console-link:hover .brief-item:nth-child(2) { transform: translateX(5px); }
.search-console-link:hover .brief-item:nth-child(3) { transform: translateX(8px); }

.search-console-link .console-proof {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 20px;
  align-items: center;
}
.console-cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 15px;
  border: 1px solid rgba(255,76,68,.46);
  border-radius: 999px;
  background: rgba(225,6,0,.12);
  color: #fff !important;
  font-size: .62rem !important;
  font-weight: 900;
  letter-spacing: .04em;
  white-space: nowrap;
}
.console-cta b {
  color: #ff625b;
  font-size: 1rem;
  transition: transform .22s ease;
}
.search-console-link:hover .console-cta b,
.search-console-link:focus-visible .console-cta b {
  transform: translateX(4px);
}

/* --- ROUTE TRANSITION: visible on destination, never blocks the click --- */
.rk-route-transition::before {
  content: none !important;
}
.rk-route-transition {
  display: grid;
  place-items: center;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(4,6,8,.34) 38% 62%, transparent 82%);
}
.rk-route-transition-label {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: calc(50% - 60px);
  width: min(560px, calc(100% - 40px));
  transform: translate(-50%,12px);
  opacity: 0;
  text-align: center;
}
.rk-route-transition-label small,
.rk-route-transition-label strong {
  display: block;
}
.rk-route-transition-label small {
  color: #ff5b54;
  font-size: .52rem;
  font-weight: 900;
  letter-spacing: .2em;
}
.rk-route-transition-label strong {
  margin-top: 7px;
  overflow: hidden;
  color: #fff;
  font-size: clamp(.85rem, 1.5vw, 1.15rem);
  font-weight: 900;
  letter-spacing: .06em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rk-route-transition .rk-route-transition-line {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100vw;
  min-width: 0;
  height: 3px;
  transform: translateX(0) scaleX(0);
  transform-origin: left center;
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(225,6,0,.34) 16%, #e10600 46%, #ff6a63 78%, #fff 100%);
  box-shadow:
    0 0 10px rgba(225,6,0,.9),
    0 0 38px rgba(225,6,0,.34);
}
.rk-route-transition .rk-route-transition-line::before,
.rk-route-transition .rk-route-transition-line::after {
  content: "";
  position: absolute;
  top: 50%;
  height: 1px;
  transform: translateY(-50%);
}
.rk-route-transition .rk-route-transition-line::before {
  left: 18%;
  width: 38%;
  background: rgba(255,255,255,.72);
  box-shadow: 0 0 8px rgba(255,255,255,.42);
}
.rk-route-transition .rk-route-transition-line::after {
  right: -38px;
  width: 28px;
  background: #ff3b33;
  box-shadow: 0 0 14px rgba(225,6,0,.8);
}
.rk-route-transition .rk-route-transition-line i {
  position: absolute;
  right: 8%;
  top: -8px;
  width: 52px;
  height: 19px;
  border-top: 1px solid rgba(255,91,83,.5);
  border-bottom: 1px solid rgba(255,91,83,.2);
  transform: skewX(-34deg);
}
html.rk-route-entry-pending .rk-route-transition .rk-route-transition-line {
  animation: rkRouteEntryV1064 1.14s cubic-bezier(.16,.78,.18,1) both !important;
}
html.rk-route-entry-pending .rk-route-transition-label {
  animation: rkRouteLabelV1064 1.05s .08s cubic-bezier(.18,.78,.22,1) both;
}
body.rk-route-exit .rk-route-transition .rk-route-transition-line {
  animation: rkRouteExitV1064 .28s cubic-bezier(.2,.7,.2,1) both !important;
}
@keyframes rkRouteEntryV1064 {
  0% { transform: translateX(0) scaleX(0); opacity: 0; filter: brightness(.7); }
  10% { opacity: 1; }
  36% { transform: translateX(0) scaleX(1); opacity: 1; filter: brightness(1.5); }
  67% { transform: translateX(0) scaleX(1); opacity: 1; filter: brightness(1.2); }
  100% { transform: translateX(102vw) scaleX(1); opacity: 0; filter: brightness(1); }
}
@keyframes rkRouteLabelV1064 {
  0% { opacity: 0; transform: translate(-50%,12px); }
  20%, 68% { opacity: 1; transform: translate(-50%,0); }
  100% { opacity: 0; transform: translate(-50%,-6px); }
}
@keyframes rkRouteExitV1064 {
  0% { transform: translateX(0) scaleX(0); opacity: 0; }
  60% { transform: translateX(0) scaleX(.72); opacity: 1; }
  100% { transform: translateX(0) scaleX(1); opacity: .95; }
}

/* --- DRIVE MODE: always readable, fully French, compact on touch ------- */
.rk-drive-progress {
  isolation: isolate;
}
body.rk-drive-ready.rk-scroll-track .rk-drive-progress {
  text-shadow: 0 1px 8px rgba(0,0,0,.65);
}
.rk-drive-progress li b {
  white-space: nowrap;
}

/* Mission already has its own four-step progress. On touch-sized screens,
   the global Drive Mode indicator is redundant and can cover form controls. */
@media (max-width: 1180px) {
  body[data-rk-path="/trouver"] .rk-drive-progress {
    display: none !important;
  }
}

/* --- RESPONSIVE / TOUCH HARDENING ------------------------------------- */
@media (max-width: 1020px) {
  .search-console {
    max-width: none;
    width: 100%;
  }
  .search-console-link .console-proof {
    grid-template-columns: 1fr;
  }
  .console-cta {
    width: fit-content;
  }
}

@media (max-width: 1180px) {
  /* On tablets/phones, Drive Mode becomes a compact instrument instead of
     floating English-style telemetry over page content. */
  .rk-drive-progress {
    top: auto !important;
    right: auto !important;
    left: max(12px, env(safe-area-inset-left));
    bottom: max(14px, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: auto !important;
    max-width: min(158px, calc(50vw - 20px));
    min-height: 44px;
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(5,7,10,.96);
    box-shadow:
      0 12px 34px rgba(0,0,0,.38),
      0 0 0 1px rgba(225,6,0,.06) inset;
    backdrop-filter: blur(12px);
    transform: translateY(8px) !important;
  }
  body.rk-drive-ready.rk-scroll-track .rk-drive-progress {
    opacity: .94;
    transform: translateY(0) !important;
  }
  .rk-drive-progress-rail {
    display: none !important;
  }
  .rk-drive-progress ol {
    min-height: 0 !important;
    display: block !important;
  }
  .rk-drive-progress li {
    display: none !important;
    min-width: 0;
    gap: 6px;
    color: #fff;
    font-size: .52rem;
  }
  .rk-drive-progress li.is-active {
    display: flex !important;
    transform: none !important;
  }
  .rk-drive-progress li.is-active span {
    width: auto;
    color: #ff5a53;
  }
  .rk-drive-progress li.is-active b {
    display: inline !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .rk-mode-aura {
    inset: 0;
  }

  .rk-mode-toggle {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    min-height: 44px;
    max-width: min(172px, calc(50vw - 20px));
    background: rgba(5,7,10,.96);
  }

  dialog.navigation-dialog.cockpit-dialog {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .cockpit-dialog .drawer-links a,
  .drawer-close,
  .menu-trigger,
  .text-size-button {
    min-width: 44px;
    min-height: 44px;
  }
}

@media (max-width: 760px) {
  .console-topline {
    align-items: flex-start;
  }
  .live-dot {
    flex: 0 0 auto;
  }
  .search-console-link .console-proof {
    gap: 14px;
  }
  .console-cta {
    width: 100%;
    white-space: normal;
    text-align: center;
  }
  .brief-status {
    justify-self: start;
  }

  .mission-shell,
  .rk-scan-layout,
  .content-shell,
  .content-narrow {
    min-width: 0;
  }
  .mission-form,
  .mission-result,
  .mission-analysis,
  .rk-scan-panel {
    max-width: 100%;
    min-width: 0;
  }
  .mission-choice-grid,
  .guided-step,
  .form-grid,
  .form-grid.three {
    min-width: 0;
  }
  .mission-form .guided-step label span {
    min-height: 56px;
    padding: 13px 14px;
    overflow-wrap: anywhere;
  }
  input,
  select,
  textarea,
  button,
  .button {
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  /* On phones the five-step HUD becomes a 3px progress rail: no text overlay,
     no obstruction of buttons, same scroll information. */
  .rk-drive-progress {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw;
    max-width: none;
    min-height: 3px;
    height: 3px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(255,255,255,.06);
    box-shadow: none;
    backdrop-filter: none;
  }
  .rk-drive-progress-rail {
    display: block !important;
    width: 100%;
    min-height: 3px;
    height: 3px;
    border-radius: 0;
    background: rgba(255,255,255,.07);
  }
  .rk-drive-progress-rail i {
    transform: scaleX(var(--rk-scroll-progress, 0));
    transform-origin: left center;
    background: linear-gradient(90deg, #7d1714, #e10600 68%, #ff5b54);
    box-shadow: 0 0 10px rgba(225,6,0,.55);
  }
  .rk-drive-progress ol {
    display: none !important;
  }
  .rk-mode-toggle {
    bottom: max(12px, calc(env(safe-area-inset-bottom) + 8px));
  }
}

@media (max-width: 520px) {
  .search-console {
    padding: 17px;
    border-radius: 22px;
  }
  .console-topline {
    display: grid;
    gap: 9px;
  }
  .live-dot {
    width: fit-content;
  }
  .brief-item {
    grid-template-columns: 34px minmax(0,1fr);
    padding: 12px;
  }
  .brief-item small {
    overflow-wrap: anywhere;
  }
  .console-proof {
    padding: 14px;
  }

  .rk-route-transition-label {
    top: calc(50% - 54px);
  }
  .rk-route-transition-label small {
    font-size: .46rem;
  }
  .rk-route-transition-label strong {
    font-size: .8rem;
  }
  .rk-route-transition .rk-route-transition-line {
    width: 100vw;
    min-width: 0;
    height: 2px;
  }

  .rk-drive-progress {
    max-width: 132px;
    min-height: 44px;
    padding-inline: 9px;
  }
  .rk-drive-progress li,
  .rk-drive-progress li b {
    font-size: .48rem;
  }
  .rk-mode-toggle {
    max-width: 150px;
    min-height: 44px;
    padding-inline: 10px;
    font-size: .48rem;
  }

  .site-header {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  .hero-v3-shell,
  .section,
  .page-hero,
  .content-shell,
  .content-narrow {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 360px) {
  .header-shell {
    width: calc(100% - 18px);
    grid-template-columns: minmax(132px,1fr) auto;
  }
  .brand-link img {
    max-width: 145px;
  }
  .hero-v3-shell {
    width: calc(100% - 20px);
  }
  .section {
    padding-left: 12px;
    padding-right: 12px;
  }
  .rk-drive-progress {
    left: 8px;
    max-width: 116px;
  }
  .rk-mode-toggle {
    right: 8px;
    max-width: 140px;
  }
  .rk-mode-toggle [data-rk-mode-label] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (hover: none), (pointer: coarse) {
  .search-console-link:hover {
    transform: none;
  }
  .search-console-link:hover .brief-item {
    transform: none;
  }
  .search-console-link:active {
    border-color: rgba(255,79,71,.5);
    background:
      linear-gradient(160deg, rgba(255,255,255,.085), rgba(225,6,0,.025));
  }
}



/* V1.0.6.4 non-obstructive Drive HUD.
   Desktop/tablet show only the current stage in a compact cockpit pill.
   The full five-line fixed telemetry is intentionally removed because it can
   sit on top of cards and become illegible over light sections. */
@media (min-width: 601px) {
  .rk-drive-progress {
    top: auto !important;
    right: auto !important;
    left: max(14px, env(safe-area-inset-left)) !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: min(220px, calc(50vw - 24px)) !important;
    min-height: 44px !important;
    padding: 8px 12px !important;
    display: grid !important;
    grid-template-columns: auto auto !important;
    gap: 8px !important;
    align-items: center !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 999px !important;
    background: rgba(5,7,10,.96) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.38), 0 0 0 1px rgba(225,6,0,.06) inset !important;
    backdrop-filter: blur(12px) !important;
    transform: translateY(8px) !important;
  }
  body.rk-drive-ready.rk-scroll-track .rk-drive-progress {
    opacity: .94 !important;
    transform: translateY(0) !important;
  }
  .rk-drive-progress::before {
    content: "PARCOURS";
    color: rgba(255,255,255,.46);
    font-size: .47rem;
    font-weight: 900;
    letter-spacing: .12em;
  }
  .rk-drive-progress-rail {
    display: none !important;
  }
  .rk-drive-progress ol {
    display: block !important;
    min-height: 0 !important;
  }
  .rk-drive-progress li {
    display: none !important;
    min-width: 0 !important;
    gap: 6px !important;
    color: #fff !important;
    font-size: .52rem !important;
  }
  .rk-drive-progress li.is-active {
    display: flex !important;
    align-items: center !important;
    transform: none !important;
  }
  .rk-drive-progress li.is-active span {
    width: auto !important;
    color: #ff5a53 !important;
  }
  .rk-drive-progress li.is-active b {
    display: inline !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* Mission Configuration has its own explicit four-step progress; duplicating
   the global Drive HUD there adds noise rather than orientation. */
body[data-rk-path="/trouver"] .rk-drive-progress {
  display: none !important;
}

/* V1.0.6.4 phone invariant: keep Drive Mode as a non-obstructive 3px rail.
   This comes after narrower media rules so no later phone rule can restore
   the old floating pill. */
@media (max-width: 600px) {
  .rk-drive-progress {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100vw !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 3px !important;
    height: 3px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.06) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    transform: none !important;
  }
  body.rk-drive-ready.rk-scroll-track .rk-drive-progress {
    transform: none !important;
  }
  .rk-drive-progress ol {
    display: none !important;
  }
  .rk-drive-progress-rail {
    display: block !important;
    min-height: 3px !important;
    height: 3px !important;
  }
}

/* Motion preferences apply to the new transition and console too. */
@media (prefers-reduced-motion: reduce) {
  .search-console-link,
  .search-console-link::after,
  .search-console-link .brief-item,
  .console-cta b,
  html.rk-ignition-pending .rk-ignition,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .cockpit-dialog.is-idling .cockpit-dial-needle,
  .rk-scan-panel.is-scanning::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  html.rk-route-entry-pending .rk-route-transition .rk-route-transition-line,
  html.rk-route-entry-pending .rk-route-transition-label,
  body.rk-route-exit .rk-route-transition .rk-route-transition-line {
    animation: none !important;
    transition: none !important;
  }
  html.rk-route-entry-pending .rk-route-transition,
  body.rk-route-exit .rk-route-transition {
    display: none !important;
  }
}



/* ============================================================
   V1.0.6.5 — RK // INTERACTION REFINEMENT
   Purpose:
   - make SPORT NAV visibly alive without requiring hover;
   - make route selection move up/down by wheel and arrow keys;
   - replace the full-width line transition with an angular SHIFT GATE;
   - make Mode RK activation visually unmistakable while keeping sound opt-in.
   ============================================================ */

/* --- SPORT NAV: visible route motion --------------------------------- */
.cockpit-dialog .drawer-links {
  position: relative;
  isolation: isolate;
}
.cockpit-route-cursor {
  --rk-route-cursor-y: 0px;
  --rk-route-cursor-h: 58px;
  position: absolute;
  z-index: 3;
  left: -13px;
  top: 0;
  width: 5px;
  height: var(--rk-route-cursor-h);
  transform: translate3d(0,var(--rk-route-cursor-y),0);
  border-radius: 999px;
  background:
    linear-gradient(180deg, transparent 0 12%, #ff625b 34%, #e10600 72%, transparent 100%);
  box-shadow:
    0 0 12px rgba(225,6,0,.75),
    0 0 30px rgba(225,6,0,.28);
  opacity: .9;
  pointer-events: none;
  transition:
    transform .48s cubic-bezier(.16,.82,.2,1),
    height .25s ease,
    opacity .2s ease;
}
.cockpit-route-cursor::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 50%;
  width: 11px;
  height: 11px;
  transform: translate(-1px,-50%) rotate(45deg);
  border-top: 1px solid rgba(255,91,83,.75);
  border-right: 1px solid rgba(255,91,83,.75);
  background: rgba(225,6,0,.08);
}
.cockpit-route-cursor i {
  position: absolute;
  left: 0;
  top: 50%;
  width: 28px;
  height: 1px;
  transform: translateY(-50%);
  background: linear-gradient(90deg, #ff4a43, transparent);
  box-shadow: 0 0 10px rgba(225,6,0,.55);
}
.cockpit-dialog .drawer-links a {
  position: relative;
  z-index: 2;
  transition:
    transform .38s cubic-bezier(.16,.82,.2,1),
    color .24s ease,
    background .24s ease,
    border-color .24s ease,
    opacity .24s ease;
}
.cockpit-dialog .drawer-links a::after {
  content: "";
  position: absolute;
  left: 42px;
  right: 0;
  bottom: -1px;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, rgba(225,6,0,.72), rgba(225,6,0,.08), transparent);
  transition: transform .38s cubic-bezier(.16,.82,.2,1);
}
.cockpit-dialog .drawer-links a.is-routed {
  color: #fff;
  transform: translateX(13px);
  background:
    linear-gradient(90deg, rgba(225,6,0,.12), rgba(225,6,0,.025) 48%, transparent 82%);
  border-bottom-color: rgba(255,85,77,.24);
}
.cockpit-dialog .drawer-links a.is-routed::after {
  transform: scaleX(1);
}
.cockpit-dialog .drawer-links a.is-routed span {
  color: #ff5d56;
  text-shadow: 0 0 12px rgba(225,6,0,.55);
}
.cockpit-dialog.is-route-scanning .cockpit-route-cursor {
  box-shadow:
    0 0 16px rgba(225,6,0,.9),
    0 0 42px rgba(225,6,0,.36);
}
.cockpit-dialog.is-route-scanning .cockpit-dial-center {
  box-shadow:
    0 0 0 5px rgba(225,6,0,.11),
    0 0 28px rgba(225,6,0,.42);
}
.cockpit-route-hint {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-top: 13px;
  color: rgba(255,255,255,.33);
  font-size: .46rem;
  font-weight: 850;
  letter-spacing: .14em;
}
.cockpit-route-hint b {
  color: rgba(255,90,82,.62);
  font-weight: 900;
}
.cockpit-dialog.has-route-focus .cockpit-dial-needle {
  transition: transform .62s cubic-bezier(.12,.86,.16,1), filter .25s ease !important;
  filter: brightness(1.34) drop-shadow(0 0 5px rgba(255,56,48,.78));
}
.cockpit-dialog[data-cockpit-active-route] .cockpit-dial-readout {
  border-color: rgba(255,76,68,.2);
  box-shadow:
    0 18px 36px rgba(0,0,0,.24),
    inset 0 0 18px rgba(225,6,0,.05);
}

/* --- ROUTE TRANSITION: RK SHIFT GATE --------------------------------- */
.rk-route-transition.rk-shift-gate {
  display: block;
  background: transparent !important;
  perspective: 900px;
}
.rk-shift-panel,
.rk-shift-grid,
.rk-shift-core,
.rk-shift-slit {
  opacity: 0;
}
.rk-shift-panel {
  position: absolute;
  z-index: 1;
  top: -14vh;
  bottom: -14vh;
  width: 72vw;
  min-width: 520px;
  background:
    linear-gradient(118deg, rgba(255,255,255,.035), transparent 22%),
    radial-gradient(circle at 72% 48%, rgba(225,6,0,.18), transparent 28%),
    linear-gradient(145deg, rgba(8,10,13,.985), rgba(3,4,6,.995) 64%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 70px rgba(0,0,0,.48);
}
.rk-shift-panel-a {
  left: -20vw;
  clip-path: polygon(0 0, 78% 0, 100% 50%, 78% 100%, 0 100%);
  transform: translate3d(-70%,0,-80px) rotateY(6deg);
}
.rk-shift-panel-b {
  right: -20vw;
  clip-path: polygon(22% 0, 100% 0, 100% 100%, 22% 100%, 0 50%);
  transform: translate3d(70%,0,-80px) rotateY(-6deg);
}
.rk-shift-grid {
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(255,61,53,.28) 50%, transparent 50.2%),
    repeating-linear-gradient(90deg, transparent 0 82px, rgba(255,255,255,.018) 83px),
    repeating-linear-gradient(0deg, transparent 0 82px, rgba(255,255,255,.014) 83px);
  mask-image: radial-gradient(circle at center, #000 0 26%, transparent 68%);
  pointer-events: none;
}
.rk-shift-core {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  width: min(520px, calc(100vw - 40px));
  transform: translate(-50%,-50%) scale(.88);
  color: #fff;
  text-align: center;
}
.rk-shift-core > span,
.rk-shift-core > strong,
.rk-shift-core > small {
  position: relative;
  z-index: 2;
  display: block;
}
.rk-shift-code {
  color: #ff5c55;
  font-size: .5rem;
  font-weight: 900;
  letter-spacing: .24em;
}
.rk-shift-core strong {
  margin-top: 9px;
  overflow: hidden;
  font-size: clamp(.92rem,1.6vw,1.25rem);
  font-weight: 930;
  letter-spacing: .055em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rk-shift-core > small {
  margin-top: 8px;
  color: rgba(255,255,255,.42);
  font-size: .42rem;
  font-weight: 850;
  letter-spacing: .2em;
}
.rk-shift-ring {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 178px;
  height: 178px;
  transform: translate(-50%,-50%) rotate(-28deg);
  border-radius: 50%;
  background:
    conic-gradient(
      from 8deg,
      transparent 0 13%,
      rgba(255,70,62,.92) 13% 18%,
      transparent 18% 47%,
      rgba(255,255,255,.28) 47% 48%,
      transparent 48% 78%,
      rgba(225,6,0,.7) 78% 84%,
      transparent 84%
    );
  mask: radial-gradient(circle, transparent 0 61%, #000 62% 66%, transparent 67%);
  filter: drop-shadow(0 0 12px rgba(225,6,0,.38));
}
.rk-shift-ring i,
.rk-shift-ring b {
  position: absolute;
  left: 50%;
  top: 50%;
  transform-origin: 0 50%;
}
.rk-shift-ring i {
  width: 74px;
  height: 2px;
  background: linear-gradient(90deg, #fff, #ff4b44 45%, transparent);
  box-shadow: 0 0 12px rgba(225,6,0,.7);
}
.rk-shift-ring b {
  width: 5px;
  height: 5px;
  margin: -2px 0 0 -2px;
  border-radius: 50%;
  background: #ff3d35;
  box-shadow: 0 0 0 6px rgba(225,6,0,.12), 0 0 22px rgba(225,6,0,.7);
}
.rk-route-transition .rk-shift-slit {
  z-index: 3;
  left: 50%;
  top: 50%;
  width: min(420px, 56vw);
  min-width: 180px;
  height: 2px;
  transform: translate(-50%,-50%) scaleX(.08);
  transform-origin: center;
  background:
    linear-gradient(90deg, transparent, rgba(225,6,0,.35) 18%, #ff4d45 50%, rgba(225,6,0,.35) 82%, transparent);
  box-shadow: 0 0 16px rgba(225,6,0,.52);
}
.rk-route-transition .rk-shift-slit::before,
.rk-route-transition .rk-shift-slit::after,
.rk-route-transition .rk-shift-slit i {
  display: none !important;
}

html.rk-route-entry-pending .rk-shift-panel-a {
  animation: rkShiftPanelAInV1065 1.34s cubic-bezier(.16,.78,.18,1) both;
}
html.rk-route-entry-pending .rk-shift-panel-b {
  animation: rkShiftPanelBInV1065 1.34s cubic-bezier(.16,.78,.18,1) both;
}
html.rk-route-entry-pending .rk-shift-grid {
  animation: rkShiftGridInV1065 1.16s .08s ease both;
}
html.rk-route-entry-pending .rk-shift-core {
  animation: rkShiftCoreInV1065 1.18s .08s cubic-bezier(.16,.82,.2,1) both;
}
html.rk-route-entry-pending .rk-shift-ring {
  animation: rkShiftRingInV1065 1.16s .05s cubic-bezier(.16,.82,.2,1) both;
}
html.rk-route-entry-pending .rk-shift-slit {
  animation: rkShiftSlitInV1065 1.08s .1s cubic-bezier(.16,.82,.2,1) both !important;
}

body.rk-route-exit .rk-shift-panel-a {
  animation: rkShiftPanelAOutV1065 .28s cubic-bezier(.2,.72,.2,1) both;
}
body.rk-route-exit .rk-shift-panel-b {
  animation: rkShiftPanelBOutV1065 .28s cubic-bezier(.2,.72,.2,1) both;
}
body.rk-route-exit .rk-shift-core {
  animation: rkShiftCoreOutV1065 .25s ease both;
}

@keyframes rkShiftPanelAInV1065 {
  0% { opacity: 0; transform: translate3d(-72%,0,-80px) rotateY(6deg); }
  18% { opacity: 1; }
  38%, 58% { opacity: 1; transform: translate3d(0,0,0) rotateY(0); }
  100% { opacity: 0; transform: translate3d(-88%,0,-70px) rotateY(5deg); }
}
@keyframes rkShiftPanelBInV1065 {
  0% { opacity: 0; transform: translate3d(72%,0,-80px) rotateY(-6deg); }
  18% { opacity: 1; }
  38%, 58% { opacity: 1; transform: translate3d(0,0,0) rotateY(0); }
  100% { opacity: 0; transform: translate3d(88%,0,-70px) rotateY(-5deg); }
}
@keyframes rkShiftGridInV1065 {
  0%, 15%, 100% { opacity: 0; transform: scale(1.08); }
  38%, 68% { opacity: .86; transform: scale(1); }
}
@keyframes rkShiftCoreInV1065 {
  0%, 14% { opacity: 0; transform: translate(-50%,-50%) scale(.88); filter: blur(8px); }
  34%, 70% { opacity: 1; transform: translate(-50%,-50%) scale(1); filter: blur(0); }
  100% { opacity: 0; transform: translate(-50%,-50%) scale(1.04); filter: blur(3px); }
}
@keyframes rkShiftRingInV1065 {
  0% { opacity: 0; transform: translate(-50%,-50%) rotate(-78deg) scale(.72); }
  32% { opacity: .95; }
  68% { opacity: 1; transform: translate(-50%,-50%) rotate(128deg) scale(1); }
  100% { opacity: 0; transform: translate(-50%,-50%) rotate(205deg) scale(1.06); }
}
@keyframes rkShiftSlitInV1065 {
  0%, 15% { opacity: 0; transform: translate(-50%,-50%) scaleX(.08); }
  36%, 70% { opacity: 1; transform: translate(-50%,-50%) scaleX(1); }
  100% { opacity: 0; transform: translate(-50%,-50%) scaleX(.18); }
}
@keyframes rkShiftPanelAOutV1065 {
  from { opacity: 0; transform: translate3d(-70%,0,-80px); }
  to { opacity: .96; transform: translate3d(0,0,0); }
}
@keyframes rkShiftPanelBOutV1065 {
  from { opacity: 0; transform: translate3d(70%,0,-80px); }
  to { opacity: .96; transform: translate3d(0,0,0); }
}
@keyframes rkShiftCoreOutV1065 {
  from { opacity: 0; transform: translate(-50%,-50%) scale(.92); }
  to { opacity: 1; transform: translate(-50%,-50%) scale(1); }
}

/* --- MODE RK: stronger visual engagement, sound stays user-triggered -- */
body.rk-mode-active .rk-mode-aura {
  opacity: 1;
  background:
    radial-gradient(circle at 9% 52%, rgba(225,6,0,.18), transparent 28%),
    radial-gradient(circle at 92% 48%, rgba(225,6,0,.14), transparent 30%),
    linear-gradient(90deg, rgba(225,6,0,.045), transparent 13% 87%, rgba(225,6,0,.045));
  box-shadow:
    inset 0 0 0 1px rgba(255,71,63,.08),
    inset 0 0 90px rgba(225,6,0,.055);
}
.rk-mode-aura::before,
.rk-mode-aura::after {
  content: "";
  position: absolute;
  left: -18%;
  width: 34%;
  height: 1px;
  opacity: 0;
  background: linear-gradient(90deg, transparent, #ff4c45 60%, #fff);
  box-shadow: 0 0 16px rgba(225,6,0,.64);
}
.rk-mode-aura::before { top: 23%; }
.rk-mode-aura::after { bottom: 19%; }
body.rk-mode-burst .rk-mode-aura::before {
  animation: rkModeEdgeSweepV1065 1.05s cubic-bezier(.16,.82,.2,1) both;
}
body.rk-mode-burst .rk-mode-aura::after {
  animation: rkModeEdgeSweepV1065 1.05s .12s cubic-bezier(.16,.82,.2,1) both;
}
@keyframes rkModeEdgeSweepV1065 {
  0% { opacity: 0; transform: translateX(0) skewX(-24deg); }
  16%, 62% { opacity: .84; }
  100% { opacity: 0; transform: translateX(390vw) skewX(-24deg); }
}

/* --- TABLET / PHONE: keep the interaction readable ------------------- */
@media (max-width: 1180px) {
  .cockpit-route-hint {
    display: none;
  }
  .cockpit-route-cursor {
    left: 1px;
    width: 3px;
  }
  .cockpit-dialog .drawer-links a.is-routed {
    transform: translateX(7px);
  }
}
@media (max-width: 600px) {
  .rk-shift-panel {
    width: 92vw;
    min-width: 330px;
  }
  .rk-shift-panel-a { left: -45vw; }
  .rk-shift-panel-b { right: -45vw; }
  .rk-shift-core {
    width: calc(100vw - 28px);
  }
  .rk-shift-ring {
    width: 132px;
    height: 132px;
  }
  .rk-route-transition .rk-shift-slit {
    width: 68vw;
  }
}

/* Reduced motion: no autonomous scan, no cinematic route gate. */
@media (prefers-reduced-motion: reduce) {
  html.rk-ignition-pending .rk-ignition,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .cockpit-dialog.is-idling .cockpit-dial-needle,
  .cockpit-route-cursor,
  .cockpit-dialog .drawer-links a,
  .cockpit-dialog.has-route-focus .cockpit-dial-needle,
  .rk-scan-panel.is-scanning::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  body.rk-mode-burst .rk-mode-aura::before,
  body.rk-mode-burst .rk-mode-aura::after {
    animation: none !important;
    transition: none !important;
  }
  html.rk-route-entry-pending .rk-route-transition,
  body.rk-route-exit .rk-route-transition {
    display: none !important;
  }
}

/* ============================================================
   V1.0.6.6 — RK // FINAL POLISH
   Goal:
   - refine the menu from "gaming HUD" toward a premium automotive selector;
   - keep route interaction visible, but stop continuous autonomous scanning;
   - preserve desktop/tablet/mobile readability and reduced-motion behavior.
   ============================================================ */

/* --- MENU: quieter, more premium instrument architecture ------------- */
.cockpit-dialog {
  --rk-selector-red: #ff4b43;
  --rk-selector-soft: rgba(255,75,67,.18);
}
.cockpit-dialog .cockpit-hud {
  inset: 96px 50% 0 0;
}
.cockpit-dialog .cockpit-status {
  left: clamp(42px, 5.8vw, 108px);
  top: clamp(26px, 5vh, 58px);
  min-width: 214px;
  padding: 13px 16px 12px 18px;
  border-left-width: 1px;
  border-top-color: rgba(255,255,255,.075);
  border-bottom-color: rgba(255,255,255,.04);
  background:
    linear-gradient(90deg, rgba(225,6,0,.07), rgba(255,255,255,.012) 58%, transparent);
  box-shadow: none;
  clip-path: none;
}
.cockpit-dialog .cockpit-status-kicker {
  color: rgba(209,212,218,.48);
  font-size: .5rem;
  letter-spacing: .24em;
}
.cockpit-dialog .cockpit-status strong {
  margin-top: 6px;
  font-size: clamp(.96rem,1.18vw,1.18rem);
  font-weight: 900;
  letter-spacing: .16em;
}
.cockpit-dialog .cockpit-status-live {
  margin-top: 7px;
  color: rgba(255,98,91,.78);
  font-size: .5rem;
  letter-spacing: .16em;
}
.cockpit-dialog .cockpit-status-live i {
  width: 5px;
  height: 5px;
}

/* The old full circular tachometer becomes a lower selector arc. */
.cockpit-dialog .cockpit-dial {
  left: clamp(46px, 6.1vw, 112px);
  top: auto;
  bottom: clamp(58px, 7vh, 92px);
  width: min(35vw, 520px);
  height: min(22vw, 285px);
  aspect-ratio: auto;
  transform: none;
  border-radius: 0;
  overflow: hidden;
  opacity: .98;
  filter:
    drop-shadow(0 24px 42px rgba(0,0,0,.36))
    drop-shadow(0 0 28px rgba(225,6,0,.08));
}
.cockpit-dialog .cockpit-dial::before {
  inset: auto;
  left: 50%;
  bottom: -226px;
  width: 492px;
  height: 492px;
  transform: translateX(-50%);
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.055);
  box-shadow:
    inset 0 0 80px rgba(225,6,0,.025),
    0 0 52px rgba(225,6,0,.045);
}
.cockpit-dialog .cockpit-dial::after {
  inset: auto;
  left: 50%;
  bottom: -153px;
  width: 346px;
  height: 346px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: none;
  border: 1px solid rgba(255,75,67,.06);
}
.cockpit-dialog .cockpit-dial-ring {
  inset: auto;
  left: 50%;
  bottom: -232px;
  width: 504px;
  height: 504px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: none;
  border: 1px solid rgba(255,75,67,.30);
  box-shadow:
    inset 0 0 0 18px rgba(225,6,0,.008),
    0 0 30px rgba(225,6,0,.055);
  opacity: .82;
  animation: none !important;
}
.cockpit-dialog .cockpit-dial-ring::before {
  inset: 10%;
  border-color: rgba(255,255,255,.045);
  box-shadow: none;
}
.cockpit-dialog .cockpit-dial-ring::after {
  inset: 20%;
  border-style: solid;
  border-color: rgba(255,75,67,.055);
}
.cockpit-dialog .cockpit-dial-inner {
  left: 50%;
  top: auto;
  bottom: -145px;
  width: 326px;
  height: 326px;
  inset: auto;
  transform: translateX(-50%);
  border-color: rgba(255,255,255,.05);
  background:
    radial-gradient(circle at 50% 48%, rgba(225,6,0,.055), transparent 58%);
}
.cockpit-dialog .cockpit-dial-inner::after {
  inset: 23%;
  border-color: rgba(255,75,67,.07);
}

/* Needle pivots from the lower center of the arc. */
.cockpit-dialog .cockpit-dial-needle {
  left: 50%;
  top: auto;
  bottom: 18px;
  width: 2px;
  height: min(15vw, 194px);
  max-height: 68%;
  transform-origin: 50% 100%;
  transform: translateX(-50%) rotate(var(--rk-cockpit-angle));
  background: linear-gradient(180deg, #fff 0, #ff5b54 10%, #e10600 55%, rgba(225,6,0,.06));
  box-shadow:
    0 0 7px rgba(255,79,71,.58),
    0 0 18px rgba(225,6,0,.22);
}
.cockpit-dialog .cockpit-dial-needle::after {
  width: 5px;
  height: 5px;
  top: -2px;
  border-color: rgba(255,134,128,.7);
}
.cockpit-dialog .cockpit-dial-center {
  left: 50%;
  top: auto;
  bottom: 7px;
  width: 20px;
  height: 20px;
  transform: translateX(-50%);
  border-width: 1px;
  background: #07090b;
  box-shadow:
    0 0 0 5px rgba(225,6,0,.055),
    0 0 18px rgba(225,6,0,.28);
}

/* Compact readout: route context rather than a second giant focal point. */
.cockpit-dialog .cockpit-dial-readout {
  left: 50%;
  top: auto;
  bottom: 34px;
  width: 214px;
  min-height: 52px;
  transform: translateX(-50%);
  grid-template-columns: auto auto;
  justify-content: center;
  gap: 2px 9px;
  padding: 8px 12px 7px;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,75,67,.16);
  background:
    linear-gradient(90deg, transparent, rgba(4,5,7,.82) 18% 82%, transparent);
  box-shadow: none;
  backdrop-filter: blur(3px);
}
.cockpit-dialog .cockpit-dial-readout span {
  color: rgba(255,83,75,.72);
  font-size: .48rem;
  letter-spacing: .2em;
}
.cockpit-dialog .cockpit-dial-readout strong {
  color: #f4f5f7;
  font-size: 1.34rem;
  letter-spacing: .02em;
}
.cockpit-dialog .cockpit-dial-readout small {
  grid-column: 1 / -1;
  color: rgba(223,226,231,.48);
  font-size: .42rem;
  letter-spacing: .16em;
}

/* Seven discreet markers sit on the arc and light up with the selected route. */
.cockpit-dialog .cockpit-route-signal {
  left: 50%;
  bottom: 18px;
  width: 0;
  height: 0;
  display: block;
  transform: none;
}
.cockpit-dialog .cockpit-route-signal i {
  --rk-route-angle: 0deg;
  position: absolute;
  left: 0;
  top: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  transform:
    translate(-50%,-50%)
    rotate(var(--rk-route-angle))
    translateY(-203px);
  background: rgba(255,255,255,.13);
  box-shadow: 0 0 0 1px rgba(255,255,255,.015);
  transition:
    width .25s ease,
    height .25s ease,
    background .25s ease,
    box-shadow .25s ease,
    opacity .25s ease;
}
.cockpit-dialog .cockpit-route-signal i:nth-child(1) { --rk-route-angle: -60deg; }
.cockpit-dialog .cockpit-route-signal i:nth-child(2) { --rk-route-angle: -40deg; }
.cockpit-dialog .cockpit-route-signal i:nth-child(3) { --rk-route-angle: -20deg; }
.cockpit-dialog .cockpit-route-signal i:nth-child(4) { --rk-route-angle: 0deg; }
.cockpit-dialog .cockpit-route-signal i:nth-child(5) { --rk-route-angle: 20deg; }
.cockpit-dialog .cockpit-route-signal i:nth-child(6) { --rk-route-angle: 40deg; }
.cockpit-dialog .cockpit-route-signal i:nth-child(7) { --rk-route-angle: 60deg; }
.cockpit-dialog .cockpit-route-signal i.is-active {
  width: 9px;
  height: 9px;
  background: #ff5048;
  box-shadow:
    0 0 0 4px rgba(225,6,0,.075),
    0 0 16px rgba(225,6,0,.52);
}

/* Simplify decoration around the instrument. */
.cockpit-dialog .cockpit-vector-lines {
  left: clamp(48px, 6.2vw, 114px);
  bottom: clamp(35px, 4vh, 54px);
  width: min(31vw, 430px);
  height: 54px;
  opacity: .22;
}
.cockpit-dialog .cockpit-coordinate {
  left: clamp(48px, 6.2vw, 114px);
  bottom: clamp(20px, 2.4vh, 30px);
  opacity: .5;
}
.cockpit-dialog .cockpit-redline {
  left: 4%;
  right: auto;
  width: 41%;
  top: 63%;
  opacity: .28;
  box-shadow: 0 0 13px rgba(225,6,0,.22);
}
.cockpit-dialog .cockpit-redline::after {
  display: none;
}
.cockpit-dialog .cockpit-watermark {
  left: clamp(65px, 8vw, 140px);
  top: 59%;
  width: min(27vw, 430px);
  opacity: .055;
}

/* Right navigation console: editorial, lighter, with one clear active state. */
.cockpit-dialog .drawer-content {
  width: min(700px, 47vw);
  margin-top: clamp(18px, 2.5vh, 30px);
  margin-right: clamp(34px, 6.2vw, 110px);
  padding:
    clamp(26px, 4vh, 46px)
    clamp(22px, 2vw, 34px)
    24px;
  border: 0;
  border-left: 1px solid rgba(255,75,67,.28);
  border-top: 1px solid rgba(255,255,255,.055);
  border-bottom: 1px solid rgba(255,255,255,.04);
  background:
    radial-gradient(circle at 100% 12%, rgba(225,6,0,.06), transparent 28%),
    linear-gradient(112deg, rgba(255,255,255,.024), rgba(255,255,255,.006) 62%, transparent);
  clip-path: none;
  box-shadow:
    -22px 28px 80px rgba(0,0,0,.2),
    inset 1px 0 rgba(225,6,0,.03);
  backdrop-filter: blur(10px);
}
.cockpit-dialog .drawer-content::before {
  right: 24px;
  top: 13px;
  color: rgba(255,255,255,.15);
  font-size: .43rem;
}
.cockpit-dialog .drawer-content::after {
  display: none;
}
.cockpit-dialog .drawer-intro {
  padding-left: 18px;
}
.cockpit-dialog .drawer-intro::before {
  width: 1px;
  box-shadow: none;
}
.cockpit-dialog .drawer-intro .eyebrow {
  color: rgba(255,83,75,.78);
}
.cockpit-dialog .drawer-intro h2 {
  max-width: 620px;
  font-size: clamp(2.35rem, 3.8vw, 4.7rem);
  line-height: .95;
}
.cockpit-dialog .drawer-links {
  margin-top: clamp(24px, 3.6vh, 38px);
  border-top-color: rgba(255,255,255,.075);
  background: none;
}
.cockpit-dialog .drawer-links a {
  min-height: clamp(56px, 6.4vh, 68px);
  grid-template-columns: 52px 1fr;
  padding-left: 8px;
  padding-right: 42px;
  color: rgba(238,240,243,.82);
  border-bottom-color: rgba(255,255,255,.065);
  font-size: clamp(1rem,1.25vw,1.32rem);
}
.cockpit-dialog .drawer-links a::before {
  inset: 8px 0;
  border-radius: 2px;
  background:
    linear-gradient(90deg, rgba(225,6,0,.095), rgba(225,6,0,.018) 52%, transparent);
}
.cockpit-dialog .drawer-links a::after {
  content: "→";
  left: auto;
  right: 13px;
  top: 50%;
  bottom: auto;
  width: auto;
  height: auto;
  color: rgba(255,78,70,.78);
  background: none;
  opacity: 0;
  transform: translate(-8px,-50%);
}
.cockpit-dialog .drawer-links a.is-routed,
.cockpit-dialog .drawer-links a:hover,
.cockpit-dialog .drawer-links a:focus-visible {
  padding-left: 12px;
  color: #fff;
  transform: translateX(6px);
  background: none;
  text-shadow: none;
}
.cockpit-dialog .drawer-links a.is-routed::after,
.cockpit-dialog .drawer-links a:hover::after,
.cockpit-dialog .drawer-links a:focus-visible::after {
  opacity: 1;
  transform: translate(0,-50%);
}
.cockpit-dialog .drawer-links a span {
  color: rgba(255,79,71,.72);
}
.cockpit-dialog .drawer-links a span::after {
  width: 9px;
  background: rgba(255,79,71,.28);
}
.cockpit-dialog .drawer-links a.is-routed span {
  color: #ff5b54;
  text-shadow: 0 0 10px rgba(225,6,0,.3);
}

/* Route cursor becomes a precise selector, not a heavy glowing rail. */
.cockpit-dialog .cockpit-route-cursor {
  left: -1px;
  width: 2px;
  border-radius: 0;
  background:
    linear-gradient(180deg, transparent, rgba(255,79,71,.92) 24% 76%, transparent);
  box-shadow: 0 0 12px rgba(225,6,0,.34);
  opacity: .78;
}
.cockpit-dialog .cockpit-route-cursor::after {
  left: 1px;
  width: 7px;
  height: 7px;
  border: 0;
  border-radius: 50%;
  transform: translate(-3px,-50%);
  background: #ff5149;
  box-shadow:
    0 0 0 4px rgba(225,6,0,.06),
    0 0 13px rgba(225,6,0,.4);
}
.cockpit-dialog .cockpit-route-cursor i {
  display: none;
}
.cockpit-dialog.is-route-scanning .cockpit-route-cursor {
  box-shadow: 0 0 14px rgba(225,6,0,.42);
}
.cockpit-dialog .cockpit-route-hint {
  padding-top: 11px;
  color: rgba(255,255,255,.24);
  font-size: .43rem;
}
.cockpit-dialog .cockpit-route-hint b {
  color: rgba(255,87,79,.5);
}

/* Opening motion ends in a stable state; no permanent autonomous cycling. */
.cockpit-dialog[open]:not(.is-closing) .cockpit-dial {
  animation: rkSelectorArcInV1066 .72s .08s cubic-bezier(.16,.84,.22,1) both;
}
@keyframes rkSelectorArcInV1066 {
  from { opacity: 0; transform: translateY(18px) scale(.96); }
  to { opacity: .98; transform: none; }
}
.cockpit-dialog[open]:not(.is-closing) .cockpit-dial-needle {
  animation: none;
}

/* --- TABLET / PHONE --------------------------------------------------- */
@media (max-width: 1180px) {
  .cockpit-dialog .cockpit-hud {
    inset-right: 52%;
  }
  .cockpit-dialog .cockpit-dial {
    width: min(38vw, 440px);
    height: 250px;
  }
  .cockpit-dialog .drawer-content {
    width: min(650px, 49vw);
    margin-right: 28px;
  }
}
@media (max-width: 980px) {
  .cockpit-dialog .cockpit-hud {
    inset: 84px 0 auto 0;
    height: 126px;
  }
  .cockpit-dialog .cockpit-status {
    left: 20px;
    top: 14px;
    min-width: 190px;
  }
  .cockpit-dialog .cockpit-dial,
  .cockpit-dialog .cockpit-vector-lines,
  .cockpit-dialog .cockpit-coordinate {
    display: none;
  }
  .cockpit-dialog .cockpit-redline {
    left: 20px;
    top: 108px;
    width: min(250px, 56vw);
    opacity: .22;
  }
  .cockpit-dialog .cockpit-watermark {
    left: 74%;
    top: 26%;
    width: 45vw;
    opacity: .035;
  }
  .cockpit-dialog .drawer-content {
    width: calc(100% - 34px);
    max-width: 760px;
    margin: 118px auto 0;
    padding: 28px 18px 22px;
    border-left-color: rgba(255,75,67,.2);
  }
  .cockpit-dialog .drawer-intro h2 {
    font-size: clamp(2.15rem, 8.2vw, 3.8rem);
  }
}
@media (max-width: 560px) {
  .cockpit-dialog .cockpit-status {
    left: 16px;
    top: 7px;
    min-width: 174px;
    padding: 10px 12px 9px 14px;
  }
  .cockpit-dialog .cockpit-status strong {
    font-size: .88rem;
  }
  .cockpit-dialog .cockpit-status-live {
    font-size: .43rem;
  }
  .cockpit-dialog .drawer-content {
    margin-top: 108px;
    padding-inline: 15px;
  }
  .cockpit-dialog .drawer-content::before {
    right: 15px;
  }
  .cockpit-dialog .drawer-links a {
    grid-template-columns: 42px 1fr;
    min-height: 56px;
    padding-right: 36px;
  }
  .cockpit-dialog .cockpit-route-cursor {
    left: 0;
  }
}

/* Reduced motion keeps the final selector layout but removes the sweep. */
@media (prefers-reduced-motion: reduce) {
  html.rk-ignition-pending .rk-ignition,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .cockpit-dialog .cockpit-route-cursor,
  .cockpit-dialog .drawer-links a,
  .rk-scan-panel.is-scanning::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  body.rk-mode-burst .rk-mode-aura::before,
  body.rk-mode-burst .rk-mode-aura::after {
    animation: none !important;
    transition: none !important;
  }
  html.rk-route-entry-pending .rk-route-transition,
  body.rk-route-exit .rk-route-transition {
    display: none !important;
  }
}


/* ============================================================
   V1.0.6.7 — RK // SIGNATURE SYSTEM
   Goal:
   - replace generic page wipes with an automotive slipstream transition;
   - turn scroll progress into compact RK telemetry;
   - make voluntary Mode RK unlock SPORT+ as a real session state;
   - keep mobile/tablet non-obstructive and respect reduced motion.
   ============================================================ */

/* --- ROUTE TRANSITION: RK SLIPSTREAM --------------------------------- */
.rk-route-transition.rk-slipstream {
  display: block;
  background: rgba(5,6,8,.58) !important;
  perspective: 920px;
  isolation: isolate;
}
.rk-slipstream > * { pointer-events: none; }

.rk-slipstream-vignette,
.rk-slipstream-road,
.rk-slipstream-tail,
.rk-slipstream-core,
.rk-slipstream-flare {
  position: absolute;
  opacity: 0;
}

.rk-slipstream-vignette {
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse at 50% 52%, transparent 0 20%, rgba(0,0,0,.34) 50%, rgba(0,0,0,.92) 100%),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 28% 72%, rgba(225,6,0,.035));
}

.rk-slipstream-road {
  z-index: 2;
  inset: 0;
  overflow: hidden;
  transform-style: preserve-3d;
  transform: rotateX(64deg) translateY(19vh) scale(1.1);
  transform-origin: 50% 55%;
}
.rk-slipstream-road::before,
.rk-slipstream-road::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 48%;
  width: min(96vw, 1380px);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.08) 38%, rgba(255,74,66,.28) 50%, rgba(255,255,255,.08) 62%, transparent);
}
.rk-slipstream-road::after {
  top: 57%;
  opacity: .35;
}

.rk-road-line {
  position: absolute !important;
  top: 48% !important;
  left: 50% !important;
  width: 2px !important;
  min-width: 0 !important;
  height: 72vh !important;
  transform-origin: 50% 0;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.22) 22%, rgba(225,6,0,.42) 66%, transparent) !important;
  box-shadow: 0 0 14px rgba(225,6,0,.10) !important;
  opacity: .55;
}
.rk-road-line-1 { transform: translateX(-320px) skewX(-25deg); }
.rk-road-line-2 { transform: translateX(-155px) skewX(-13deg); }
.rk-road-line-3 { transform: translateX(0); opacity: .28; }
.rk-road-line-4 { transform: translateX(155px) skewX(13deg); }
.rk-road-line-5 { transform: translateX(320px) skewX(25deg); }

.rk-slipstream-tail {
  z-index: 3;
  left: 50%;
  top: 50%;
  width: min(860px, 84vw);
  height: 120px;
  transform: translate(-50%,-50%);
}
.rk-slipstream-tail i,
.rk-slipstream-tail b {
  position: absolute;
  top: 50%;
  width: 42%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(225,6,0,.52), #ff5a52);
  box-shadow: 0 0 16px rgba(225,6,0,.72), 0 0 46px rgba(225,6,0,.24);
}
.rk-slipstream-tail i {
  left: 0;
  transform: translateY(-50%) skewX(-18deg);
}
.rk-slipstream-tail b {
  right: 0;
  transform: translateY(-50%) scaleX(-1) skewX(-18deg);
}

.rk-slipstream-core {
  z-index: 5;
  left: 50%;
  top: 50%;
  width: min(560px, calc(100vw - 34px));
  transform: translate(-50%,-50%) scale(.94);
  color: #fff;
  text-align: center;
  filter: drop-shadow(0 18px 36px rgba(0,0,0,.58));
}
.rk-slipstream-core span,
.rk-slipstream-core strong,
.rk-slipstream-core small {
  position: static !important;
  display: block;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  transform: none !important;
  background: none !important;
  box-shadow: none !important;
}
.rk-slipstream-code {
  color: #ff5b54;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
}
.rk-slipstream-core strong {
  margin-top: 10px;
  overflow: hidden;
  color: #f7f8f9;
  font-size: clamp(1rem, 2vw, 1.45rem);
  font-weight: 930;
  letter-spacing: .065em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rk-slipstream-core small {
  margin-top: 9px;
  color: rgba(255,255,255,.46);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .12em;
}
.rk-slipstream-core small b {
  display: inline-block;
  margin-right: 9px;
  color: #ff665f;
  font-size: .72rem;
  letter-spacing: .04em;
}
.rk-slipstream-core small span {
  display: inline !important;
  color: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

.rk-slipstream-flare {
  z-index: 7;
  left: 50%;
  top: 50%;
  width: 1px;
  height: 1px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: #fff;
  box-shadow:
    0 0 22px 8px rgba(255,255,255,.72),
    0 0 68px 24px rgba(255,70,62,.52),
    0 0 180px 68px rgba(225,6,0,.22);
}

/* Destination-page animation: the road comes toward the visitor, then clears. */
html.rk-route-entry-pending .rk-slipstream-vignette {
  animation: rkSlipVignetteV1067 .72s cubic-bezier(.18,.78,.22,1) both;
}
html.rk-route-entry-pending .rk-slipstream-road {
  animation: rkSlipRoadV1067 .72s cubic-bezier(.12,.78,.18,1) both;
}
html.rk-route-entry-pending .rk-slipstream-tail {
  animation: rkSlipTailV1067 .62s .02s cubic-bezier(.16,.78,.2,1) both;
}
html.rk-route-entry-pending .rk-slipstream-core {
  animation: rkSlipCoreV1067 .68s .02s cubic-bezier(.16,.82,.2,1) both;
}
html.rk-route-entry-pending .rk-slipstream-flare {
  animation: rkSlipFlareV1067 .64s .03s ease-out both;
}

html.rk-route-entry-pending .rk-slipstream.is-downshift .rk-slipstream-road {
  animation-direction: normal;
  filter: hue-rotate(-4deg) brightness(.92);
}
html.rk-route-entry-pending .rk-slipstream.is-upshift .rk-slipstream-road {
  filter: brightness(1.08);
}
html.rk-route-entry-pending .rk-slipstream.is-sport-shift .rk-slipstream-tail i,
html.rk-route-entry-pending .rk-slipstream.is-sport-shift .rk-slipstream-tail b {
  height: 4px;
  box-shadow: 0 0 18px rgba(225,6,0,.92), 0 0 72px rgba(225,6,0,.34);
}
html.rk-route-entry-pending .rk-slipstream.is-sport-shift .rk-slipstream-road {
  filter: saturate(1.22) brightness(1.10);
}
html.rk-route-entry-pending .rk-slipstream.is-sport-shift .rk-slipstream-code::after {
  content: " · SPORT+";
  color: rgba(255,255,255,.76);
}

body.rk-route-exit .rk-slipstream {
  visibility: visible;
}
body.rk-route-exit .rk-slipstream-vignette {
  opacity: .18;
}
body.rk-route-exit .rk-slipstream-tail {
  animation: rkSlipExitV1067 .24s ease-out both;
}

@keyframes rkSlipVignetteV1067 {
  0% { opacity: 1; }
  68% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes rkSlipRoadV1067 {
  0% { opacity: 0; transform: rotateX(64deg) translateY(13vh) scale(.72); filter: blur(1.6px); }
  18% { opacity: .88; }
  64% { opacity: 1; transform: rotateX(64deg) translateY(28vh) scale(1.32); filter: blur(0); }
  100% { opacity: 0; transform: rotateX(64deg) translateY(80vh) scale(2.2); filter: blur(2px); }
}
@keyframes rkSlipTailV1067 {
  0% { opacity: 0; transform: translate(-50%,-50%) scaleX(.16); filter: blur(2px); }
  22% { opacity: 1; transform: translate(-50%,-50%) scaleX(.62); }
  58% { opacity: 1; transform: translate(-50%,-50%) scaleX(1.04); }
  100% { opacity: 0; transform: translate(-50%,-50%) scaleX(1.68); filter: blur(3px); }
}
@keyframes rkSlipCoreV1067 {
  0% { opacity: 0; transform: translate(-50%,-44%) scale(.94); }
  18%, 60% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%,-58%) scale(1.015); }
}
@keyframes rkSlipFlareV1067 {
  0%, 50% { opacity: 0; transform: translate(-50%,-50%) scale(.2); }
  62% { opacity: .9; transform: translate(-50%,-50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%,-50%) scale(6); }
}
@keyframes rkSlipExitV1067 {
  from { opacity: 0; transform: translate(-50%,-50%) scaleX(.05); }
  to { opacity: .55; transform: translate(-50%,-50%) scaleX(.7); }
}

/* --- DRIVE MODE: RK TELEMETRY ---------------------------------------- */
.rk-drive-progress.rk-telemetry {
  top: auto !important;
  left: max(16px, env(safe-area-inset-left)) !important;
  right: auto !important;
  bottom: max(16px, env(safe-area-inset-bottom)) !important;
  width: auto !important;
  min-width: 220px;
  max-width: min(280px, calc(100vw - 32px));
  min-height: 68px;
  display: grid !important;
  grid-template-columns: 54px minmax(0,1fr) !important;
  gap: 11px !important;
  align-items: center !important;
  padding: 8px 13px 8px 8px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.035), transparent 45%),
    rgba(6,8,11,.90);
  box-shadow:
    0 14px 40px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(225,6,0,.025);
  color: #fff;
  opacity: 0;
  transform: translateY(12px) !important;
  pointer-events: none;
  transition: opacity .28s ease, transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
body.rk-drive-ready.rk-scroll-track .rk-drive-progress.rk-telemetry {
  opacity: .88;
  transform: translateY(0) !important;
}
body.rk-mode-active.rk-scroll-track .rk-drive-progress.rk-telemetry {
  opacity: 1;
  border-color: rgba(255,75,67,.34);
  box-shadow:
    0 14px 44px rgba(0,0,0,.40),
    0 0 36px rgba(225,6,0,.10),
    inset 0 0 0 1px rgba(225,6,0,.05);
}

.rk-telemetry-ring {
  position: relative;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background:
    conic-gradient(
      from -118deg,
      #ff4d46 0deg,
      #e10600 var(--rk-scroll-sweep, 0deg),
      rgba(255,255,255,.09) var(--rk-scroll-sweep, 0deg),
      rgba(255,255,255,.09) 236deg,
      transparent 236deg
    );
  -webkit-mask: radial-gradient(circle, transparent 0 61%, #000 63% 69%, transparent 71%);
  mask: radial-gradient(circle, transparent 0 61%, #000 63% 69%, transparent 71%);
  filter: drop-shadow(0 0 7px rgba(225,6,0,.22));
}
.rk-telemetry-ring::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.055);
}
.rk-telemetry-ring i {
  position: absolute;
  left: 50%;
  bottom: 50%;
  width: 1px;
  height: 20px;
  transform-origin: 50% 100%;
  transform: translateX(-50%) rotate(var(--rk-scroll-angle, -118deg));
  background: linear-gradient(#fff, #ff5b54 30%, #e10600 70%, transparent);
  box-shadow: 0 0 7px rgba(225,6,0,.55);
  transition: transform .14s cubic-bezier(.16,.78,.2,1);
}
.rk-telemetry-ring b {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: #0b0c0f;
  border: 1px solid #ff544c;
  box-shadow: 0 0 0 3px rgba(225,6,0,.08);
}

.rk-telemetry-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.rk-telemetry-copy > span {
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  transform: none !important;
  background: none !important;
  box-shadow: none !important;
  color: rgba(255,92,84,.76);
  font-size: .46rem;
  font-weight: 900;
  letter-spacing: .18em;
}
.rk-telemetry-copy strong {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.rk-telemetry-copy strong em {
  color: #f5f6f7;
  font-size: .94rem;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .02em;
}
.rk-telemetry-copy strong b {
  overflow: hidden;
  color: rgba(239,241,244,.82);
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .10em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rk-telemetry-copy small {
  color: rgba(255,255,255,.35);
  font-size: .42rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.rk-telemetry-copy small span {
  color: rgba(255,255,255,.62);
}
.rk-drive-progress.rk-telemetry.is-stage-shifting .rk-telemetry-copy strong {
  animation: rkTelemetryStageV1067 .34s cubic-bezier(.18,.78,.2,1);
}
.rk-drive-progress.rk-telemetry .rk-drive-progress-rail,
.rk-drive-progress.rk-telemetry .rk-drive-stages {
  display: none !important;
}

body.rk-mode-active .rk-telemetry-ring {
  filter:
    drop-shadow(0 0 8px rgba(225,6,0,.42))
    drop-shadow(0 0 20px rgba(225,6,0,.10));
}
body.rk-mode-active .rk-telemetry-ring::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 1px solid rgba(255,75,67,.16);
  transform: scale(var(--rk-velocity-scale, 1));
  opacity: var(--rk-velocity-opacity, .18);
  transition: transform .12s linear, opacity .12s linear;
}
@keyframes rkTelemetryStageV1067 {
  0% { opacity: .32; transform: translateY(6px); }
  100% { opacity: 1; transform: none; }
}

/* Mission already has its own progress language. */
body[data-rk-path="/trouver"] .rk-drive-progress.rk-telemetry {
  display: none !important;
}

/* --- MODE RK EASTER EGG: SPORT+ -------------------------------------- */
.rk-sport-launch {
  position: fixed;
  z-index: 82;
  left: 50%;
  top: 50%;
  width: min(520px, calc(100vw - 34px));
  transform: translate(-50%,-50%) scale(.94);
  display: grid;
  justify-items: center;
  gap: 7px;
  padding: 28px 30px 24px;
  border: 1px solid rgba(255,78,70,.30);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0, rgba(225,6,0,.12), transparent 48%),
    rgba(5,7,9,.93);
  color: #fff;
  box-shadow:
    0 28px 90px rgba(0,0,0,.55),
    0 0 70px rgba(225,6,0,.10);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  backdrop-filter: blur(18px);
}
.rk-sport-launch-mark {
  position: relative;
  width: 74px;
  height: 34px;
}
.rk-sport-launch-mark::before,
.rk-sport-launch-mark::after,
.rk-sport-launch-mark i,
.rk-sport-launch-mark b {
  content: "";
  position: absolute;
}
.rk-sport-launch-mark::before,
.rk-sport-launch-mark::after {
  top: 16px;
  width: 28px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ff5149);
  box-shadow: 0 0 10px rgba(225,6,0,.56);
}
.rk-sport-launch-mark::before { left: 0; }
.rk-sport-launch-mark::after { right: 0; transform: scaleX(-1); }
.rk-sport-launch-mark i {
  left: 50%;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translate(-50%,-50%);
  border: 1px solid rgba(255,80,72,.72);
  border-radius: 50%;
}
.rk-sport-launch-mark b {
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: #ff5048;
  box-shadow: 0 0 12px rgba(225,6,0,.78);
}
.rk-sport-launch > span {
  color: #ff625b;
  font-size: .48rem;
  font-weight: 900;
  letter-spacing: .25em;
}
.rk-sport-launch > strong {
  font-size: clamp(2.1rem, 5vw, 4.4rem);
  line-height: .92;
  letter-spacing: -.045em;
}
.rk-sport-launch > small {
  color: rgba(255,255,255,.42);
  font-size: .44rem;
  font-weight: 850;
  letter-spacing: .18em;
}
.rk-sport-launch-bars {
  display: flex;
  align-items: end;
  gap: 4px;
  height: 24px;
  margin-top: 8px;
}
.rk-sport-launch-bars i {
  width: 18px;
  height: 4px;
  border-radius: 1px;
  background: rgba(255,255,255,.10);
}
body.rk-sport-launching .rk-sport-launch {
  visibility: visible;
  animation: rkSportLaunchCardV1067 2.28s cubic-bezier(.16,.78,.2,1) both;
}
body.rk-sport-launching .rk-sport-launch-bars i {
  animation: rkSportLaunchBarV1067 .72s ease-out both;
}
body.rk-sport-launching .rk-sport-launch-bars i:nth-child(2) { animation-delay: .07s; }
body.rk-sport-launching .rk-sport-launch-bars i:nth-child(3) { animation-delay: .14s; }
body.rk-sport-launching .rk-sport-launch-bars i:nth-child(4) { animation-delay: .21s; }
body.rk-sport-launching .rk-sport-launch-bars i:nth-child(5) { animation-delay: .28s; }
body.rk-sport-launching .rk-sport-launch-bars i:nth-child(6) { animation-delay: .35s; }
body.rk-sport-launching .rk-sport-launch-bars i:nth-child(7) { animation-delay: .42s; }

body.rk-sport-plus .brand-link {
  position: relative;
}
body.rk-sport-plus .brand-link::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 5px;
  height: 1px;
  transform-origin: center;
  background: linear-gradient(90deg, transparent, #e10600, #ff625b, transparent);
  box-shadow: 0 0 10px rgba(225,6,0,.45);
  animation: rkSportBrandPulseV1067 3.6s ease-in-out infinite;
}
body.rk-sport-plus .cockpit-status strong::after {
  content: " · SPORT+";
  color: #ff5b54;
  font-size: .58em;
  letter-spacing: .09em;
}

.rk-run-complete {
  position: fixed;
  z-index: 76;
  left: 50%;
  bottom: max(24px, calc(env(safe-area-inset-bottom) + 18px));
  width: min(420px, calc(100vw - 30px));
  transform: translate(-50%,14px);
  padding: 11px 15px 12px;
  border: 1px solid rgba(255,76,68,.30);
  border-radius: 13px;
  background: rgba(5,7,9,.94);
  color: #fff;
  box-shadow: 0 18px 56px rgba(0,0,0,.40), 0 0 30px rgba(225,6,0,.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  text-align: center;
}
.rk-run-complete span,
.rk-run-complete strong {
  display: block;
}
.rk-run-complete span {
  color: #ff5b54;
  font-size: .44rem;
  font-weight: 900;
  letter-spacing: .20em;
}
.rk-run-complete strong {
  margin-top: 5px;
  color: rgba(255,255,255,.76);
  font-size: .58rem;
  letter-spacing: .11em;
}
body.rk-run-complete-show .rk-run-complete {
  visibility: visible;
  animation: rkRunCompleteV1067 2.55s ease both;
}

@keyframes rkSportLaunchCardV1067 {
  0% { opacity: 0; transform: translate(-50%,-46%) scale(.94); filter: blur(4px); }
  16%, 70% { opacity: 1; transform: translate(-50%,-50%) scale(1); filter: blur(0); }
  100% { opacity: 0; transform: translate(-50%,-54%) scale(1.015); }
}
@keyframes rkSportLaunchBarV1067 {
  0% { height: 4px; background: rgba(255,255,255,.10); }
  55% { height: 22px; background: #ff5149; box-shadow: 0 0 12px rgba(225,6,0,.46); }
  100% { height: 8px; background: rgba(255,83,75,.32); }
}
@keyframes rkSportBrandPulseV1067 {
  0%, 100% { opacity: .22; transform: scaleX(.42); }
  50% { opacity: .78; transform: scaleX(1); }
}
@keyframes rkRunCompleteV1067 {
  0% { opacity: 0; transform: translate(-50%,14px); }
  14%, 78% { opacity: 1; transform: translate(-50%,0); }
  100% { opacity: 0; transform: translate(-50%,-8px); }
}

/* --- RESPONSIVE: keep the signature without covering content ---------- */
@media (max-width: 980px) {
  .rk-drive-progress.rk-telemetry {
    min-width: 176px;
    grid-template-columns: 46px minmax(0,1fr) !important;
    min-height: 58px;
    padding: 6px 10px 6px 6px;
    border-radius: 16px;
  }
  .rk-telemetry-ring {
    width: 46px;
    height: 46px;
  }
  .rk-telemetry-ring i { height: 17px; }
  .rk-telemetry-copy > span { font-size: .42rem; }
  .rk-telemetry-copy strong em { font-size: .82rem; }
  .rk-telemetry-copy strong b { font-size: .50rem; }
}

@media (max-width: 600px) {
  .rk-drive-progress.rk-telemetry {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: auto !important;
    bottom: max(9px, calc(env(safe-area-inset-bottom) + 6px)) !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    min-height: 46px !important;
    height: 46px !important;
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(5,7,10,.91) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.34) !important;
  }
  .rk-drive-progress.rk-telemetry .rk-telemetry-ring {
    width: 46px;
    height: 46px;
  }
  .rk-drive-progress.rk-telemetry .rk-telemetry-copy,
  .rk-drive-progress.rk-telemetry .rk-drive-progress-rail,
  .rk-drive-progress.rk-telemetry .rk-drive-stages {
    display: none !important;
  }
  .rk-mode-toggle {
    bottom: max(9px, calc(env(safe-area-inset-bottom) + 6px));
  }
  .rk-slipstream-road {
    transform: rotateX(68deg) translateY(22vh) scale(1.24);
  }
  .rk-road-line-1 { transform: translateX(-190px) skewX(-26deg); }
  .rk-road-line-2 { transform: translateX(-92px) skewX(-14deg); }
  .rk-road-line-4 { transform: translateX(92px) skewX(14deg); }
  .rk-road-line-5 { transform: translateX(190px) skewX(26deg); }
  .rk-slipstream-tail {
    width: 88vw;
  }
  .rk-slipstream-core {
    width: calc(100vw - 24px);
  }
  .rk-sport-launch {
    width: calc(100vw - 28px);
    padding: 24px 18px 21px;
  }
  .rk-sport-launch > strong {
    font-size: clamp(2rem, 15vw, 3.6rem);
  }
}

@media (max-width: 360px) {
  .rk-mode-toggle {
    max-width: 148px;
  }
  .rk-run-complete {
    width: calc(100vw - 22px);
  }
}

/* Reduced motion: preserve meaning/state, remove cinematic movement. */
@media (prefers-reduced-motion: reduce) {
  html.rk-route-entry-pending .rk-route-transition,
  body.rk-route-exit .rk-route-transition,
  html.rk-route-entry-pending .rk-slipstream,
  body.rk-route-exit .rk-slipstream {
    display: none !important;
  }
  html.rk-ignition-pending .rk-ignition,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .cockpit-route-cursor,
  .cockpit-dialog .drawer-links a,
  .rk-scan-panel.is-scanning::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  body.rk-mode-burst .rk-mode-aura::before,
  body.rk-mode-burst .rk-mode-aura::after,
  .rk-telemetry-ring i,
  .rk-drive-progress.rk-telemetry,
  .rk-drive-progress.rk-telemetry.is-stage-shifting .rk-telemetry-copy strong,
  body.rk-sport-plus .brand-link::after,
  body.rk-sport-launching .rk-sport-launch,
  body.rk-sport-launching .rk-sport-launch-bars i,
  body.rk-run-complete-show .rk-run-complete {
    animation: none !important;
    transition: none !important;
  }
  body.rk-sport-launching .rk-sport-launch {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%,-50%);
  }
}


/* V1.0.6.8 — short viewport safety: navigation before decoration. */
@media (max-height: 640px) {
  .rk-ignition,
  .rk-route-transition,
  .cockpit-hud,
  .drawer-intro,
  .cockpit-route-hint {
    display: none !important;
  }

  .navigation-dialog[open] {
    height: 100dvh !important;
    max-height: 100dvh !important;
  }

  .drawer-header {
    min-height: 58px !important;
    padding-block: 6px !important;
  }

  .drawer-header img {
    max-height: 44px !important;
    width: auto !important;
  }

  .drawer-content {
    padding-top: 4px !important;
  }

  .drawer-links a {
    min-height: 46px !important;
  }

  .drawer-contact {
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 360px) {
  .drawer-intro,
  .cockpit-hud,
  .cockpit-route-hint {
    display: none !important;
  }

  .drawer-header {
    min-height: 64px !important;
  }

  .drawer-links a {
    min-height: 46px !important;
  }

  .navigation-dialog[open]::after {
    content: "";
    position: sticky;
    z-index: 20;
    display: block;
    left: 0;
    right: 0;
    bottom: 0;
    height: 18px;
    margin-top: -18px;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(6,8,10,.92));
  }
}

@media (pointer: coarse) and (max-width: 900px) {
  .rk-drive-progress.rk-telemetry {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}


.js-guided-only { display: none; }
html.js .js-guided-only { display: block; }


/* V1.0.6.8 — short-height cockpit: navigation must fit before decoration. */
@media (max-height: 640px) {
  .navigation-dialog[open] {
    overflow: hidden !important;
  }

  .cockpit-dialog .drawer-header {
    position: absolute !important;
    top: max(6px, env(safe-area-inset-top)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    left: auto !important;
    z-index: 40 !important;
    width: 44px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .cockpit-dialog .drawer-header img {
    display: none !important;
  }

  .cockpit-dialog .drawer-close {
    width: 44px !important;
    height: 44px !important;
  }

  .cockpit-dialog .drawer-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: max(48px, calc(env(safe-area-inset-top) + 46px))
             max(12px, env(safe-area-inset-right))
             max(8px, env(safe-area-inset-bottom))
             max(12px, env(safe-area-inset-left)) !important;
    border: 0 !important;
    clip-path: none !important;
    background: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .cockpit-dialog .drawer-content::before,
  .cockpit-dialog .drawer-content::after,
  .cockpit-dialog .drawer-contact {
    display: none !important;
  }

  .cockpit-dialog .drawer-links {
    margin-top: 0 !important;
    border-top-color: rgba(255,255,255,.10) !important;
  }

  .cockpit-dialog .drawer-links a {
    min-height: 44px !important;
    height: 44px !important;
    grid-template-columns: 42px 1fr !important;
    padding: 0 34px 0 8px !important;
    font-size: .94rem !important;
    line-height: 1.1 !important;
    transform: none !important;
  }

  .cockpit-dialog .drawer-links a::before {
    inset: 4px 0 !important;
  }
}

@media (max-width: 360px) and (min-height: 641px) {
  .cockpit-dialog .drawer-content {
    margin-top: 72px !important;
    padding-top: 8px !important;
  }

  .cockpit-dialog .drawer-contact {
    margin-top: 16px !important;
  }
}


/* ============================================================
   V1.0.6.9 — FINAL UI POLISH
   Scope is intentionally narrow:
   1) cockpit navigation scrollability + readable contact block;
   2) compact readable Drive Mode HUD on small screens;
   3) no business logic changes.
   ============================================================ */

/* Cockpit navigation: keep the contact information readable and allow the
   route list itself to scroll natively.  This deliberately does NOT re-add
   any wheel hijacking. */
.cockpit-dialog .drawer-content {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: calc(100dvh - clamp(94px, 11vh, 126px));
  overflow: hidden;
}
.cockpit-dialog .drawer-links {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(225,6,0,.72) rgba(255,255,255,.05);
  padding-right: 6px;
}
.cockpit-dialog .drawer-links::-webkit-scrollbar {
  width: 7px;
}
.cockpit-dialog .drawer-links::-webkit-scrollbar-track {
  background: rgba(255,255,255,.045);
  border-radius: 999px;
}
.cockpit-dialog .drawer-links::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #ff5149, #9c0905);
  border-radius: 999px;
  box-shadow: 0 0 10px rgba(225,6,0,.24);
}
.cockpit-dialog .drawer-contact {
  position: relative;
  z-index: 8;
  margin-top: 14px;
  padding: 14px 14px 12px 22px;
  color: rgba(236,238,242,.78);
  font-size: .80rem;
  line-height: 1.35;
  background:
    linear-gradient(180deg, rgba(4,6,8,.14), rgba(4,6,8,.88) 34%),
    rgba(4,6,8,.72);
  border-top-color: rgba(255,255,255,.11);
  box-shadow: 0 -12px 28px rgba(0,0,0,.18);
}
.cockpit-dialog .drawer-contact a {
  color: rgba(255,255,255,.96);
  font-size: .82rem;
}
.cockpit-dialog .drawer-contact::after {
  content: "COORDONNÉES RK";
  position: absolute;
  right: 10px;
  top: 10px;
  color: rgba(255,86,78,.44);
  font-size: .43rem;
  font-weight: 900;
  letter-spacing: .16em;
}

/* The short-landscape layout must remain usable without hiding the contact
   block.  The route list gets the scroll instead of the full dialog. */
@media (max-height: 640px) {
  .navigation-dialog[open] {
    overflow: hidden !important;
  }
  .cockpit-dialog .drawer-content {
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 8px max(12px, env(safe-area-inset-right))
             8px max(12px, env(safe-area-inset-left)) !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    overflow: hidden !important;
  }
  .cockpit-dialog .drawer-content::before,
  .cockpit-dialog .drawer-content::after {
    display: none !important;
  }
  .cockpit-dialog .drawer-links {
    display: grid !important;
    margin: 0 !important;
    padding-right: 52px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable;
    border-top-color: rgba(255,255,255,.10) !important;
  }
  .cockpit-dialog .drawer-links a {
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 38px 0 8px !important;
  }
  .cockpit-dialog .drawer-contact {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 16px;
    min-height: 48px;
    margin: 0 !important;
    padding: 8px 56px 8px 22px !important;
    color: rgba(238,240,243,.78) !important;
    font-size: .69rem !important;
    background:
      linear-gradient(90deg, rgba(225,6,0,.055), transparent 42%),
      rgba(4,6,8,.96) !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 -10px 26px rgba(0,0,0,.30) !important;
  }
  .cockpit-dialog .drawer-contact a {
    font-size: .71rem !important;
  }
  .cockpit-dialog .drawer-contact::after {
    content: "SCROLL";
    top: 50%;
    transform: translateY(-50%);
    right: 8px;
  }
}
@media (max-height: 640px) and (max-width: 680px) {
  .cockpit-dialog .drawer-contact {
    display: grid !important;
    grid-template-columns: 1fr auto;
    gap: 2px 10px;
    min-height: 54px;
  }
  .cockpit-dialog .drawer-contact > span {
    grid-column: 1 / -1;
  }
}

/* V1.0.6.9 Drive Mode — readable cockpit strip instead of a floating blob.
   Desktop/tablet keep a small instrument; phones use a concise text strip. */
.rk-drive-progress.rk-telemetry {
  min-width: 238px;
  min-height: 62px;
  grid-template-columns: 46px minmax(0,1fr) !important;
  gap: 10px !important;
  padding: 8px 13px 8px 8px;
  border-radius: 14px 22px 14px 22px;
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 13px 100%, 0 calc(100% - 13px));
  background:
    linear-gradient(135deg, rgba(255,255,255,.045), transparent 42%),
    linear-gradient(90deg, rgba(225,6,0,.055), transparent 36%),
    rgba(5,7,10,.94);
}
.rk-drive-progress.rk-telemetry::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 4px;
  height: 2px;
  transform: scaleX(var(--rk-scroll-progress, 0));
  transform-origin: left center;
  border-radius: 999px;
  background: linear-gradient(90deg, #8b110d, #e10600 68%, #ff625b);
  box-shadow: 0 0 10px rgba(225,6,0,.38);
}
.rk-drive-progress.rk-telemetry .rk-telemetry-ring {
  width: 46px;
  height: 46px;
}
.rk-drive-progress.rk-telemetry .rk-telemetry-copy > span {
  color: rgba(255,94,86,.86);
  font-size: .54rem;
}
.rk-drive-progress.rk-telemetry .rk-telemetry-copy strong em {
  font-size: 1.04rem;
}
.rk-drive-progress.rk-telemetry .rk-telemetry-copy strong b {
  color: rgba(248,249,250,.94);
  font-size: .66rem;
}
.rk-drive-progress.rk-telemetry .rk-telemetry-copy small {
  color: rgba(255,255,255,.55);
  font-size: .51rem;
}

/* Phone: no circle, no clipped text.  The stage, label and percentage remain
   visible in a narrow angled strip that can coexist with the Mode RK button. */
@media (max-width: 600px) {
  .rk-drive-progress.rk-telemetry {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: auto !important;
    bottom: max(9px, calc(env(safe-area-inset-bottom) + 6px)) !important;
    top: auto !important;
    width: min(148px, calc(100vw - 166px)) !important;
    min-width: 132px !important;
    max-width: 148px !important;
    min-height: 54px !important;
    height: 54px !important;
    display: grid !important;
    grid-template-columns: 4px minmax(0,1fr) !important;
    gap: 8px !important;
    padding: 7px 10px 7px 9px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-left-color: rgba(255,73,65,.52) !important;
    border-radius: 12px 18px 12px 18px !important;
    clip-path: polygon(0 0, calc(100% - 11px) 0, 100% 11px, 100% 100%, 11px 100%, 0 calc(100% - 11px)) !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.055), transparent 48%),
      rgba(5,7,10,.96) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.34), inset 2px 0 0 rgba(225,6,0,.28) !important;
    transform: translateY(8px) !important;
  }
  body.rk-drive-ready.rk-scroll-track .rk-drive-progress.rk-telemetry {
    transform: translateY(0) !important;
  }
  .rk-drive-progress.rk-telemetry::before {
    content: "";
    display: block !important;
    width: 3px;
    height: 30px;
    align-self: center;
    border-radius: 999px;
    background: linear-gradient(#ff5b54, #e10600);
    box-shadow: 0 0 10px rgba(225,6,0,.48);
  }
  .rk-drive-progress.rk-telemetry::after {
    left: 8px;
    right: 8px;
    bottom: 4px;
  }
  .rk-drive-progress.rk-telemetry .rk-telemetry-ring,
  .rk-drive-progress.rk-telemetry .rk-drive-progress-rail,
  .rk-drive-progress.rk-telemetry .rk-drive-stages {
    display: none !important;
  }
  .rk-drive-progress.rk-telemetry .rk-telemetry-copy {
    display: grid !important;
    align-content: center;
    gap: 2px;
    min-width: 0;
  }
  .rk-drive-progress.rk-telemetry .rk-telemetry-copy > span {
    display: block !important;
    color: rgba(255,87,79,.86) !important;
    font-size: .49rem !important;
    letter-spacing: .14em !important;
    white-space: nowrap;
  }
  .rk-drive-progress.rk-telemetry .rk-telemetry-copy strong {
    display: flex !important;
    gap: 6px !important;
    min-width: 0;
  }
  .rk-drive-progress.rk-telemetry .rk-telemetry-copy strong em {
    flex: 0 0 auto;
    color: #fff !important;
    font-size: .96rem !important;
  }
  .rk-drive-progress.rk-telemetry .rk-telemetry-copy strong b {
    display: block !important;
    min-width: 0;
    overflow: hidden !important;
    color: rgba(248,249,250,.94) !important;
    font-size: .68rem !important;
    letter-spacing: .045em !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rk-drive-progress.rk-telemetry .rk-telemetry-copy small {
    display: block !important;
    color: rgba(255,255,255,.58) !important;
    font-size: .52rem !important;
    letter-spacing: .07em !important;
    white-space: nowrap;
  }
}
@media (max-width: 360px) {
  .rk-drive-progress.rk-telemetry {
    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }
}

/* Keep the fixed cockpit panel inside the viewport on portrait phone/tablet
   layouts where older rules add a top margin. */
@media (max-width: 980px) and (min-height: 641px) {
  .cockpit-dialog .drawer-content {
    max-height: calc(100dvh - 132px) !important;
  }
}
@media (max-width: 560px) and (min-height: 641px) {
  .cockpit-dialog .drawer-content {
    max-height: calc(100dvh - 120px) !important;
  }
}

@media (max-width: 560px) and (min-height: 641px) {
  .cockpit-dialog .drawer-intro {
    display: none !important;
  }
  .cockpit-dialog .drawer-content {
    margin-top: 76px !important;
    max-height: calc(100dvh - 88px) !important;
    padding-top: 8px !important;
  }
}


/* ============================================================
   V1.0.7.0 — FINAL TIMING + DRIVE POLISH
   1) Drive Mode fully redesigned as RK TRACKLINE.
   2) RK Scan slowed down and result state held clearly.
   3) Mode RK audio target raised slightly to 0.49 in JS only.
   ============================================================ */

/* --- RK TRACKLINE: replaces the floating Drive HUD -------------------- */
.rk-drive-progress.rk-telemetry.rk-trackline {
  position: fixed !important;
  z-index: 66 !important;
  top: 50% !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  width: 176px !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 10px minmax(0,1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 10px 11px !important;
  padding: 13px 12px 13px 14px !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-right: 0 !important;
  border-radius: 16px 0 0 16px !important;
  clip-path: none !important;
  background:
    linear-gradient(90deg, rgba(225,6,0,.07), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.035), transparent 48%),
    rgba(5,7,10,.94) !important;
  box-shadow:
    -18px 18px 48px rgba(0,0,0,.24),
    inset 1px 0 0 rgba(225,6,0,.22) !important;
  opacity: 0 !important;
  transform: translate(18px,-50%) !important;
  pointer-events: none;
  transition:
    opacity .24s ease,
    transform .32s cubic-bezier(.18,.78,.2,1),
    border-color .24s ease,
    box-shadow .24s ease !important;
}
body.rk-drive-ready.rk-scroll-track.rk-drive-engaged .rk-drive-progress.rk-telemetry.rk-trackline {
  opacity: .94 !important;
  transform: translate(0,-50%) !important;
}
body.rk-mode-active.rk-drive-engaged .rk-drive-progress.rk-telemetry.rk-trackline {
  opacity: 1 !important;
  border-color: rgba(255,78,70,.28) !important;
  box-shadow:
    -18px 18px 52px rgba(0,0,0,.30),
    -12px 0 38px rgba(225,6,0,.08),
    inset 1px 0 0 rgba(225,6,0,.36) !important;
}
.rk-trackline .rk-telemetry-ring,
.rk-trackline .rk-drive-progress-rail {
  display: none !important;
}
.rk-trackline-meter {
  position: relative;
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: stretch;
  justify-self: center;
  width: 3px;
  min-height: 132px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.rk-trackline-meter::before,
.rk-trackline-meter::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 7px;
  height: 1px;
  transform: translateX(-50%);
  background: rgba(255,255,255,.20);
}
.rk-trackline-meter::before { top: 0; }
.rk-trackline-meter::after { bottom: 0; }
.rk-trackline-progress {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(var(--rk-scroll-progress, 0) * 100%);
  min-height: 2px;
  border-radius: inherit;
  background: linear-gradient(180deg, #ff5d56 0%, #e10600 68%, #8f0a06 100%);
  box-shadow: 0 0 11px rgba(225,6,0,.42);
  transition: height .10s linear;
}
.rk-trackline-marker {
  position: absolute;
  left: 50%;
  top: calc(var(--rk-scroll-progress, 0) * 100%);
  width: 9px;
  height: 9px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: #090b0e;
  border: 2px solid #ff5149;
  box-shadow:
    0 0 0 3px rgba(225,6,0,.09),
    0 0 12px rgba(225,6,0,.54);
  transition: top .10s linear;
}
.rk-trackline .rk-telemetry-copy {
  grid-column: 2;
  grid-row: 1;
  display: grid !important;
  gap: 3px;
  min-width: 0;
  padding: 0 0 9px;
  border-bottom: 1px solid rgba(255,255,255,.075);
}
.rk-trackline .rk-telemetry-copy > span {
  display: block !important;
  color: rgba(255,91,83,.88) !important;
  font-size: .52rem !important;
  line-height: 1.1;
  letter-spacing: .17em !important;
  white-space: nowrap;
}
.rk-trackline .rk-telemetry-copy strong {
  display: flex !important;
  align-items: baseline;
  gap: 7px !important;
  min-width: 0;
}
.rk-trackline .rk-telemetry-copy strong em {
  flex: 0 0 auto;
  color: #fff !important;
  font-size: 1.04rem !important;
  line-height: 1;
}
.rk-trackline .rk-telemetry-copy strong b {
  overflow: hidden;
  color: rgba(248,249,250,.95) !important;
  font-size: .67rem !important;
  line-height: 1.1;
  letter-spacing: .055em !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rk-trackline .rk-telemetry-copy small {
  color: rgba(255,255,255,.55) !important;
  font-size: .50rem !important;
  line-height: 1;
  letter-spacing: .08em !important;
}
.rk-trackline .rk-drive-stages {
  grid-column: 2;
  grid-row: 2;
  display: grid !important;
  gap: 2px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.rk-trackline .rk-drive-stages li {
  min-height: 20px;
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr);
  align-items: center;
  gap: 6px;
  padding: 0 !important;
  color: rgba(255,255,255,.27);
  opacity: 1 !important;
  font-size: .48rem;
  font-weight: 850;
  letter-spacing: .07em;
  transition: color .22s ease, transform .22s ease, opacity .22s ease;
}
.rk-trackline .rk-drive-stages li span {
  color: rgba(255,255,255,.26);
  font-size: .45rem;
  font-variant-numeric: tabular-nums;
}
.rk-trackline .rk-drive-stages li b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rk-trackline .rk-drive-stages li.is-complete {
  color: rgba(255,255,255,.46);
}
.rk-trackline .rk-drive-stages li.is-complete span {
  color: rgba(255,81,73,.44);
}
.rk-trackline .rk-drive-stages li.is-active {
  color: rgba(255,255,255,.96);
  transform: translateX(3px);
}
.rk-trackline .rk-drive-stages li.is-active span {
  color: #ff5b54;
}
.rk-trackline .rk-drive-stages li.is-active b::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 1px;
  margin: 0 0 3px 7px;
  background: #e10600;
  box-shadow: 0 0 7px rgba(225,6,0,.45);
}

/* Mobile/tablet: Drive Mode becomes a slim route bar directly below the
   sticky header.  No floating bubble and no collision with Mode RK. */
@media (max-width: 700px) {
  .rk-drive-progress.rk-telemetry.rk-trackline {
    top: var(--header-height) !important;
    right: 0 !important;
    left: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: 38px !important;
    min-height: 38px !important;
    display: block !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,.04) !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 0 !important;
    background: rgba(5,7,10,.95) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
    opacity: 0 !important;
    transform: translateY(-8px) !important;
    clip-path: none !important;
    backdrop-filter: none !important;
  }
  body.rk-drive-ready.rk-scroll-track.rk-drive-engaged .rk-drive-progress.rk-telemetry.rk-trackline {
    opacity: .98 !important;
    transform: translateY(0) !important;
  }
  .rk-trackline .rk-trackline-meter {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    width: auto;
    height: 2px;
    min-height: 2px;
    border-radius: 0;
    background: rgba(255,255,255,.07);
  }
  .rk-trackline .rk-trackline-progress {
    width: calc(var(--rk-scroll-progress, 0) * 100%);
    height: 100%;
    min-height: 0;
    transition: width .10s linear;
  }
  .rk-trackline .rk-trackline-marker {
    left: calc(var(--rk-scroll-progress, 0) * 100%);
    top: 50%;
    width: 6px;
    height: 6px;
    transition: left .10s linear;
  }
  .rk-trackline .rk-telemetry-copy {
    height: 36px;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 0 !important;
    border: 0 !important;
  }
  .rk-trackline .rk-telemetry-copy > span {
    font-size: .46rem !important;
    letter-spacing: .12em !important;
  }
  .rk-trackline .rk-telemetry-copy strong {
    gap: 5px !important;
  }
  .rk-trackline .rk-telemetry-copy strong em {
    font-size: .80rem !important;
  }
  .rk-trackline .rk-telemetry-copy strong b {
    font-size: .61rem !important;
  }
  .rk-trackline .rk-telemetry-copy small {
    justify-self: end;
    font-size: .48rem !important;
    white-space: nowrap;
  }
  .rk-trackline .rk-drive-stages {
    display: none !important;
  }
}
@media (max-width: 360px) {
  .rk-drive-progress.rk-telemetry.rk-trackline {
    padding-inline: 9px !important;
  }
  .rk-trackline .rk-telemetry-copy {
    gap: 5px;
  }
  .rk-trackline .rk-telemetry-copy > span {
    font-size: .42rem !important;
  }
  .rk-trackline .rk-telemetry-copy strong b {
    font-size: .57rem !important;
  }
  .rk-trackline .rk-telemetry-copy small {
    font-size: .44rem !important;
  }
}

/* Mission already has its own step progress and remains uncluttered. */
body[data-rk-path="/trouver"] .rk-drive-progress.rk-trackline {
  display: none !important;
}

/* --- RK SCAN: deliberate pacing, no cut-off at 420 ms ---------------- */
.rk-scan-panel.is-scanning .rk-scan-status i::after {
  animation-duration: 2.65s !important;
}
.rk-scan-panel.is-scanning::after {
  width: 13%;
  animation: rkScanBeamV1070 2.65s .06s cubic-bezier(.18,.76,.22,1) both !important;
}
.rk-scan-panel.is-scanning [data-rk-scan-line] {
  opacity: 1;
  transform: translateX(0);
  transition-duration: .52s;
}
.rk-scan-panel.is-scanning [data-rk-scan-line]:nth-of-type(3) { transition-delay: .65s !important; }
.rk-scan-panel.is-scanning [data-rk-scan-line]:nth-of-type(4) { transition-delay: 1.30s !important; }
.rk-scan-panel.is-scanning [data-rk-scan-line]:nth-of-type(5) { transition-delay: 1.95s !important; }
.rk-scan-panel.scan-result-hold {
  border-color: rgba(255,82,74,.28);
  box-shadow:
    0 24px 68px rgba(0,0,0,.26),
    0 0 34px rgba(225,6,0,.08);
}
.rk-scan-panel.scan-result-hold .rk-scan-status {
  color: rgba(255,255,255,.90);
}
.rk-scan-panel.scan-result-hold .rk-scan-status i::after {
  box-shadow: 0 0 14px rgba(225,6,0,.72);
}
@keyframes rkScanBeamV1070 {
  0% { left: -24%; opacity: 0; }
  10% { opacity: .72; }
  42% { opacity: 1; }
  72% { opacity: .88; }
  100% { left: 124%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .rk-drive-progress.rk-trackline,
  .rk-trackline-progress,
  .rk-trackline-marker,
  .rk-scan-panel.scan-result-hold,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce {
    transition: none !important;
    animation: none !important;
  }
  .rk-scan-panel.is-scanning::after,
  .rk-scan-panel.is-scanning .rk-scan-status i::after {
    animation: none !important;
  }
  html.rk-ignition-pending .rk-ignition,
  html.rk-route-entry-pending .rk-route-transition,
  html.rk-route-entry-pending .rk-slipstream {
    display: none !important;
    animation: none !important;
    transition: none !important;
  }
}


/* ============================================================
   V1.0.7.1 — PUBLIC RELEASE CANDIDATE
   RK APEX REVEAL — entry-only route transition.
   No exit veil is ever applied to the source page.
   ============================================================ */

.rk-route-transition.rk-apex-reveal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1900 !important;
  display: block !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: transparent !important;
  isolation: isolate;
}
.rk-route-transition.rk-apex-reveal::before,
.rk-route-transition.rk-apex-reveal::after {
  content: none !important;
}
html.rk-route-entry-pending .rk-route-transition.rk-apex-reveal {
  visibility: visible !important;
  opacity: 1 !important;
}

.rk-apex-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 55%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 24%),
    linear-gradient(135deg, rgba(225,6,0,.065), transparent 34%),
    rgba(5,7,10,.955);
  box-shadow: 0 0 44px rgba(0,0,0,.34);
  will-change: transform;
}
.rk-apex-panel-left {
  left: 0;
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
}
.rk-apex-panel-right {
  right: 0;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}
html.rk-route-entry-pending .rk-apex-panel-left {
  animation: rkApexPanelLeftV1071 .62s cubic-bezier(.18,.82,.18,1) both;
}
html.rk-route-entry-pending .rk-apex-panel-right {
  animation: rkApexPanelRightV1071 .62s cubic-bezier(.18,.82,.18,1) both;
}

.rk-apex-seam {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, transparent 0%, #ff4f47 18%, #e10600 52%, #ff625b 82%, transparent 100%);
  box-shadow:
    0 0 12px rgba(225,6,0,.74),
    0 0 34px rgba(225,6,0,.34);
  opacity: 0;
  z-index: 3;
}
.rk-apex-seam i,
.rk-apex-seam b {
  position: absolute;
  left: 50%;
  content: "";
  display: block;
  transform: translateX(-50%);
  border-radius: 50%;
}
.rk-apex-seam i {
  top: 50%;
  width: 12px;
  height: 12px;
  border: 1px solid rgba(255,255,255,.78);
  background: #e10600;
  box-shadow:
    0 0 0 6px rgba(225,6,0,.11),
    0 0 32px rgba(225,6,0,.62);
}
.rk-apex-seam b {
  top: calc(50% - 1px);
  width: 120px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
  box-shadow: 0 0 15px rgba(225,6,0,.48);
}
html.rk-route-entry-pending .rk-apex-seam {
  animation: rkApexSeamV1071 .56s ease both;
}

.rk-apex-core {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  width: min(440px, calc(100vw - 48px));
  transform: translate(-50%,-50%);
  display: grid;
  justify-items: center;
  gap: 6px;
  color: #fff;
  text-align: center;
  opacity: 0;
}
.rk-apex-core > span {
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  transform: none !important;
  background: none !important;
  box-shadow: none !important;
  color: rgba(255,82,75,.88);
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .22em;
}
.rk-apex-core > strong {
  max-width: 100%;
  overflow: hidden;
  color: rgba(255,255,255,.97);
  font-size: clamp(.92rem, 2vw, 1.28rem);
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rk-apex-core > small {
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.48);
  font-size: .50rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.rk-apex-core > small b {
  color: #ff5a53;
  font-size: .62rem;
  font-variant-numeric: tabular-nums;
}
.rk-apex-core > small em {
  font-style: normal;
}
html.rk-route-entry-pending .rk-apex-core {
  animation: rkApexCoreV1071 .56s ease both;
}

.rk-apex-reveal.is-sport-shift .rk-apex-panel {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 24%),
    radial-gradient(circle at 50% 50%, rgba(225,6,0,.10), transparent 52%),
    rgba(5,7,10,.955);
}
.rk-apex-reveal.is-sport-shift .rk-apex-seam {
  box-shadow:
    0 0 14px rgba(225,6,0,.86),
    0 0 42px rgba(225,6,0,.42);
}

@keyframes rkApexPanelLeftV1071 {
  0%, 12% { transform: translateX(0); }
  100% { transform: translateX(-108%); }
}
@keyframes rkApexPanelRightV1071 {
  0%, 12% { transform: translateX(0); }
  100% { transform: translateX(108%); }
}
@keyframes rkApexSeamV1071 {
  0% { opacity: 0; transform: translateX(-50%) scaleY(.18); }
  16% { opacity: 1; transform: translateX(-50%) scaleY(1); }
  66% { opacity: .88; }
  100% { opacity: 0; transform: translateX(-50%) scaleY(.70); }
}
@keyframes rkApexCoreV1071 {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(.97); }
  18%, 56% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%,-50%) scale(1.02); }
}

/* Mobile: shorter, cleaner reveal with no large text block. */
@media (max-width: 700px) {
  .rk-apex-panel {
    width: 58%;
  }
  .rk-apex-core {
    width: calc(100vw - 42px);
    gap: 4px;
  }
  .rk-apex-core > span {
    font-size: .48rem;
  }
  .rk-apex-core > strong {
    font-size: .82rem;
  }
  .rk-apex-core > small {
    font-size: .44rem;
  }
  .rk-apex-seam b {
    width: 76px;
  }
  html.rk-route-entry-pending .rk-apex-panel-left {
    animation-duration: .52s;
  }
  html.rk-route-entry-pending .rk-apex-panel-right {
    animation-duration: .52s;
  }
  html.rk-route-entry-pending .rk-apex-seam,
  html.rk-route-entry-pending .rk-apex-core {
    animation-duration: .48s;
  }
}

/* Short-height devices: keep the transition purely visual and compact. */
@media (max-height: 480px) {
  .rk-apex-core > span,
  .rk-apex-core > small {
    display: none;
  }
  .rk-apex-core > strong {
    font-size: .76rem;
  }
}

/* Public release: motion-sensitive users never receive a route overlay. */

/* Keep the hidden desktop Trackline inside the viewport too, so no transient
   off-canvas geometry can create clipping/overflow during page startup. */
@media (min-width: 701px) {
  .rk-drive-progress.rk-telemetry.rk-trackline {
    transform: translate(0,-50%) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.rk-route-entry-pending .rk-route-transition.rk-apex-reveal,
  html.rk-ignition-pending .rk-ignition,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .rk-scan-panel.is-scanning::after,
  .rk-scan-panel.is-scanning .rk-scan-status i::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce {
    animation: none !important;
    transition: none !important;
  }
  html.rk-route-entry-pending .rk-route-transition.rk-apex-reveal {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}


/* ============================================================
   V1.0.7.2 — MOBILE READABILITY FINAL
   Mobile-only RK Trackline simplification.
   Desktop/tablet >700px intentionally unchanged.
   ============================================================ */
@media (max-width: 700px) {
  .rk-drive-progress.rk-telemetry.rk-trackline {
    height: 42px !important;
    min-height: 42px !important;
    padding-inline: 13px !important;
  }

  .rk-trackline .rk-telemetry-copy {
    height: 40px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
  }

  /* On a phone the extra "RK // DRIVE" kicker is decorative noise.
     Keep only the useful state: 03 COMPARER · 52 %. */
  .rk-trackline .rk-telemetry-copy > span {
    display: none !important;
  }

  .rk-trackline .rk-telemetry-copy strong {
    min-width: 0 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 7px !important;
  }

  .rk-trackline .rk-telemetry-copy strong em,
  .rk-trackline .rk-telemetry-copy strong b {
    font-size: .80rem !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
  }

  .rk-trackline .rk-telemetry-copy strong b {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .rk-trackline .rk-telemetry-copy small {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 3px !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: rgba(255,255,255,.80) !important;
    font-size: 0 !important; /* hides "DU PARCOURS" on phone */
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  .rk-trackline .rk-telemetry-copy small::before {
    content: "·";
    margin-right: 2px;
    color: rgba(255,255,255,.42);
    font-size: .80rem;
  }

  .rk-trackline .rk-telemetry-copy small span {
    color: #fff !important;
    font-size: .80rem !important;
    font-weight: 850 !important;
    font-variant-numeric: tabular-nums;
  }

  .rk-trackline .rk-telemetry-copy small::after {
    content: "%";
    color: rgba(255,255,255,.80);
    font-size: .80rem;
    font-weight: 750;
  }

  .rk-trackline .rk-trackline-meter {
    height: 3px !important;
    min-height: 3px !important;
  }

  .rk-trackline .rk-trackline-marker {
    width: 7px !important;
    height: 7px !important;
  }
}

@media (max-width: 360px) {
  .rk-drive-progress.rk-telemetry.rk-trackline {
    padding-inline: 10px !important;
  }

  .rk-trackline .rk-telemetry-copy {
    gap: 7px !important;
  }

  .rk-trackline .rk-telemetry-copy strong em,
  .rk-trackline .rk-telemetry-copy strong b,
  .rk-trackline .rk-telemetry-copy small::before,
  .rk-trackline .rk-telemetry-copy small span,
  .rk-trackline .rk-telemetry-copy small::after {
    font-size: .76rem !important;
  }
}


/* V1.0.7.2 specificity guard: legacy telemetry rules use a longer selector
   with !important. These rules deliberately outrank them on <=700px only. */
@media (max-width: 700px) {
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy > span {
    display: none !important;
  }

  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy strong {
    display: flex !important;
    align-items: baseline !important;
    gap: 7px !important;
    min-width: 0 !important;
  }

  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy strong em,
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy strong b {
    font-size: .80rem !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
  }

  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy small {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 3px !important;
    justify-self: end !important;
    font-size: 0 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }

  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy small::before,
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy small span,
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy small::after {
    font-size: .80rem !important;
  }
}
@media (max-width: 360px) {
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy strong em,
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy strong b,
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy small::before,
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy small span,
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy small::after {
    font-size: .76rem !important;
  }
}


/* ============================================================
   V1.0.7.3 — MOBILE TRACKLINE VISIBILITY FIX
   A legacy <=600px telemetry rule hides .rk-telemetry-copy with
   higher specificity. Restore the useful mobile Trackline copy
   explicitly, without changing desktop or RK Scan.
   ============================================================ */
@media (max-width: 700px) {
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* V1.0.7.4 — LEAD CONVERSION CTA FINAL */
.required-inline {
  display: inline-flex;
  margin-left: .35em;
  color: #ff938f;
  font-size: .9em;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.mission-actions {
  align-items: center;
}
.mission-submit-button {
  margin-left: auto;
  min-width: min(100%, 290px);
  justify-content: center;
  gap: 10px;
  box-shadow: 0 12px 34px rgba(225,6,0,.2);
}
.mission-submit-button span[aria-hidden="true"] {
  font-size: 1.1em;
  line-height: 1;
}
@media (max-width: 600px) {
  .mission-actions {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 10px;
  }
  .mission-actions [data-guided-next] {
    grid-column: 1 / -1;
  }
  .mission-submit-button {
    width: 100%;
    min-width: 0;
    margin-left: 0;
    min-height: 48px;
  }
}


/* ============================================================
   V1.0.7.5 — FINAL PRODUCTION POLISH
   Mobile Trackline: remove the legacy telemetry ::before flow item that
   pushed the copy below the 42px strip, and pin the useful copy inside
   the strip so it cannot be clipped by older telemetry rules.
   ============================================================ */
@media (max-width: 700px) {
  .rk-drive-progress.rk-telemetry.rk-trackline::before,
  .rk-drive-progress.rk-telemetry.rk-trackline::after {
    display: none !important;
    content: none !important;
  }

  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy {
    position: absolute !important;
    inset: 0 12px 2px 12px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    z-index: 2 !important;
  }

  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy strong {
    overflow: hidden !important;
  }

  .rk-drive-progress.rk-telemetry.rk-trackline .rk-trackline-meter {
    z-index: 3 !important;
  }
}

@media (max-width: 360px) {
  .rk-drive-progress.rk-telemetry.rk-trackline .rk-telemetry-copy {
    inset-inline: 10px !important;
    gap: 7px !important;
  }
}

/* Guided lead post-submit state. */
.mission-submit-button.is-submitted {
  cursor: default;
  opacity: .82;
  box-shadow: none;
}


/* ============================================================
   V1.0.7.7 — RK OS FOUNDATION / SITE CONTROL
   Public scope:
   - horizontal RK Trackline on desktop/tablet/mobile;
   - Site Control announcement;
   - configurable motion timings with safe server-side bounds;
   - RK // SIGNAL 07 easter egg, visual-only and opt-in.
   ============================================================ */

:root {
  --rk-page-transition-duration: 480ms;
  --rk-track-pulse-duration: 360ms;
  --rk-scan-duration: 2750ms;
  --rk-scan-hold-duration: 1800ms;
  --rk-ignition-total: 3000ms;
}

/* --- SITE CONTROL: scheduled public announcement ---------------------- */
.rk-public-announcement {
  position: relative;
  z-index: 74;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px 16px;
  padding: 8px max(18px, env(safe-area-inset-right))
           8px max(18px, env(safe-area-inset-left));
  border-bottom: 1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(90deg, rgba(225,6,0,.15), transparent 22%, transparent 78%, rgba(225,6,0,.10)),
    #090b0e;
  color: rgba(255,255,255,.94);
  text-align: center;
}
.rk-public-announcement > span {
  flex: 0 0 auto;
  color: #ff625b;
  font-size: .49rem;
  font-weight: 950;
  letter-spacing: .18em;
}
.rk-public-announcement > strong {
  font-size: .72rem;
  line-height: 1.25;
  letter-spacing: .012em;
}
.rk-public-announcement > a {
  flex: 0 0 auto;
  color: #fff;
  font-size: .65rem;
  font-weight: 850;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,82,74,.58);
}
.rk-public-announcement-important {
  background:
    linear-gradient(90deg, rgba(225,6,0,.24), transparent 38%, rgba(225,6,0,.16)),
    #090a0d;
}
.rk-public-announcement-congé {
  background:
    linear-gradient(90deg, rgba(167,167,167,.10), transparent 35%, rgba(225,6,0,.10)),
    #090b0e;
}
@media (max-width: 700px) {
  .rk-public-announcement {
    min-height: 42px;
    flex-wrap: wrap;
    gap: 3px 9px;
    padding-block: 7px;
  }
  .rk-public-announcement > strong {
    width: calc(100% - 70px);
    text-align: left;
    font-size: .66rem;
  }
  .rk-public-announcement > a {
    width: 100%;
    padding-left: 64px;
    text-align: left;
    border: 0;
    color: #ff8c86;
  }
}

/* --- DRIVE: one horizontal language on every screen ------------------ */
@media (min-width: 701px) {
  .rk-drive-progress.rk-telemetry.rk-trackline {
    position: fixed !important;
    z-index: 66 !important;
    top: var(--header-height, 78px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    display: block !important;
    padding: 0 clamp(24px, 4vw, 72px) !important;
    overflow: hidden !important;
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,.035) !important;
    border-bottom: 1px solid rgba(255,255,255,.085) !important;
    border-radius: 0 !important;
    clip-path: none !important;
    background:
      linear-gradient(90deg, rgba(225,6,0,.055), transparent 22%, transparent 78%, rgba(167,167,167,.025)),
      rgba(5,7,10,.955) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.16) !important;
    opacity: 0 !important;
    transform: translateY(-8px) !important;
    pointer-events: none !important;
    backdrop-filter: blur(12px) !important;
    transition:
      opacity .22s ease,
      transform .30s cubic-bezier(.18,.78,.2,1) !important;
  }

  body.rk-drive-ready.rk-scroll-track.rk-drive-engaged
  .rk-drive-progress.rk-telemetry.rk-trackline {
    opacity: .98 !important;
    transform: translateY(0) !important;
  }

  .rk-drive-progress.rk-telemetry.rk-trackline::before,
  .rk-drive-progress.rk-telemetry.rk-trackline::after {
    display: none !important;
    content: none !important;
  }

  .rk-trackline .rk-trackline-meter {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: auto !important;
    height: 2px !important;
    min-height: 2px !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.07) !important;
  }

  .rk-trackline .rk-trackline-progress {
    left: 0 !important;
    top: 0 !important;
    width: calc(var(--rk-scroll-progress, 0) * 100%) !important;
    height: 100% !important;
    min-height: 0 !important;
    background: linear-gradient(90deg, #8e0905 0%, #e10600 58%, #ff5d56 100%) !important;
    transition: width .10s linear !important;
  }

  .rk-trackline .rk-trackline-marker {
    left: calc(var(--rk-scroll-progress, 0) * 100%) !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    transition: left .10s linear !important;
  }

  .rk-trackline .rk-telemetry-copy {
    position: relative !important;
    width: min(1180px, 100%) !important;
    height: 40px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    border: 0 !important;
  }

  .rk-trackline .rk-telemetry-copy > span {
    font-size: .50rem !important;
    letter-spacing: .16em !important;
  }

  .rk-trackline .rk-telemetry-copy strong {
    justify-self: center !important;
    gap: 8px !important;
  }

  .rk-trackline .rk-telemetry-copy strong em {
    font-size: .88rem !important;
  }

  .rk-trackline .rk-telemetry-copy strong b {
    font-size: .62rem !important;
  }

  .rk-trackline .rk-telemetry-copy small {
    justify-self: end !important;
    font-size: .49rem !important;
    white-space: nowrap !important;
  }

  .rk-trackline .rk-drive-stages {
    display: none !important;
  }
}

.rk-drive-progress.rk-trackline.is-stage-shifting .rk-trackline-marker {
  animation: rkTracklinePulseV1077 var(--rk-track-pulse-duration) ease-out both !important;
}
@keyframes rkTracklinePulseV1077 {
  0% { box-shadow: 0 0 0 0 rgba(225,6,0,.48), 0 0 10px rgba(225,6,0,.50); }
  55% { box-shadow: 0 0 0 7px rgba(225,6,0,.08), 0 0 18px rgba(225,6,0,.68); }
  100% { box-shadow: 0 0 0 3px rgba(225,6,0,.09), 0 0 12px rgba(225,6,0,.54); }
}

/* --- Motion Lab bindings --------------------------------------------- */
html.rk-ignition-pending .rk-ignition {
  animation-duration: var(--rk-ignition-total) !important;
}
.rk-scan-panel.is-scanning::after,
.rk-scan-panel.is-scanning .rk-scan-status i::after {
  animation-duration: var(--rk-scan-duration) !important;
}
.rk-scan-panel.is-scanning [data-rk-scan-line]:nth-of-type(3) {
  transition-delay: calc(var(--rk-scan-duration) * .24) !important;
}
.rk-scan-panel.is-scanning [data-rk-scan-line]:nth-of-type(4) {
  transition-delay: calc(var(--rk-scan-duration) * .47) !important;
}
.rk-scan-panel.is-scanning [data-rk-scan-line]:nth-of-type(5) {
  transition-delay: calc(var(--rk-scan-duration) * .71) !important;
}

/* --- Easter egg: RK // SIGNAL 07 ------------------------------------- */
.rk-run-complete {
  appearance: none;
  font: inherit;
  cursor: pointer;
  pointer-events: none;
}
.rk-run-complete small {
  display: block;
  margin-top: 5px;
  color: rgba(255,255,255,.28);
  font-size: .38rem;
  font-weight: 850;
  letter-spacing: .17em;
  transition: color .2s ease;
}
body.rk-run-complete-show .rk-run-complete {
  pointer-events: auto;
}
body.rk-run-complete-show .rk-run-complete:hover small,
body.rk-run-complete-show .rk-run-complete:focus-visible small {
  color: rgba(255,100,92,.82);
}
.rk-run-complete:focus-visible {
  outline: 2px solid #ff5e57;
  outline-offset: 4px;
}

.rk-black-signal {
  position: fixed;
  z-index: 2100;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(225,6,0,.055), transparent 24%),
    rgba(2,3,5,.985);
  color: #fff;
}
.rk-black-signal-grid {
  position: absolute;
  inset: -30%;
  opacity: .18;
  background:
    repeating-linear-gradient(90deg, transparent 0 77px, rgba(255,255,255,.022) 78px),
    repeating-linear-gradient(0deg, transparent 0 47px, rgba(255,255,255,.018) 48px);
  transform: perspective(800px) rotateX(63deg) translateY(18%);
}
.rk-black-signal-mark {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(280px, 58vw);
  aspect-ratio: 1;
  transform: translate(-50%,-50%) rotate(45deg) scale(.72);
  border: 1px solid rgba(255,255,255,.055);
  opacity: 0;
}
.rk-black-signal-mark::before,
.rk-black-signal-mark::after,
.rk-black-signal-mark i,
.rk-black-signal-mark b,
.rk-black-signal-mark span {
  content: "";
  position: absolute;
  display: block;
}
.rk-black-signal-mark::before {
  inset: 18%;
  border: 1px solid rgba(225,6,0,.22);
}
.rk-black-signal-mark::after {
  inset: 34%;
  border: 1px solid rgba(200,203,208,.19);
}
.rk-black-signal-mark i {
  left: 50%;
  top: -14%;
  width: 1px;
  height: 128%;
  background: linear-gradient(180deg, transparent, rgba(225,6,0,.62), transparent);
}
.rk-black-signal-mark b {
  top: 50%;
  left: -14%;
  height: 1px;
  width: 128%;
  background: linear-gradient(90deg, transparent, rgba(215,218,221,.48), transparent);
}
.rk-black-signal-mark span {
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%,-50%);
  border: 1px solid #ff5c54;
  border-radius: 50%;
  box-shadow: 0 0 26px rgba(225,6,0,.62);
}
.rk-black-signal-copy {
  position: relative;
  z-index: 3;
  width: min(620px, calc(100vw - 40px));
  display: grid;
  gap: 10px;
  justify-items: center;
  text-align: center;
  opacity: 0;
}
.rk-black-signal-copy > span {
  color: #ff625b;
  font-size: .48rem;
  font-weight: 950;
  letter-spacing: .27em;
}
.rk-black-signal-copy > strong {
  max-width: 560px;
  font-size: clamp(1rem, 2.2vw, 1.55rem);
  line-height: 1.1;
  letter-spacing: .07em;
}
.rk-black-signal-copy > small {
  color: rgba(255,255,255,.26);
  font-size: .44rem;
  font-weight: 800;
  letter-spacing: .17em;
}
body.rk-black-signal-open .rk-black-signal {
  visibility: visible;
  animation: rkBlackSignalScreenV1077 3.2s ease both;
}
body.rk-black-signal-open .rk-black-signal-mark {
  animation: rkBlackSignalMarkV1077 3.2s cubic-bezier(.16,.82,.2,1) both;
}
body.rk-black-signal-open .rk-black-signal-copy {
  animation: rkBlackSignalCopyV1077 3.2s ease both;
}
@keyframes rkBlackSignalScreenV1077 {
  0% { opacity: 0; }
  10%, 82% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes rkBlackSignalMarkV1077 {
  0%, 8% { opacity: 0; transform: translate(-50%,-50%) rotate(38deg) scale(.72); }
  26%, 70% { opacity: 1; transform: translate(-50%,-50%) rotate(45deg) scale(1); }
  100% { opacity: 0; transform: translate(-50%,-50%) rotate(51deg) scale(1.12); }
}
@keyframes rkBlackSignalCopyV1077 {
  0%, 24% { opacity: 0; transform: translateY(9px); filter: blur(3px); }
  38%, 76% { opacity: 1; transform: translateY(0); filter: blur(0); }
  100% { opacity: 0; transform: translateY(-6px); }
}

@media (max-width: 700px) {
  .rk-black-signal-copy > strong {
    max-width: 320px;
    font-size: .92rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.rk-ignition-pending .rk-ignition {
    display: none !important;
  }

  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .rk-scan-panel.is-scanning::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  body.rk-sport-launching .rk-sport-launch,
  .rk-drive-progress.rk-trackline.is-stage-shifting .rk-trackline-marker,
  body.rk-black-signal-open .rk-black-signal,
  body.rk-black-signal-open .rk-black-signal-mark,
  body.rk-black-signal-open .rk-black-signal-copy {
    animation: none !important;
    transition: none !important;
  }

  body.rk-black-signal-open .rk-black-signal {
    visibility: visible;
    opacity: 1;
  }

  body.rk-black-signal-open .rk-black-signal-mark,
  body.rk-black-signal-open .rk-black-signal-copy {
    opacity: 1;
  }
}


/* ============================================================
   V1.0.7.7 — VEHICLE MERCHANDISING / RK PHOTO SEQUENCE
   Additive layer. No business-data assumptions.
   ============================================================ */

.vehicle-sibling-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .7fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  margin: 18px 0 26px;
}
.vehicle-sibling-nav > a,
.vehicle-sibling-nav > .is-empty {
  min-width: 0;
  min-height: 72px;
}
.vehicle-sibling-nav > a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  color: inherit;
  text-decoration: none;
  overflow: hidden;
}
.vehicle-sibling-nav > a:last-of-type {
  text-align: right;
}
.vehicle-sibling-nav > a span {
  color: var(--red, #e10600);
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vehicle-sibling-nav > a strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .82rem;
}
.vehicle-sibling-nav .vehicle-sibling-index {
  align-items: center;
  text-align: center !important;
  background:
    linear-gradient(120deg, rgba(225,6,0,.10), rgba(255,255,255,.035));
}

.rk-photo-sequence {
  --rk-gallery-transition: 360ms;
  --rk-gallery-interval: 5500ms;
  position: relative;
  min-width: 0;
}
.rk-photo-sequence-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  min-height: 42px;
  padding: 0 4px 10px;
}
.rk-photo-sequence-toolbar > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.rk-photo-sequence-toolbar strong {
  font-size: .72rem;
  letter-spacing: .08em;
  font-variant-numeric: tabular-nums;
}
.rk-photo-autoplay {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(0,0,0,.26);
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .05em;
}
.rk-photo-autoplay:disabled {
  opacity: .45;
  cursor: default;
}
.rk-photo-sequence .vehicle-main-media {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
}
.rk-photo-sequence #galleryMain {
  transition:
    opacity var(--rk-gallery-transition) ease,
    transform var(--rk-gallery-transition) ease;
}
.rk-photo-sequence #galleryMain.is-changing {
  opacity: .80;
  transform: scale(1.006);
}
.rk-photo-main-arrow {
  position: absolute;
  top: 50%;
  z-index: 7;
  width: 46px;
  height: 60px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  background: rgba(8,9,11,.72);
  color: #fff;
  transform: translateY(-50%);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  cursor: pointer;
  font-size: 2rem;
  line-height: 1;
  transition: transform .18s ease, background .18s ease;
}
.rk-photo-main-arrow:hover,
.rk-photo-main-arrow:focus-visible {
  background: rgba(225,6,0,.88);
}
.rk-photo-main-arrow.is-prev { left: 14px; }
.rk-photo-main-arrow.is-next { right: 14px; }
.rk-photo-main-arrow:disabled { display: none; }

.rk-photo-sequence-progress {
  height: 2px;
  margin-top: 9px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(255,255,255,.09);
}
.rk-photo-sequence-progress > i {
  --rk-gallery-progress: .1;
  display: block;
  width: calc(var(--rk-gallery-progress) * 100%);
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(167,167,167,.62), #e10600);
  transition: width var(--rk-gallery-transition) ease;
}
.rk-photo-sequence.is-auto-running .rk-photo-sequence-progress > i {
  box-shadow: 0 0 12px rgba(225,6,0,.38);
}
.vehicle-thumbnails {
  scroll-snap-type: x proximity;
}
.vehicle-thumbnails .gallery-thumb {
  scroll-snap-align: start;
}

.vehicle-verified-chip {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 9px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.78);
  font-size: .59rem;
  font-weight: 850;
  letter-spacing: .045em;
  line-height: 1.15;
  text-transform: uppercase;
}
.vehicle-verified-chip.is-good {
  border-color: rgba(103,213,151,.28);
  background: rgba(54,153,105,.10);
  color: #c7f5db;
}
.vehicle-verified-chip.is-warn {
  border-color: rgba(255,183,77,.25);
  background: rgba(255,160,0,.08);
  color: #f2cf91;
}
.vehicle-verified-chip.is-neutral {
  color: rgba(255,255,255,.78);
}
.vehicle-purchase-badges {
  flex-wrap: wrap;
}
.vehicle-verified-dossier {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(225,6,0,.10), transparent 38%),
    rgba(255,255,255,.025);
}
.vehicle-verified-dossier-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: baseline;
}
.vehicle-verified-dossier-head span {
  color: #e10600;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.vehicle-verified-dossier-head strong {
  color: rgba(255,255,255,.62);
  font-size: .64rem;
}
.vehicle-verified-dossier-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0;
}
.vehicle-verified-dossier-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding-top: 11px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.vehicle-verified-dossier-actions a {
  color: #fff;
  font-size: .67rem;
  font-weight: 850;
  text-decoration: none;
}
.vehicle-finance-note {
  margin: 8px 0 0;
  color: rgba(255,255,255,.50);
  font-size: .68rem;
  line-height: 1.4;
}
.vehicle-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin-top: 12px;
}
.vehicle-share-actions button {
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 10px;
  background: transparent;
  color: rgba(255,255,255,.72);
  cursor: pointer;
  font: inherit;
  font-size: .63rem;
  font-weight: 800;
}
.vehicle-share-actions button:hover,
.vehicle-share-actions button:focus-visible {
  color: #fff;
  border-color: rgba(225,6,0,.42);
}
.vehicle-share-feedback {
  min-width: 100%;
  color: rgba(255,255,255,.60);
  font-size: .64rem;
}

.vehicle-card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}
.vehicle-card-pricing {
  display: grid;
  gap: 5px;
  margin-top: 14px;
}
.vehicle-card-old-price {
  display: flex;
  gap: 8px;
  align-items: center;
  color: rgba(20,20,22,.53);
  font-size: .68rem;
}
.vehicle-card-old-price del {
  font-weight: 750;
}
.vehicle-card .vehicle-price-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}
.vehicle-card .vehicle-price-row small {
  color: rgba(20,20,22,.50);
  font-size: .62rem;
}
.vehicle-card-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid rgba(20,20,22,.10);
}
.vehicle-card-actions a {
  color: #151517;
  font-size: .70rem;
  font-weight: 850;
  text-decoration: none;
}
.vehicle-card-actions a:last-child {
  color: #c90703;
  text-align: right;
}

@media (max-width: 900px) {
  .vehicle-sibling-nav {
    grid-template-columns: 1fr 1fr;
  }
  .vehicle-sibling-nav .vehicle-sibling-index {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .vehicle-sibling-nav > a:not(.vehicle-sibling-index) {
    grid-row: 2;
  }
  .vehicle-sibling-nav > .is-empty {
    display: none;
  }
}

@media (max-width: 700px) {
  .vehicle-sibling-nav {
    gap: 7px;
    margin: 12px 0 18px;
  }
  .vehicle-sibling-nav > a {
    min-height: 58px;
    padding: 10px;
  }
  .vehicle-sibling-nav > a strong {
    font-size: .70rem;
  }
  .vehicle-sibling-nav > a span {
    font-size: .55rem;
  }
  .rk-photo-sequence-toolbar {
    min-height: 36px;
    padding-bottom: 7px;
  }
  .rk-photo-sequence-toolbar .eyebrow {
    font-size: .55rem;
  }
  .rk-photo-main-arrow {
    width: 38px;
    height: 50px;
    font-size: 1.7rem;
  }
  .rk-photo-main-arrow.is-prev { left: 8px; }
  .rk-photo-main-arrow.is-next { right: 8px; }
  .vehicle-verified-dossier-head {
    display: grid;
    gap: 4px;
  }
  .vehicle-card-actions {
    display: grid;
    gap: 8px;
  }
  .vehicle-card-actions a:last-child {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.rk-route-entry-pending .rk-route-transition,
  html.rk-ignition-pending .rk-ignition {
    display: none !important;
  }

  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .rk-scan-panel.is-scanning::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  body.rk-sport-launching .rk-sport-launch,
  .rk-drive-progress.rk-trackline.is-stage-shifting .rk-trackline-marker,
  body.rk-black-signal-open .rk-black-signal,
  body.rk-black-signal-open .rk-black-signal-mark,
  body.rk-black-signal-open .rk-black-signal-copy,
  .rk-photo-sequence #galleryMain,
  .rk-photo-sequence-progress > i {
    animation: none !important;
    transition: none !important;
  }

  body.rk-black-signal-open .rk-black-signal {
    visibility: visible;
    opacity: 1;
  }

  body.rk-black-signal-open .rk-black-signal-mark,
  body.rk-black-signal-open .rk-black-signal-copy {
    opacity: 1;
  }
}

@media print {
  .site-header,
  .site-footer,
  .rk-drive-progress,
  .rk-photo-sequence-toolbar,
  .rk-photo-main-arrow,
  .rk-photo-sequence-progress,
  .vehicle-thumbnails,
  .vehicle-primary-actions,
  .vehicle-secondary-actions,
  .vehicle-share-actions,
  .vehicle-sibling-nav,
  .rk-scan-panel,
  .vehicle-next-step-card {
    display: none !important;
  }
  .vehicle-v1-shell,
  .vehicle-v1-top,
  .vehicle-content-grid {
    display: block !important;
    max-width: none !important;
  }
  .vehicle-purchase-card {
    position: static !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
  }
}

/* ============================================================
   V1.0.7.8 — DYNAMIC PAGE TRANSITION
   - no overlay, no VECTOR SHIFT;
   - same-origin navigation uses native View Transitions when supported;
   - unsupported browsers navigate normally;
   - reduced-motion remains authoritative.
   The legacy Site Control key `vector_shift_ms` is intentionally reused
   internally as the page-transition duration for rollback compatibility.
   ============================================================ */

@view-transition {
  navigation: auto;
}

.site-header {
  view-transition-name: rk-site-header;
}

.rk-drive-progress.rk-trackline {
  view-transition-name: rk-trackline;
}

::view-transition-group(root),
::view-transition-group(rk-site-header),
::view-transition-group(rk-trackline) {
  animation-duration: var(--rk-page-transition-duration, 480ms);
  animation-timing-function: cubic-bezier(.2,.72,.2,1);
}

::view-transition-old(root) {
  animation:
    rkPageOutV1078 var(--rk-page-transition-duration, 480ms)
    cubic-bezier(.4,0,.6,1) both;
}

::view-transition-new(root) {
  animation:
    rkPageInV1078 var(--rk-page-transition-duration, 480ms)
    cubic-bezier(.16,.78,.2,1) both;
}

::view-transition-old(rk-site-header),
::view-transition-new(rk-site-header),
::view-transition-old(rk-trackline),
::view-transition-new(rk-trackline) {
  animation-name: none;
  mix-blend-mode: normal;
}

@keyframes rkPageOutV1078 {
  0% {
    opacity: 1;
    transform: translateX(0) scale(1);
    filter: blur(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-12px) scale(.997);
    filter: blur(1.5px);
  }
}

@keyframes rkPageInV1078 {
  0% {
    opacity: 0;
    transform: translateX(14px) scale(1.002);
    filter: blur(1.5px);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-group(root),
  ::view-transition-group(rk-site-header),
  ::view-transition-group(rk-trackline),
  html.rk-ignition-pending .rk-ignition,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .rk-scan-panel.is-scanning::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  body.rk-sport-launching .rk-sport-launch,
  .rk-drive-progress.rk-trackline.is-stage-shifting .rk-trackline-marker,
  body.rk-black-signal-open .rk-black-signal,
  body.rk-black-signal-open .rk-black-signal-mark,
  body.rk-black-signal-open .rk-black-signal-copy,
  .rk-photo-sequence #galleryMain,
  .rk-photo-sequence-progress > i {
    animation-duration: 1ms !important;
    animation-name: none !important;
    animation: none !important;
    transition: none !important;
  }
}


/* V1.0.7.10 — RK CINEMATIC HERO
   Concept: DE LA PREUVE À L’ÉMOTION
   Signature: CHOISIR L’ÉMOTION. EXIGER LA PREUVE.
   Signature visuelle: LE TRAIT K
   Le média reste décoratif; tout contenu critique demeure en HTML. */

.rk-cinematic-hero {
  --rk-cinematic-cycle: 12.5s;
  position: relative;
  isolation: isolate;
  min-height: clamp(690px, calc(100svh - var(--header-height)), 930px);
  overflow: hidden;
  display: grid;
  align-items: stretch;
  background: #050608;
  color: var(--white);
}
.rk-cinematic-media,
.rk-cinematic-poster,
.rk-cinematic-video,
.rk-cinematic-shade,
.rk-cinematic-grain,
.rk-cinematic-horizon {
  position: absolute;
  inset: 0;
}
.rk-cinematic-poster,
.rk-cinematic-poster img,
.rk-cinematic-video {
  width: 100%;
  height: 100%;
}
.rk-cinematic-poster img,
.rk-cinematic-video {
  object-fit: cover;
  object-position: 62% 50%;
}
.rk-cinematic-poster {
  z-index: 0;
  background: #050608;
}
.rk-cinematic-video {
  z-index: 1;
  border: 0;
  opacity: 0;
  transition: opacity .8s ease;
  pointer-events: none;
}
.rk-cinematic-hero.has-video .rk-cinematic-video {
  opacity: 1;
}
.rk-cinematic-shade {
  z-index: 2;
  background:
    linear-gradient(90deg,
      rgba(3,4,6,.96) 0%,
      rgba(3,4,6,.84) 27%,
      rgba(3,4,6,.46) 52%,
      rgba(3,4,6,.18) 72%,
      rgba(3,4,6,.54) 100%),
    linear-gradient(180deg,
      rgba(3,4,6,.18) 0%,
      transparent 34%,
      rgba(3,4,6,.18) 70%,
      rgba(3,4,6,.76) 100%);
}
.rk-cinematic-grain {
  z-index: 3;
  opacity: .19;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.018) 0,
      rgba(255,255,255,.018) 1px,
      transparent 1px,
      transparent 4px
    ),
    radial-gradient(circle at 72% 44%, rgba(225,6,0,.08), transparent 24%);
  mix-blend-mode: screen;
}
.rk-cinematic-horizon {
  z-index: 3;
  inset: auto 0 14% 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.04) 24%,
      rgba(225,6,0,.28) 70%,
      transparent
    );
  box-shadow: 0 0 42px rgba(225,6,0,.09);
}
.rk-cinematic-shell {
  position: relative;
  z-index: 8;
  width: min(var(--container), calc(100% - 44px));
  min-height: inherit;
  margin: 0 auto;
  padding: clamp(74px, 9vh, 126px) 0 clamp(70px, 8vh, 112px);
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(320px, 1.12fr);
  align-items: center;
}
.rk-cinematic-copy {
  max-width: 790px;
}
.rk-cinematic-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #d5d7dc;
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.rk-cinematic-kicker::before {
  content: "";
  width: 42px;
  height: 2px;
  background: var(--red);
  box-shadow: 0 0 22px rgba(225,6,0,.65);
}
.rk-cinematic-copy h1 {
  margin: 22px 0 0;
  max-width: 760px;
  font-size: clamp(4rem, 7.1vw, 8.4rem);
  line-height: .86;
  letter-spacing: -.072em;
  font-weight: 900;
  text-wrap: balance;
}
.rk-cinematic-copy h1 span,
.rk-cinematic-copy h1 strong {
  display: block;
}
.rk-cinematic-copy h1 span {
  color: var(--white);
}
.rk-cinematic-copy h1 strong {
  margin-top: .12em;
  color: #b8bbc1;
  font-weight: 690;
}
.rk-cinematic-copy p {
  max-width: 610px;
  margin: 28px 0 0;
  color: #b9bcc3;
  font-size: clamp(.98rem, 1.15vw, 1.15rem);
  line-height: 1.7;
}
.rk-cinematic-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 32px;
}
.rk-cinematic-button-secondary {
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(8,9,11,.38);
  color: var(--white);
  backdrop-filter: blur(12px);
}
.rk-cinematic-button-secondary:hover {
  border-color: rgba(255,255,255,.46);
  background: rgba(255,255,255,.08);
}
.rk-cinematic-principles {
  display: flex;
  gap: 9px 18px;
  flex-wrap: wrap;
  margin-top: 28px;
  color: #858990;
  font-size: .65rem;
  font-weight: 820;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.rk-cinematic-principles span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.rk-cinematic-principles span::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--red);
}

.rk-cinematic-location {
  margin-top: 17px;
  color: #6f737b;
  font-size: .61rem;
  font-weight: 760;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.rk-trait-k {
  position: absolute;
  z-index: 5;
  right: clamp(-5vw, -2vw, 0px);
  top: 7%;
  width: min(42vw, 610px);
  height: 82%;
  overflow: visible;
  opacity: .8;
  filter: drop-shadow(0 0 18px rgba(225,6,0,.38));
  pointer-events: none;
}
.rk-trait-k path {
  vector-effect: non-scaling-stroke;
  fill: none;
  stroke: var(--red);
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rk-trait-k-main {
  stroke-width: 2.1;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
}
.rk-trait-k-branch {
  stroke-width: 1.45;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  opacity: .78;
}
.rk-cinematic-hero.is-running .rk-trait-k-main {
  animation: rkTraitKMain var(--rk-cinematic-cycle) linear infinite;
}
.rk-cinematic-hero.is-running .rk-trait-k-branch {
  animation: rkTraitKBranch var(--rk-cinematic-cycle) linear infinite;
}
.rk-cinematic-proof-words {
  position: absolute;
  z-index: 6;
  right: clamp(22px, 6vw, 110px);
  top: 20%;
  display: grid;
  gap: 9px;
  justify-items: end;
  color: rgba(255,255,255,.7);
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  pointer-events: none;
}
.rk-cinematic-proof-words span {
  opacity: 0;
  transform: translateX(12px);
}
.rk-cinematic-hero.is-running .rk-cinematic-proof-words span:nth-child(1) {
  animation: rkProofWord1 var(--rk-cinematic-cycle) linear infinite;
}
.rk-cinematic-hero.is-running .rk-cinematic-proof-words span:nth-child(2) {
  animation: rkProofWord2 var(--rk-cinematic-cycle) linear infinite;
}
.rk-cinematic-hero.is-running .rk-cinematic-proof-words span:nth-child(3) {
  animation: rkProofWord3 var(--rk-cinematic-cycle) linear infinite;
}
.rk-cinematic-lockup {
  position: absolute;
  z-index: 6;
  right: clamp(24px, 5vw, 88px);
  bottom: 9%;
  width: clamp(170px, 18vw, 280px);
  display: grid;
  justify-items: end;
  gap: 2px;
  opacity: .26;
  pointer-events: none;
}
.rk-cinematic-lockup img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 18px 35px rgba(0,0,0,.46));
}
.rk-cinematic-lockup span {
  margin-right: 3%;
  color: rgba(255,255,255,.62);
  font-size: .48rem;
  font-weight: 850;
  letter-spacing: .19em;
}
.rk-cinematic-hero.is-running .rk-cinematic-lockup {
  animation: rkCinematicLockup var(--rk-cinematic-cycle) linear infinite;
}
.rk-cinematic-scroll-cue {
  position: absolute;
  left: 0;
  bottom: 26px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #777b83;
  font-size: .57rem;
  font-weight: 850;
  letter-spacing: .17em;
}
.rk-cinematic-scroll-cue i {
  display: block;
  width: 70px;
  height: 1px;
  overflow: hidden;
  background: rgba(255,255,255,.16);
}
.rk-cinematic-scroll-cue i::after {
  content: "";
  display: block;
  width: 34px;
  height: 1px;
  background: var(--red);
  transform: translateX(-36px);
}
.rk-cinematic-hero.is-running .rk-cinematic-scroll-cue i::after {
  animation: rkHeroCue 2.4s ease-in-out infinite;
}
.rk-proof-bridge {
  padding: 92px max(18px, calc((100vw - var(--container))/2));
  display: grid;
  grid-template-columns: minmax(0,.78fr) minmax(520px,1.22fr);
  gap: clamp(34px, 6vw, 96px);
  align-items: center;
  background:
    radial-gradient(circle at 88% 16%, rgba(225,6,0,.12), transparent 22%),
    linear-gradient(145deg, #111318, #08090b 68%);
  color: var(--white);
  border-top: 1px solid rgba(255,255,255,.08);
}
.rk-proof-bridge-copy {
  max-width: 620px;
}
.rk-proof-bridge-copy h2 {
  margin: 12px 0 0;
  font-size: clamp(2.3rem, 4.2vw, 5.25rem);
  line-height: .95;
  letter-spacing: -.055em;
}
.rk-proof-bridge-copy p {
  max-width: 560px;
  margin: 20px 0 0;
  color: #9da1a9;
}
.rk-proof-bridge .search-console {
  width: 100%;
  background:
    linear-gradient(160deg, rgba(255,255,255,.085), rgba(255,255,255,.025));
  border-color: rgba(255,255,255,.13);
}
.rk-proof-bridge .search-console-link {
  color: var(--white);
}

@keyframes rkTraitKMain {
  0%, 5% {
    stroke-dashoffset: 100;
    opacity: 0;
  }
  16% {
    opacity: .9;
  }
  42%, 76% {
    stroke-dashoffset: 0;
    opacity: .95;
  }
  90%, 100% {
    stroke-dashoffset: -100;
    opacity: 0;
  }
}
@keyframes rkTraitKBranch {
  0%, 27% {
    stroke-dashoffset: 100;
    opacity: 0;
  }
  43%, 74% {
    stroke-dashoffset: 0;
    opacity: .76;
  }
  90%, 100% {
    stroke-dashoffset: -100;
    opacity: 0;
  }
}
@keyframes rkProofWord1 {
  0%, 8%, 23%, 100% { opacity: 0; transform: translateX(12px); }
  12%, 19% { opacity: .8; transform: translateX(0); }
}
@keyframes rkProofWord2 {
  0%, 15%, 31%, 100% { opacity: 0; transform: translateX(12px); }
  20%, 27% { opacity: .8; transform: translateX(0); }
}
@keyframes rkProofWord3 {
  0%, 23%, 39%, 100% { opacity: 0; transform: translateX(12px); }
  28%, 35% { opacity: .8; transform: translateX(0); }
}
@keyframes rkCinematicLockup {
  0%, 56%, 100% { opacity: .18; transform: translateY(5px); }
  70%, 86% { opacity: .46; transform: translateY(0); }
}
@keyframes rkHeroCue {
  0%, 100% { transform: translateX(-36px); opacity: .3; }
  50% { transform: translateX(72px); opacity: 1; }
}

@media (max-width: 1120px) {
  .rk-cinematic-shell {
    grid-template-columns: minmax(0,1fr) minmax(180px,.42fr);
  }
  .rk-cinematic-copy h1 {
    font-size: clamp(3.8rem, 8.2vw, 7rem);
  }
  .rk-trait-k {
    width: min(49vw, 520px);
    opacity: .68;
  }
  .rk-proof-bridge {
    grid-template-columns: 1fr;
  }
  .rk-proof-bridge .search-console {
    max-width: 850px;
  }
}
@media (max-width: 760px) {
  .rk-cinematic-hero {
    min-height: max(700px, calc(100svh - 72px));
  }
  .rk-cinematic-poster img,
  .rk-cinematic-video {
    object-position: 50% 54%;
  }
  .rk-cinematic-shade {
    background:
      linear-gradient(180deg,
        rgba(3,4,6,.56) 0%,
        rgba(3,4,6,.24) 24%,
        rgba(3,4,6,.28) 45%,
        rgba(3,4,6,.94) 78%,
        rgba(3,4,6,.99) 100%);
  }
  .rk-cinematic-shell {
    width: calc(100% - 30px);
    min-height: inherit;
    padding: 48px 0 72px;
    grid-template-columns: 1fr;
    align-items: end;
  }
  .rk-cinematic-copy {
    align-self: end;
    max-width: none;
  }
  .rk-cinematic-kicker {
    font-size: .57rem;
    letter-spacing: .14em;
  }
  .rk-cinematic-kicker::before {
    width: 28px;
  }
  .rk-cinematic-copy h1 {
    margin-top: 16px;
    font-size: clamp(3.15rem, 15.6vw, 5.5rem);
    line-height: .88;
  }
  .rk-cinematic-copy p {
    max-width: 520px;
    margin-top: 19px;
    font-size: .94rem;
    line-height: 1.62;
  }
  .rk-cinematic-actions {
    margin-top: 24px;
  }
  .rk-cinematic-principles {
    margin-top: 22px;
    font-size: .57rem;
  }
  .rk-trait-k {
    right: -24%;
    top: 3%;
    width: 78vw;
    height: 60%;
    opacity: .56;
  }
  .rk-cinematic-proof-words {
    right: 18px;
    top: 12%;
    font-size: .52rem;
  }
  .rk-cinematic-lockup {
    display: none;
  }
  .rk-cinematic-scroll-cue {
    display: none;
  }
  .rk-proof-bridge {
    padding: 72px 18px;
    gap: 32px;
  }
}
@media (max-width: 520px) {
  .rk-cinematic-hero {
    min-height: max(680px, calc(100svh - 72px));
  }
  .rk-cinematic-shell {
    width: calc(100% - 28px);
  }
  .rk-cinematic-actions .button {
    width: 100%;
  }
  .rk-cinematic-principles {
    gap: 8px 13px;
  }
  .rk-cinematic-proof-words {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rk-cinematic-video {
    display: none !important;
  }
  .rk-cinematic-hero .rk-trait-k path {
    animation: none !important;
    stroke-dashoffset: 0 !important;
    opacity: .34 !important;
  }
  .rk-cinematic-proof-words span {
    animation: none !important;
    opacity: .42 !important;
    transform: none !important;
  }
  .rk-cinematic-lockup,
  .rk-cinematic-scroll-cue i::after {
    animation: none !important;
  }
}

/* V1.0.7.10 — reduced-motion final authority.
   Kept as the final reduced-motion block so all legacy transition gates
   continue to inspect the authoritative rule set. */
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-group(root),
  ::view-transition-group(rk-site-header),
  ::view-transition-group(rk-trackline),
  html.rk-ignition-pending .rk-ignition,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .rk-scan-panel.is-scanning::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  body.rk-sport-launching .rk-sport-launch,
  .rk-drive-progress.rk-trackline.is-stage-shifting .rk-trackline-marker,
  body.rk-black-signal-open .rk-black-signal,
  body.rk-black-signal-open .rk-black-signal-mark,
  body.rk-black-signal-open .rk-black-signal-copy,
  .rk-photo-sequence #galleryMain,
  .rk-photo-sequence-progress > i,
  .rk-cinematic-hero .rk-trait-k path,
  .rk-cinematic-proof-words span,
  .rk-cinematic-lockup,
  .rk-cinematic-scroll-cue i::after {
    animation-duration: 1ms !important;
    animation-name: none !important;
    animation: none !important;
    transition: none !important;
  }

  .rk-cinematic-video {
    display: none !important;
  }

  .rk-cinematic-hero .rk-trait-k path {
    stroke-dashoffset: 0 !important;
    opacity: .34 !important;
  }

  .rk-cinematic-proof-words span {
    opacity: .42 !important;
    transform: none !important;
  }

  /* V1.0.7.10 real multibrand Hero: keep the historical reduced-motion
     block authoritative for the whole public experience. */
  .rk-cinematic-hero-real .rk-film-shot,
  .rk-cinematic-hero-real .rk-film-shot > img,
  .rk-cinematic-hero-real .rk-film-black {
    animation: none !important;
    transition: none !important;
  }

  .rk-cinematic-hero-real .rk-film-shot {
    opacity: 0 !important;
  }

  .rk-cinematic-hero-real .rk-film-shot-urus {
    opacity: 1 !important;
  }

  .rk-cinematic-hero-real .rk-film-black {
    opacity: .36 !important;
  }

  .rk-cinematic-hero-real .rk-cinematic-lockup {
    opacity: .32 !important;
    transform: none !important;
  }
}


/* ==========================================================================
   V1.0.7.10 RC2 — RK REAL MULTIBRAND CINEMATIC
   Real licensed photography only. No AI-generated car asset.
   Vehicle geometry is never warped: object-fit + uniform scale/translate only.
   ========================================================================== */

.rk-cinematic-hero-real {
  --rk-cinematic-cycle: 13.5s;
}

.rk-cinematic-hero-real .rk-cinematic-media,
.rk-cinematic-hero-real .rk-film-reel,
.rk-cinematic-hero-real .rk-film-shot,
.rk-cinematic-hero-real .rk-film-shot > img,
.rk-cinematic-hero-real .rk-film-black {
  position: absolute;
  inset: 0;
}

.rk-cinematic-hero-real .rk-film-reel {
  z-index: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 42%, rgba(225,6,0,.08), transparent 26%),
    #030405;
}

.rk-cinematic-hero-real .rk-film-shot {
  margin: 0;
  opacity: 0;
  overflow: hidden;
  background: #030405;
  pointer-events: none;
  will-change: opacity;
}

.rk-cinematic-hero-real .rk-film-shot > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--rk-shot-x, 64%) var(--rk-shot-y, 50%);
  filter:
    brightness(var(--rk-shot-brightness, .40))
    contrast(var(--rk-shot-contrast, 1.18))
    saturate(var(--rk-shot-saturation, .72));
  transform: scale(1.035) translate3d(0, 0, 0);
  transform-origin: var(--rk-shot-origin, 60% 50%);
  will-change: transform;
}

.rk-cinematic-hero-real .rk-film-shot::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(1,2,3,.94) 0%,
      rgba(1,2,3,.68) 30%,
      rgba(1,2,3,.18) 63%,
      rgba(1,2,3,.26) 100%
    ),
    linear-gradient(
      180deg,
      rgba(2,3,4,.14) 0%,
      transparent 44%,
      rgba(2,3,4,.58) 100%
    );
}

.rk-cinematic-hero-real .rk-film-shot::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: auto 0 0;
  height: 42%;
  background:
    linear-gradient(180deg, transparent, rgba(1,2,3,.82));
}

.rk-cinematic-hero-real .rk-film-shot figcaption {
  position: absolute;
  z-index: 5;
  right: clamp(22px, 5vw, 88px);
  bottom: clamp(72px, 9vh, 118px);
  display: grid;
  justify-items: end;
  gap: 3px;
  max-width: 320px;
  opacity: .78;
  text-align: right;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: rgba(255,255,255,.82);
}

.rk-cinematic-hero-real .rk-film-shot figcaption span {
  color: var(--red);
  font-size: .52rem;
  font-weight: 900;
  letter-spacing: .24em;
}

.rk-cinematic-hero-real .rk-film-shot figcaption strong {
  font-size: clamp(.72rem, 1vw, .94rem);
  font-weight: 900;
}

.rk-cinematic-hero-real .rk-film-shot figcaption small {
  color: rgba(255,255,255,.52);
  font-size: .56rem;
  font-weight: 760;
}

.rk-film-shot-urus {
  --rk-shot-x: 69%;
  --rk-shot-y: 50%;
  --rk-shot-origin: 70% 52%;
  --rk-shot-brightness: .36;
  --rk-shot-contrast: 1.22;
  --rk-shot-saturation: .58;
}

.rk-film-shot-m8 {
  --rk-shot-x: 77%;
  --rk-shot-y: 54%;
  --rk-shot-origin: 78% 58%;
  --rk-shot-brightness: .34;
  --rk-shot-contrast: 1.24;
  --rk-shot-saturation: .52;
}

.rk-film-shot-range {
  --rk-shot-x: 67%;
  --rk-shot-y: 53%;
  --rk-shot-origin: 67% 53%;
  --rk-shot-brightness: .35;
  --rk-shot-contrast: 1.22;
  --rk-shot-saturation: .48;
}

.rk-film-shot-rs7 {
  --rk-shot-x: 73%;
  --rk-shot-y: 49%;
  --rk-shot-origin: 72% 50%;
  --rk-shot-brightness: .34;
  --rk-shot-contrast: 1.24;
  --rk-shot-saturation: .72;
}

.rk-cinematic-hero-real.is-running .rk-film-shot-urus {
  animation: rkFilmShotUrus var(--rk-cinematic-cycle) linear infinite;
}

.rk-cinematic-hero-real.is-running .rk-film-shot-m8 {
  animation: rkFilmShotM8 var(--rk-cinematic-cycle) linear infinite;
}

.rk-cinematic-hero-real.is-running .rk-film-shot-range {
  animation: rkFilmShotRange var(--rk-cinematic-cycle) linear infinite;
}

.rk-cinematic-hero-real.is-running .rk-film-shot-rs7 {
  animation: rkFilmShotRs7 var(--rk-cinematic-cycle) linear infinite;
}

.rk-cinematic-hero-real.is-running .rk-film-shot > img {
  animation: rkFilmCamera var(--rk-cinematic-cycle) ease-in-out infinite;
}

.rk-cinematic-hero-real .rk-film-black {
  z-index: 1;
  opacity: 1;
  background:
    radial-gradient(circle at 72% 44%, rgba(225,6,0,.06), transparent 22%),
    #020304;
  pointer-events: none;
}

.rk-cinematic-hero-real.is-running .rk-film-black {
  animation: rkFilmBlack var(--rk-cinematic-cycle) linear infinite;
}

.rk-cinematic-hero-real .rk-cinematic-shade {
  background:
    linear-gradient(
      90deg,
      rgba(2,3,4,.97) 0%,
      rgba(2,3,4,.84) 29%,
      rgba(2,3,4,.48) 50%,
      rgba(2,3,4,.12) 74%,
      rgba(2,3,4,.42) 100%
    ),
    linear-gradient(
      180deg,
      rgba(2,3,4,.14),
      transparent 48%,
      rgba(2,3,4,.72)
    );
}

.rk-cinematic-hero-real .rk-cinematic-grain {
  opacity: .13;
}

.rk-cinematic-hero-real .rk-cinematic-copy p {
  max-width: 640px;
}

.rk-cinematic-independent-note {
  max-width: 620px;
  margin-top: 15px;
  color: rgba(255,255,255,.34);
  font-size: .55rem;
  line-height: 1.55;
  letter-spacing: .035em;
}

.rk-cinematic-hero-real .rk-cinematic-lockup {
  opacity: 0;
}

.rk-cinematic-hero-real.is-running .rk-cinematic-lockup {
  animation: rkRealCinematicLockup var(--rk-cinematic-cycle) linear infinite;
}

.rk-cinematic-hero-real.is-static .rk-film-shot-urus {
  opacity: 1;
}

.rk-cinematic-hero-real.is-static .rk-film-shot-urus > img {
  transform: scale(1.035);
}

.rk-cinematic-hero-real.is-static .rk-film-black {
  opacity: .34;
}

.rk-cinematic-hero-real.is-static .rk-cinematic-lockup {
  opacity: .34;
}

@keyframes rkFilmShotUrus {
  0%, 4% { opacity: 0; }
  7%, 19% { opacity: 1; }
  24%, 100% { opacity: 0; }
}

@keyframes rkFilmShotM8 {
  0%, 19% { opacity: 0; }
  23%, 35% { opacity: 1; }
  40%, 100% { opacity: 0; }
}

@keyframes rkFilmShotRange {
  0%, 35% { opacity: 0; }
  39%, 53% { opacity: 1; }
  58%, 100% { opacity: 0; }
}

@keyframes rkFilmShotRs7 {
  0%, 53% { opacity: 0; }
  57%, 70% { opacity: 1; }
  76%, 100% { opacity: 0; }
}

@keyframes rkFilmBlack {
  0%, 3% { opacity: 1; }
  7%, 72% { opacity: 0; }
  79%, 100% { opacity: 1; }
}

@keyframes rkFilmCamera {
  0% {
    transform: scale(1.035) translate3d(0, 0, 0);
  }
  50% {
    transform: scale(1.065) translate3d(-.7%, -.25%, 0);
  }
  100% {
    transform: scale(1.09) translate3d(-1.1%, -.35%, 0);
  }
}

@keyframes rkRealCinematicLockup {
  0%, 73% {
    opacity: 0;
    transform: translateY(8px);
  }
  82%, 94% {
    opacity: .72;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-3px);
  }
}

/* Re-time proof language to land after the four-car selection film. */
.rk-cinematic-hero-real.is-running .rk-cinematic-proof-words span:nth-child(1) {
  animation: rkRealProofWord1 var(--rk-cinematic-cycle) linear infinite;
}

.rk-cinematic-hero-real.is-running .rk-cinematic-proof-words span:nth-child(2) {
  animation: rkRealProofWord2 var(--rk-cinematic-cycle) linear infinite;
}

.rk-cinematic-hero-real.is-running .rk-cinematic-proof-words span:nth-child(3) {
  animation: rkRealProofWord3 var(--rk-cinematic-cycle) linear infinite;
}

@keyframes rkRealProofWord1 {
  0%, 68%, 80%, 100% { opacity: 0; transform: translateX(12px); }
  72%, 77% { opacity: .82; transform: translateX(0); }
}

@keyframes rkRealProofWord2 {
  0%, 72%, 84%, 100% { opacity: 0; transform: translateX(12px); }
  76%, 81% { opacity: .82; transform: translateX(0); }
}

@keyframes rkRealProofWord3 {
  0%, 76%, 88%, 100% { opacity: 0; transform: translateX(12px); }
  80%, 85% { opacity: .82; transform: translateX(0); }
}

@media (max-width: 760px) {
  .rk-cinematic-hero-real .rk-film-shot::before {
    background:
      linear-gradient(
        180deg,
        rgba(1,2,3,.42) 0%,
        rgba(1,2,3,.12) 32%,
        rgba(1,2,3,.22) 52%,
        rgba(1,2,3,.92) 79%,
        rgba(1,2,3,.99) 100%
      );
  }

  .rk-cinematic-hero-real .rk-film-shot figcaption {
    display: none;
  }

  .rk-film-shot-urus {
    --rk-shot-x: 62%;
    --rk-shot-y: 46%;
  }

  .rk-film-shot-m8 {
    --rk-shot-x: 69%;
    --rk-shot-y: 48%;
  }

  .rk-film-shot-range {
    --rk-shot-x: 58%;
    --rk-shot-y: 45%;
  }

  .rk-film-shot-rs7 {
    --rk-shot-x: 64%;
    --rk-shot-y: 45%;
  }

  .rk-cinematic-independent-note {
    font-size: .5rem;
  }
}



/* ==========================================================================
   V1.0.7.10 RC3 — RK DIRECTOR'S CUT
   Mixed licensed real-media film assembled off-server with FFmpeg; immutable at runtime.
   Geometry rule: uniform aspect-ratio-preserving scale + crop only; no warp.
   ========================================================================== */

.rk-cinematic-hero-director {
  --rk-cinematic-cycle: 16.208333s;
  --rk-director-cycle: 16.208333s;
  background: #020304;
}

.rk-cinematic-hero-director .rk-cinematic-media,
.rk-director-poster,
.rk-director-poster img,
.rk-director-film,
.rk-director-black {
  position: absolute;
  inset: 0;
}

.rk-director-poster,
.rk-director-poster img,
.rk-director-film {
  width: 100%;
  height: 100%;
}

.rk-director-poster {
  z-index: 0;
  margin: 0;
  background: #020304;
}

.rk-director-poster img,
.rk-director-film {
  object-fit: cover;
  object-position: 50% 50%;
}

.rk-director-film {
  z-index: 1;
  border: 0;
  opacity: 0;
  pointer-events: none;
  background: #020304;
  transition: opacity .28s ease;
}

.rk-cinematic-hero-director.is-running .rk-director-film {
  opacity: 1;
}

.rk-director-black {
  z-index: 1;
  pointer-events: none;
  opacity: .10;
  background:
    radial-gradient(circle at 70% 42%, rgba(225,6,0,.055), transparent 24%),
    linear-gradient(180deg, transparent 42%, rgba(0,0,0,.30) 100%);
}

.rk-cinematic-hero-director .rk-cinematic-shade {
  z-index: 2;
  background:
    linear-gradient(
      90deg,
      rgba(1,2,3,.88) 0%,
      rgba(1,2,3,.58) 28%,
      rgba(1,2,3,.15) 58%,
      rgba(1,2,3,.10) 76%,
      rgba(1,2,3,.32) 100%
    ),
    linear-gradient(
      180deg,
      rgba(1,2,3,.08) 0%,
      transparent 46%,
      rgba(1,2,3,.62) 100%
    );
}

.rk-cinematic-hero-director .rk-cinematic-grain {
  z-index: 3;
  opacity: .095;
}

.rk-cinematic-hero-director .rk-cinematic-horizon {
  z-index: 3;
  bottom: 12%;
  opacity: .72;
}

.rk-director-shell {
  grid-template-columns: minmax(0, .91fr) minmax(300px, 1.09fr);
}

.rk-director-copy {
  position: relative;
  z-index: 9;
}

.rk-director-copy h1 span,
.rk-director-copy h1 strong,
.rk-director-copy > p,
.rk-director-copy .rk-cinematic-actions,
.rk-director-copy .rk-cinematic-principles,
.rk-director-copy .rk-cinematic-location,
.rk-director-copy .rk-cinematic-independent-note {
  opacity: 1;
  transform: none;
}

.rk-cinematic-hero-director.is-running .rk-director-copy h1 span {
  animation: rkDirectorEmotion var(--rk-director-cycle) linear infinite;
}

.rk-cinematic-hero-director.is-running .rk-director-copy h1 strong {
  animation: rkDirectorProof var(--rk-director-cycle) linear infinite;
}

.rk-cinematic-hero-director.is-running .rk-director-copy > p,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-actions,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-principles,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-location,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-independent-note {
  animation: rkDirectorSupport var(--rk-director-cycle) linear infinite;
}

.rk-cinematic-hero-director.is-running .rk-cinematic-kicker {
  animation: rkDirectorKicker var(--rk-director-cycle) linear infinite;
}

.rk-director-chapters {
  position: absolute;
  z-index: 7;
  right: clamp(24px, 5vw, 88px);
  bottom: clamp(76px, 9vh, 120px);
  width: min(360px, 31vw);
  min-height: 76px;
  pointer-events: none;
}

.rk-director-chapters > span {
  position: absolute;
  inset: auto 0 0 auto;
  width: 100%;
  display: grid;
  justify-items: end;
  gap: 3px;
  opacity: 0;
  transform: translate3d(12px, 6px, 0);
  transition:
    opacity .17s linear,
    transform .24s cubic-bezier(.2,.7,.2,1);
  text-align: right;
  text-transform: uppercase;
}

.rk-director-chapters > span.is-active {
  opacity: .92;
  transform: translate3d(0, 0, 0);
}

.rk-director-chapters b {
  color: var(--red);
  font-size: .52rem;
  font-weight: 900;
  letter-spacing: .24em;
}

.rk-director-chapters strong {
  color: rgba(255,255,255,.92);
  font-size: clamp(.82rem, 1.05vw, 1rem);
  font-weight: 900;
  letter-spacing: .16em;
}

.rk-director-chapters small {
  color: rgba(255,255,255,.52);
  font-size: .57rem;
  font-weight: 760;
  letter-spacing: .11em;
}

.rk-trait-k-director {
  z-index: 6;
  right: -5%;
  top: 3%;
  width: min(47vw, 690px);
  height: 90%;
  opacity: .82;
  filter:
    drop-shadow(0 0 10px rgba(225,6,0,.34))
    drop-shadow(0 0 34px rgba(225,6,0,.18));
}

.rk-cinematic-hero-director .rk-trait-k-main {
  stroke-width: 1.65;
}

.rk-cinematic-hero-director .rk-trait-k-branch {
  stroke-width: 1.10;
}

.rk-cinematic-hero-director.is-running .rk-trait-k-main {
  animation: rkDirectorTraitMain var(--rk-director-cycle) linear infinite;
}

.rk-cinematic-hero-director.is-running .rk-trait-k-branch {
  animation: rkDirectorTraitBranch var(--rk-director-cycle) linear infinite;
}

.rk-director-lockup {
  right: clamp(24px, 5vw, 92px);
  bottom: 8%;
  width: clamp(190px, 21vw, 320px);
  opacity: .24;
}

.rk-cinematic-hero-director.is-running .rk-director-lockup {
  animation: rkDirectorLockup var(--rk-director-cycle) linear infinite;
}

.rk-director-film-mark {
  position: absolute;
  z-index: 9;
  right: 0;
  top: clamp(56px, 8vh, 94px);
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.42);
  font-size: .52rem;
  font-weight: 850;
  letter-spacing: .19em;
  text-transform: uppercase;
  pointer-events: none;
}

.rk-director-film-mark i {
  width: 46px;
  height: 1px;
  background: rgba(225,6,0,.58);
  box-shadow: 0 0 14px rgba(225,6,0,.35);
}

.rk-director-film-mark em {
  color: rgba(255,255,255,.28);
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.rk-cinematic-hero-director.is-running .rk-director-film-mark {
  animation: rkDirectorFilmMark var(--rk-director-cycle) linear infinite;
}

.rk-cinematic-hero-director .rk-cinematic-independent-note {
  max-width: 640px;
  color: rgba(255,255,255,.32);
  font-size: .54rem;
  line-height: 1.55;
  letter-spacing: .032em;
}

.rk-cinematic-hero-director.is-static .rk-director-film {
  display: none;
}

.rk-cinematic-hero-director.is-static .rk-director-chapters,
.rk-cinematic-hero-director.is-static .rk-director-film-mark {
  display: none;
}

.rk-cinematic-hero-director.is-static .rk-director-lockup {
  opacity: .34;
  transform: none;
}

@keyframes rkDirectorKicker {
  0%, 64% { opacity: .76; }
  69%, 97% { opacity: 1; }
  100% { opacity: .76; }
}

@keyframes rkDirectorEmotion {
  0%, 68% {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    filter: blur(5px);
  }
  72%, 98% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, -4px, 0);
    filter: blur(1px);
  }
}

@keyframes rkDirectorProof {
  0%, 74% {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    filter: blur(4px);
  }
  79%, 98% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, -4px, 0);
    filter: blur(1px);
  }
}

@keyframes rkDirectorSupport {
  0%, 82% {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  87%, 98% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, -2px, 0);
  }
}

@keyframes rkDirectorTraitMain {
  0%, 3% {
    stroke-dashoffset: 100;
    opacity: 0;
  }
  8% {
    opacity: .95;
  }
  15%, 63% {
    stroke-dashoffset: 0;
    opacity: .82;
  }
  68% {
    stroke-dashoffset: -22;
    opacity: .34;
  }
  76% {
    stroke-dashoffset: -62;
    opacity: .88;
  }
  91% {
    stroke-dashoffset: -100;
    opacity: .90;
  }
  100% {
    stroke-dashoffset: -100;
    opacity: 0;
  }
}

@keyframes rkDirectorTraitBranch {
  0%, 67% {
    stroke-dashoffset: 100;
    opacity: 0;
  }
  75% {
    opacity: .18;
  }
  83%, 94% {
    stroke-dashoffset: 0;
    opacity: .82;
  }
  100% {
    stroke-dashoffset: -100;
    opacity: 0;
  }
}

@keyframes rkDirectorLockup {
  0%, 82% {
    opacity: 0;
    transform: translate3d(0, 10px, 0) scale(.985);
  }
  87%, 96% {
    opacity: .78;
    transform: translate3d(0, 0, 0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, -3px, 0) scale(1);
  }
}

@keyframes rkDirectorFilmMark {
  0%, 6% { opacity: 0; transform: translateX(6px); }
  10%, 61% { opacity: .72; transform: translateX(0); }
  67%, 100% { opacity: 0; transform: translateX(-4px); }
}

@media (max-width: 760px) {
  .rk-cinematic-hero-director {
    min-height: max(730px, calc(100svh - 72px));
  }

  .rk-cinematic-hero-director .rk-cinematic-shade {
    background:
      linear-gradient(
        180deg,
        rgba(1,2,3,.18) 0%,
        rgba(1,2,3,.08) 28%,
        rgba(1,2,3,.22) 49%,
        rgba(1,2,3,.91) 76%,
        rgba(1,2,3,.99) 100%
      );
  }

  .rk-director-shell {
    width: calc(100% - 28px);
    min-height: inherit;
    padding: 46px 0 72px;
    display: grid;
    grid-template-columns: 1fr;
    align-items: end;
  }

  .rk-director-copy {
    align-self: end;
  }

  .rk-director-copy h1 {
    font-size: clamp(3.05rem, 15.2vw, 5.4rem);
  }

  .rk-director-copy > p {
    max-width: 500px;
  }

  .rk-director-chapters {
    right: 17px;
    bottom: auto;
    top: 17%;
    width: min(62vw, 270px);
  }

  .rk-director-chapters strong {
    font-size: .68rem;
  }

  .rk-director-chapters small {
    font-size: .48rem;
  }

  .rk-trait-k-director {
    right: -30%;
    top: 0;
    width: 86vw;
    height: 62%;
    opacity: .52;
  }

  .rk-director-lockup {
    display: none;
  }

  .rk-director-film-mark {
    top: 26px;
    right: 2px;
    font-size: .45rem;
  }

  .rk-director-film-mark i {
    width: 28px;
  }

  .rk-cinematic-hero-director .rk-cinematic-independent-note {
    font-size: .49rem;
  }
}

@media (max-width: 520px) {
  .rk-director-chapters {
    width: 66vw;
    top: 14%;
  }

  .rk-director-film-mark {
    display: none;
  }
}

/* Director's Cut: authoritative reduced-motion / bandwidth fallback. */
@media (prefers-reduced-motion: reduce) {
  .rk-cinematic-hero-director .rk-director-film {
    display: none !important;
  }

  .rk-cinematic-hero-director .rk-director-chapters,
  .rk-cinematic-hero-director .rk-director-film-mark {
    display: none !important;
  }

  .rk-cinematic-hero-director .rk-director-copy h1 span,
  .rk-cinematic-hero-director .rk-director-copy h1 strong,
  .rk-cinematic-hero-director .rk-director-copy > p,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-actions,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-principles,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-location,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-independent-note,
  .rk-cinematic-hero-director .rk-cinematic-kicker,
  .rk-cinematic-hero-director .rk-director-lockup,
  .rk-cinematic-hero-director .rk-trait-k-director path {
    animation: none !important;
    transition: none !important;
  }

  .rk-cinematic-hero-director .rk-director-copy h1 span,
  .rk-cinematic-hero-director .rk-director-copy h1 strong,
  .rk-cinematic-hero-director .rk-director-copy > p,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-actions,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-principles,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-location,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-independent-note {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

  .rk-cinematic-hero-director .rk-director-lockup {
    opacity: .34 !important;
    transform: none !important;
  }

  .rk-cinematic-hero-director .rk-trait-k-director path {
    stroke-dashoffset: 0 !important;
    opacity: .30 !important;
  }
}



/* ==========================================================================
   V1.0.7.10 RC4 — RK CINEMATIC REFRAME / FINAL VISUAL POLISH
   Scope: Hero presentation only. RC3 films/posters remain byte-identical.
   Sequence: immersive film -> proof reframe -> copy locks and stays visible.
   ========================================================================== */

.rk-cinematic-hero-director {
  --rk-rc4-reframe-duration: .88s;
  --rk-film-brightness: 1;
}

.rk-director-stage {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  height: 100%;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  background: #020304;
  border-radius: 0;
  box-shadow: none;
  transition:
    top var(--rk-rc4-reframe-duration) cubic-bezier(.18,.82,.18,1),
    left var(--rk-rc4-reframe-duration) cubic-bezier(.18,.82,.18,1),
    right var(--rk-rc4-reframe-duration) cubic-bezier(.18,.82,.18,1),
    height var(--rk-rc4-reframe-duration) cubic-bezier(.18,.82,.18,1),
    border-radius var(--rk-rc4-reframe-duration) cubic-bezier(.18,.82,.18,1),
    box-shadow var(--rk-rc4-reframe-duration) ease;
}

.rk-director-stage .rk-director-poster,
.rk-director-stage .rk-director-film {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.rk-director-film {
  filter:
    brightness(var(--rk-film-brightness, 1))
    saturate(1.01);
  transition:
    opacity .36s cubic-bezier(.2,.7,.2,1),
    filter .24s ease;
}

.rk-cinematic-hero-director.is-loop-fadein .rk-director-film {
  opacity: .08;
}

.rk-cinematic-hero-director::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(
      90deg,
      rgba(2,3,4,.98) 0%,
      rgba(2,3,4,.97) 30%,
      rgba(2,3,4,.84) 39%,
      rgba(2,3,4,.40) 47%,
      rgba(2,3,4,.06) 58%,
      transparent 72%
    );
  transition: opacity .72s ease;
}

.rk-cinematic-hero-director.is-proof-locked::after {
  opacity: 1;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-stage {
  top: 7.5%;
  left: 43.5%;
  right: 3.5%;
  height: 85%;
  border-radius: 18px;
  box-shadow:
    0 24px 70px rgba(0,0,0,.38),
    0 0 0 1px rgba(255,255,255,.035);
}

.rk-cinematic-hero-director.is-proof-locked .rk-cinematic-shade {
  background:
    linear-gradient(
      90deg,
      rgba(2,3,4,.98) 0%,
      rgba(2,3,4,.93) 34%,
      rgba(2,3,4,.62) 46%,
      rgba(2,3,4,.08) 66%,
      rgba(2,3,4,.18) 100%
    ),
    linear-gradient(
      180deg,
      rgba(1,2,3,.10) 0%,
      transparent 46%,
      rgba(1,2,3,.58) 100%
    );
}

.rk-director-shell {
  grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr);
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy {
  max-width: 660px;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy h1 {
  max-width: 650px;
  font-size: clamp(3.55rem, 5.65vw, 6.75rem);
  line-height: .89;
}

.rk-cinematic-hero-director.is-running .rk-director-copy h1 span,
.rk-cinematic-hero-director.is-running .rk-director-copy h1 strong,
.rk-cinematic-hero-director.is-running .rk-director-copy > p,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-actions,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-principles,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-location,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-independent-note,
.rk-cinematic-hero-director.is-running .rk-cinematic-kicker,
.rk-cinematic-hero-director.is-running .rk-director-lockup,
.rk-cinematic-hero-director.is-running .rk-director-film-mark {
  animation: none;
}

.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-director-copy h1 span,
.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-director-copy h1 strong,
.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-director-copy > p,
.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-director-copy .rk-cinematic-actions,
.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-director-copy .rk-cinematic-principles,
.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-director-copy .rk-cinematic-location,
.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-director-copy .rk-cinematic-independent-note {
  opacity: 0;
  transform: translate3d(0, 16px, 0);
  filter: blur(4px);
}

.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-cinematic-kicker {
  opacity: .72;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy h1 span,
.rk-cinematic-hero-director.is-proof-locked .rk-director-copy h1 strong,
.rk-cinematic-hero-director.is-proof-locked .rk-director-copy > p,
.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-actions,
.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-principles,
.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-location,
.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-independent-note {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  transition:
    opacity .72s cubic-bezier(.2,.72,.2,1),
    transform .78s cubic-bezier(.18,.82,.18,1),
    filter .62s ease;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy h1 span {
  transition-delay: .16s;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy h1 strong {
  transition-delay: .38s;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy > p {
  transition-delay: .62s;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-actions {
  transition-delay: .82s;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-principles {
  transition-delay: .98s;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-location {
  transition-delay: 1.08s;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-independent-note {
  transition-delay: 1.16s;
}

.rk-cinematic-hero-director.is-proof-locked .rk-cinematic-kicker {
  opacity: 1;
  transition: opacity .5s ease .06s;
}

.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-director-lockup {
  opacity: 0;
  transform: translate3d(0, 10px, 0) scale(.985);
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-lockup {
  opacity: .70;
  transform: translate3d(0, 0, 0) scale(1);
  transition:
    opacity .72s ease .92s,
    transform .72s cubic-bezier(.18,.82,.18,1) .92s;
}

.rk-cinematic-hero-director .rk-director-film-mark {
  opacity: .62;
  transform: none;
  transition: opacity .45s ease, transform .45s ease;
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-film-mark {
  opacity: .20;
  transform: translate3d(-8px, 0, 0);
}

.rk-director-chapters {
  transition:
    opacity .48s ease,
    transform .58s cubic-bezier(.18,.82,.18,1);
}

.rk-cinematic-hero-director.is-proof-locked .rk-director-chapters {
  opacity: 0;
  transform: translate3d(12px, 0, 0);
  transition-delay: .62s;
}

.rk-director-chapters b {
  font-size: .58rem;
}

.rk-director-chapters strong {
  font-size: clamp(.91rem, 1.12vw, 1.08rem);
}

.rk-director-chapters small {
  font-size: .64rem;
  color: rgba(255,255,255,.60);
}

.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-trait-k-main {
  animation: rkRc4TraitMain 2.5s cubic-bezier(.18,.82,.18,1) .20s both;
}

.rk-cinematic-hero-director.is-running:not(.is-proof-locked) .rk-trait-k-branch {
  animation: rkRc4TraitBranch 2.2s cubic-bezier(.18,.82,.18,1) .85s both;
}

.rk-cinematic-hero-director.is-proof-locked .rk-trait-k-director {
  right: 45.5%;
  top: 8%;
  width: min(27vw, 410px);
  height: 82%;
  opacity: .58;
  transition:
    right var(--rk-rc4-reframe-duration) cubic-bezier(.18,.82,.18,1),
    width var(--rk-rc4-reframe-duration) cubic-bezier(.18,.82,.18,1),
    opacity .72s ease;
}

.rk-cinematic-hero-director.is-proof-locked .rk-trait-k-director path {
  animation: none;
  stroke-dashoffset: 0;
}

.rk-cinematic-hero-director.is-proof-locked .rk-trait-k-main {
  opacity: .72;
}

.rk-cinematic-hero-director.is-proof-locked .rk-trait-k-branch {
  opacity: .48;
}

@keyframes rkRc4TraitMain {
  0% {
    stroke-dashoffset: 100;
    opacity: 0;
  }
  22% {
    opacity: .86;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: .62;
  }
}

@keyframes rkRc4TraitBranch {
  0% {
    stroke-dashoffset: 100;
    opacity: 0;
  }
  28% {
    opacity: .58;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: .40;
  }
}

@media (max-width: 760px) {
  .rk-cinematic-hero-director .rk-director-shell {
    grid-template-columns: 1fr;
  }

  .rk-cinematic-hero-director.is-proof-locked {
    min-height: max(1010px, calc(100svh + 230px));
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-director-stage {
    top: 22px;
    left: 14px;
    right: 14px;
    height: min(40svh, 350px);
    border-radius: 16px;
    box-shadow:
      0 24px 58px rgba(0,0,0,.42),
      0 0 0 1px rgba(255,255,255,.035);
  }

  .rk-cinematic-hero-director::after {
    background:
      linear-gradient(
        180deg,
        transparent 0%,
        transparent 38%,
        rgba(2,3,4,.42) 51%,
        rgba(2,3,4,.96) 64%,
        #020304 76%,
        #020304 100%
      );
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-cinematic-shade {
    background:
      linear-gradient(
        180deg,
        rgba(1,2,3,.10) 0%,
        rgba(1,2,3,.05) 34%,
        rgba(1,2,3,.34) 49%,
        rgba(1,2,3,.94) 66%,
        rgba(1,2,3,.99) 100%
      );
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-director-shell {
    min-height: inherit;
    padding: calc(min(40svh, 350px) + 72px) 0 56px;
    align-items: end;
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-director-copy {
    align-self: end;
    max-width: none;
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-director-copy h1 {
    max-width: 100%;
    font-size: clamp(2.65rem, 11.4vw, 4.25rem);
    line-height: .91;
    letter-spacing: -.062em;
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-director-copy > p {
    margin-top: 20px;
    line-height: 1.62;
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-cinematic-actions {
    margin-top: 24px;
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-trait-k-director {
    right: -9%;
    top: 31%;
    width: 63vw;
    height: 38%;
    opacity: .42;
  }

  .rk-director-chapters b {
    font-size: .54rem;
  }

  .rk-director-chapters strong {
    font-size: .76rem;
  }

  .rk-director-chapters small {
    font-size: .54rem;
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-director-film-mark {
    opacity: 0;
  }
}

@media (max-width: 520px) {
  .rk-cinematic-hero-director.is-proof-locked {
    min-height: max(1020px, calc(100svh + 240px));
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-director-stage {
    top: 20px;
    left: 12px;
    right: 12px;
    height: min(39svh, 340px);
  }

  .rk-cinematic-hero-director.is-proof-locked .rk-director-shell {
    width: calc(100% - 26px);
    padding-top: calc(min(39svh, 340px) + 68px);
  }
}


/* ==========================================================================
   V1.0.7.10 RC5 — FINAL LOOP + IGNITION HANDOFF POLISH
   Scope: no redesign, no media re-encode, no logo/text changes.
   ========================================================================== */

/* Keep the Ignition curtain opaque until the configured sequence is complete.
   The animated panel/beam/checks still run; only the background handoff is
   hardened so Hero copy cannot ghost through during the final milliseconds. */
html.rk-ignition-pending .rk-ignition {
  animation: none;
  opacity: 1;
  visibility: visible;
}

/* While the film hydrates after Ignition, show only the dark/poster layer.
   Copy appears later through the existing proof-lock choreography. */
.rk-cinematic-hero-director.is-awaiting-ignition .rk-director-copy,
.rk-cinematic-hero-director.is-awaiting-ignition .rk-director-lockup,
.rk-cinematic-hero-director.is-awaiting-ignition .rk-director-film-mark,
.rk-cinematic-hero-director.is-awaiting-ignition .rk-director-chapters,
.rk-cinematic-hero-director.is-awaiting-ignition .rk-trait-k-director {
  opacity: 0 !important;
  visibility: hidden;
}

/* RC5 does not replay the embedded five-second signature blackout once proof
   is locked. JS keeps ~0.45 s of the real black frame, seeks back to the
   opening, then performs a short presentation-layer return fade. */
.rk-cinematic-hero-director.is-proof-locked.is-post-lock-bridge .rk-director-film {
  opacity: 0 !important;
  transition: opacity .06s linear;
}

.rk-cinematic-hero-director.is-proof-locked.is-post-lock-return .rk-director-film {
  opacity: 1 !important;
  transition: opacity .20s cubic-bezier(.2,.72,.2,1);
}


/* V1.0.7.10 RC3 — reduced-motion final authority.
   Historical motion gates remain in the final block, with Director's Cut added. */
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-group(root),
  ::view-transition-group(rk-site-header),
  ::view-transition-group(rk-trackline),
  html.rk-ignition-pending .rk-ignition,
  .cockpit-dialog[open] .cockpit-status,
  .cockpit-dialog[open] .cockpit-dial,
  .cockpit-dialog[open] .cockpit-dial-needle,
  .cockpit-dialog[open] .cockpit-redline,
  .rk-scan-panel.is-scanning::after,
  body.rk-mode-active .rk-mode-aura,
  body.rk-mode-burst .rk-mode-announce,
  body.rk-sport-launching .rk-sport-launch,
  .rk-drive-progress.rk-trackline.is-stage-shifting .rk-trackline-marker,
  body.rk-black-signal-open .rk-black-signal,
  body.rk-black-signal-open .rk-black-signal-mark,
  body.rk-black-signal-open .rk-black-signal-copy,
  .rk-photo-sequence #galleryMain,
  .rk-photo-sequence-progress > i,
  .rk-cinematic-hero .rk-trait-k path,
  .rk-cinematic-proof-words span,
  .rk-cinematic-lockup,
  .rk-cinematic-scroll-cue i::after,
  .rk-cinematic-hero-director .rk-director-copy h1 span,
  .rk-cinematic-hero-director .rk-director-copy h1 strong,
  .rk-cinematic-hero-director .rk-director-copy > p,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-actions,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-principles,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-location,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-independent-note,
  .rk-cinematic-hero-director .rk-cinematic-kicker,
  .rk-cinematic-hero-director .rk-director-lockup,
  .rk-cinematic-hero-director .rk-trait-k-director path {
    animation-duration: 1ms !important;
    animation-name: none !important;
    animation: none !important;
    transition: none !important;
  }

  .rk-cinematic-video,
  .rk-cinematic-hero-director .rk-director-film {
    display: none !important;
  }

  .rk-cinematic-hero .rk-trait-k path,
  .rk-cinematic-hero-director .rk-trait-k-director path {
    stroke-dashoffset: 0 !important;
    opacity: .30 !important;
  }

  .rk-cinematic-proof-words span {
    opacity: .42 !important;
    transform: none !important;
  }

  .rk-cinematic-hero-real .rk-film-shot,
  .rk-cinematic-hero-real .rk-film-shot > img,
  .rk-cinematic-hero-real .rk-film-black {
    animation: none !important;
    transition: none !important;
  }

  .rk-cinematic-hero-real .rk-film-shot {
    opacity: 0 !important;
  }

  .rk-cinematic-hero-real .rk-film-shot-urus {
    opacity: 1 !important;
  }

  .rk-cinematic-hero-real .rk-film-black {
    opacity: .36 !important;
  }

  .rk-cinematic-hero-director .rk-director-chapters,
  .rk-cinematic-hero-director .rk-director-film-mark {
    display: none !important;
  }

  .rk-cinematic-hero-director .rk-director-copy h1 span,
  .rk-cinematic-hero-director .rk-director-copy h1 strong,
  .rk-cinematic-hero-director .rk-director-copy > p,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-actions,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-principles,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-location,
  .rk-cinematic-hero-director .rk-director-copy .rk-cinematic-independent-note {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

  .rk-cinematic-hero-director .rk-director-lockup {
    opacity: .34 !important;
    transform: none !important;
  }
}


/* ==========================================================================
   V1.0.7.10 FINAL — STICKY PROOF LOCK
   Scope: runtime state hardening only. No media, logo, copy or layout redesign.
   Once proof is reached, video seeks/restarts may never hide the final copy.
   ========================================================================== */

.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy h1 span,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy h1 strong,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy > p,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-actions,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-principles,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-location,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-independent-note {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

.rk-cinematic-hero-director.is-proof-sticky .rk-director-lockup {
  opacity: .70 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
}

.rk-cinematic-hero-director.is-proof-sticky .rk-cinematic-kicker {
  opacity: 1 !important;
}



/* ==========================================================
   RK V1.0.7.12 FINAL PUBLIC READY — customer journey closure
   ========================================================== */
html, body { background:#050608; }

.page-hero.page-hero-task {
  min-height: clamp(220px, 34vh, 300px);
  padding-top: clamp(110px, 16vh, 150px);
  padding-bottom: 42px;
}
.rk-hero-fast-path {
  position:absolute;
  z-index:14;
  left:50%;
  top:clamp(84px, 12vh, 118px);
  transform:translateX(-50%);
  width:min(1180px, calc(100% - 40px));
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  color:#fff;
  pointer-events:auto;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.rk-hero-fast-path a { color:#fff; font-weight:800; text-decoration:none; }
.rk-hero-fast-path a:hover, .rk-hero-fast-path a:focus-visible { color:#ff726e; }

.empty-inventory-first { max-width:920px; margin:0 auto; text-align:center; }
.empty-inventory-first > strong { display:block; font-size:clamp(3.2rem,10vw,7rem); line-height:1; color:#E10600; }

.vehicle-regulatory-primary {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:14px;
  margin:14px 0 8px;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.vehicle-regulatory-primary strong,
.vehicle-mileage-primary {
  font-weight:900;
  color:inherit;
}
.vehicle-regulatory-primary strong { font-size:clamp(1.55rem,3vw,2.15rem); }
.vehicle-regulatory-primary span { font-size:clamp(1.12rem,2.2vw,1.45rem); font-weight:850; }
.vehicle-mileage-primary { font-size:1.08rem; }

.finance-advanced {
  grid-column:1 / -1;
  border:1px solid rgba(15,19,25,.14);
  border-radius:14px;
  padding:0;
  background:rgba(255,255,255,.58);
}
.finance-advanced summary {
  cursor:pointer;
  padding:16px 18px;
  font-weight:850;
}
.finance-advanced-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:0 18px 18px;
}

.mission-budget-detail {
  margin-top:18px;
  padding:16px;
  border:1px solid rgba(225,6,0,.18);
  border-radius:14px;
  background:rgba(255,255,255,.72);
}
.mission-budget-detail label { display:grid; gap:8px; margin-top:10px; }
.mission-budget-detail label:first-child { margin-top:0; }

.rk-founder-card {
  width:min(1100px,calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
  gap:clamp(28px,6vw,80px);
  align-items:start;
}
.rk-founder-card h2 { margin:.3em 0 .2em; }
.rk-founder-card p { margin:0; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.7; }

body.rk-form-active #rkModeToggle,
body.rk-form-active .rk-drive-progress {
  opacity:0;
  pointer-events:none;
  transform:translateY(18px);
}

.signal-card.featured p,
.inventory-proof p { color:#fff; }

@media (max-width:760px) {
  .rk-hero-fast-path {
    top:76px;
    width:calc(100% - 28px);
    align-items:flex-start;
    font-size:.68rem;
  }
  .rk-hero-fast-path span { max-width:62%; }
  .page-hero.page-hero-task {
    min-height:220px;
    padding-top:100px;
    padding-bottom:30px;
  }
  .finance-advanced-grid { grid-template-columns:1fr; }
  .rk-founder-card { grid-template-columns:1fr; }
  .vehicle-regulatory-primary {
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}

/* V1.0.7.12 FINAL PUBLIC READY — finance progressive disclosure */
.finance-estimator-disclaimer,
.finance-section-note{
  max-width:72ch;
  line-height:1.65;
}
.finance-estimator-disclaimer{
  margin:0 auto 1.25rem;
  padding:.85rem 1rem;
  border:1px solid rgba(17,17,17,.14);
  border-radius:12px;
  background:#fff;
}
.finance-advanced-body{
  padding-top:1rem;
}


/* ==========================================================
   RK V1.0.7.13 — CORRECTIFS DE LISIBILITÉ ET DE PARCOURS
   Audit externe du 17 août 2026.
   Ce bloc corrige des régressions visuelles mesurées, sans
   redessiner l'identité RK (logo, palette, Hero, cockpit).
   ========================================================== */

/* --- C1. Surface de la fiche véhicule -----------------------------------
   V1.0.7.12 a introduit « html, body { background:#050608 } ». La fiche
   véhicule est la seule page publique sans conteneur .section-*, elle
   héritait donc du fond quasi noir tout en gardant la couleur de texte
   --ink (#131518) : contraste mesuré 1.11:1, texte invisible.
   On rétablit ici la surface claire attendue par ces règles. */
.vehicle-v1-shell {
  position: relative;
  width: auto;
  padding-left: max(18px, calc((100% - var(--container)) / 2));
  padding-right: max(18px, calc((100% - var(--container)) / 2));
  background: var(--paper);
  color: var(--ink);
}

/* --- C2. Intérieur de la carte d'achat ----------------------------------
   .vehicle-purchase-card a un fond #fff mais tout son contenu était
   colorié en rgba(255,255,255,…) / #fff : contraste 1.0:1, invisible.
   Recoloration pour surface claire, tonalités RK conservées. */
.vehicle-verified-chip {
  border-color: rgba(19,21,24,.14);
  background: rgba(19,21,24,.035);
  color: #2c2f35;
}
.vehicle-verified-chip.is-good {
  border-color: rgba(28,107,69,.34);
  background: rgba(28,107,69,.09);
  color: #12603c;
}
.vehicle-verified-chip.is-warn {
  border-color: rgba(150,95,0,.34);
  background: rgba(150,95,0,.09);
  color: #7a4d00;
}
.vehicle-verified-chip.is-neutral {
  border-color: rgba(19,21,24,.16);
  background: rgba(19,21,24,.04);
  color: #2c2f35;
}

.vehicle-verified-dossier {
  border-color: rgba(19,21,24,.12);
  background:
    radial-gradient(circle at 100% 0, rgba(225,6,0,.06), transparent 40%),
    rgba(19,21,24,.022);
}
.vehicle-verified-dossier-head span { color: #c00500; }
.vehicle-verified-dossier-head strong { color: #4a4d54; }
.vehicle-verified-dossier-actions { border-top-color: rgba(19,21,24,.12); }
.vehicle-verified-dossier-actions a {
  color: #131518;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.vehicle-finance-note { color: #55585f; }

.vehicle-share-actions button {
  border-color: rgba(19,21,24,.18);
  color: #2c2f35;
}
.vehicle-share-actions button:hover,
.vehicle-share-actions button:focus-visible {
  border-color: rgba(225,6,0,.45);
  color: #0b0c0e;
}
.vehicle-share-feedback { color: #55585f; }

/* --- C3. Textes réglementaires et informatifs ---------------------------
   Prix tout inclus, kilométrage, disponibilité, mention d'indépendance
   de marque et marqueur « Requis » passaient sous le seuil WCAG AA 4.5:1. */
.vehicle-mileage-primary,
.vehicle-reference-line span { color: #5c5f66; }
.vehicle-card-note,
.vehicle-empty-copy,
.vehicle-spec-card span { color: #55585f; }
.vehicle-card-pricing .vehicle-price-row small,
.vehicle-regulatory-primary span { color: #4f5259; }
.required-inline { color: #a3140f; }
.vehicle-breadcrumb,
.vehicle-breadcrumb span { color: #5c5f66; }
.rk-cinematic-independent-note { color: rgba(255,255,255,.82); }
.rk-cinematic-location { color: rgba(255,255,255,.86); }

/* --- C4. Lisibilité minimale et cibles tactiles -------------------------
   Plancher typographique pour le contenu réel (les libellés purement
   décoratifs en aria-hidden ne sont pas visés) et cible 24px WCAG 2.2 AA. */
.vehicle-verified-chip,
.vehicle-reference-line span:not(.vehicle-mileage-primary),
.vehicle-card-note,
.vehicle-spec-card span,
.vehicle-photo-count,
.vehicle-finance-note,
.vehicle-share-actions button,
.vehicle-verified-dossier-head strong,
.vehicle-verified-dossier-actions a,
.vehicle-card-pricing .vehicle-price-row small,
.rk-cinematic-independent-note,
.rk-cinematic-location {
  font-size: max(0.75rem, .72rem);
}
.vehicle-verified-dossier-actions a,
.vehicle-passport-link,
.vehicle-report-link,
.vehicle-secondary-actions a,
.vehicle-sibling-nav a,
.reset-link {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

/* --- C5. Inventaire : recherche sans résultat ---------------------------
   Distinguer « aucun véhicule publié » de « aucun résultat pour ces
   critères » ; le second doit conserver la recherche et la remise à zéro. */
.inventory-no-match {
  margin: 0 0 26px;
  padding: 22px;
  border: 1px solid var(--line-light);
  border-radius: 16px;
  background: var(--paper-2);
}
.inventory-no-match strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 1.02rem;
}
.inventory-no-match p {
  margin: 0 0 14px;
  color: #55585f;
  font-size: .86rem;
  line-height: 1.6;
}
.inventory-no-match .hero-actions { margin: 0; }

/* --- C6. Textes d'aide des formulaires ---------------------------------
   Les notes explicatives (dont la mention TVQ) mesuraient 4.06–4.12:1. */
.field small,
.field > small,
.finance-form-card .field small,
.finance-card-step {
  color: #4f5259;
}
.finance-form-card .field small,
.field small {
  font-size: max(0.75rem, .72rem);
}

/* --- C7. Mentions du Hero et section Passeport --------------------------
   La mention d'indépendance de marque et la localisation sont ciblées par
   14 règles d'état du Director's Cut ; l'override doit donc porter la même
   spécificité. La mention reste visuellement subordonnée, mais lisible. */
.rk-cinematic-hero-director .rk-director-copy .rk-cinematic-independent-note,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-independent-note,
.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-independent-note,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-independent-note {
  color: rgba(255,255,255,.88);
  font-size: max(0.7rem, .68rem);
}
.rk-cinematic-hero-director .rk-director-copy .rk-cinematic-location,
.rk-cinematic-hero-director.is-running .rk-director-copy .rk-cinematic-location,
.rk-cinematic-hero-director.is-proof-locked .rk-director-copy .rk-cinematic-location,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-location {
  color: rgba(255,255,255,.90);
}
.passport-lead p { color: #fffaf9; }

/* --- C8. Proéminence réglementaire du prix et du kilométrage ------------
   Règlement d'application de la LPC : dans une publicité d'automobile
   d'occasion, le prix et le kilométrage doivent être indiqués de façon
   plus évidente que les autres renseignements. Le prix était déjà
   dominant ; le kilométrage était rendu plus petit que le titre et que
   le corps de texte. Il est remonté au second rang visuel de la fiche
   et de la carte d'inventaire, derrière le seul prix. */
.vehicle-mileage-primary {
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
  font-weight: 800;
  letter-spacing: -.01em;
  color: #26292f;
}
.vehicle-reference-line {
  align-items: baseline;
  row-gap: 6px;
}
.vehicle-regulatory-primary strong {
  font-size: clamp(1.3rem, 3.4vw, 1.55rem);
  font-weight: 800;
}
.vehicle-regulatory-primary span {
  font-size: clamp(1rem, 2.6vw, 1.15rem);
  font-weight: 750;
  color: #33363c;
}

/* --- C9. Liste des droits de la politique de confidentialité ------------
   Ajout Loi 25 : portabilité, cessation de diffusion / désindexation,
   décision automatisée et recours auprès de la CAI. */
.privacy-rights-list {
  margin: 12px 0 16px;
  padding-left: 1.15em;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.privacy-rights-list li {
  color: #3f4249;
  font-size: .92rem;
  line-height: 1.65;
}
.privacy-rights-list strong {
  color: var(--ink);
  font-weight: 750;
}

/* --- C10. Mention de quantité et libellés de carte ----------------------
   La divulgation « 1 unité disponible » est exigée par l'OPC dans une
   publicité d'automobile ; elle était rendue à 9,3 px. */
.stock-badge,
.vehicle-facts span,
.vehicle-card-actions a,
.vehicle-card-pricing .vehicle-card-old-price span,
.vehicle-card-pricing del {
  font-size: max(0.75rem, .72rem);
}
.stock-badge { color: #4f5259; }

/* --- C11. Plancher typographique des commandes de la fiche véhicule -----
   Fil d'Ariane, navigation entre véhicules et barre de galerie portent des
   commandes réelles ; elles étaient rendues entre 8,8 px et 10,7 px. */
.vehicle-breadcrumb,
.vehicle-breadcrumb a,
.vehicle-breadcrumb span,
.vehicle-sibling-nav a span,
.vehicle-sibling-nav a strong,
.rk-photo-sequence-toolbar .eyebrow,
.rk-photo-sequence-toolbar strong,
.rk-photo-autoplay-label,
.vehicle-photo-count,
.vehicle-passport-list span,
.vehicle-verified-dossier-head span,
.preview-banner {
  font-size: max(0.75rem, .72rem);
}

/* --- C12. Mention de prix OPC, actions secondaires et panneau de scan ---
   « Prix tout inclus avant taxes » qualifie le prix annoncé : il doit être
   lisible. Les actions secondaires et les statuts du dossier public le
   sont maintenant au même plancher. */
.vehicle-v1-price > span,
.vehicle-secondary-actions a,
.rk-scan-panel-head span,
.rk-scan-panel-head strong,
.rk-scan-line > span,
.rk-scan-line b,
.rk-scan-foot span,
.rk-scan-status span,
.vehicle-appointment-badge,
.passport-badge {
  font-size: max(0.75rem, .72rem);
}

/* --- C13. Contenu de dossier : équipements, Passeport, rapport ----------
   Ce sont les renseignements que le client lit pour décider. */
.vehicle-option-list span,
.vehicle-option-group summary span,
.vehicle-report-link,
.vehicle-options-v1 .vehicle-section-heading p,
.vehicle-passport-list p,
.vehicle-passport-link,
.vehicle-empty-panel {
  font-size: max(0.75rem, .72rem);
}

/* --- C14. Indicateur de focus clavier (WCAG 2.2 SC 1.4.11) --------------
   Il n'existait aucune règle :focus-visible globale, et les règles
   ponctuelles utilisaient le rouge RK à 20–25 % d'opacité : contraste
   mesuré 1.56:1 sur fond clair et 1.18:1 sur fond sombre, pour un seuil
   exigé de 3:1. Le rouge RK à pleine opacité passe sur les deux fonds
   (4.51:1 et 4.08:1) : c'est donc la même couleur de marque, rendue
   réellement visible. */
:focus-visible {
  outline: 3px solid #e10600;
  outline-offset: 2px;
  border-radius: 2px;
}
.rk-mode-toggle:focus-visible,
.guided-step input:focus-visible + span,
.contact-preferences input:focus-visible + span,
.alert-channel input:focus-visible + span,
.mission-form .guided-step input:focus-visible + span,
.mission-form .contact-preferences input:focus-visible + span,
.mission-form .alert-channel input:focus-visible + span {
  outline: 3px solid #e10600;
  outline-offset: 3px;
}
/* Les vignettes de galerie annulaient l'outline au profit d'une simple
   bordure de 1 px, insuffisante comme seul indicateur. */
.gallery-thumb:focus-visible {
  outline: 3px solid #e10600;
  outline-offset: 2px;
}
/* Champs de formulaire : la lueur portée passe de 10 % à une bordure
   pleine, visible sans dépendre de la couleur de fond. */
.field input:focus-visible,
.field select:focus-visible,
.field textarea:focus-visible,
.quick-search-row input:focus-visible {
  outline: 3px solid #e10600;
  outline-offset: 1px;
}

/* --- C15. Cibles du pied de page (WCAG 2.2 SC 2.5.8) -------------------
   Les 11 liens des colonnes de pied de page sont en display:block et
   mesuraient 18 px de haut. Ils portent la navigation légale
   (Confidentialité, Conditions) et les coordonnées. */
.footer-group a,
.signal-card a,
.footer-social-connect a,
.drawer-contact a {
  display: flex;
  align-items: center;
  min-height: 26px;
}
.signal-card a { display: inline-flex; }
.vehicle-breadcrumb a,
.vehicle-card-actions a,
.reset-link,
.vehicle-sibling-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
}


/* ==========================================================
   RK V1.0.7.13r10 — HIÉRARCHIE RÉGLEMENTAIRE OPC
   Règlement d'application de la LPC : dans une publicité
   d'automobile d'occasion, le prix ET le kilométrage doivent
   être indiqués de façon plus évidente que les autres
   renseignements de l'annonce.

   Ordre visuel imposé, sur les quatre rendus :
     1. prix
     2. kilométrage
     3. titre du véhicule
     4. renseignements secondaires
   ========================================================== */

/* --- R1-A. Fiche véhicule ---------------------------------------------
   Le titre passe sous le kilométrage. Il reste la plus grosse ligne de
   texte courant de la colonne, mais il cesse de dominer une mention
   réglementaire. */
.vehicle-purchase-card h1 {
  margin: 12px 0 8px;
  font-size: clamp(1.35rem, 2.1vw, 1.62rem);
  line-height: 1.12;
  letter-spacing: -.025em;
}

.vehicle-v1-price > strong {
  font-size: clamp(2.3rem, 4.4vw, 2.9rem);
  letter-spacing: -.04em;
}

/* Le kilométrage sort de la ligne de référence : il devient un bloc
   propre, immédiatement sous le prix, au second rang typographique. */
.vehicle-reference-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
  margin-top: 10px;
}
.vehicle-mileage-primary {
  flex: 1 0 100%;
  order: -1;
  font-size: clamp(1.72rem, 3.1vw, 2.1rem);
  font-weight: 850;
  line-height: 1.05;
  letter-spacing: -.03em;
  color: #16181c;
}
.vehicle-mileage-primary::after {
  content: "au compteur";
  display: block;
  margin-top: 2px;
  color: #55585f;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .02em;
}

/* --- R1-B. Carte d'inventaire ----------------------------------------
   L'ordre était déjà correct ; l'écart entre kilométrage et titre est
   creusé pour qu'il soit perceptible sans comparaison. */
.vehicle-regulatory-primary {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 10px 0 4px;
}
.vehicle-regulatory-primary strong {
  font-size: clamp(1.5rem, 3.8vw, 1.85rem);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -.035em;
}
.vehicle-regulatory-primary span {
  font-size: clamp(1.18rem, 2.9vw, 1.38rem);
  font-weight: 800;
  line-height: 1.1;
  color: #24272d;
}
.vehicle-card h2 {
  margin: 10px 0 8px;
  font-size: clamp(.95rem, 2.2vw, 1.02rem);
  line-height: 1.2;
}

/* --- R1-C. Quantité disponible ---------------------------------------
   Divulgation exigée par l'OPC : elle doit rester lisible. */
.stock-badge,
.vehicle-reference-line > span:not(.vehicle-mileage-primary) {
  font-size: .8rem;
  font-weight: 700;
  color: #4f5259;
}

/* Le kilométrage est réaffirmé en dernier pour qu'aucune règle de plancher
   typographique antérieure ne puisse le ramener au niveau des mentions
   secondaires. */
.vehicle-reference-line .vehicle-mileage-primary,
span.vehicle-mileage-primary {
  font-size: clamp(1.72rem, 3.1vw, 2.1rem);
  font-weight: 850;
  line-height: 1.05;
  letter-spacing: -.03em;
  color: #16181c;
}

/* --- R1-D. Cartes blanches posées dans une section sombre --------------
   .value-card fixe un fond blanc mais héritait la couleur de texte
   `--white` de son conteneur .section-dark : contraste mesuré 1.0:1 sur
   les quatre engagements RK de la page À propos, dont « Pas de frais
   ajoutés au prix annoncé », qui porte un engagement de prix OPC.
   La couleur de texte est réaffirmée avec la surface. */
.value-card,
.value-card strong {
  color: var(--ink);
}
.value-card span {
  color: #55585f;
}

/* --- R1-E. Garde contre l'héritage de couleur sur surface claire -------
   Toute carte qui impose son propre fond blanc doit aussi imposer sa
   couleur d'encre. Sans cela, placée dans une .section-dark ou
   .section-black — qui définissent `color: var(--white)` — elle rend du
   texte blanc sur blanc. C'est la cause exacte du défaut mesuré sur
   .value-card ; la règle ferme la famille entière. */
.signal-card,
.method-card,
.info-card,
.value-card,
.form-card,
.guided-step,
.large-choice,
.contact-option,
.quick-search,
.inventory-toolbar,
.filter-panel,
.vehicle-card,
.vehicle-summary,
.certainty-grid article,
.vehicle-description,
.options-panel,
.guided-form,
.passport-professional-card,
.privacy-summary,
.terms-nav,
.finance-principles article,
.finance-form-card,
.vehicle-spec-card,
.vehicle-story,
.vehicle-options-v1,
.vehicle-option-list {
  color: var(--ink);
}

/* --- R1-F. Cibles des coordonnées légales (WCAG 2.2 SC 2.5.8) ---------- */
.privacy-contact-card a,
.privacy-responsible a,
.terms-nav a,
.terms-copy a[href^="mailto"],
.terms-copy a[href^="tel"] {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
}

/* --- R1-G. CTA rapide du Hero (WCAG 2.2 SC 2.5.8) ---------------------
   « Trouver mon véhicule » du chemin rapide mesurait 20,3 px de haut
   entre 768 px et 820 px de large. */
.rk-hero-fast-path a {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
}

/* --- R1-H. Navigation principale et téléphone d'en-tête ---------------
   Visibles à partir du seuil desktop, ils mesuraient 18,8 à 19,3 px. Ce
   sont les liens de navigation les plus utilisés du site. */
.primary-nav a,
.header-phone {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
}


/* RK VISUAL LOCK — FINAL HEADER + IMMEDIATE PROOF STATE
   - Phone icon replaces A+ in the header.
   - Home hero starts directly in the approved proof layout.
*/
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy h1 span,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy h1 strong,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy > p,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-actions,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-principles,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-location,
.rk-cinematic-hero-director.is-proof-sticky .rk-director-copy .rk-cinematic-independent-note {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}


/* ==========================================================
   RK V1.0.7.13r2 — GUIDED BUDGET FIELD FIX
   Root cause: generic `.guided-step input` / `.guided-step label span`
   rules were intended for radio choices but also affected the real
   numeric/select controls inside `.mission-budget-detail`.
   ========================================================== */
.mission-form .mission-budget-detail {
  grid-column: 1 / -1;
  margin-top: 6px;
  padding: 16px;
  border: 1px solid rgba(225,6,0,.28);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}

.mission-form .mission-budget-detail > label {
  display: grid;
  gap: 8px;
  margin: 0;
}

.mission-form .mission-budget-detail > label + label {
  margin-top: 12px;
}

/* The descriptive label must stay text, not become a radio-choice card. */
.mission-form .guided-step .mission-budget-detail label > span {
  min-height: 0;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #aeb1b7;
  font-size: .72rem;
  font-weight: 750;
  cursor: default;
  overflow: visible;
}

.mission-form .guided-step .mission-budget-detail label > span::after {
  content: none;
}

/* Real budget controls remain visible and match the RK dark cockpit. */
.mission-form .mission-budget-detail input[type="number"],
.mission-form .mission-budget-detail select {
  position: static;
  opacity: 1;
  width: 100%;
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  outline: none;
  background: rgba(255,255,255,.045);
  color: #fff;
  font: inherit;
  box-shadow: none;
  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.mission-form .mission-budget-detail input[type="number"]::placeholder {
  color: #7f838b;
  opacity: 1;
}

.mission-form .mission-budget-detail input[type="number"]:hover,
.mission-form .mission-budget-detail select:hover {
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.06);
}

.mission-form .mission-budget-detail input[type="number"]:focus-visible,
.mission-form .mission-budget-detail select:focus-visible {
  border-color: rgba(255,64,57,.82);
  background: rgba(255,255,255,.055);
  box-shadow: 0 0 0 3px rgba(225,6,0,.16);
}

.mission-form .mission-budget-detail input[type="number"]:disabled,
.mission-form .mission-budget-detail select:disabled,
.mission-form .mission-budget-detail input[type="number"][readonly] {
  opacity: .55;
  cursor: not-allowed;
}

.mission-form .mission-budget-detail input:-webkit-autofill,
.mission-form .mission-budget-detail input:-webkit-autofill:hover,
.mission-form .mission-budget-detail input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff;
  -webkit-box-shadow: 0 0 0 1000px #111318 inset;
  caret-color: #fff;
}


/* V1.0.7.13r3 — Brand rail inventory deep-links */
.brand-badge-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.brand-badge-link:focus-visible {
  outline: 2px solid #e10600;
  outline-offset: -2px;
}
.brand-badge-link:hover {
  background: rgba(225, 6, 0, .08);
}




/* R13R7 — budget step: high-contrast, directly editable, no washed-out input */
.mission-form .mission-budget-detail{
  background:#111318;
  border-color:rgba(225,6,0,.34);
  box-shadow:0 16px 40px rgba(0,0,0,.24);
}
.mission-form .mission-budget-detail label>span{
  color:#e7e9ec;
}
.mission-budget-control{
  position:relative;
  display:flex;
  align-items:center;
}
.mission-budget-control input{
  width:100%;
  min-height:58px;
  padding:14px 48px 14px 16px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  background:#090b0f;
  color:#fff;
  caret-color:#fff;
  -webkit-text-fill-color:#fff;
  opacity:1;
}
.mission-budget-control input::placeholder{
  color:#858b95;
  opacity:1;
}
.mission-budget-control input:focus{
  outline:3px solid rgba(225,6,0,.24);
  outline-offset:2px;
  border-color:#e10600;
  background:#08090c;
}
.mission-budget-control>span{
  position:absolute;
  right:16px;
  color:#e7e9ec;
  font-weight:900;
  pointer-events:none;
}
.mission-form select[name="budget_frequency"]{
  min-height:54px;
  background:#090b0f;
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}


/* R13R7 — brand rail: normalize wildly different SVG viewBoxes/wordmarks */
.brand-badge{
  min-width:132px;
}
.brand-badge-visual{
  width:100%;
  min-height:76px;
  display:grid;
  grid-template-rows:42px auto;
  place-items:center;
  align-content:center;
  gap:7px;
}
.brand-logo-svg{
  width:74px !important;
  height:38px !important;
  max-width:74px !important;
  max-height:38px !important;
  object-fit:contain;
  object-position:center;
  filter:brightness(0) invert(1);
  opacity:.94;
}
.brand-badge:hover .brand-logo-svg,
.brand-badge:focus-visible .brand-logo-svg{
  filter:brightness(0) invert(1);
  opacity:1;
}
.brand-badge-visual>span{
  display:block;
  max-width:112px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#c9ccd2;
  font-size:.66rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}


.brand-logo-failed .brand-badge-visual{
  grid-template-rows:auto;
}
.brand-logo-failed .brand-badge-visual>span{
  max-width:116px;
  white-space:normal;
  text-align:center;
  font-size:.72rem;
  font-weight:900;
  color:#f1f2f4;
}


/* R13R8 — budget numeric control: remove native spin buttons that collide with "$". */
.mission-budget-control input[type="number"]{
  appearance:textfield;
  -moz-appearance:textfield;
}
.mission-budget-control input[type="number"]::-webkit-inner-spin-button,
.mission-budget-control input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none;
  appearance:none;
  margin:0;
}
.mission-budget-control>span{
  right:18px;
  min-width:18px;
  text-align:center;
  color:#d6d6d6;
}

/* R13R8 — brand rail visual lock: one permanent silver tone, visible without hover. */
.brand-badge .brand-logo-svg,
.brand-badge:hover .brand-logo-svg,
.brand-badge:focus-visible .brand-logo-svg{
  filter:brightness(0) saturate(100%) invert(66%) !important;
  opacity:1 !important;
}
.brand-badge .brand-badge-visual>span,
.brand-badge-visual>span{
  color:#A7A7A7;
  opacity:1;
}
.brand-badge:hover .brand-logo-svg{
  transform:scale(1.04);
  filter:brightness(0) saturate(100%) invert(66%) drop-shadow(0 0 10px rgba(225,6,0,.28)) !important;
}

/* R13R9 final visual lock */
.mission-form .guided-step .mission-budget-control{position:relative!important;display:block!important;width:100%!important}
.mission-form .guided-step .mission-budget-control input[data-budget-money]{position:relative!important;z-index:1!important;display:block!important;width:100%!important;min-height:56px!important;padding:0 52px 0 16px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:12px!important;background:#17191f!important;color:#fff!important;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;opacity:1!important}
.mission-form .guided-step .mission-budget-control>.currency-suffix{position:absolute!important;z-index:2!important;top:50%!important;right:17px!important;transform:translateY(-50%)!important;display:block!important;min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#d8dbe0!important;font-size:1rem!important;font-weight:900!important;line-height:1!important;pointer-events:none!important}
.mission-form .guided-step .mission-budget-control>.currency-suffix::after{content:none!important}
.mission-budget-frequency{display:grid;gap:8px;margin-top:12px}
.mission-budget-frequency>.mission-budget-label{display:block!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:#e7e9ec!important;font-size:.72rem!important;font-weight:750!important}
.mission-frequency-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mission-frequency-options label{margin:0!important}
.mission-form .guided-step .mission-frequency-options label>span{min-height:50px!important;padding:10px 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:11px!important;background:#17191f!important;color:#e6e8eb!important;font-size:.82rem!important;font-weight:800!important}
.mission-form .guided-step .mission-frequency-options input:checked+span{border-color:#e10600!important;background:rgba(225,6,0,.14)!important;color:#fff!important}
.mission-form .guided-step .mission-frequency-options label>span::after{content:none!important}
.brand-badge{min-width:144px}.brand-badge-visual{min-height:86px;grid-template-rows:50px auto;gap:8px}
.brand-logo-svg{width:88px!important;height:46px!important;max-width:88px!important;max-height:46px!important}
@media(max-width:600px){.mission-frequency-options{grid-template-columns:1fr}.brand-logo-svg{width:82px!important;height:43px!important;max-width:82px!important;max-height:43px!important}}

/* R13R10 — final guided field polish */
.mission-field-help{
  display:block;
  margin-top:6px;
  color:#8f959f;
  font-size:.72rem;
  line-height:1.35;
}
.mission-frequency-options input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.mission-frequency-options label:focus-within > span{
  outline:2px solid rgba(225,6,0,.65);
  outline-offset:2px;
}

/* RK FINAL STAGING PATCH — currency suffix focus isolation */
.mission-form .guided-step .mission-budget-control > .currency-suffix,
.mission-form .guided-step .mission-budget-control input[data-budget-money]:focus-visible + .currency-suffix,
.mission-form .guided-step .mission-budget-control input[data-budget-money]:focus + .currency-suffix {
  outline: 0 !important; outline-offset: 0 !important; border: 0 !important;
  border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
  min-width: 0 !important; min-height: 0 !important; width: auto !important; height: auto !important;
  padding: 0 !important; margin: 0 !important;
}
.mission-form .guided-step .mission-budget-control > .currency-suffix::after { content: none !important; }

/* RK FINAL STAGING PATCH — first-pass logo stability + larger presence */
.brand-badge { min-width: 158px !important; }
.brand-badge-visual { min-height: 96px !important; grid-template-rows: 58px auto !important; gap: 9px !important; }
.brand-logo-svg {
  width: 104px !important; height: 56px !important; max-width: 104px !important; max-height: 56px !important;
  object-fit: contain !important; object-position: center !important;
  filter: brightness(0) saturate(100%) invert(66%) !important; opacity: 1 !important;
  transform: translateZ(0); backface-visibility: hidden;
}
.brand-badge:hover .brand-logo-svg,
.brand-badge:focus-visible .brand-logo-svg {
  filter: brightness(0) saturate(100%) invert(66%) drop-shadow(0 0 10px rgba(225,6,0,.24)) !important;
  opacity: 1 !important;
}
@media (max-width: 600px) {
  .brand-badge { min-width: 146px !important; }
  .brand-logo-svg { width: 94px !important; height: 50px !important; max-width: 94px !important; max-height: 50px !important; }
}


/* RK FINAL — money suffix is a pseudo-element, never a focusable/choice sibling.
   This permanently prevents the generic `input:focus-visible + span` rule
   from drawing a red focus rectangle around the dollar sign. */
.mission-form .guided-step .mission-budget-control::after {
  content: "$";
  position: absolute;
  z-index: 3;
  top: 50%;
  right: 17px;
  transform: translateY(-50%);
  display: block;
  color: #d8dbe0;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
}
.mission-form .guided-step .mission-budget-control > .currency-suffix {
  display: none !important;
}
