/* =============================================================================
   GS Executive Chauffeur Services — style.css (the one stylesheet)
   Neumorphism design on the GS Executive palette. Bootstrap 5.3 supplies the
   grid and utilities only; every component below is our own.
   -----------------------------------------------------------------------------
    1. Fonts
    2. Tokens (palette, tones, shadows, type, spacing)
    3. Base
    4. Neumorphic primitives (raised, inset, wells, pills, chips, buttons)
    5. Forms
    6. Header, mega menu, off-canvas
    7. Footer, floating stack, action bar
    8. Cookie consent
    9. Motion (reveal, hero sequence)
   10. HOME sections
   11. Utility pages (404, thank you)
   12. Responsive
   13. Reduced motion and print
   ============================================================================= */

/* -----------------------------------------------------------------------------
   1. FONTS (self-hosted, see assets/fonts)
   ----------------------------------------------------------------------------- */
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 500; font-display: swap; src: url("../fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2"); }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/manrope-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/manrope-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/manrope-latin-600-normal.woff2") format("woff2"); }

/* -----------------------------------------------------------------------------
   2. TOKENS
   ----------------------------------------------------------------------------- */
:root {
  /* Brand palette (unchanged) */
  --warm-ivory: #F5F0E8;
  --clean-white: #FCFBF8;
  --light-oat: #ECE2D5;
  --near-black: #141414;
  --jet-graphite: #1F1F1F;
  --steel-taupe: #59544D;
  --mist-grey: #A39B90;
  --bronze-gold: #B98A52;
  --gold-hover: #956B3D;
  --text-gold: #7A5A30;
  --logo-gold: #DCB271;
  --sand-line: #D5C8B8;
  --field-border: #8F8374;
  --error: #A63F35;
  --success: #2F6B47;
  --whatsapp: #128C7E;
  --trustpilot: #00B67A;

  /* Tone (default = Warm Ivory). Neumorphic shadows are tints of the ground. */
  --bg: var(--warm-ivory);
  --hi: #FFFCF6;
  --lo: #D7CCBC;
  --ink: var(--near-black);
  --ink-2: var(--steel-taupe);
  --accent: var(--text-gold);


  /* Type */
  --font-display: "Cormorant Garamond", Garamond, "Times New Roman", serif;
  --font-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;

  /* Space and shape */
  --space-1: 4px; --space-2: 8px; --space-3: 16px; --space-4: 24px;
  --space-5: 20px; --space-6: 30px; --space-7: 40px; --space-8: 50px;
  --r-sm: 12px; --r-md: 18px; --r-lg: 26px; --r-xl: 34px; --r-pill: 999px;
  --header-h: 84px;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --ease-spring: cubic-bezier(.34, 1.36, .64, 1);
}

.tone-ivory { --bg: #F5F0E8; --hi: #FFFCF6; --lo: #D7CCBC; }
.tone-oat   { --bg: #ECE2D5; --hi: #FAF4EA; --lo: #CBBDAA; }
.nm-dark {
  --bg: #1F1F1F; --hi: #2A2A2A; --lo: #121212;
  --ink: var(--warm-ivory); --ink-2: #CFC8BD; --accent: var(--bronze-gold);
  color: var(--ink-2);
}
.tone-ivory, .tone-oat, .nm-dark { background-color: var(--bg); }

/* Shadow recipes are re-declared wherever the tone changes, so each surface
   casts shadows tinted from its own ground (custom properties resolve where
   they are declared). */
:root, .tone-ivory, .tone-oat, .nm-dark, .nav-shell, .offcanvas-nm, .action-bar,
.cookie-bar, .cookie-modal__dialog, .nm-btn--dark {
  --nm-out: 10px 10px 24px var(--lo), -10px -10px 24px var(--hi);
  --nm-out-sm: 5px 5px 12px var(--lo), -5px -5px 12px var(--hi);
  --nm-out-lg: 18px 18px 40px var(--lo), -14px -14px 34px var(--hi);
  --nm-in: inset 7px 7px 14px var(--lo), inset -7px -7px 14px var(--hi);
  --nm-in-sm: inset 3px 3px 7px var(--lo), inset -3px -3px 7px var(--hi);
}

/* -----------------------------------------------------------------------------
   3. BASE
   ----------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--warm-ivory);
  color: var(--near-black);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.625;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.is-locked { overflow: hidden; }
main { display: block; outline: none; overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-underline-offset: 3px; }
a,button{text-transform: capitalize;}
iframe{border-radius: 8px;}
a:hover { color: var(--ink); }
p { margin: 0 0 1rem; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 500; color: var(--ink); margin: 0 0 .5em; letter-spacing: -.005em;text-transform: capitalize; }
em { font-style: italic;  }
strong { font-weight: 600; }
.container { max-width: 1232px; padding-left: 16px; padding-right: 16px; }
.break-all { word-break: break-all; }
::selection { background: var(--bronze-gold); color: var(--near-black); }

:focus-visible { outline: 2px solid var(--near-black); outline-offset: 3px; border-radius: 6px; }
[tabindex="-1"]:focus { outline: none; }
.nm-dark :focus-visible { outline-color: var(--bronze-gold); }

.skip-link {
  position: fixed; left: 16px; top: -80px; z-index: 3000;
  background: var(--near-black); color: var(--warm-ivory);
  padding: 12px 18px; border-radius: var(--r-sm); text-decoration: none; font-weight: 600;
}
.skip-link:focus { top: 16px; color: var(--warm-ivory); }

.section { padding: var(--space-8) 0; position: relative; overflow-x: clip; }
.section-head { max-width: 720px; margin-bottom: var(--space-6); }
.section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head--split { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.section-head--split .h-section { margin-bottom: 0; }
.section-head .lead-text { margin-bottom: 0; }

.h-section { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.12; }
.h-section em { color: var(--accent); }
.lead-text { font-size: 15px; line-height: 1.68; color: var(--ink-2); max-width: 680px; }
.nm-dark p { color: var(--ink-2); }

.nm-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-sans); font-weight: 600; font-size: 12px; line-height: 16px;
  letter-spacing: .24em; text-transform: uppercase; color: var(--accent);
  margin-bottom: 18px;
}
.nm-eyebrow--sm { font-size: 11px; margin-bottom: 10px; }
.nm-dot {
  width: 12px; height: 12px; border-radius: 50%; background: var(--bg);
  box-shadow: var(--nm-out-sm); position: relative; flex: none;
}
.nm-dot::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--bronze-gold); }

.text-link {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--accent); font-weight: 600; text-decoration: none; font-size: 15px;
}
.text-link i { transition: transform .25s var(--ease); }
.text-link:hover { color: var(--accent); text-decoration: underline; }
.text-link:hover i { transform: translateX(4px); }

.btn-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.btn-row--center { justify-content: center; }
.center-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: var(--space-6); }

.stars { color: var(--bronze-gold); display: flex; gap: 3px; margin: 0 0 10px; font-size: 15px; }
.stars--lg { font-size: 22px; justify-content: center; }

.todo { background: #FFE9A8; color: #5A4300; font-size: 12px; padding: 1px 6px; border-radius: 4px; font-weight: 600; }

.nm-img { width: 100%; }
.nm-ph {
  display: flex; align-items: center; justify-content: center;
  background: repeating-linear-gradient(45deg, var(--light-oat) 0 12px, #E4D8C8 12px 24px);
  color: var(--steel-taupe); font-size: 12px; padding: 12px; text-align: center; width: 100%;
}

.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* -----------------------------------------------------------------------------
   4. NEUMORPHIC PRIMITIVES
   ----------------------------------------------------------------------------- */
.nm-raised { background: var(--bg); border-radius: var(--r-lg); box-shadow: var(--nm-out); }
.nm-inset  { background: var(--bg); border-radius: var(--r-lg); box-shadow: var(--nm-in); }

.nm-well {
  width: 56px; height: 56px; flex: none; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bg); box-shadow: var(--nm-in-sm), 0 0 0 1px rgba(0, 0, 0, .015);
  color: var(--accent); font-size: 22px;
  transition: box-shadow .35s var(--ease), color .35s var(--ease), transform .35s var(--ease);
}
.nm-well--sm { width: 38px; height: 38px; font-size: 16px; }

.nm-round {
  width: 40px; height: 40px; border-radius: 50%; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--ink);
  transition: all .3s var(--ease);
}

.nm-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; border-radius: var(--r-pill);
  background: var(--bg); box-shadow: var(--nm-out-sm);
  font-size: 14px; font-weight: 500; color: var(--ink); line-height: 1.3;
}
.nm-pill i { color: var(--accent); }

.nm-chip {
  display: inline-flex; align-items: center; gap: 6px; min-height: 40px;
  padding: 8px 16px; border-radius: var(--r-pill);
  background: var(--bg); box-shadow: var(--nm-out-sm);
  color: var(--ink); font-size: 14px; font-weight: 500; text-decoration: none;
  transition: box-shadow .25s var(--ease), color .25s var(--ease);
}
.nm-chip:hover, .nm-chip:focus-visible { box-shadow: var(--nm-in-sm); color: var(--accent); }

/* Buttons */
.nm-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 12px 26px; border: 0; border-radius: var(--r-pill);
  background: var(--bg); color: var(--ink); box-shadow: var(--nm-out-sm);
  font-family: var(--font-sans); font-weight: 600; font-size: 13px; line-height: 20px;
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
  cursor: pointer; position: relative; isolation: isolate;
  transition: box-shadow .25s var(--ease), transform .25s var(--ease), background-color .25s var(--ease), color .25s var(--ease);
}
.nm-btn:hover { color: var(--ink); box-shadow: var(--nm-out); transform: translateY(-2px); }
.nm-btn:active { box-shadow: var(--nm-in-sm); transform: translateY(0); }
.nm-btn i { font-size: 16px; }
.nm-btn--lg { min-height: 58px; padding: 16px 32px; }
.nm-btn--block { width: 100%; }
.nm-btn--icon { width: 50px; min-width: 50px; padding: 0; letter-spacing: 0; }

/* Primary: Bronze Gold with a Near Black label; hover Deep Gold Brown + Clean White */
.nm-btn--gold { background: var(--bronze-gold); color: var(--near-black); }
.nm-btn--gold:hover, .nm-btn--gold:focus-visible { background: var(--gold-hover); color: var(--clean-white); }
.nm-btn--gold:active { background: var(--gold-hover); color: var(--clean-white); box-shadow: inset 4px 4px 10px rgba(0, 0, 0, .28), inset -3px -3px 8px rgba(255, 255, 255, .12); }

.nm-btn--whatsapp { background: var(--whatsapp); color: var(--clean-white); }
.nm-btn--whatsapp:hover { background: #0E7468; color: var(--clean-white); }

.nm-btn--dark { --bg: #1F1F1F; --hi: #2D2D2D; --lo: #101010; background: var(--bg); color: var(--warm-ivory); }
.nm-btn--dark:hover { color: var(--bronze-gold); }
.nm-btn--dark-solid { background: var(--warm-ivory); color: var(--near-black); box-shadow: 4px 4px 10px #0d0d0d, -3px -3px 8px #2f2f2f; }
.nm-btn--dark-solid:hover { background: var(--bronze-gold); color: var(--near-black); box-shadow: 4px 4px 10px #0d0d0d, -3px -3px 8px #2f2f2f; }
.nm-btn--ghost { background: transparent; box-shadow: none; color: var(--warm-ivory); text-decoration: underline; text-underline-offset: 4px; }
.nm-btn--ghost:hover { box-shadow: none; color: var(--bronze-gold); }

.link-btn { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font-size: inherit; }

/* -----------------------------------------------------------------------------
   5. FORMS
   ----------------------------------------------------------------------------- */
.nm-field { position: relative; }
.nm-field label { display: block; font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 8px; letter-spacing: .01em; }
.nm-field .iti.iti--allow-dropdown{width: 100%;}
.req { color: var(--error); }
.nm-input {
  display: block; width: 100%; min-height: 52px; padding: 13px 18px;
  font: 400 16px/1.4 var(--font-sans); color: var(--near-black);
  background: var(--bg); border: 1px solid rgba(143, 131, 116, .55); border-radius: var(--r-md);
  box-shadow: var(--nm-in-sm);
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
  appearance: none; -webkit-appearance: none;
}
textarea.nm-input { min-height: 120px; resize: vertical; }
select.nm-input {
  padding-right: 44px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%237A5A30' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 18px center;
}
.nm-input::placeholder { color: #7D756B; }
.nm-input:focus { outline: none; border-color: var(--bronze-gold); box-shadow: var(--nm-in-sm), 0 0 0 2px var(--near-black); }
.has-error .nm-input { border-color: var(--error); }
.field-error { display: flex; gap: 6px; align-items: flex-start; color: var(--error); font-size: 14px; font-weight: 500; margin: 8px 0 0; }
.field-error[hidden] { display: none; }

.form-alert {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 14px 18px; border-radius: var(--r-md); margin-bottom: 20px;
  background: #F7E7E3; color: var(--error); font-weight: 500; box-shadow: var(--nm-in-sm);
}
.form-alert[hidden] { display: none; }

/* Segmented control */
.nm-seg {
  display: inline-flex; gap: 4px; padding: 5px; margin: 0; border: 0;
  border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-in-sm);
}
.nm-seg input { position: absolute; opacity: 0; pointer-events: none; }
.nm-seg label {
  display: inline-flex; align-items: center; gap: 6px; min-height: 40px;
  padding: 8px 14px; border-radius: var(--r-pill); cursor: pointer;
  font-size: 13px; font-weight: 600; color: var(--steel-taupe);
  transition: box-shadow .3s var(--ease), color .3s var(--ease), background-color .3s var(--ease);
}
.nm-seg label i { font-size: 14px; }
.nm-seg input:checked + label { background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--near-black); }
.nm-seg input:checked + label i { color: var(--text-gold); }
.nm-seg input:focus-visible + label { outline: 2px solid var(--near-black); outline-offset: 2px; }

/* Checkbox */
.nm-check { position: relative; }
.nm-check input { position: absolute; opacity: 0; width: 26px; height: 26px; margin: 0; left: 0; top: 0; }
.nm-check label { display: flex; gap: 14px; align-items: flex-start; font-size: 14px; color: var(--steel-taupe); cursor: pointer; line-height: 1.55; }
.nm-check__box {
  width: 26px; height: 26px; flex: none; border-radius: 8px; margin-top: -1px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bg); box-shadow: var(--nm-in-sm); border: 1px solid rgba(143, 131, 116, .55);
  color: transparent; transition: all .25s var(--ease);
}
.nm-check input:checked + label .nm-check__box { background: var(--bronze-gold); color: var(--near-black); border-color: var(--bronze-gold); box-shadow: var(--nm-out-sm); }
.nm-check input:focus-visible + label .nm-check__box { outline: 2px solid var(--near-black); outline-offset: 2px; }
.nm-check.has-error .nm-check__box { border-color: var(--error); }

/* Switch */
.nm-switch { position: relative; display: inline-block; width: 56px; height: 32px; flex: none; }
.nm-switch input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; z-index: 1; }
.nm-switch input:disabled { cursor: not-allowed; }
.nm-switch__track {
  position: absolute; inset: 0; border-radius: var(--r-pill);
  background: var(--bg); box-shadow: var(--nm-in-sm); border: 1px solid rgba(143, 131, 116, .55);
  transition: background-color .3s var(--ease);
}
.nm-switch__track::after {
  content: ""; position: absolute; top: 4px; left: 4px; width: 22px; height: 22px; border-radius: 50%;
  background: var(--clean-white); box-shadow: 2px 2px 5px rgba(0, 0, 0, .25);
  transition: transform .35s var(--ease-spring), background-color .3s var(--ease);
}
.nm-switch input:checked + .nm-switch__track::after { transform: translateX(24px); background: var(--bronze-gold); }
.nm-switch input:disabled + .nm-switch__track { opacity: .7; }
.nm-switch input:focus-visible + .nm-switch__track { outline: 2px solid var(--near-black); outline-offset: 3px; }

/* Spinner for submit */
.btn-submit .spinner { display: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: spin .8s linear infinite; }
.btn-submit.is-loading .spinner { display: inline-block; }
.btn-submit.is-loading { pointer-events: none; opacity: .85; }
@keyframes spin { to { transform: rotate(360deg); } }

/* -----------------------------------------------------------------------------
   6. HEADER, MEGA MENU, OFF-CANVAS
   ----------------------------------------------------------------------------- */
.scroll-progress { position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 1100; pointer-events: none; }
.scroll-progress span { display: block; height: 100%; background: var(--bronze-gold); transform-origin: 0 50%; transform: scaleX(0); }

.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  padding-top: 14px; transition: padding .35s var(--ease), transform .35s var(--ease);
}
.site-header.is-scrolled { padding-top: 8px; }
.nav-shell {
  --bg: #F5F0E8; --hi: #FFFCF6; --lo: #D7CCBC;
  position: relative; display: flex; align-items: center; gap: 18px;
  min-height: 72px; padding: 10px 12px 10px 20px; border-radius: 24px;
  background: rgba(245, 240, 232, .94);
  box-shadow: 8px 8px 22px rgba(160, 140, 115, .28), -8px -8px 22px rgba(255, 252, 246, .9);
  backdrop-filter: saturate(140%) blur(12px); -webkit-backdrop-filter: saturate(140%) blur(12px);
  transition: min-height .35s var(--ease), box-shadow .35s var(--ease);
}
.site-header.is-scrolled .nav-shell { min-height: 64px; box-shadow: 0 14px 34px rgba(60, 45, 25, .16), -6px -6px 16px rgba(255, 252, 246, .8); }

.brand { display: inline-flex; align-items: center; text-decoration: none; flex: none; }
.brand-logo { height: 46px; width: auto; }
.brand-type { display: inline-flex; align-items: center; gap: 12px; }
.brand-type__mono {
  width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 600; font-size: 20px; letter-spacing: .02em;
  background: var(--jet-graphite); color: var(--logo-gold);
  box-shadow: 4px 4px 10px rgba(0, 0, 0, .25), -3px -3px 8px rgba(255, 252, 246, .9), inset 0 0 0 2px rgba(220, 178, 113, .35);
}
.brand-type__words { display: flex; flex-direction: column; line-height: 1; }
.brand-type__w1 { font-family: var(--font-display); font-weight: 600; font-size: 20px; letter-spacing: .16em; text-transform: uppercase; color: var(--near-black); }
.brand-type__w2 { font-size: 9px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--steel-taupe); margin-top: 5px; }
.brand-type--light .brand-type__w1 { color: var(--warm-ivory); }
.brand-type--light .brand-type__w2 { color: var(--mist-grey); }
.brand-type--light .brand-type__mono { box-shadow: 4px 4px 10px #0d0d0d, -3px -3px 8px #2f2f2f, inset 0 0 0 2px rgba(220, 178, 113, .35); }

/* Desktop mega nav */
.mega-nav { flex: 1; display: flex; justify-content: center; }
.mega-nav__list { display: flex; align-items: center; gap: 4px; }
.mega-item { position: static; }
.mega-trigger {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 10px 16px;
  border: 0; background: transparent; border-radius: var(--r-pill);
  font-size: 14px; font-weight: 600; color: var(--near-black); text-decoration: none; cursor: pointer;
  transition: box-shadow .25s var(--ease), color .25s var(--ease);
}
.mega-trigger i { font-size: 11px; transition: transform .3s var(--ease); color: var(--text-gold); }
.mega-trigger:hover, .mega-trigger[aria-expanded="true"], .mega-trigger[aria-current="page"] { box-shadow: var(--nm-in-sm); color: var(--near-black); }
.mega-trigger[aria-expanded="true"] i { transform: rotate(180deg); }

.mega-panel {
  position: absolute; left: 0; right: 0; top: calc(100% + 14px);
  padding: 20px; border-radius: 28px;
  background: var(--warm-ivory);
  box-shadow: 0 30px 60px rgba(60, 45, 25, .18), 10px 10px 24px rgba(160, 140, 115, .2), -10px -10px 24px rgba(255, 252, 246, .9);
  opacity: 0; visibility: hidden; transform: translateY(12px) scale(.985); transform-origin: 50% 0;
  transition: opacity .28s var(--ease), transform .35s var(--ease), visibility 0s linear .35s;
}
.mega-panel::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.mega-item.is-open .mega-panel { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mega-panel--narrow { left: 18%; right: 18%; }

.mega-grid { display: grid; gap: 28px; }
.mega-grid--services { grid-template-columns: repeat(3, 1fr) 1.15fr; }
.mega-grid--company { grid-template-columns: 1.6fr 1fr; }
.mega-head { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); margin-bottom: 16px; }
.mega-head--plain { margin-bottom: 0; }
.mega-links li + li { margin-top: 2px; }
.mega-links a {
  display: block; padding: 7px 12px; margin-left: -12px; border-radius: 12px;
  color: var(--near-black); text-decoration: none; font-size: 15px;
  transition: box-shadow .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);
}
.mega-links a:hover, .mega-links a:focus-visible { box-shadow: var(--nm-in-sm); color: var(--text-gold); transform: translateX(4px); }

.mega-card {
  display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 22px;
  background: var(--bg); box-shadow: var(--nm-out-sm); text-decoration: none; color: var(--near-black);
  transition: box-shadow .3s var(--ease);
}
.mega-card:hover { box-shadow: var(--nm-out); color: var(--near-black); }
.mega-card__media { display: block; border-radius: 16px; overflow: hidden; box-shadow: var(--nm-in-sm); }
.mega-card__media img { aspect-ratio: 16 / 10; object-fit: cover; transition: transform .6s var(--ease); }
.mega-card:hover .mega-card__media img { transform: scale(1.05); }
.mega-card__title { font-family: var(--font-display); font-size: 22px; font-weight: 600; padding: 4px 6px 0; }
.mega-card__text { font-size: 14px; color: var(--steel-taupe); padding: 0 6px; line-height: 1.5; }
.mega-card .text-link { padding: 0 6px 6px; }

.mega-intro { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.mega-tiles { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.mega-tiles--fleet { grid-template-columns: repeat(4, 1fr); }
.mega-tile {
  display: flex; flex-direction: column; gap: 4px; padding: 8px 8px 14px; border-radius: 20px; height: 100%;
  background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--near-black); text-decoration: none;
  transition: box-shadow .3s var(--ease), transform .3s var(--ease);
}
.mega-tile:hover, .mega-tile:focus-visible { box-shadow: var(--nm-out); transform: translateY(-3px); color: var(--near-black); }
.mega-tile__media { display: block; border-radius: 14px; overflow: hidden; margin-bottom: 8px; }
.mega-tile__media img { aspect-ratio: 4 / 3; object-fit: cover; }
.mega-tile__name { font-weight: 600; font-size: 14px; line-height: 1.3; padding: 0 6px; }
.mega-tile__meta { font-size: 12px; color: var(--text-gold); font-weight: 600; padding: 0 6px; letter-spacing: .04em; }
.mega-tile__line { font-size: 13px; color: var(--steel-taupe); padding: 0 6px; line-height: 1.45; }
.mega-tiles--fleet .mega-tile__name { font-family: var(--font-display); font-size: 22px; font-weight: 600; }

.mega-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--sand-line); }
.mega-foot__label { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); }
.mega-foot__call { margin-left: auto; font-weight: 600; color: var(--near-black); text-decoration: none; display: inline-flex; gap: 8px; align-items: center; }
.mega-foot__call i { color: var(--text-gold); }

.mega-iconlinks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mega-iconlinks a {
  display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 18px;
  color: var(--near-black); text-decoration: none; font-weight: 500; font-size: 15px;
  transition: box-shadow .25s var(--ease);
}
.mega-iconlinks a:hover, .mega-iconlinks a:focus-visible { box-shadow: var(--nm-out-sm); color: var(--near-black); }
.mega-contact { display: flex; flex-direction: column; gap: 10px; padding: 20px; border-radius: 22px; box-shadow: var(--nm-in); }
.mega-contact__row { display: flex; gap: 14px; align-items: center; color: var(--near-black); text-decoration: none; font-weight: 600; font-size: 15px; padding: 6px 0; }
.mega-contact__row i { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--nm-out-sm); color: var(--text-gold); flex: none; }
.mega-contact__row small { display: block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--steel-taupe); font-weight: 600; }
.mega-contact__row:hover { color: var(--text-gold); }

.nav-actions { display: flex; align-items: center; gap: 12px; flex: none; margin-left: auto; }
.nav-phone { width: auto; padding: 0 18px; gap: 8px; letter-spacing: .02em; text-transform: none; font-size: 14px; }
.nav-phone i { color: var(--text-gold); }
.menu-toggle { display: none; }
.burger { width: 20px; height: 14px; position: relative; display: block; }
.burger span { position: absolute; left: 0; height: 2px; width: 100%; border-radius: 2px; background: var(--near-black); transition: transform .35s var(--ease), opacity .2s, width .3s var(--ease); }
.burger span:nth-child(1) { top: 0; }
.burger span:nth-child(2) { top: 6px; width: 70%; }
.burger span:nth-child(3) { top: 12px; }
.menu-toggle[aria-expanded="true"] .burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .burger span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Off-canvas */
.oc-backdrop {
  position: fixed; inset: 0; z-index: 1490; background: rgba(20, 20, 20, .45);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  opacity: 0; visibility: hidden; transition: opacity .35s var(--ease), visibility 0s linear .35s;
}
.offcanvas-nm {
  --bg: #F5F0E8; --hi: #FFFCF6; --lo: #D7CCBC;
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 1500;
  width: min(420px, 100%); height: 100dvh; display: flex; flex-direction: column;
  background: var(--bg); box-shadow: -20px 0 50px rgba(20, 20, 20, .2);
  transform: translateX(104%); visibility: hidden;
  transition: transform .5s var(--ease), visibility 0s linear .5s;
}
body.oc-open .oc-backdrop { opacity: 1; visibility: visible; transition-delay: 0s; }
body.oc-open .offcanvas-nm { transform: none; visibility: visible; transition-delay: 0s; }
.offcanvas-nm__top { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; }
.offcanvas-nm__body { flex: 1; overflow-y: auto; padding: 8px 20px 20px; overscroll-behavior: contain; }
.oc-list { display: flex; flex-direction: column; gap: 14px; }
.oc-group { border-radius: 20px; background: var(--bg); box-shadow: var(--nm-out-sm); transition: box-shadow .3s var(--ease); }
.oc-group.is-open { box-shadow: var(--nm-in-sm); }
.oc-trigger {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 58px; padding: 14px 18px; border: 0; background: transparent; cursor: pointer;
  font-size: 16px; font-weight: 600; color: var(--near-black); text-decoration: none; border-radius: 20px;
}
.oc-trigger > span { display: inline-flex; align-items: center; gap: 12px; }
.oc-trigger > span i { color: var(--text-gold); font-size: 18px; }
.oc-trigger--link:hover { color: var(--near-black); }
.oc-plus { transition: transform .3s var(--ease); color: var(--text-gold); }
.oc-trigger[aria-expanded="true"] .oc-plus { transform: rotate(45deg); }
.oc-panel { padding: 0 18px 16px 48px; }
.oc-panel a { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; color: var(--near-black); text-decoration: none; font-size: 15px; }
.oc-panel a:hover { color: var(--text-gold); }
.oc-all { font-weight: 600; color: var(--text-gold) !important; }
.oc-sub { margin: 10px 0 2px; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); }
.oc-meta { font-size: 12px; color: var(--steel-taupe); white-space: nowrap; }
.offcanvas-nm__actions { display: grid; gap: 12px; padding: 18px 20px calc(18px + env(safe-area-inset-bottom)); border-top: 1px solid var(--sand-line); }

/* -----------------------------------------------------------------------------
   7. FOOTER, FLOATING STACK, ACTION BAR
   ----------------------------------------------------------------------------- */
.site-footer { padding: 96px 0 32px; position: relative; overflow: hidden; border-top: 1px solid rgba(213, 200, 184, .12); }
.site-footer::before {
  content: "GS"; position: absolute; right: -40px; bottom: 60px; font-family: var(--font-display); font-weight: 600;
  font-size: clamp(180px, 22vw, 320px); line-height: 1; color: var(--bg);
  text-shadow: 5px 5px 10px #101010, -4px -4px 9px #2c2c2c; pointer-events: none; opacity: .6;
}
.footer-top { position: relative; display: grid; grid-template-columns: 1fr 1.7fr; gap: 56px; padding-bottom: 48px; }
.footer-brand p { color: var(--ink-2); margin: 22px 0 24px; max-width: 360px; }
.footer-contact { display: flex; flex-wrap: wrap; gap: 12px; }
.footer-contact .nm-btn { letter-spacing: .04em; text-transform: none; font-size: 14px; }
.footer-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.footer-head { font-family: var(--font-sans); font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--bronze-gold); margin-bottom: 18px; }
.footer-col li + li { margin-top: 8px; }
.footer-col a, .footer-areas a { color: var(--ink-2); text-decoration: none; font-size: 15px; transition: color .2s var(--ease); }
.footer-col a:hover, .footer-areas a:hover { color: var(--warm-ivory); text-decoration: underline; }
.footer-areas {
  position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px;
  padding: 20px 26px; border-radius: 22px; box-shadow: var(--nm-in);
}
.footer-areas__label { color: var(--bronze-gold) !important; font-weight: 600; display: inline-flex; gap: 8px; align-items: center; }
.footer-areas ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.footer-areas li a { font-size: 14px; }
.footer-bottom { position: relative; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px 28px; margin-top: 32px; font-size: 14px; color: var(--mist-grey); }
.footer-bottom p { margin: 0; color: var(--mist-grey); }
.footer-legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.footer-legal a, .footer-legal .link-btn { color: var(--mist-grey); text-decoration: none; font-size: 14px; }
.footer-legal a:hover, .footer-legal .link-btn:hover { color: var(--warm-ivory); text-decoration: underline; }

/* Floating stack: bottom to top — back to top, Trustpilot, WhatsApp */
.float-stack {
  position: fixed; right: 18px; bottom: 22px; z-index: 900;
  display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
}
.float-wa, .float-top, .float-tp {
  box-shadow: 6px 6px 16px rgba(40, 30, 15, .28), -4px -4px 12px rgba(255, 252, 246, .55);
  transition: transform .3s var(--ease-spring), box-shadow .3s var(--ease), opacity .3s var(--ease);
}
.float-wa {
  position: relative; width: 56px; height: 56px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--whatsapp); color: var(--clean-white); font-size: 26px; text-decoration: none;
}
.float-wa::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--whatsapp); animation: ring 2.6s var(--ease) infinite; }
@keyframes ring { 0% { transform: scale(1); opacity: .6; } 80%, 100% { transform: scale(1.6); opacity: 0; } }
.float-wa:hover { color: var(--clean-white); transform: translateY(-3px) scale(1.04); }
.float-tip {
  position: absolute; right: calc(100% + 12px); top: 50%; transform: translate(8px, -50%);
  white-space: nowrap; padding: 8px 14px; border-radius: var(--r-pill);
  background: var(--jet-graphite); color: var(--warm-ivory); font-size: 13px; font-weight: 600;
  opacity: 0; pointer-events: none; transition: opacity .25s var(--ease), transform .25s var(--ease);
}
.float-wa:hover .float-tip, .float-wa:focus-visible .float-tip { opacity: 1; transform: translate(0, -50%); }
.float-tp {
  display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px 7px 7px; border-radius: var(--r-pill);
  background: var(--clean-white); color: var(--near-black); text-decoration: none;
}
.float-tp:hover { color: var(--near-black); transform: translateY(-2px); }
.float-tp__star { width: 34px; height: 34px; border-radius: 9px; background: var(--trustpilot); color: var(--clean-white); display: inline-flex; align-items: center; justify-content: center; }
.float-tp__star svg { width: 20px; height: 20px; }
.float-tp__text { display: flex; flex-direction: column; line-height: 1.1; font-weight: 700; font-size: 14px; }
.float-tp__text small { font-size: 10px; font-weight: 600; color: var(--steel-taupe); letter-spacing: .04em; }
.float-top {
  position: relative; width: 52px; height: 52px; border: 0; border-radius: 50%; cursor: pointer;
  background: var(--warm-ivory); color: var(--near-black); font-size: 18px;
  display: inline-flex; align-items: center; justify-content: center;
  opacity: 0; transform: translateY(16px); pointer-events: none;
}
.float-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.float-top:hover { transform: translateY(-3px); }
.float-top__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.float-top__ring circle { fill: none; stroke: var(--bronze-gold); stroke-width: 2.5; stroke-dasharray: 100; stroke-dashoffset: var(--ring, 100); stroke-linecap: round; }

/* Trustpilot TrustBox (loads only with marketing consent, when enabled) */
.float-tp.has-trustbox { padding: 8px 12px; min-width: 150px; }

.action-bar {
  display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 950;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  grid-template-columns: 1fr 1.4fr; gap: 12px;
  background: rgba(245, 240, 232, .96); box-shadow: 0 -10px 30px rgba(60, 45, 25, .14);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  --bg: #F5F0E8; --hi: #FFFCF6; --lo: #D7CCBC;
}
.action-bar .nm-btn { min-height: 48px; padding: 10px 14px; }

/* -----------------------------------------------------------------------------
   8. COOKIE CONSENT
   ----------------------------------------------------------------------------- */
.cookie-bar {
  --bg: #1F1F1F; --hi: #2D2D2D; --lo: #101010;
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1200;
  max-width: 1080px; margin: 0 auto;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px 24px;
  padding: 20px 24px; border-radius: 26px; background: var(--bg); color: #CFC8BD;
  box-shadow: 0 24px 60px rgba(20, 20, 20, .35);
  animation: rise .6s var(--ease) both;
}
.cookie-bar[hidden] { display: none; }
.cookie-bar__icon { --accent: var(--bronze-gold); }
.cookie-bar__title { font-family: var(--font-display); font-size: 22px; color: var(--warm-ivory); margin-bottom: 4px; }
.cookie-bar p { margin: 0; font-size: 14px; line-height: 1.55; color: #CFC8BD; }
.cookie-bar a { color: var(--bronze-gold); }
.cookie-bar__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.cookie-bar__actions .nm-btn { min-height: 46px; padding: 10px 20px; }
@keyframes rise { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }

.cookie-modal { position: fixed; inset: 0; z-index: 1600; display: flex; align-items: center; justify-content: center; padding: 16px; }
.cookie-modal[hidden] { display: none; }
.cookie-modal__backdrop { position: absolute; inset: 0; background: rgba(20, 20, 20, .55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.cookie-modal__dialog {
  --bg: #F5F0E8; --hi: #FFFCF6; --lo: #D7CCBC;
  position: relative; width: min(580px, 100%); max-height: calc(100dvh - 32px); overflow-y: auto;
  padding: 28px; border-radius: 30px; animation: pop .45s var(--ease-spring) both;
}
@keyframes pop { from { opacity: 0; transform: scale(.94) translateY(10px); } to { opacity: 1; transform: none; } }
.cookie-modal__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 8px; }
.cookie-modal__head h2 { font-size: 30px; margin: 0; }
.cookie-modal__intro { color: var(--steel-taupe); font-size: 15px; }
.cookie-cat { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 18px 20px; border-radius: 20px; margin-bottom: 14px; }
.cookie-cat__title { font-weight: 600; margin: 0 0 4px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.cookie-cat__tag { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); }
.cookie-cat__desc { margin: 0; font-size: 14px; color: var(--steel-taupe); line-height: 1.5; }
.cookie-modal__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; margin-top: 22px; }

/* -----------------------------------------------------------------------------
   9. MOTION (only when JavaScript runs; content is always visible without it)
   ----------------------------------------------------------------------------- */
[data-reveal] { opacity: 0; transform: translate3d(0, 34px, 0); transition: opacity .75s var(--ease), transform .85s var(--ease); transition-delay: var(--d, 0ms); will-change: opacity, transform; }
[data-reveal="zoom"] { transform: scale(.94); }
[data-reveal="left"] { transform: translate3d(-40px, 0, 0); }
[data-reveal="right"] { transform: translate3d(40px, 0, 0); }
[data-reveal].is-in { opacity: 1; transform: none; }

[data-hero] { opacity: 0; transform: translateY(26px); }
 [data-hero] { animation: heroIn .9s var(--ease) forwards; animation-delay: calc(var(--n, 1) * 110ms); }
 .hero__line { animation-name: lineIn; }
[data-hero="1"] { --n: 1; } [data-hero="2"] { --n: 2; } [data-hero="3"] { --n: 3; } [data-hero="4"] { --n: 4; }
[data-hero="5"] { --n: 5; } [data-hero="6"] { --n: 6; } [data-hero="7"] { --n: 3; }
@keyframes heroIn { to { opacity: 1; transform: none; } }
@keyframes lineIn { from { opacity: 0; transform: translateY(40px); clip-path: inset(0 0 100% 0); } to { opacity: 1; transform: none; clip-path: inset(0 0 0 0); } }

/* =============================================================================
   10. HOME
   ============================================================================= */

/* S1 Hero ------------------------------------------------------------------ */
.hero { position: relative; padding: 150px 0 96px; overflow: hidden; }
.hero__orb { position: absolute; border-radius: 50%; background: var(--bg); box-shadow: var(--nm-out-lg); pointer-events: none; animation: float 14s ease-in-out infinite; }
.hero__orb--a { width: 420px; height: 420px; left: -300px; top: 380px; }
.hero__orb--b { width: 260px; height: 260px; right: -90px; top: 60px; animation-delay: -6s; box-shadow: var(--nm-in); }
@keyframes float { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -24px, 0); } }
.hero .container { position: relative; }
.hero__title { font-size: clamp(44px, 6vw, 76px); line-height: 1.02; letter-spacing: -.015em; margin-bottom: 24px; }
.hero__line { display: block; }
.hero__title em { color: var(--text-gold); font-weight: 500; }
.hero__copy .lead-text { max-width: 540px; margin-bottom: 32px; }
.hero__chips { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero__chips .nm-pill { font-size: 13px; }

.console { padding: 16px; border-radius: var(--r-xl); position: relative; }
.console__media { position: relative; padding: 8px; border-radius: 26px; overflow: hidden; }
.console__img { border-radius: 20px; height: 250px; object-fit: cover; object-position: 50% 35%; transition: transform .6s var(--ease); }
.console__badge { position: absolute; left: 22px; bottom: 22px; font-size: 13px; background: rgba(245, 240, 232, .95); box-shadow: 0 8px 20px rgba(20, 20, 20, .2); }
.console__form { padding: 22px 10px 8px; }
.console__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.console__title { font-family: var(--font-display); font-size: 26px; font-weight: 600; margin: 0; }
.console__row { display: grid; grid-template-columns: 1fr 1fr .8fr; gap: 12px; margin: 14px 0 20px; }
.console .nm-input { min-height: 48px; padding: 11px 14px; }

.route { display: grid; grid-template-columns: 22px 1fr; gap: 12px; }
.route__track { display: flex; flex-direction: column; align-items: center; padding: 42px 0 18px; }
.route__pin { width: 14px; height: 14px; border-radius: 50%; flex: none; }
.route__pin--a { border: 3px solid var(--bronze-gold); background: var(--bg); box-shadow: var(--nm-out-sm); }
.route__pin--b { background: var(--bronze-gold); box-shadow: 0 0 0 4px rgba(185, 138, 82, .2); animation: pulse 2.4s var(--ease) infinite; }
.route__line { flex: 1; width: 2px; margin: 6px 0; background-image: linear-gradient(var(--bronze-gold) 50%, transparent 50%); background-size: 2px 8px; transform-origin: top; animation: draw 1.4s var(--ease) .9s both; }
@keyframes draw { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(185, 138, 82, .22); } 50% { box-shadow: 0 0 0 9px rgba(185, 138, 82, 0); } }
.route__fields { display: grid; gap: 14px; }

.scroll-cue { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); width: 30px; height: 48px; border-radius: 16px; box-shadow: var(--nm-in-sm); display: flex; justify-content: center; padding-top: 9px; }
.scroll-cue__wheel { width: 4px; height: 9px; border-radius: 4px; background: var(--bronze-gold); animation: wheel 1.8s var(--ease) infinite; }
@keyframes wheel { 0% { opacity: 0; transform: translateY(-4px); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(12px); } }

/* S2 Assurance keys ------------------------------------------------------------- */
.assurance { padding: 8px 0 var(--space-7); }
.keys { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.key { padding: 28px 24px; transition: box-shadow .4s var(--ease), transform .4s var(--ease); }
.key:hover { box-shadow: var(--nm-in); }
.key:hover .key__well { box-shadow: var(--nm-out-sm); transform: scale(1.06); }
.key__well { margin-bottom: 18px; }
.key__title { font-family: var(--font-sans); font-size: 16px; font-weight: 600; line-height: 1.35; margin-bottom: 6px; }
.key p { margin: 0; font-size: 14px; color: var(--steel-taupe); line-height: 1.55; }

/* S3 Intro ---------------------------------------------------------------------- */
.frame { position: relative; margin: 0; padding: 0 0 34px; }
.frame__inner { padding: 12px; border-radius: var(--r-xl); overflow: hidden; position: relative; z-index: 1; }
.frame__inner img, .frame__inner .nm-ph { border-radius: 24px; aspect-ratio: 1; object-fit: cover; }
.parallax-img { transform: scale(1.08); will-change: transform; }
.frame__cap { position: absolute; z-index: 2; right: 20px; bottom: 0; display: flex; align-items: center; gap: 12px; padding: 10px 18px 10px 10px; border-radius: var(--r-pill); font-size: 14px; font-weight: 500; max-width: calc(100% - 40px); }
.frame__mono {
  position: absolute; left: -30px; top: -70px; z-index: 0;
  font-family: var(--font-display); font-weight: 600; font-size: 200px; line-height: 1; color: var(--bg);
  text-shadow: 6px 6px 12px var(--lo), -6px -6px 12px var(--hi); pointer-events: none;
}
.facts { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 28px; }

/* S4 Services ------------------------------------------------------------------- */
.svc { height: 100%; padding: 12px; display: flex; flex-direction: column; position: relative; transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.svc:hover { transform: translateY(-6px); box-shadow: var(--nm-out-lg); }
.svc:focus-within { outline: 2px solid var(--near-black); outline-offset: 4px; }
.svc__media { padding: 8px; border-radius: 22px; overflow: hidden; }
.svc__media img, .svc__media .nm-ph { border-radius: 16px; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .8s var(--ease); }
.svc:hover .svc__media img { transform: scale(1.06); }
.svc__body { padding: 18px 12px 10px; display: flex; flex-direction: column; flex: 1; }
.svc__top { display: flex; align-items: center; justify-content: space-between; margin: -44px 0 14px; position: relative; z-index: 2; }
.svc__icon { box-shadow: var(--nm-out-sm); }
.svc__num { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1; color: var(--bg); text-shadow: 2px 2px 3px var(--lo), -2px -2px 3px var(--hi); margin-top: 34px; }
.svc__title { font-size: 26px; font-weight: 600; line-height: 1.2; margin-bottom: 10px; }
.svc__title a { color: var(--near-black); text-decoration: none; }
.svc__title a:focus-visible { outline: none; }
.svc__body p { color: var(--steel-taupe); font-size: 15px; line-height: 1.6; }
.svc__go { margin-top: auto; display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); padding-top: 8px; }
.svc:hover .nm-round { background: var(--bronze-gold); color: var(--near-black); transform: rotate(45deg); }

/* S5 Airports ------------------------------------------------------------------- */
.airports .h-section, .events .h-section, .contact-card .h-section { color: var(--warm-ivory); }
.keycaps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.keycap {
  position: relative; display: flex; flex-direction: column; gap: 2px; height: 100%; min-height: 150px;
  padding: 22px 22px 20px; border-radius: 24px; background: var(--bg); box-shadow: var(--nm-out);
  color: var(--warm-ivory); text-decoration: none;
  transition: box-shadow .35s var(--ease), transform .35s var(--ease);
}
.keycap:hover, .keycap:focus-visible { box-shadow: var(--nm-in); color: var(--warm-ivory); }
.keycap__code { font-family: var(--font-display); font-size: 46px; font-weight: 600; line-height: 1; color: var(--bronze-gold); letter-spacing: .04em; margin-bottom: 14px; min-height: 46px; display: flex; align-items: center; }
.keycap__code i { font-size: 34px; }
.keycap__name { font-weight: 600; font-size: 17px; }
.keycap__meta { font-size: 13px; color: var(--mist-grey); line-height: 1.45; }
.keycap__arrow { position: absolute; top: 18px; right: 18px; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--nm-in-sm); color: var(--mist-grey); transition: all .35s var(--ease); }
.keycap:hover .keycap__arrow { box-shadow: var(--nm-out-sm); color: var(--bronze-gold); transform: rotate(45deg); }

/* S6 Fleet selector ------------------------------------------------------------- */
.selector { display: grid; grid-template-columns: 290px 1fr; gap: 32px; align-items: start; }
.selector__list { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: 30px; position: sticky; top: 120px; }
.selector__tab {
  display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; column-gap: 10px; text-align: left;
  width: 100%; padding: 16px 18px; border: 0; border-radius: 20px; background: transparent; cursor: pointer;
  transition: box-shadow .35s var(--ease), background-color .35s var(--ease);
}
.selector__tab:hover { background: rgba(255, 252, 246, .45); }
.selector__tab[aria-selected="true"] { background: var(--bg); box-shadow: var(--nm-out-sm); }
.selector__num { grid-row: 1 / 3; font-family: var(--font-display); font-size: 22px; font-weight: 600; color: var(--mist-grey); align-self: center; transition: color .3s; }
.selector__tab[aria-selected="true"] .selector__num { color: var(--text-gold); }
.selector__name { font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.2; color: var(--near-black); }
.selector__class { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--steel-taupe); }

.vehicle { display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; padding: 16px; border-radius: var(--r-xl); align-items: center; }
.vehicle + .vehicle { margin-top: 28px; }
.js .vehicle[data-inactive] { display: none; }
.js .vehicle.is-entering { animation: panelIn .6s var(--ease) both; }
.js .vehicle.is-entering .vehicle__stage img { animation: carIn .9s var(--ease) both; }
@keyframes panelIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes carIn { from { transform: translateX(-30px) scale(1.04); opacity: .4; } to { transform: none; opacity: 1; } }
.vehicle__stage { padding: 10px; border-radius: 26px; overflow: hidden; }
.vehicle__stage img, .vehicle__stage .nm-ph { border-radius: 18px; aspect-ratio: 4 / 3; object-fit: cover; }
.vehicle__body { padding: 8px 12px 8px 0; }
.vehicle__name { font-size: clamp(28px, 3vw, 38px); font-weight: 600; line-height: 1.1; margin-bottom: 6px; }
.vehicle__name a { color: var(--near-black); text-decoration: none; }
.vehicle__name a:hover { color: var(--text-gold); }
.vehicle__line { font-family: var(--font-display); font-style: italic; font-size: 20px; color: var(--text-gold); margin-bottom: 14px; }
.vehicle__body > p:not([class]) { color: var(--steel-taupe); }
.vehicle__specs { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 26px; }
.vehicle__specs .nm-pill { font-size: 13px; padding: 8px 14px; }

/* S7 Steps (dials) -------------------------------------------------------------- */
.dials { position: relative; --p: 0; }
.dials__groove { position: absolute; left: 16.66%; right: 16.66%; top: 66px; height: 12px; border-radius: 12px; z-index: 0; overflow: hidden; }
.dials__fill { position: absolute; inset: 3px auto 3px 3px; width: calc((100% - 6px) * var(--p)); border-radius: 8px; background: var(--bronze-gold); transition: width .15s linear; }
.dials__list { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; counter-reset: none; }
.dial { text-align: center; padding: 0 12px; }
.dial__disc { width: 144px; height: 144px; border-radius: 50%; margin: 0 auto 28px; display: flex; align-items: center; justify-content: center; }
.dial__ring { width: 100px; height: 100px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: box-shadow .5s var(--ease); }
.dial__num { font-family: var(--font-display); font-size: 48px; font-weight: 600; color: var(--mist-grey); transition: color .5s var(--ease), transform .5s var(--ease-spring); }
.dial.is-lit .dial__num { color: var(--text-gold); transform: scale(1.08); }
.dial.is-lit .dial__ring { box-shadow: var(--nm-in), 0 0 0 3px rgba(185, 138, 82, .35); }
.dial__title { font-family: var(--font-sans); font-size: 18px; font-weight: 600; margin-bottom: 8px; }
.dial p { color: var(--steel-taupe); font-size: 15px; max-width: 320px; margin: 0 auto; }

/* S8 Corporate switchboard ------------------------------------------------------ */
.switchboard { padding: 16px; border-radius: var(--r-xl); }
.switchboard__media { padding: 10px; border-radius: 26px; overflow: hidden; }
.switchboard__media img, .switchboard__media .nm-ph { border-radius: 18px; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 40%; }
.switchboard__list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 18px 6px 6px; }
.switchboard__list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 18px; box-shadow: var(--nm-in-sm); font-size: 14px; font-weight: 500; line-height: 1.35; }
.nm-toggle { width: 42px; height: 24px; flex: none; border-radius: 99px; background: var(--bg); box-shadow: var(--nm-in-sm); position: relative; }
.nm-toggle span { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--bronze-gold); box-shadow: 2px 2px 5px rgba(0, 0, 0, .25); transform: translateX(18px); }
.js .nm-toggle span { transform: none; background: var(--clean-white); transition: transform .5s var(--ease-spring), background-color .4s var(--ease); }
.js .switchboard.is-in .nm-toggle span { transform: translateX(18px); background: var(--bronze-gold); }
.js .switchboard.is-in li:nth-child(1) .nm-toggle span { transition-delay: .35s; }
.js .switchboard.is-in li:nth-child(2) .nm-toggle span { transition-delay: .5s; }
.js .switchboard.is-in li:nth-child(3) .nm-toggle span { transition-delay: .65s; }
.js .switchboard.is-in li:nth-child(4) .nm-toggle span { transition-delay: .8s; }
.js .switchboard.is-in li:nth-child(5) .nm-toggle span { transition-delay: .95s; }
.js .switchboard.is-in li:nth-child(6) .nm-toggle span { transition-delay: 1.1s; }
.corporate .lead-text { margin-bottom: 1rem; }
.corporate .col-lg-6 > p:not(.lead-text):not(.nm-eyebrow) { color: var(--steel-taupe); margin-bottom: 28px; }

/* S9 Events rail ---------------------------------------------------------------- */
.rail { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 10px 0 34px; outline-offset: -4px; }
.rail::-webkit-scrollbar { display: none; }
.rail__track { display: flex; gap: 24px; padding-left: max(16px, calc((100vw - 1200px) / 2)); padding-right: max(16px, calc((100vw - 1200px) / 2)); width: max-content; }
.rail__item { width: 310px; scroll-snap-align: start; scroll-margin-left: max(16px, calc((100vw - 1200px) / 2)); }
.evt {
  display: flex; flex-direction: column; height: 100%; padding: 12px; border-radius: 26px;
  background: var(--bg); box-shadow: var(--nm-out); color: var(--warm-ivory); text-decoration: none;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.evt:hover, .evt:focus-visible { transform: translateY(-6px); color: var(--warm-ivory); }
.evt__media { position: relative; display: block; border-radius: 18px; overflow: hidden; }
.evt__media img, .evt__media .nm-ph { aspect-ratio: 4 / 3; object-fit: cover; transition: transform .8s var(--ease); }
.evt:hover .evt__media img { transform: scale(1.07); }
.evt__when { position: absolute; left: 12px; bottom: 12px; display: inline-flex; gap: 6px; align-items: center; padding: 6px 12px; border-radius: 99px; background: rgba(20, 20, 20, .82); color: var(--warm-ivory); font-size: 12px; font-weight: 600; }
.evt__body { display: flex; flex-direction: column; gap: 6px; padding: 18px 8px 8px; flex: 1; }
.evt__venue { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--bronze-gold); }
.evt__name { font-family: var(--font-display); font-size: 25px; font-weight: 600; line-height: 1.15; color: var(--warm-ivory); }
.evt__text { font-size: 14px; color: #CFC8BD; line-height: 1.55; }
.evt__go { margin-top: auto; padding-top: 10px; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bronze-gold); display: inline-flex; gap: 8px; align-items: center; }
.evt:hover .evt__go i { transform: translateX(4px); }
.evt__go i { transition: transform .3s var(--ease); }
.rail-controls { display: flex; gap: 12px; }
.rail-controls .nm-btn[disabled] { opacity: .4; pointer-events: none; }
.rail-progress { height: 10px; border-radius: 10px; position: relative; overflow: hidden; margin-bottom: 36px; }
.rail-progress span { position: absolute; top: 3px; bottom: 3px; left: 3px; width: 20%; border-radius: 6px; background: var(--bronze-gold); transition: transform .2s linear, width .2s linear; }
.events__close { margin: 0; font-size: 17px; color: var(--ink-2); }

/* S10 Areas --------------------------------------------------------------------- */
.regions { max-width: 1000px; margin: 0 auto; padding: 10px 34px; border-radius: 32px; }
.region-row { display: grid; grid-template-columns: 290px 1fr; gap: 16px 24px; align-items: center; padding: 22px 0; }
.region-row + .region-row { border-top: 1px solid rgba(143, 131, 116, .25); }
.region-row__title { display: flex; align-items: center; gap: 12px; font-family: var(--font-sans); font-size: 16px; font-weight: 600; margin: 0; }
.region-row__list { display: flex; flex-wrap: wrap; gap: 10px; }

/* S11 FAQ ----------------------------------------------------------------------- */
.faq__intro { position: sticky; top: 120px; }
.faq__intro > p:not(.nm-eyebrow) { color: var(--steel-taupe); }
.help-card { padding: 24px; margin-top: 28px; display: flex; flex-direction: column; gap: 6px; }
.help-card__title { font-family: var(--font-display); font-size: 24px; font-weight: 600; margin-bottom: 8px; }
.help-card__row { display: flex; align-items: center; gap: 14px; padding: 8px 0; color: var(--near-black); text-decoration: none; font-weight: 600; font-size: 15px; }
.help-card__row:hover { color: var(--text-gold); }
.acc { display: flex; flex-direction: column; gap: 16px; }
.acc__item { border-radius: 22px; transition: box-shadow .45s var(--ease); }
.acc__item.is-open { box-shadow: var(--nm-in); }
.acc__h { margin: 0; font-family: var(--font-sans); text-transform: none !important; }
.acc__h .acc__q{text-transform: none !important;}
.acc__btn {
  width: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px;
  padding: 20px 22px; border: 0; background: transparent; border-radius: 22px; text-align: left; cursor: pointer;
  font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--near-black);
}
.acc__n { font-family: var(--font-display); font-size: 20px; color: var(--text-gold); font-weight: 600; }
.acc__icon { width: 38px; height: 38px; }
.acc__icon i { transition: transform .4s var(--ease); }
.acc__btn[aria-expanded="true"] .acc__icon { background: var(--bronze-gold); color: var(--near-black); }
.acc__btn[aria-expanded="true"] .acc__icon i { transform: rotate(135deg); }
.acc__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--ease); }
.acc__item.is-open .acc__panel, .no-js .acc__panel { grid-template-rows: 1fr; }
.acc__inner { overflow: hidden; }
.acc__inner p { padding: 0 22px 22px 60px; margin: 0; color: var(--steel-taupe); }

/* S12 Google reviews ------------------------------------------------------------ */
.gscore { height: 100%; padding: 34px 28px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.gscore__badge { width: 96px; height: 96px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.g-mark { width: 22px; height: 22px; flex: none; }
.g-mark--lg { width: 46px; height: 46px; }
.gscore__title { font-size: 32px; margin-bottom: 8px; }
.gscore__num { font-family: var(--font-display); font-size: 68px; font-weight: 600; line-height: 1; margin: 6px 0 8px; color: var(--near-black); }
.gscore__count, .gscore__lead { color: var(--steel-taupe); font-size: 15px; }
.gscore__actions { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: auto; padding-top: 18px; width: 100%; }
.rv { height: 100%; display: flex; flex-direction: column; }
.rv__viewport { overflow: hidden;  padding: 24px; flex: 1; }
.rv__track { display: flex; gap: 48px; transition: transform .6s var(--ease); height: 100%; }
.rv__card { position: relative; flex: 0 0 calc((100% - 48px) / 2); padding: 30px 28px 24px; display: flex; flex-direction: column; border-radius: 28px; }
.rv__quote { position: absolute; right: 22px; top: 2px; font-family: var(--font-display); font-size: 120px; line-height: 1; color: var(--bg); text-shadow: 4px 4px 8px var(--lo), -4px -4px 8px var(--hi); pointer-events: none; }
.rv__text { position: relative; font-family: var(--font-display); font-style: italic; font-size: 21px; line-height: 1.5; color: var(--near-black); margin-bottom: 22px; }
.rv__who { display: flex; align-items: center; gap: 14px; margin-top: auto; }
.rv__who > span:nth-child(2) { flex: 1; }
.rv__avatar { width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 600; font-size: 20px; color: var(--text-gold); }
.rv__name { display: block; font-weight: 600; font-size: 15px; }
.rv__date { display: block; font-size: 13px; color: var(--steel-taupe); }
.rv__controls { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 32px; }
.rv__dots { display: flex; gap: 10px; }
.rv__dots span { width: 12px; height: 12px; border-radius: 50%; box-shadow: var(--nm-in-sm); transition: all .3s var(--ease); }
.rv__dots span.is-active { background: var(--bronze-gold); box-shadow: var(--nm-out-sm); width: 28px; border-radius: 10px; }
.rv-empty { height: 100%; padding: 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--steel-taupe); }
.rv-empty i { font-size: 40px; color: var(--text-gold); margin-bottom: 14px; }

/* S13 Quote ----------------------------------------------------------------------- */
.contact-card {
  height: 100%; padding: 40px 34px; border-radius: var(--r-xl); display: flex; flex-direction: column;
  box-shadow: 16px 16px 36px #CDBFAD, -12px -12px 28px #FFFCF6;
}
.contact-card__list { display: flex; flex-direction: column; gap: 14px; margin: 30px 0; }
.contact-card__list a { display: flex; align-items: center; gap: 16px; padding: 12px; border-radius: 22px; box-shadow: var(--nm-out-sm); color: var(--warm-ivory); text-decoration: none; font-weight: 600; font-size: 17px; transition: box-shadow .3s var(--ease); }
.contact-card__list a:hover, .contact-card__list a:focus-visible { box-shadow: var(--nm-in-sm); color: var(--warm-ivory); }
.contact-card__list small { display: block; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--mist-grey); font-weight: 600; }
.contact-card__note { display: flex; gap: 10px; font-size: 14px; margin: auto 0 0; }
.contact-card__list .break-all { font-size: 15px; word-break: normal; overflow-wrap: normal; }
.contact-card__note i { color: var(--bronze-gold); }
.form-panel { padding: 36px; border-radius: var(--r-xl); }
.form-panel__title { font-family: var(--font-display); font-size: 32px; font-weight: 600; margin-bottom: 4px; }
.form-panel__hint { font-size: 14px; color: var(--steel-taupe); margin-bottom: 24px; }

/* =============================================================================
   11. UTILITY PAGES (404, thank you)
   ============================================================================= */
.utility { padding: 160px 0 var(--space-8); min-height: 80vh; }
.utility__card { max-width: 780px; margin: 0 auto; padding: 56px 40px; text-align: center; border-radius: 36px; }
.utility__card .lead-text { margin-left: auto; margin-right: auto; }
.utility__code { display: inline-block; padding: 14px 40px; border-radius: 30px; margin-bottom: 28px; font-family: var(--font-display); font-size: clamp(72px, 12vw, 120px); font-weight: 600; line-height: 1; color: var(--text-gold); }
.utility__tick { width: 96px; height: 96px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 44px; color: var(--success); margin-bottom: 24px; }
.utility__ref { margin: 4px 0 24px; }
.utility__sub { font-family: var(--font-sans); font-size: 17px; font-weight: 600; margin: 10px 0 14px; }
.utility__steps { display: inline-flex; flex-direction: column; gap: 12px; text-align: left; margin-bottom: 26px; }
.utility__steps li { display: flex; align-items: center; gap: 14px; }
.utility__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 32px; }
.utility .btn-row { margin: 28px 0 18px; }

/* =============================================================================
   12. RESPONSIVE
   ============================================================================= */
@media (max-width: 1399.98px) {
  .mega-panel--narrow { left: 10%; right: 10%; }
}

@media (max-width: 1199.98px) {
  .mega-nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .selector { grid-template-columns: 250px 1fr; }
  .vehicle { grid-template-columns: 1fr; }
  .vehicle__body { padding: 4px 10px 10px; }
}

@media (max-width: 991.98px) {
  :root { --space-8: 88px; }
  .hero { padding: 132px 0 80px; }
  .hero__orb--a { width: 300px; height: 300px; }
  .scroll-cue { display: none; }
  .keys { grid-template-columns: repeat(2, 1fr); }
  .selector { grid-template-columns: 1fr; gap: 24px; }
  .selector__list { position: static; flex-direction: row; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
  .selector__list::-webkit-scrollbar { display: none; }
  .selector__tab { flex: 0 0 auto; width: auto; min-width: 190px; scroll-snap-align: start; }
  .vehicle { grid-template-columns: 1.1fr 1fr; }
  .faq__intro { position: static; }
  .footer-top { grid-template-columns: 1fr; gap: 40px; }
  .frame__mono { font-size: 150px; top: -50px; left: -10px; }
  .gscore { height: auto; }
}

@media (max-width: 767.98px) {
  :root { --space-8: 44px; }
  body { font-size: 16px; }
  .section-head { margin-bottom: 36px; }
  .lead-text { font-size: 17px; line-height: 1.65; }
  .nav-shell { min-height: 64px; padding: 8px 8px 8px 14px; border-radius: 20px; gap: 10px; }
  .site-header { padding-top: 10px; }
  .brand-type__mono { width: 40px; height: 40px; font-size: 17px; }
  .brand-type__w1 { font-size: 17px; letter-spacing: .12em; }
  .brand-type__w2 { font-size: 8px; letter-spacing: .24em; }
  .nav-phone__num { display: none; }
  .nav-phone { width: 46px; min-width: 46px; padding: 0; }
  .nav-cta { display: none; }
  .nm-btn--icon { width: 46px; min-width: 46px; min-height: 46px; }
  .hero { padding: 112px 0 64px; }
  .hero__orb--a { left: -200px; }
  .hero__orb--b { width: 180px; height: 180px; right: -110px; }
  .hero .btn-row .nm-btn { flex: 1 1 auto; }
  .console { padding: 10px; border-radius: 28px; }
  .console__img { height: 190px; }
  .console__form { padding: 18px 6px 6px; }
  .console__row { grid-template-columns: 1fr 1fr; }
  .console__row .nm-field:last-child { grid-column: 1 / -1; }
  .nm-seg { width: 100%; }
  .nm-seg label { flex: 1; justify-content: center; padding: 8px 6px; font-size: 12px; }
  .console__badge { left: 16px; right: 16px; bottom: 16px; justify-content: center; }
  .keys { gap: 16px; grid-template-columns: 1fr; }
  .key { padding: 22px 18px; }
  .nm-well { width: 48px; height: 48px; font-size: 19px; }
  .key__well { margin-bottom: 14px; }
  .frame__cap { position: relative; right: auto; margin: -22px 16px 0; }
  .frame { padding-bottom: 0; }
  .keycaps { gap: 14px; }
  .keycap { min-height: 140px; padding: 18px 16px; }
  .keycap__code { font-size: 36px; }
  .keycap__arrow { width: 32px; height: 32px; top: 14px; right: 14px; }
  .vehicle { grid-template-columns: 1fr; gap: 16px; padding: 12px; }
  .selector__tab { min-width: 170px; padding: 12px 14px; }
  .dials__groove { left: 64px; right: auto; top: 40px; bottom: 120px; width: 12px; height: auto; }
  .dials__fill { inset: 3px 3px auto 3px; width: auto; height: calc((100% - 6px) * var(--p)); }
  .dials__list { grid-template-columns: 1fr; gap: 36px; }
  .dial { display: grid; grid-template-columns: 128px 1fr; text-align: left; padding: 0; column-gap: 16px; align-items: center; }
  .dial__disc { width: 128px; height: 128px; margin: 0; grid-row: 1 / 3; }
  .dial__ring { width: 88px; height: 88px; }
  .dial__num { font-size: 40px; }
  .dial p { margin: 0; font-size: 14px; }
  .dial__title { margin-bottom: 4px; align-self: end; }
  .switchboard__list { grid-template-columns: 1fr; }
  .regions { padding: 6px 18px; }
  .region-row { grid-template-columns: 1fr; padding: 18px 0; }
  .rail__item { width: min(300px, 80vw); }
  .acc__btn { padding: 16px; gap: 12px; font-size: 16px; }
  .acc__inner p { padding: 0 18px 18px 18px; }
  .rv__card { flex-basis: 100%; padding: 26px 22px 22px; }
  .rv__text { font-size: 19px; }
  .contact-card { padding: 30px 22px; }
  .form-panel { padding: 24px 18px; border-radius: 28px; }
  .footer-cols { grid-template-columns: 1fr 1fr; }
  .footer-areas { padding: 18px; }
  .site-footer { padding: 72px 0 110px; }
  .action-bar { display: grid; }
  .float-stack { right: 12px; bottom: 86px; gap: 10px; }
  .float-wa { width: 52px; height: 52px; font-size: 24px; }
  .float-top { width: 46px; height: 46px; }
  .float-tp__text { display: none; }
  .float-tp { padding: 6px; }
  .cookie-bar { grid-template-columns: 1fr; left: 10px; right: 10px; bottom: 10px; padding: 20px; gap: 14px; }
  .cookie-bar__icon { display: none; }
  .cookie-bar__actions { justify-content: stretch; }
  .cookie-bar__actions .nm-btn { flex: 1 1 40%; }
  .cookie-bar__actions .nm-btn--ghost { flex-basis: 100%; }
  .cookie-modal__dialog { padding: 22px 18px; }
  .cookie-modal__actions .nm-btn { flex: 1 1 100%; }
  .utility { padding-top: 120px; }
  .utility__card { padding: 40px 20px; }
  .mega-panel { display: none; }
  
}

@media (max-width: 359.98px) {
  .brand-type__words { display: none; }
  .hero__title { font-size: 40px; }
  .footer-cols { grid-template-columns: 1fr; }
  .nm-btn { padding-left: 18px; padding-right: 18px; letter-spacing: .1em; }
  .keys { grid-template-columns: 1fr; }
  .keycaps { grid-template-columns: 1fr; }
}

@media (hover: none) {
  .key:hover { box-shadow: var(--nm-out); }
  .svc:hover, .evt:hover { transform: none; }
}

/* =============================================================================
   13. REDUCED MOTION AND PRINT
   ============================================================================= */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
  [data-reveal], [data-hero] { opacity: 1 !important; transform: none !important; }
  .parallax-img { transform: none !important; }
  .float-wa::before { display: none; }
}

@media print {
  .site-header, .float-stack, .action-bar, .cookie-bar, .cookie-modal, .offcanvas-nm, .oc-backdrop, .scroll-progress, .hero__orb, .scroll-cue { display: none !important; }
  [data-reveal], [data-hero] { opacity: 1 !important; transform: none !important; }
  * { box-shadow: none !important; }
  .hero { padding-top: 24px; }
}

/* =============================================================================
   14. SHARED INNER-PAGE PARTS (breadcrumb, line drawing)
   ============================================================================= */
.crumbs { margin-bottom: 22px; }
.crumbs ol { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 6px; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-in-sm); }
.crumbs li { display: inline-flex; align-items: center; font-size: 13px; font-weight: 600; color: var(--steel-taupe); }
.crumbs li + li::before { content: "\F285"; font-family: "bootstrap-icons"; font-size: 10px; margin: 0 6px 0 2px; color: var(--text-gold); }
.crumbs a { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 12px; border-radius: var(--r-pill); color: var(--near-black); text-decoration: none; background: var(--bg); box-shadow: var(--nm-out-sm); }
.crumbs a:hover { color: var(--text-gold); }
.crumbs [aria-current="page"] { padding: 4px 12px 4px 4px; color: var(--text-gold); }

/* Self-drawing SVG paths: .draw-path draws when its container gets .is-in */
.draw-path { fill: none; stroke: var(--bronze-gold); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.js .draw-path { stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s var(--ease) .3s; }
.js .is-in .draw-path,  .capsules .draw-path { stroke-dashoffset: 0; }

/* =============================================================================
   15. PAGE: SERVICES
   ============================================================================= */

/* S1 Hero + capsule triptych ---------------------------------------------------- */
.sv-hero { position: relative; padding: 150px 0 72px; overflow: hidden; }
.sv-hero::before {
  content: ""; position: absolute; right: -160px; top: 120px; width: 520px; height: 520px; border-radius: 50%;
  background: var(--bg); box-shadow: var(--nm-in); opacity: .8; pointer-events: none;
}
.sv-hero .container { position: relative; }
.sv-hero__title { font-size: clamp(40px, 5.4vw, 66px); line-height: 1.04; margin-bottom: 22px; }
.sv-hero__title em { color: var(--text-gold); }
.sv-hero .lead-text { margin-bottom: 30px; }
.sv-hero__meter { display: inline-grid; grid-template-columns: repeat(3, auto); margin-top: 34px; padding: 14px 8px; border-radius: 24px; }
.sv-hero__meter li { padding: 2px 22px; display: flex; flex-direction: column; }
.sv-hero__meter li + li { border-left: 1px solid rgba(143, 131, 116, .3); }
.sv-hero__meter strong { font-family: var(--font-display); font-size: 34px; font-weight: 600; line-height: 1.1; color: var(--text-gold); }
.sv-hero__meter span { font-size: 13px; color: var(--steel-taupe); font-weight: 500; }

.capsules { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; padding-bottom: 40px; }
.capsule { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 18px; position: relative; z-index: 1; }
.capsule--2 { margin-top: 56px; }
.capsule--3 { margin-top: 26px; }
.capsule__frame { width: 100%; padding: 9px; border-radius: 120px 120px 36px 36px; }
.capsule__media { border-radius: 112px 112px 28px 28px; overflow: hidden; }
.capsule__media img, .capsule__media .nm-ph { aspect-ratio: 2 / 3; object-fit: cover; transition: transform 1s var(--ease); }
.capsule:hover .capsule__media img { transform: scale(1.06); }
.js .capsule__media { clip-path: inset(100% 0 0 0 round 112px 112px 28px 28px); transition: clip-path 1.1s var(--ease); }
 .capsule__media { clip-path: inset(0 0 0 0 round 112px 112px 28px 28px); }
 .capsule--1 .capsule__media { transition-delay: .25s; }
 .capsule--2 .capsule__media { transition-delay: .45s; }
 .capsule--3 .capsule__media { transition-delay: .65s; }
.capsule__cap { text-decoration: none; font-size: 13px; font-weight: 600; transition: box-shadow .25s var(--ease), color .25s var(--ease); }
.capsule__cap:hover { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.capsules__route { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 46px; z-index: 0; overflow: visible; }
.capsules__route .draw-path { stroke-dasharray: none; }
.js .capsules__route .draw-path { stroke-dasharray: 1; transition-delay: 1.1s; }
.capsules__route path { stroke-width: 2; vector-effect: non-scaling-stroke; }

/* S2 Category dock ----------------------------------------------------------------- */
.sv-dock {
  --bg: #F5F0E8; --hi: #FFFCF6; --lo: #D7CCBC;
  position: sticky; top: var(--dock-top, 92px); z-index: 800; padding: 10px 0;
  transition: background-color .3s var(--ease);
}
.sv-dock.is-stuck { background: rgba(245, 240, 232, .9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.sv-dock__track {
  display: flex; gap: 6px; padding: 6px; border-radius: var(--r-pill); overflow-x: auto; scrollbar-width: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 14px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 14px), transparent 100%);
}
.sv-dock__track::-webkit-scrollbar { display: none; }
.sv-dock__track li { flex: none; }
.sv-dock__chip {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px; border-radius: var(--r-pill);
  font-size: 14px; font-weight: 600; color: var(--steel-taupe); text-decoration: none; white-space: nowrap;
  transition: box-shadow .3s var(--ease), color .3s var(--ease), background-color .3s var(--ease);
}
.sv-dock__chip i { color: var(--text-gold); }
.sv-dock__chip:hover { color: var(--near-black); }
.sv-dock__chip[aria-current="true"] { background: var(--bg); color: var(--near-black); box-shadow: var(--nm-out-sm), inset 0 -2px 0 var(--bronze-gold); }

/* S3 Directory chapters ----------------------------------------------------------- */
.chapter { scroll-margin-top: 170px; outline: none; }
.chapter__num {
  font-family: var(--font-display); font-weight: 600; font-size: clamp(80px, 9vw, 120px); line-height: .9; margin: 0 0 6px;
  color: var(--bg); text-shadow: 5px 5px 10px var(--lo), -5px -5px 10px var(--hi);
  -webkit-text-stroke: 1px rgba(122, 90, 48, .22);
}
.chapter .lead-text { margin-bottom: 22px; }
.chapter__count { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; color: var(--steel-taupe); margin: 0; }

.feature { padding: 14px; border-radius: var(--r-xl); }
.feature__media { position: relative; padding: 10px; border-radius: 26px; overflow: hidden; }
.feature__media img, .feature__media .nm-ph { border-radius: 18px; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .9s var(--ease); }
.feature:hover .feature__media img { transform: scale(1.04); }
.feature__tag { position: absolute; left: 22px; top: 22px; font-size: 12px; font-weight: 600; letter-spacing: .06em; background: rgba(245, 240, 232, .95); box-shadow: 0 6px 16px rgba(20, 20, 20, .18); }
.feature__body { padding: 22px 16px 12px; }
.feature__title { font-size: clamp(26px, 2.6vw, 32px); font-weight: 600; margin-bottom: 6px; }
.feature__title a { color: var(--near-black); text-decoration: none; }
.feature__title a:hover { color: var(--text-gold); }
.feature__desc { color: var(--steel-taupe); }
.feature__list { display: grid; gap: 12px; margin: 18px 0 24px; }
.feature__list li { display: flex; align-items: center; gap: 12px; font-weight: 500; font-size: 15px; }
.feature__tick { width: 30px; height: 30px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bronze-gold); color: var(--near-black); box-shadow: var(--nm-out-sm); font-size: 14px; }

.ledger { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 56px; }
.ledger__row {
  height: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px;
  padding: 16px 18px; border-radius: 22px; background: var(--bg); box-shadow: var(--nm-out-sm);
  color: var(--near-black); text-decoration: none;
  transition: box-shadow .35s var(--ease), transform .35s var(--ease);
}
.ledger__row:hover, .ledger__row:focus-visible { box-shadow: var(--nm-in-sm); color: var(--near-black); }
.ledger__icon { width: 50px; height: 50px; font-size: 19px; }
.ledger__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ledger__name { font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.2; background: linear-gradient(var(--bronze-gold), var(--bronze-gold)) 0 100% / 0 2px no-repeat; transition: background-size .45s var(--ease); justify-self: start; width: fit-content; }
.ledger__row:hover .ledger__name, .ledger__row:focus-visible .ledger__name { background-size: 100% 2px; }
.ledger__text { font-size: 14px; color: var(--steel-taupe); line-height: 1.5; }
.ledger__go { width: 36px; height: 36px; font-size: 13px; }
.ledger__row:hover .ledger__go { background: var(--bronze-gold); color: var(--near-black); transform: translateX(4px) rotate(45deg); }
.ledger__month { min-width: 92px; padding: 8px 10px; border-radius: 14px; text-align: center; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--text-gold); line-height: 1.3; }

/* S4 Booking comparison ---------------------------------------------------------- */
.compare { padding: 10px; border-radius: var(--r-xl); overflow: hidden; }
.compare__table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.compare__table th, .compare__table td { padding: 20px 22px; vertical-align: top; text-align: left; font-size: 15px; line-height: 1.55; }
.compare__table thead th { font-family: var(--font-display); font-size: 22px; font-weight: 600; color: var(--near-black); vertical-align: bottom; }
.compare__table thead th .nm-well { display: flex; margin-bottom: 12px; }
.compare__table tbody th { width: 17%; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.compare__table tbody td { color: var(--steel-taupe); }
.compare__table tbody tr > * { border-top: 1px solid rgba(143, 131, 116, .25); }
.compare__table tbody tr:nth-child(odd) > * { background: rgba(255, 252, 246, .45); }
.compare__table tbody tr:first-child > *:first-child { border-top-left-radius: 0; }
.compare__links td { padding-top: 16px; padding-bottom: 16px; }
.compare__links .text-link { font-size: 14px; }
.js .compare .compare__table th, .js .compare .compare__table td { opacity: 0; transform: translateY(14px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.js .compare.is-in .compare__table th, .js .compare.is-in .compare__table td { opacity: 1; transform: none; }
.js .compare.is-in tr > :nth-child(2) { transition-delay: .09s; }
.js .compare.is-in tr > :nth-child(3) { transition-delay: .18s; }
.js .compare.is-in tr > :nth-child(4) { transition-delay: .27s; }
.js .compare.is-in tr > :nth-child(5) { transition-delay: .36s; }
.compare-cards { display: none; }
.compare-card { padding: 24px 22px; }
.compare-card__title { display: flex; align-items: center; gap: 12px; font-size: 24px; font-weight: 600; margin-bottom: 14px; }
.compare-card dl { margin: 0 0 16px; display: grid; gap: 12px; }
.compare-card dt { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.compare-card dd { margin: 2px 0 0; color: var(--steel-taupe); font-size: 15px; }
.bookings__price { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 14px; margin: 40px auto 0; max-width: 860px; padding: 18px 26px; border-radius: var(--r-pill); text-align: center; font-weight: 500; }
.bookings__price > i { color: var(--text-gold); font-size: 20px; }

/* S5 Route cards (dark) ------------------------------------------------------------ */
.route-card {
  height: 100%; display: flex; flex-direction: column; padding: 26px 24px 22px; border-radius: 26px;
  background: var(--bg); box-shadow: var(--nm-out); border: 1px solid rgba(213, 200, 184, .1);
  transition: box-shadow .4s var(--ease), border-color .4s var(--ease), transform .4s var(--ease);
}
.route-card:hover, .route-card:focus-within { border-color: var(--bronze-gold); transform: translateY(-4px); }
.route-card__from { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--mist-grey) !important; }
.route-card__line { width: 100%; height: 76px; margin: 10px 0 6px; overflow: visible; }
.route-card__track { fill: none; stroke: rgba(213, 200, 184, .18); stroke-width: 2; stroke-dasharray: 4 6; }
.route-card__pin--a { fill: var(--bg); stroke: var(--bronze-gold); stroke-width: 3; }
.route-card__pin--b { fill: var(--bronze-gold); }
.js .route-card__pin--b { transform-box: fill-box; transform-origin: center; transform: scale(0); transition: transform .5s var(--ease-spring) 1.6s; }
.js .route-card.is-in .route-card__pin--b { transform: scale(1); }
.js .route-card.is-redraw .draw-path { transition: none; stroke-dashoffset: 1; }
.route-card__to { font-size: 27px; font-weight: 600; color: var(--warm-ivory); margin-bottom: 8px; line-height: 1.15; }
.route-card__note { font-size: 15px; color: var(--mist-grey) !important; }
.route-card__time { font-size: 13px; }
.route-card__link { margin-top: auto; font-size: 14px; }

/* S6 Vehicle matrix ------------------------------------------------------------------ */
.matrix { padding: 12px; border-radius: var(--r-xl); }
.matrix__table { width: 100%; border-collapse: separate; border-spacing: 0; }
.matrix__table th, .matrix__table td { padding: 14px 12px; text-align: center; vertical-align: middle; }
.matrix__table thead th { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--text-gold); padding-bottom: 18px; }
.matrix__table thead th:first-child, .matrix__table tbody th { text-align: left; }
.matrix__table tbody > tr > * { border-top: 1px solid rgba(143, 131, 116, .25); }
.matrix__car { display: flex; align-items: center; gap: 16px; text-decoration: none; color: var(--near-black); }
.matrix__thumb { width: 104px; flex: none; padding: 5px; border-radius: 16px; }
.matrix__thumb img, .matrix__thumb .nm-ph { border-radius: 11px; aspect-ratio: 4 / 3; object-fit: cover; }
.matrix__name { display: block; font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.15; }
.matrix__car:hover .matrix__name { color: var(--text-gold); }
.matrix__cap { display: block; font-size: 13px; color: var(--steel-taupe); }
.tick { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bronze-gold); color: var(--near-black); box-shadow: var(--nm-out-sm); font-size: 16px; }
.tick--off { background: var(--bg); box-shadow: var(--nm-in-sm); width: 14px; height: 14px; }
.js .matrix .tick:not(.tick--off) { opacity: 0; transform: scale(.6); transition: opacity .4s var(--ease), transform .5s var(--ease-spring); transition-delay: calc(var(--t, 1) * 40ms + .25s); }
.js .matrix.is-in .tick { opacity: 1; transform: none; }
.vm-cards { display: none; }
.vm-card { display: grid; grid-template-columns: 140px 1fr; gap: 18px; padding: 14px; align-items: center; }
.vm-card__media { display: block; padding: 6px; border-radius: 18px; }
.vm-card__media img, .vm-card__media .nm-ph { border-radius: 12px; aspect-ratio: 4 / 3; object-fit: cover; }
.vm-card__name { font-size: 22px; font-weight: 600; margin-bottom: 2px; }
.vm-card__name a { color: var(--near-black); text-decoration: none; }
.vm-card__cap { font-size: 13px; color: var(--steel-taupe); margin-bottom: 10px; }
.vm-card__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vm-card__chips .nm-pill { font-size: 12px; padding: 6px 12px; }

/* S7 Grouped FAQs (drawers with switches) -------------------------------------------- */
.faq-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.faq-group { padding: 26px 22px 14px; border-radius: 30px; }
.faq-group__title { display: flex; align-items: center; gap: 12px; font-family: var(--font-sans); font-size: 17px; font-weight: 600; margin-bottom: 14px; }
.drawer__item + .drawer__item { border-top: 1px solid rgba(143, 131, 116, .25); }
.drawer__h { margin: 0; font-family: var(--font-sans); text-transform: unset;}
.drawer__h button span{text-transform: none !important;}
.drawer__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 2px; border: 0; background: none; text-align: left; cursor: pointer; font-size: 15px; font-weight: 600; line-height: 1.45; color: var(--near-black); }
.drawer__btn:hover { color: var(--text-gold); }
.drawer__toggle span { transform: none !important; background: var(--clean-white) !important; transition: transform .45s var(--ease-spring), background-color .3s var(--ease) !important; }
.drawer__btn[aria-expanded="true"] .drawer__toggle span { transform: translateX(18px) !important; background: var(--bronze-gold) !important; }
.drawer__item.is-open .acc__panel, .no-js .drawer .acc__panel { grid-template-rows: 1fr; }
.drawer .acc__inner p { padding: 0 2px 18px; margin: 0; font-size: 15px; color: var(--steel-taupe); }

/* S8 Google reviews wall -------------------------------------------------------------- */
.gwall__head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; padding: 24px 28px; border-radius: 30px; margin-bottom: 32px; }
.gwall__mark { width: 84px; height: 84px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.gwall__title { font-size: clamp(26px, 2.8vw, 36px); margin-bottom: 4px; }
.gwall__lead, .gwall__count { color: var(--steel-taupe); margin: 0; }
.gwall__score { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; }
.gwall__score strong { font-family: var(--font-display); font-size: 34px; line-height: 1; }
.gwall__score .stars { margin: 0; }
.gwall__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.gwall__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.gcard { padding: 24px; display: flex; flex-direction: column; border-radius: 28px; transition: transform .4s var(--ease); }
.gcard:hover { transform: translateY(-4px); }
.gcard__top { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.gcard__avatar { width: 46px; height: 46px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 20px; font-weight: 600; color: var(--text-gold); }
.gcard__who { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.gcard__name { font-weight: 600; font-size: 14px; line-height: 1.3; }
.gcard__date { font-size: 12px; color: var(--steel-taupe); }
.gcard__text { margin: 0; padding: 16px 18px; border-radius: 18px; box-shadow: var(--nm-in-sm); }
.gcard__text p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--near-black); }
.gwall .rv-empty { display: flex; gap: 14px; align-items: center; flex-direction: row; padding: 28px; border-radius: 26px; margin: 0; }
.gwall .rv-empty i { margin: 0; }

/* S9 Contact tiles (dark) ------------------------------------------------------------- */
.tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.tile-nm {
  height: 100%; display: flex; flex-direction: column; gap: 4px; padding: 24px; border-radius: 26px;
  background: var(--bg); box-shadow: var(--nm-out); border: 1px solid rgba(213, 200, 184, .1);
  color: var(--warm-ivory); text-decoration: none; transition: box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.tile-nm .nm-well { margin-bottom: 14px; transition: transform .35s var(--ease); }
.tile-nm:hover, .tile-nm:focus-visible { box-shadow: var(--nm-in); border-color: var(--bronze-gold); color: var(--warm-ivory); }
.tile-nm:hover .nm-well, .tile-nm:focus-visible .nm-well { transform: translateY(-2px); }
.tile-nm__label { font-weight: 600; font-size: 17px; }
.tile-nm__value { font-size: 14px; color: var(--mist-grey); }
.tile-nm__value--email { overflow-wrap: normal; }

/* Services responsive -------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
  .faq-groups { grid-template-columns: 1fr 1fr; }
  .gwall__head { grid-template-columns: auto 1fr; }
  .gwall__actions { grid-column: 1 / -1; }
}
@media (max-width: 991.98px) {
  .sv-hero { padding: 128px 0 56px; }
  .ledger { grid-template-columns: 1fr; margin-top: 40px; }
  .compare { display: none; }
  .compare-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .matrix { display: none; }
  .vm-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .vm-card { grid-template-columns: 1fr; }
  .gwall__grid { grid-template-columns: 1fr 1fr; }
  .chapter__num { font-size: 76px; }
}
@media (max-width: 767.98px) {
  .sv-hero { padding: 108px 0 48px; }
  .sv-hero::before { width: 300px; height: 300px; right: -170px; }
  .sv-hero .btn-row .nm-btn { flex: 1 1 auto; }
  .sv-hero__meter { display: grid; width: 100%; }
  .sv-hero__meter li { padding: 2px 12px; }
  .sv-hero__meter strong { font-size: 28px; }
  .sv-hero__meter span { font-size: 12px; line-height: 1.3; }
  .capsules { gap: 12px; padding-bottom: 30px; grid-template-columns: repeat(2,1fr); }
  .capsule--2, .capsule--3 { margin-top: 0; }
  .capsule__frame { padding: 6px; border-radius: 26px; }
  .capsule__media,  .capsule__media { border-radius: 20px; clip-path: none; }
  .js .capsule__media { clip-path: none; }
  .capsule__media img, .capsule__media .nm-ph { aspect-ratio: 4 / 3; }
  .capsule__cap { font-size: 11px; padding: 7px 10px; gap: 5px; }
  .sv-dock { top: var(--dock-top, 80px); padding: 8px 0; }
  .sv-dock__chip { min-height: 40px; padding: 8px 14px; font-size: 13px; }
  .chapter { scroll-margin-top: 150px; }
  .feature { padding: 10px; }
  .feature__body { padding: 18px 10px 8px; }
  .feature .nm-btn { white-space: normal; text-align: center; line-height: 1.4; }
  .ledger__row { padding: 14px; gap: 12px; }
  .ledger__icon { width: 44px; height: 44px; font-size: 17px; }
  .ledger__name { font-size: 20px; }
  .ledger--events .ledger__row { grid-template-columns: 1fr auto; }
  .ledger--events .ledger__month { grid-column: 1 / -1; justify-self: start; min-width: 0; padding: 6px 12px; }
  .compare-cards, .vm-cards, .gwall__grid, .faq-groups, .tiles { grid-template-columns: 1fr; }
  .bookings__price { border-radius: 26px; }
  .gwall__head { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 26px 20px; }
  .gwall__score { justify-content: center; }
  .gwall__actions { justify-content: center; }
  .gwall .rv-empty { flex-direction: column; text-align: center; }
  .faq-group { padding: 22px 18px 10px; }
  .tile-nm { padding: 16px 18px; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: center; }
  .tile-nm .nm-well { grid-row: 1 / 3; margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .js .capsule__media { clip-path: none !important; }
  .js .draw-path { stroke-dashoffset: 0 !important; }
  .js .compare .compare__table th, .js .compare .compare__table td, .js .matrix .tick, .js .route-card__pin--b { opacity: 1 !important; transform: none !important; }
}

/* =============================================================================
   16. SHARED ADDITIONS (inner pages)
   ============================================================================= */
.no-js .js-only { display: none !important; }
.js .no-js-note { display: none; }
.field-help { font-size: 13px; color: var(--steel-taupe); margin: 6px 0 0; }
.opt { font-weight: 500; color: var(--steel-taupe); font-size: 12px; }
[role="tabpanel"][data-inactive] { display: none; }
[role="tabpanel"].is-entering { animation: panelIn .55s var(--ease) both; }
.crumbs--dark ol { --bg: rgba(20, 20, 20, .55); background: rgba(20, 20, 20, .45); box-shadow: inset 2px 2px 6px rgba(0, 0, 0, .4); backdrop-filter: blur(6px); }
.crumbs--dark li { color: var(--logo-gold); }
.crumbs--dark a { background: rgba(245, 240, 232, .92); box-shadow: none; }
.nm-seg--wide { display: flex; width: 100%; }
.nm-seg--wide label { flex: 1; justify-content: center; min-height: 46px; }
.nm-seg--wrap { flex-wrap: wrap; border-radius: 24px; }
.nm-seg--wrap label { flex: 1 1 40%; }
.method { border: 0; padding: 0; margin: 0; }
.method legend { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.rv-empty { display: flex; gap: 12px; align-items: center; padding: 26px; border-radius: 24px; color: var(--steel-taupe); }
.rv-empty i { color: var(--text-gold); font-size: 24px; }
.stars--inline { display: inline-flex; margin: 0; }
.parallax-img { transform-origin: center; }

/* =============================================================================
   17. PAGE: FLEET
   ============================================================================= */
.fl-hero { position: relative; padding: 150px 0 80px; overflow: hidden; }
.fl-hero__head { max-width: 820px; margin: 0 auto 40px; text-align: center; }
.fl-hero__head .crumbs ol { margin: 0 auto; }
.fl-hero__head .lead-text { margin: 0 auto; }
.fl-hero__title { font-size: clamp(40px, 5.6vw, 70px); line-height: 1.04; margin-bottom: 18px; }
.fl-hero__title em { color: var(--text-gold); }
.showroom { padding: 16px; border-radius: 40px; }
.showroom__stage { position: relative; padding: 12px; border-radius: 30px; overflow: hidden; aspect-ratio: 16 / 7.4; }
.showroom__slide { position: absolute; inset: 12px; margin: 0; border-radius: 22px; overflow: hidden; opacity: 0; visibility: hidden; transition: opacity .8s var(--ease), visibility 0s linear .8s; }
.showroom__slide.is-active { opacity: 1; visibility: visible; transition-delay: 0s; }
.showroom__slide img, .showroom__slide .nm-ph { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.6s var(--ease); }
.showroom__slide.is-active img { transform: none; }
.showroom__label {
  position: absolute; left: 22px; bottom: 22px; max-width: 420px; display: flex; flex-direction: column; gap: 4px;
  padding: 18px 22px; border-radius: 22px; background: rgba(245, 240, 232, .94); box-shadow: 0 14px 34px rgba(20, 20, 20, .22);
  transform: translateY(14px); opacity: 0; transition: opacity .6s var(--ease) .25s, transform .7s var(--ease) .25s;
}
.showroom__slide.is-active .showroom__label { opacity: 1; transform: none; }
.showroom__label .nm-eyebrow { margin: 0; }
.showroom__name { font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 34px); font-weight: 600; line-height: 1.1; }
.showroom__line { font-size: 14px; color: var(--steel-taupe); line-height: 1.5; }
.showroom__note { position: absolute; right: 26px; top: 26px; z-index: 2; font-size: 13px; background: rgba(245, 240, 232, .94); }
.knobs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding: 26px 10px 10px; }
.knob { display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; color: var(--near-black); text-align: center; }
.knob__disc { width: 104px; height: 104px; border-radius: 50%; overflow: hidden; padding: 6px; background: var(--bg); box-shadow: var(--nm-out); transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.knob__disc img, .knob__disc .nm-ph { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.knob:hover .knob__disc { transform: translateY(-3px); }
.knob.is-selected .knob__disc { box-shadow: var(--nm-in), 0 0 0 3px var(--bronze-gold); }
.knob__name { font-family: var(--font-display); font-size: 21px; font-weight: 600; margin-top: 6px; }
.knob__class { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--steel-taupe); }
.knob.is-selected .knob__name { color: var(--text-gold); }

.profile { scroll-margin-top: 90px; outline: none; }
.layers { position: relative; padding: 0 0 60px 0; }
.layers__main { padding: 12px; border-radius: 34px; }
.layers__img { padding: 8px; border-radius: 26px; overflow: hidden; }
.layers__img img, .layers__img .nm-ph { border-radius: 20px; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1s var(--ease); }
.layers:hover .layers__img img { transform: scale(1.04); }
.layers__thumb { position: absolute; width: 34%; padding: 7px; border-radius: 22px; overflow: hidden; z-index: 2; }
.layers__thumb img, .layers__thumb .nm-ph { border-radius: 16px; aspect-ratio: 4 / 3; object-fit: cover; }
.layers__thumb--a { right: -18px; bottom: 0; }
.layers__thumb--b { right: 30%; bottom: 18px; width: 26%; }
.layers--flip .layers__thumb--a { right: auto; left: -18px; }
.layers--flip .layers__thumb--b { right: auto; left: 30%; }
.layers__num { position: absolute; top: -34px; left: 18px; font-family: var(--font-display); font-weight: 600; font-size: 90px; line-height: 1; color: var(--bg); text-shadow: 4px 4px 8px var(--lo), -4px -4px 8px var(--hi); -webkit-text-stroke: 1px rgba(122, 90, 48, .18); z-index: 3; }
.layers--flip .layers__num { left: auto; right: 18px; }
.profile__p { color: var(--steel-taupe); }
.slots { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0; }
.slot { padding: 12px 16px; border-radius: 18px; }
.slot--wide { grid-column: 1 / -1; }
.slot dt { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); display: flex; gap: 6px; align-items: center; }
.slot dd { margin: 3px 0 0; font-weight: 600; font-size: 15px; line-height: 1.4; }
.profile__ideal { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--steel-taupe); margin-bottom: 10px; }
.profile__chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }

.panel { padding: 30px; border-radius: 34px; }
.panel__static ul { display: grid; gap: 8px; }
.panel__static-title { font-family: var(--font-display); font-size: 24px; font-weight: 600; }
.js .panel__static { display: none; }
.no-js .panel__form { display: none; }
.panel__qs { display: grid; gap: 20px; }
.panel__q { border: 0; padding: 0; margin: 0; }
.panel__q legend { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 16px; margin: 15px 0; }
.panel__n { width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 17px; color: var(--text-gold); box-shadow: var(--nm-out-sm); }
.panel__result { margin-top: 24px; padding: 20px; border-radius: 26px; min-height: 120px; display: flex; align-items: center; }
.panel__empty { margin: 0; color: var(--steel-taupe); display: flex; gap: 10px; align-items: center; }
.panel__car { display: grid; grid-template-columns: 180px 1fr; gap: 22px; align-items: center; width: 100%; animation: panelIn .5s var(--ease) both; }
.panel__car[hidden], .panel__group[hidden] { display: none; }
.panel__thumb { display: block; border-radius: 18px; overflow: hidden; box-shadow: var(--nm-out-sm); }
.panel__thumb img { aspect-ratio: 4 / 3; object-fit: cover; }
.panel__label { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.panel__name { font-family: var(--font-display); font-size: 28px; font-weight: 600; line-height: 1.15; margin: 2px 0 6px; }
.panel__why { color: var(--steel-taupe); font-size: 15px; }
.panel__group { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; width: 100%; }
.panel__group p { margin: 0; flex: 1 1 260px; }

.cabin { margin: 0; }
.cabin__frame { position: relative; padding: 10px; border-radius: 30px; background: var(--bg); box-shadow: var(--nm-out); }
.cabin__frame > img, .cabin__frame > .nm-ph { border-radius: 22px; aspect-ratio: 16 / 10; object-fit: cover; }
.cabin__cap { font-size: 13px; color: var(--mist-grey); margin-top: 14px; text-align: center; }
.spot { position: absolute; transform: translate(-50%, -50%); width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--warm-ivory); background: var(--bronze-gold); color: var(--near-black); font-weight: 700; font-size: 14px; cursor: pointer; box-shadow: 0 6px 16px rgba(0, 0, 0, .4); transition: transform .3s var(--ease-spring), background-color .3s; }
.spot::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid var(--bronze-gold); animation: ring 2.4s var(--ease) infinite; }
.spot:hover, .spot[aria-pressed="true"] { transform: translate(-50%, -50%) scale(1.18); background: var(--warm-ivory); }
.spot-list { display: grid; gap: 10px; }
.spot-row { width: 100%; display: flex; gap: 14px; align-items: flex-start; padding: 12px 14px; border: 0; border-radius: 18px; background: transparent; text-align: left; cursor: pointer; color: var(--warm-ivory); transition: box-shadow .3s var(--ease), background-color .3s; }
.spot-row:hover, .spot-row[aria-pressed="true"] { background: var(--bg); box-shadow: var(--nm-out-sm); }
.spot-row[aria-pressed="true"] .nm-well { color: var(--near-black); background: var(--bronze-gold); box-shadow: none; }
.spot-row__text { display: flex; flex-direction: column; gap: 2px; }
.spot-row__title { font-weight: 600; font-size: 15px; }
.spot-row__desc { font-size: 13px; color: var(--mist-grey); line-height: 1.5; }

.prep__photo { padding: 10px; border-radius: 30px; margin-top: 26px; }
.prep__photo-in { padding: 8px; border-radius: 22px; overflow: hidden; }
.prep__photo-in img, .prep__photo-in .nm-ph { border-radius: 16px; aspect-ratio: 16 / 11; object-fit: cover; }
.rings-list { display: grid; gap: 16px; }
.ring-step { display: flex; gap: 18px; align-items: center; padding: 16px 20px; border-radius: 24px; }
.ring-step__dial { position: relative; width: 60px; height: 60px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; box-shadow: var(--nm-in-sm); color: var(--text-gold); font-size: 20px; }
.ring-step__dial svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.ring-step__track { fill: none; stroke: rgba(143, 131, 116, .2); stroke-width: 3; }
.ring-step__fill { fill: none; stroke: var(--bronze-gold); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.js .ring-step__fill { stroke-dashoffset: 1; transition: stroke-dashoffset 1.3s var(--ease) .3s; }
.js .ring-step.is-in .ring-step__fill { stroke-dashoffset: 0; }
.ring-step__body { display: flex; flex-direction: column; }
.ring-step__label { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.ring-step__title { font-family: var(--font-sans); font-size: 17px; font-weight: 600; margin: 2px 0; }
.ring-step__text { font-size: 14px; color: var(--steel-taupe); line-height: 1.55; }

.qcards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.qcard { border-radius: 24px; transition: box-shadow .4s var(--ease); }
.qcard.is-open { box-shadow: var(--nm-in); }
.qcard__btn { grid-template-columns: auto 1fr auto; }
.qcard__num { font-family: var(--font-display); font-size: 34px; font-weight: 600; line-height: 1; color: var(--bg); text-shadow: 2px 2px 4px var(--lo), -2px -2px 4px var(--hi); -webkit-text-stroke: 1px rgba(122, 90, 48, .3); }
.qcard__chev i { transition: transform .4s var(--ease); }
.qcard__btn[aria-expanded="true"] .qcard__chev { background: var(--bronze-gold); }
.qcard__btn[aria-expanded="true"] .qcard__chev i { transform: rotate(180deg); }
.qcard .acc__inner p { padding: 0 22px 22px 70px; }

.spot-rev__lead { height: 100%; padding: 34px; border-radius: 34px; }
.spot-rev__badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 99px; font-size: 13px; font-weight: 600; }
.spot-rev__title { font-size: clamp(28px, 3vw, 40px); margin: 18px 0 20px; }
.spot-rev__quote { margin: 0; }
.spot-rev__quote blockquote p { font-family: var(--font-display); font-style: italic; font-size: clamp(20px, 2vw, 25px); line-height: 1.5; color: var(--near-black); }
.spot-rev__quote figcaption { display: flex; align-items: center; gap: 14px; margin-top: 18px; }
.spot-rev__quote figcaption span:last-child { display: flex; flex-direction: column; }
.spot-rev__quote small { color: var(--steel-taupe); }
.spot-rev__avatar, .rledger__avatar, .bubble__avatar { width: 48px; height: 48px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 600; font-size: 20px; color: var(--text-gold); }
.spot-rev__side { display: grid; gap: 18px; height: 100%; }
.spot-rev__score { padding: 26px; border-radius: 28px; }
.spot-rev__num { font-family: var(--font-display); font-size: 60px; font-weight: 600; line-height: 1; margin: 0 0 6px; }
.spot-rev__count { color: var(--steel-taupe); }
.spot-rev__mini { margin: 0; padding: 20px 22px; border-radius: 24px; }
.spot-rev__mini blockquote p { margin: 0 0 10px; font-size: 14px; color: var(--steel-taupe); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.spot-rev__mini figcaption { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.spot-rev__empty { color: var(--steel-taupe); }

.console-bar { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 14px; align-items: end; padding: 18px; border-radius: 32px; max-width: 1080px; margin: 0 auto; }
.console-bar__field label { display: flex; gap: 6px; align-items: center; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mist-grey); margin-bottom: 8px; }
.console-bar__field label i { color: var(--bronze-gold); }
.console-bar .nm-input { --bg: #262626; background: #262626; color: var(--warm-ivory); border-color: rgba(213, 200, 184, .2); box-shadow: inset 3px 3px 7px #121212, inset -3px -3px 7px #333; color-scheme: dark; }
.console-bar .nm-input::placeholder { color: #8f877c; }
.console-bar .nm-input:focus { box-shadow: 0 0 0 2px var(--bronze-gold); }
.console-bar select.nm-input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23B98A52' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.console-bar__go { min-height: 52px; }
.reserve__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 32px 0 0; }

/* =============================================================================
   18. PAGE: EVENTS
   ============================================================================= */
.ev-hero { position: relative; padding: 120px 0 70px; }
.ev-frame { position: relative; display: grid; padding: 14px; border-radius: 40px; }
.ev-frame__media { grid-area: 1 / 1; position: relative; border-radius: 30px; overflow: hidden; min-height: 560px; }
.ev-frame__media img, .ev-frame__media .nm-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: kenburns 18s ease-out both; }
@keyframes kenburns { from { transform: scale(1.12); } to { transform: scale(1); } }
.ev-frame__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20, 20, 20, .78) 0%, rgba(20, 20, 20, .5) 45%, rgba(20, 20, 20, .1) 100%); }
.ev-frame__copy { grid-area: 1 / 1; position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(28px, 5vw, 64px); max-width: 720px; color: var(--warm-ivory); }
.ev-frame__eyebrow { color: var(--logo-gold); }
.ev-frame__title { font-size: clamp(40px, 5.4vw, 68px); line-height: 1.04; color: var(--warm-ivory); margin-bottom: 18px; }
.ev-frame__title em { color: var(--logo-gold); }
.ev-frame__intro { font-size: 18px; line-height: 1.65; color: #E8E1D6; max-width: 580px; margin-bottom: 26px; }
.ev-frame__ghost { background: rgba(245, 240, 232, .14); color: var(--warm-ivory); box-shadow: inset 0 0 0 1px rgba(245, 240, 232, .4); backdrop-filter: blur(4px); }
.ev-frame__ghost:hover { background: var(--warm-ivory); color: var(--near-black); box-shadow: none; }
.next-up { position: relative; z-index: 3; display: flex; align-items: center; gap: 18px; max-width: 460px; margin: -56px 34px 0 auto; padding: 18px 20px; border-radius: 28px; }
.next-up__cal { width: 70px; height: 74px; flex: none; border-radius: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.next-up__cal strong { font-size: 24px !important; }
.next-up__cal small { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); }
.next-up__cal strong { font-family: var(--font-display); font-size: 32px; font-weight: 600; margin-top: 4px; }
.next-up__body { flex: 1; min-width: 0; }
.next-up__body .nm-eyebrow { margin-bottom: 4px; }
.next-up__name { font-size: 24px; font-weight: 600; margin: 0; line-height: 1.15; }
.next-up__when { font-size: 13px; color: var(--steel-taupe); margin: 2px 0 0; }
.next-up__go { width: 48px; height: 48px; text-decoration: none; }
.next-up__go:hover { background: var(--bronze-gold); color: var(--near-black); }

.months { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.month { padding: 18px; border-radius: 24px; min-height: 150px; display: flex; flex-direction: column; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.month.has-events:hover { transform: translateY(-4px); }
.month.is-now { box-shadow: var(--nm-out), 0 0 0 2px var(--bronze-gold); }
.month__name { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 12px; font-family: var(--font-display); font-size: 28px; font-weight: 600; line-height: 1; }
.month__name abbr { text-decoration: none; }
.month:not(.has-events) .month__name { color: var(--mist-grey); }
.month__now { font-family: var(--font-sans); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: 4px 8px; border-radius: 99px; background: var(--bronze-gold); color: var(--near-black); }
.month__events { display: flex; flex-direction: column; gap: 6px; }
.month__ev { display: block; padding: 6px 10px; border-radius: 10px; font-size: 13px; font-weight: 600; color: var(--near-black); text-decoration: none; box-shadow: var(--nm-in-sm); }
.month__ev:hover { color: var(--text-gold); }
.month__ev.is-cont { font-weight: 500; color: var(--steel-taupe); box-shadow: none; border: 1px dashed rgba(143, 131, 116, .45); }
.month__ev.is-faded { opacity: .6; }
.month__quiet { font-size: 12px; color: var(--steel-taupe); margin: auto 0 0; }
.allyear { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 28px; padding: 18px 24px; border-radius: 26px; }
.allyear__label { margin: 0; font-weight: 600; display: flex; gap: 8px; align-items: center; color: var(--text-gold); }
.allyear__list { display: flex; flex-wrap: wrap; gap: 10px; }

.poster { height: 100%; display: flex; flex-direction: column; padding: 10px; border-radius: 28px; scroll-margin-top: 110px; outline: none; transition: transform .4s var(--ease); }
.poster:hover { transform: translateY(-5px); }
.poster__media { position: relative; border-radius: 20px; overflow: hidden; }
.poster__media img, .poster__media .nm-ph { aspect-ratio: 4 / 4.4; object-fit: cover; transition: transform 1s var(--ease); }
.poster:hover .poster__media img { transform: scale(1.06); }
.poster__media::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(20, 20, 20, .82)); }
.poster__when { position: absolute; top: 12px; left: 12px; z-index: 1; display: inline-flex; gap: 6px; align-items: center; padding: 6px 12px; border-radius: 99px; background: rgba(245, 240, 232, .94); font-size: 12px; font-weight: 600; }
.poster__cap { position: absolute; left: 18px; right: 18px; bottom: 16px; z-index: 1; color: var(--warm-ivory); }
.poster__place { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--logo-gold); }
.poster__title { font-size: 28px; font-weight: 600; color: var(--warm-ivory); margin: 2px 0 0; line-height: 1.1; }
.poster__body { padding: 18px 10px 8px; display: flex; flex-direction: column; flex: 1; }
.poster__copy { font-size: 14px; color: var(--steel-taupe); line-height: 1.65; }
.poster__label { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); margin: 4px 0 8px; }
.poster__cars { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.poster__cars .nm-chip { min-height: 36px; padding: 6px 12px; font-size: 13px; }
.poster__cta { margin-top: auto; letter-spacing: .1em; }
.wide-card { height: 100%; display: grid; grid-template-columns: 1fr 1.1fr; gap: 20px; align-items: center; padding: 12px; border-radius: 28px; }
.wide-card__media { padding: 7px; border-radius: 22px; overflow: hidden; height: 100%; }
.wide-card__media img, .wide-card__media .nm-ph { border-radius: 16px; height: 100%; min-height: 220px; object-fit: cover; }
.wide-card__body { padding: 10px 12px 10px 0; }
.wide-card__body h3 { font-size: 26px; font-weight: 600; }
.wide-card__body p { font-size: 15px; color: var(--steel-taupe); }

.versus__head { display: grid; grid-template-columns: 1fr 64px 1fr; gap: 18px; max-width: 1000px; margin: 0 auto 14px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--mist-grey); }
.versus__head span:last-child { color: var(--bronze-gold); }
.versus__list { display: grid; gap: 14px; max-width: 1000px; margin: 0 auto; }
.versus__row { display: grid; grid-template-columns: 1fr 64px 1fr; gap: 18px; align-items: center; }
.versus__usual, .versus__ours { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 16px 18px; border-radius: 20px; font-size: 15px; line-height: 1.5; height: 100%; }
.versus__usual { color: var(--mist-grey) !important; }
.versus__usual i { color: #8b6b62; margin-top: 2px; }
.versus__ours { color: var(--warm-ivory) !important; }
.versus__ours i { color: var(--bronze-gold); margin-top: 2px; }
.versus__knob { width: 56px; height: 56px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--bronze-gold); font-size: 20px; justify-self: center; transition: transform .6s var(--ease-spring); }
.versus__row.is-in .versus__knob { transform: rotate(360deg); }

.ticket { position: relative; display: grid; grid-template-columns: 1fr 230px; border-radius: 34px; overflow: hidden; }
.ticket__main { padding: 36px 30px; }
.ticket__stages { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; position: relative; }
.ticket__stages::before { content: ""; position: absolute; left: 24px; right: 24px; top: 24px; border-top: 2px dashed rgba(143, 131, 116, .5); }
.ticket__stage { position: relative; }
.ticket__pin { position: relative; z-index: 1; width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 19px; color: var(--text-gold); margin-bottom: 16px; background: var(--bg); }
.js .ticket.is-in .ticket__pin { animation: pinPop .6s var(--ease-spring) both; animation-delay: calc(var(--i) * 140ms + .2s); }
@keyframes pinPop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.ticket__label { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.ticket__title { font-family: var(--font-sans); font-size: 16px; font-weight: 600; margin: 4px 0; }
.ticket__text { font-size: 14px; color: var(--steel-taupe); line-height: 1.55; margin: 0; }
.ticket__stub { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 30px 20px; text-align: center; background: var(--jet-graphite); color: var(--warm-ivory); }
.ticket__stub::before { content: ""; position: absolute; left: -1px; top: 18px; bottom: 18px; border-left: 3px dotted var(--bg); }
.ticket__mono { font-family: var(--font-display); font-size: 54px; font-weight: 600; line-height: 1; margin: 0; color: var(--logo-gold); }
.ticket__admit { font-family: var(--font-display); font-style: italic; font-size: 19px; margin: 0; color: #E8E1D6; }

.qa__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.qa__tile { position: relative; padding: 30px 24px 24px; border-radius: 26px; }
.qa__mark { position: absolute; top: -14px; left: 22px; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 20px; font-weight: 600; color: var(--text-gold); background: var(--bg); }
.qa__q { font-family: var(--font-sans); font-size: 16px; font-weight: 600; line-height: 1.45; margin: 6px 0 10px; }
.qa__a { font-size: 14px; color: var(--steel-taupe); line-height: 1.65; margin: 0; }

.rledger__aside { position: sticky; top: 120px; }
.rledger__g { width: 76px; height: 76px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.rledger__score { display: flex; align-items: center; gap: 10px; }
.rledger__score strong { font-family: var(--font-display); font-size: 44px; }
.rledger__list { padding: 10px 26px; border-radius: 30px; }
.rledger__row { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 22px 0; }
.rledger__row + .rledger__row { border-top: 1px solid rgba(143, 131, 116, .25); }
.rledger__who { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 14px; }
.rledger__who span { color: var(--steel-taupe); font-size: 13px; }
.rledger__text { margin: 0; }
.rledger__text p { margin: 0; color: var(--near-black); font-size: 15px; line-height: 1.65; }

.plan__box { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.plan__media { padding: 12px; border-radius: 34px; }
.plan__img { border-radius: 24px; overflow: hidden; }
.plan__img img, .plan__img .nm-ph { aspect-ratio: 6 / 7; object-fit: cover; }
.plan__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 30px; }
.plan__chips .nm-chip { color: var(--warm-ivory); }
.plan__chips .nm-chip:hover { color: var(--bronze-gold); }

/* =============================================================================
   19. PAGE: ABOUT
   ============================================================================= */
.ab-hero { position: relative; padding: 150px 0 60px; overflow: hidden; }
.ab-hero__disc { position: absolute; left: 50%; top: 70px; width: 560px; height: 560px; margin-left: -280px; border-radius: 50%; background: var(--bg); box-shadow: var(--nm-in); display: flex; align-items: center; justify-content: center; pointer-events: none; opacity: .9; }
.ab-hero__disc span { font-family: var(--font-display); font-size: 260px; font-weight: 600; color: var(--bg); text-shadow: 6px 6px 12px var(--lo), -6px -6px 12px var(--hi); }
.ab-hero .container { position: relative; }
.ab-hero__head { max-width: 860px; margin: 0 auto 46px; text-align: center; }
.ab-hero__head .lead-text { margin: 0 auto; }
.ab-hero__title { font-size: clamp(38px, 5.4vw, 68px); line-height: 1.06; margin-bottom: 20px; }
.ab-hero__title em { color: var(--text-gold); }
.porthole { position: relative; margin: 0; padding: 14px; border-radius: 200px 200px 40px 40px; }
.porthole__in { padding: 10px; border-radius: 190px 190px 30px 30px; overflow: hidden; }
.porthole__in img, .porthole__in .nm-ph { border-radius: 180px 180px 22px 22px; aspect-ratio: 21 / 8; object-fit: cover; }
.porthole__pills { position: absolute; left: 50%; bottom: -24px; transform: translateX(-50%); display: flex; gap: 12px; white-space: nowrap; }
.porthole__pills .nm-pill { background: var(--warm-ivory); box-shadow: 0 10px 24px rgba(60, 45, 25, .18); }

.arch { position: relative; margin: 0; padding-bottom: 30px; }
.arch__frame { padding: 12px; border-radius: 220px 220px 34px 34px; }
.arch__img { border-radius: 210px 210px 24px 24px; overflow: hidden; }
.arch__img img, .arch__img .nm-ph { aspect-ratio: 3 / 4; object-fit: cover; }
.arch__cap { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: max-content; max-width: 92%; font-size: 13px; white-space: normal; text-align: center; }
.pull { position: relative; margin: 26px 0; padding: 26px 28px 26px 70px; border-radius: 24px; }
.pull i { position: absolute; left: 22px; top: 18px; font-size: 34px; color: var(--bronze-gold); }
.pull p { margin: 0; font-family: var(--font-display); font-style: italic; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.35; }
.story p:not([class]) { color: var(--steel-taupe); }

.tri { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; border-radius: 36px; overflow: hidden; }
.tri__col { position: relative; padding: 46px 34px 40px; overflow: hidden; }
.tri__col + .tri__col { border-left: 1px solid rgba(143, 131, 116, .25); }
.tri__word { position: absolute; right: -10px; bottom: -18px; font-family: var(--font-display); font-weight: 600; font-size: 92px; line-height: 1; color: var(--bg); text-shadow: 3px 3px 6px var(--lo), -3px -3px 6px var(--hi); pointer-events: none; }
.tri__icon { position: relative; width: 66px; height: 66px; border-radius: 22px; display: inline-flex; align-items: center; justify-content: center; font-size: 26px; color: var(--text-gold); margin-bottom: 22px; transition: transform .5s var(--ease-spring); }
.tri__col:hover .tri__icon { transform: rotate(-8deg) scale(1.06); }
.tri__title { position: relative; font-size: 30px; font-weight: 600; }
.tri__col p { position: relative; color: var(--steel-taupe); font-size: 15px; margin: 0; }

.stiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.stile { padding: 24px 22px; border-radius: 26px; transition: transform .4s var(--ease); }
.stile:hover { transform: translateY(-4px); }
.stile:hover .stile__icon { transform: rotate(-10deg); }
.stile--photo { grid-column: span 2; grid-row: span 2; padding: 12px; }
.stile__img { height: 100%; padding: 8px; border-radius: 20px; overflow: hidden; }
.stile__img img, .stile__img .nm-ph { height: 100%; min-height: 260px;max-height: 386px; border-radius: 14px; object-fit: cover; }
.stile__icon { width: 52px; height: 52px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; font-size: 21px; color: var(--text-gold); margin-bottom: 16px; transition: transform .4s var(--ease-spring); }
.stile__title { font-family: var(--font-sans); font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.stile p { font-size: 14px; color: var(--steel-taupe); margin: 0; line-height: 1.55; }

.duo { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-bottom: 40px; align-items: start; }
.duo__a, .duo__b { padding: 10px; border-radius: 26px; }
.duo__a img, .duo__b img, .duo__a .nm-ph, .duo__b .nm-ph { border-radius: 18px; aspect-ratio: 4 / 5; object-fit: cover; }
.duo__b { margin-top: 70px; }
.duo__badge { position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%); width: 66px; height: 66px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 26px; color: var(--bronze-gold); z-index: 2; }
.crew__points { display: grid; gap: 12px; margin: 24px 0 28px; }
.crew__points li { display: flex; gap: 14px; align-items: flex-start; padding: 14px 18px; border-radius: 18px; font-size: 14px; color: #CFC8BD; line-height: 1.55; }
.crew__points i { color: var(--bronze-gold); font-size: 20px; }
.crew__points strong { color: var(--warm-ivory); }

.pilltabs__bar { display: flex; gap: 6px; padding: 6px; border-radius: 99px; overflow-x: auto; scrollbar-width: none; max-width: 100%; width: fit-content; margin: 0 auto 30px; }
.pilltabs__bar::-webkit-scrollbar { display: none; }
.pilltabs__tab { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 10px 18px; border: 0; border-radius: 99px; background: transparent; font-size: 14px; font-weight: 600; color: var(--steel-taupe); cursor: pointer; white-space: nowrap; transition: all .3s var(--ease); }
.pilltabs__tab i { color: var(--text-gold); }
.pilltabs__tab[aria-selected="true"] { background: var(--bg); color: var(--near-black); box-shadow: var(--nm-out-sm); }
.pilltabs__panel { display: grid; grid-template-columns: 1.1fr 1fr; gap: 30px; align-items: center; padding: 14px; border-radius: 34px; }
.pilltabs__panel + .pilltabs__panel { margin-top: 24px; }
.js .pilltabs__panel + .pilltabs__panel { margin-top: 0; }
.pilltabs__img { padding: 8px; border-radius: 26px; overflow: hidden; }
.pilltabs__img img, .pilltabs__img .nm-ph { border-radius: 20px; aspect-ratio: 3 / 2; object-fit: cover; }
.pilltabs__body { padding: 10px 26px 10px 0; }
.pilltabs__body .nm-well { margin-bottom: 14px; }
.pilltabs__title { font-size: clamp(26px, 2.6vw, 34px); font-weight: 600; }
.pilltabs__body p { color: var(--steel-taupe); margin-bottom: 22px; }

.trays { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 54px; }
.tray { padding: 26px 24px; border-radius: 30px; }
.tray__title { display: flex; align-items: center; gap: 12px; font-family: var(--font-sans); font-size: 17px; font-weight: 600; margin-bottom: 18px; }
.tray__list { display: flex; flex-wrap: wrap; gap: 10px; }
.tray__list .nm-chip i { color: var(--text-gold); font-size: 12px; }
.trays__pin { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--bronze-gold); font-size: 20px; animation: bob 3s ease-in-out infinite; }
@keyframes bob { 0%, 100% { transform: translate(-50%, -50%); } 50% { transform: translate(-50%, -62%); } }

.knobfaq__inner { max-width: 860px; margin: 0 auto; }
.knobfaq__list { display: grid; gap: 14px; }
.knobfaq__item { border-radius: 99px; transition: border-radius .4s var(--ease), box-shadow .4s var(--ease); box-shadow: var(--nm-out-sm); background: var(--bg); }
.knobfaq__item.is-open { border-radius: 28px; box-shadow: var(--nm-in); }
.knobfaq__btn { padding: 10px 22px 10px 10px; gap: 16px; }
.knobfaq__knob { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 20px; font-weight: 600; color: var(--text-gold); box-shadow: var(--nm-out-sm); transition: all .35s var(--ease); }
.knobfaq__btn[aria-expanded="true"] .knobfaq__knob { background: var(--bronze-gold); color: var(--near-black); }
.knobfaq__chev { color: var(--text-gold); transition: transform .4s var(--ease); }
.knobfaq__btn[aria-expanded="true"] .knobfaq__chev { transform: rotate(180deg); }
.knobfaq__item .acc__inner p { padding: 0 30px 24px 70px; }

.fade-rev__box { max-width: 900px; margin: 0 auto; padding: clamp(28px, 5vw, 50px); border-radius: 38px; text-align: center; }
.fade-rev__top { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: 20px; }
.fade-rev__g { width: 78px; height: 78px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.fade-rev__title { font-size: clamp(26px, 3vw, 38px); margin: 0; }
.fade-rev__score { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 6px 0 0; }
.fade-rev__score strong { font-family: var(--font-display); font-size: 32px; }
.fade-rev__stage { position: relative; min-height: 180px; }
.fade-rev__slide { margin: 0; }
.js .fade-rev__slide[data-inactive] { display: none; }
.js .fade-rev__slide.is-entering { animation: panelIn .6s var(--ease) both; }
.fade-rev__slide .stars { justify-content: center; }
.fade-rev__slide blockquote p { font-family: var(--font-display); font-style: italic; font-size: clamp(20px, 2.4vw, 27px); line-height: 1.5; color: var(--near-black); }
.fade-rev__slide figcaption { font-size: 14px; color: var(--steel-taupe); }
.fade-rev__avatars { display: flex; justify-content: center; gap: 12px; margin: 22px 0 28px; }
.fade-rev__dot { width: 46px; height: 46px; border: 0; border-radius: 50%; font-family: var(--font-display); font-size: 19px; font-weight: 600; color: var(--text-gold); cursor: pointer; transition: all .3s var(--ease); }
.fade-rev__dot.is-active { box-shadow: var(--nm-in-sm), 0 0 0 2px var(--bronze-gold); }
.fade-rev__empty { color: var(--steel-taupe); }

.capsule-cta__box { position: relative; max-width: 980px; margin: 0 auto; padding: clamp(40px, 6vw, 70px) clamp(22px, 5vw, 60px); border-radius: 200px; text-align: center; overflow: hidden; }
.capsule-cta__box .lead-text { margin: 0 auto 28px; }
.capsule-cta__mono { position: absolute; left: -20px; top: -40px; font-family: var(--font-display); font-weight: 600; font-size: 200px; line-height: 1; color: var(--bg); text-shadow: 5px 5px 10px var(--lo), -5px -5px 10px var(--hi); pointer-events: none; }
.capsule-cta__box > *:not(.capsule-cta__mono) { position: relative; }
.capsule-cta__links { margin: 22px 0 0; display: flex; justify-content: center; gap: 12px; }

/* =============================================================================
   20. PAGE: CONTACT
   ============================================================================= */
.ct-hero { padding: 150px 0 80px; position: relative; overflow: hidden; }
.ct-hero__title { font-size: clamp(40px, 5.2vw, 64px); line-height: 1.05; margin-bottom: 18px; }
.ct-hero__title em { color: var(--text-gold); }
.ct-hero__response { display: inline-flex; gap: 10px; align-items: center; margin: 20px 0 0; padding: 12px 18px; border-radius: 99px; font-size: 14px; font-weight: 500; }
.ct-hero__response i { color: var(--text-gold); }
.dials-list { display: grid; gap: 18px; }
.cdial { display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; padding: 18px 22px 18px 18px; border-radius: 30px; color: var(--near-black); text-decoration: none; transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.cdial:hover, .cdial:focus-visible { box-shadow: var(--nm-in); color: var(--near-black); }
.cdial__knob { position: relative; width: 74px; height: 74px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 26px; color: var(--text-gold); background: var(--bg); box-shadow: var(--nm-out-sm), inset 0 0 0 8px var(--bg), inset 3px 3px 10px var(--lo); transition: transform .6s var(--ease-spring); }
.cdial:hover .cdial__knob { transform: rotate(-25deg); }
.cdial__knob--wa { color: var(--whatsapp); }
.cdial__text { display: flex; flex-direction: column; min-width: 0; }
.cdial__label { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); }
.cdial__value { font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.2; }
.cdial__value--email { font-size: clamp(18px, 1.9vw, 24px); }
.cdial__help { font-size: 13px; color: var(--steel-taupe); }
.cdial__go { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--nm-out-sm); transition: all .35s var(--ease); }
.cdial:hover .cdial__go { background: var(--bronze-gold); transform: rotate(45deg); }

.c-company { display: none; }
.c-company.is-shown, .no-js .c-company { display: block; }
.istack { display: grid; gap: 18px; }
.istack__card { padding: 24px; border-radius: 26px; }
.istack__card h3 { font-family: var(--font-sans); font-size: 17px; font-weight: 600; display: flex; gap: 10px; align-items: center; }
.istack__card h3 i { color: var(--text-gold); }
.istack__card p { font-size: 15px; color: var(--steel-taupe); }
.istack__card--gold { background: var(--bronze-gold); box-shadow: 10px 10px 24px var(--lo), -10px -10px 24px var(--hi); }
.istack__card--gold h3 { font-family: var(--font-display); font-size: 28px; color: var(--near-black); }
.istack__card--gold p { color: var(--near-black); }
.istack__card--gold .nm-btn { --bg: #B98A52; --lo: #8c6438; --hi: #d3a46c; box-shadow: 5px 5px 12px var(--lo), -5px -5px 12px var(--hi); }
.istack__small { display: flex; justify-content: space-between; align-items: center; gap: 14px; font-size: 13px; color: var(--steel-taupe); }
.istack__small p { margin: 0; }

.indicators { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; padding: 26px 28px; border-radius: 30px; }
.indicators li { display: flex; gap: 14px; align-items: center; font-weight: 500; color: var(--warm-ivory); font-size: 15px; }
.indicator { width: 14px; height: 14px; flex: none; border-radius: 50%; background: #3a3a3a; box-shadow: inset 1px 1px 2px #111; transition: background-color .4s, box-shadow .4s; transition-delay: calc(var(--i) * 160ms + .3s); }
.indicators.is-in .indicator, .no-js .indicator { background: var(--bronze-gold); box-shadow: 0 0 0 4px rgba(185, 138, 82, .18), 0 0 12px rgba(185, 138, 82, .6); }

.orbit { position: relative; width: min(520px, 100%); aspect-ratio: 1; margin: 0 auto; }
.orbit iframe{width: 100%; height: 100%;}
.orbit__ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; background: var(--bg); transform: translate(-50%, -50%); display: flex; justify-content: center; }
.orbit__ring--4 { width: 100%; height: 100%; box-shadow: var(--nm-out); }
.orbit__ring--3 { width: 78%; height: 78%; box-shadow: var(--nm-in); }
.orbit__ring--2 { width: 56%; height: 56%; box-shadow: var(--nm-out); }
.orbit__ring--1 { width: 34%; height: 34%; box-shadow: var(--nm-in); }
.orbit__tag { margin-top: 5%; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); }
.orbit__ring--4 .orbit__tag { margin-top: 3.5%; }
.orbit__ring--1 .orbit__tag { margin-top: 12%; font-size: 10px; }
.orbit__pin { position: absolute; left: 50%; top: 52%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; font-family: var(--font-display); font-size: 18px; font-weight: 600; }
.orbit__pin i { font-size: 30px; color: var(--bronze-gold); animation: bob2 2.6s ease-in-out infinite; }
@keyframes bob2 { 0%, 100% { transform: none; } 50% { transform: translateY(-6px); } }
.js .orbit .orbit__ring { opacity: 0; transform: translate(-50%, -50%) scale(.6); transition: opacity .7s var(--ease), transform .9s var(--ease-spring); }
.js .orbit.is-in .orbit__ring { opacity: 1; transform: translate(-50%, -50%); }
.js .orbit.is-in .orbit__ring--3 { transition-delay: .12s; }
.js .orbit.is-in .orbit__ring--2 { transition-delay: .24s; }
.js .orbit.is-in .orbit__ring--1 { transition-delay: .36s; }
.orbit-rows { display: grid; gap: 14px; margin: 22px 0 26px; }
.orbit-row { display: flex; gap: 16px; align-items: flex-start; }
.orbit-row__n { width: 38px; height: 38px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 18px; font-weight: 600; color: var(--text-gold); }
.orbit-row__title { font-family: var(--font-sans); font-size: 16px; font-weight: 600; margin: 6px 0 2px; }
.orbit-row p { margin: 0; font-size: 14px; color: var(--steel-taupe); }
.ct-map { margin-top: 20px; }
.ct-map__frame { margin-top: 14px; padding: 8px; border-radius: 22px; }
.ct-map__frame iframe { width: 100%; height: 320px; border: 0; border-radius: 16px; }

.ct-faq__head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; margin-bottom: 34px; }
.ct-faq__head .h-section { margin: 0; }
.faq-search { width: min(420px, 100%); }
.faq-search__box { display: flex; align-items: center; gap: 10px; padding: 6px 18px; border-radius: 99px; }
.faq-search__box i { color: var(--text-gold); }
.faq-search__box input { flex: 1; min-height: 44px; border: 0; background: transparent; font: 400 16px var(--font-sans); color: var(--near-black); outline: none; }
.faq-search__box:focus-within { box-shadow: var(--nm-in-sm), 0 0 0 2px var(--near-black); }
.faq-search__count { margin: 8px 0 0 18px; font-size: 13px; color: var(--steel-taupe); }
.sfaq { display: grid; gap: 14px; }
.sfaq__item { border-radius: 22px; }
.sfaq__item.is-open { box-shadow: var(--nm-in); }
.sfaq__item[hidden] { display: none; }
.sfaq .acc__btn { grid-template-columns: auto 1fr auto; }
.sfaq .acc__inner p { padding: 0 22px 14px 76px; }
.sfaq__link { padding-bottom: 20px !important; }
.sfaq__empty { padding: 20px; border-radius: 20px; margin-top: 14px; }
mark.hl { background: rgba(185, 138, 82, .3); color: inherit; padding: 0 2px; border-radius: 3px; }

.bubbles__g { width: 76px; height: 76px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.bubbles__score { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; color: var(--steel-taupe); }
.bubbles__score strong { font-family: var(--font-display); font-size: 30px; color: var(--near-black); }
.bubbles__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; align-items: start; }
.bubble:nth-child(2) { margin-top: 36px; }
.bubble__body { position: relative; margin: 0; padding: 24px; border-radius: 26px 26px 26px 6px; }
.bubble__body::after { content: ""; position: absolute; left: 22px; bottom: -14px; width: 28px; height: 16px; background: var(--bg); clip-path: polygon(0 0, 100% 0, 0 100%); }
.bubble__body p:last-child { margin: 0; font-size: 15px; line-height: 1.65; }
.bubble__who { display: flex; align-items: center; gap: 12px; margin: 26px 0 0 8px; }
.bubble__who > span:last-child { display: flex; flex-direction: column; font-size: 14px; }
.bubble__who small { color: var(--steel-taupe); font-size: 12px; }

/* =============================================================================
   21. PAGE: QUOTE
   ============================================================================= */
.qt-hero { padding: 140px 0 30px; }
.qt-hero__inner { max-width: 820px; }
.qt-hero__title { font-size: clamp(38px, 5vw, 60px); line-height: 1.06; margin-bottom: 14px; }
.qt-hero__title em { color: var(--text-gold); }
.qt-hero__pills { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.qt-hero__pills .nm-pill { font-size: 13px; }
.qt-wiz { padding: 30px 0 var(--space-8); }
.wiz { padding: clamp(18px, 3vw, 34px); border-radius: 34px; }
.wiz__prog { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 30px; }
.wiz__groove { position: absolute; left: 12.5%; right: 12.5%; top: 24px; height: 10px; border-radius: 10px; z-index: 0; list-style: none; }
.wiz__groove span { position: absolute; left: 2px; top: 2px; bottom: 2px; width: var(--prog, 0%); border-radius: 8px; background: var(--bronze-gold); transition: width .5s var(--ease); }
.wiz__dot { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.wiz__knob { position: relative; width: 58px; height: 58px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; color: var(--steel-taupe); background: var(--bg); box-shadow: var(--nm-out-sm); transition: all .4s var(--ease); }
.wiz__tick { display: none; }
.wiz__dot.is-current .wiz__knob { color: var(--text-gold); box-shadow: var(--nm-in-sm), 0 0 0 3px var(--bronze-gold); }
.wiz__dot.is-done .wiz__knob { background: var(--bronze-gold); color: var(--near-black); }
.wiz__dot.is-done .wiz__knob > i:first-child { display: none; }
.wiz__dot.is-done .wiz__tick { display: inline; }
.wiz__label { font-size: 12px; font-weight: 600; color: var(--steel-taupe); line-height: 1.3; }
.wiz__dot.is-current .wiz__label { color: var(--near-black); }
.qstep + .qstep { margin-top: 40px; padding-top: 30px; border-top: 1px solid rgba(143, 131, 116, .25); }
.js .qstep { display: none; }
.js .qstep.is-active { display: block; margin: 0; padding: 0; border: 0; animation: panelIn .5s var(--ease) both; }
.qstep__title { font-size: clamp(26px, 2.6vw, 34px); font-weight: 600; margin-bottom: 22px; outline: none; display: flex; flex-direction: column; }
.qstep__count { font-family: var(--font-sans); font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); margin-bottom: 4px; }
.qstep__intro { color: var(--steel-taupe); }
.jtypes { border: 0; padding: 0; margin: 0 0 24px; }
.jtypes legend { font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.jtypes__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.jtypes__input { position: absolute; opacity: 0; pointer-events: none; }
.jtype { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 10px; border-radius: 20px; background: var(--bg); box-shadow: var(--nm-out-sm); text-align: center; font-size: 13px; font-weight: 600; cursor: pointer; line-height: 1.3; transition: all .3s var(--ease); }
.jtype__icon { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; color: var(--text-gold); box-shadow: var(--nm-in-sm); transition: all .3s var(--ease); }
.jtype:hover { transform: translateY(-2px); }
.jtypes__input:checked + .jtype { box-shadow: var(--nm-in-sm), 0 0 0 2px var(--bronze-gold); transform: none; }
.jtypes__input:checked + .jtype .jtype__icon { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.jtypes__input:focus-visible + .jtype { outline: 2px solid var(--near-black); outline-offset: 3px; }
.jtypes.has-error .jtype { box-shadow: var(--nm-out-sm), 0 0 0 1px var(--error); }
.qdep { display: none; }
.qdep.is-shown, .no-js .qdep { display: block; }
.qdep-other { display: none; }
.qdep-other.is-shown, .no-js .qdep-other { display: block; }
.vias { display: grid; gap: 12px; }
.vias__inner { display: flex; gap: 10px; align-items: center; }
.vias__inner .nm-input { flex: 1; }
.vias__add { margin-top: 12px; min-height: 42px; padding: 8px 18px; letter-spacing: .08em; }
.stepper { display: flex; align-items: center; gap: 6px; padding: 6px; border-radius: 99px; }
.stepper__btn { width: 42px; height: 42px; flex: none; border: 0; border-radius: 50%; background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--near-black); cursor: pointer; transition: all .2s var(--ease); }
.stepper__btn:active { box-shadow: var(--nm-in-sm); }
.stepper__input { flex: 1; min-width: 0; height: 42px; border: 0; background: transparent; text-align: center; font: 600 18px var(--font-sans); color: var(--near-black); -moz-appearance: textfield; }
.stepper__input::-webkit-outer-spin-button, .stepper__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.stepper:focus-within { box-shadow: var(--nm-in-sm), 0 0 0 2px var(--near-black); }
.nm-field label i { color: var(--text-gold); }
.vpick { border: 0; padding: 0; margin: 26px 0; }
.vpick legend { font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.vpick__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.vpick__input { position: absolute; opacity: 0; pointer-events: none; }
.vpick__card { display: flex; flex-direction: column; gap: 4px; padding: 8px 8px 12px; border-radius: 20px; background: var(--bg); box-shadow: var(--nm-out-sm); cursor: pointer; text-align: center; transition: all .3s var(--ease); }
.vpick__thumb { display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 4 / 3; margin-bottom: 6px; }
.vpick__thumb img { width: 100%; height: 100%; object-fit: cover; }
.vpick__thumb--none { display: flex; align-items: center; justify-content: center; font-size: 26px; color: var(--text-gold); box-shadow: var(--nm-in-sm); }
.vpick__name { font-size: 13px; font-weight: 600; line-height: 1.25; }
.vpick__class { font-size: 11px; color: var(--steel-taupe); }
.vpick__input:checked + .vpick__card { box-shadow: var(--nm-in-sm), 0 0 0 2px var(--bronze-gold); }
.vpick__input:focus-visible + .vpick__card { outline: 2px solid var(--near-black); outline-offset: 3px; }
.qreview { display: grid; gap: 14px; }
.qreview__group { padding: 18px 20px; border-radius: 20px; box-shadow: var(--nm-in-sm); }
.qreview__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.qreview__head h3 { font-family: var(--font-sans); font-size: 15px; font-weight: 600; margin: 0; }
.qreview__edit { border: 0; background: none; color: var(--text-gold); font-weight: 600; text-decoration: underline; cursor: pointer; }
.qreview dl { display: grid; grid-template-columns: 150px 1fr; gap: 6px 14px; margin: 0; font-size: 14px; }
.qreview dt { color: var(--steel-taupe); }
.qreview dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.wiz__nav { margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(143, 131, 116, .25); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
.wiz__note { margin: 0; font-size: 13px; color: var(--steel-taupe); display: flex; gap: 8px; max-width: 360px; }
.js .wiz__nav [data-q-submit] { display: none; }
.js .wiz__nav.is-last [data-q-submit] { display: inline-flex; }
.js .wiz__nav.is-last [data-q-next] { display: none; }
.jcard { position: sticky; top: 110px; display: grid; gap: 18px; }
.jcard__panel { padding: 26px; border-radius: 30px; box-shadow: 14px 14px 30px #D0C5B5, -10px -10px 24px #FFFCF6; }
.jcard__title { font-family: var(--font-display); font-size: 26px; font-weight: 600; color: var(--warm-ivory); margin-bottom: 16px; }
.jcard__route { display: grid; grid-template-columns: 18px 1fr; gap: 14px; padding: 16px; border-radius: 20px; box-shadow: var(--nm-in-sm); }
.jcard__rail { display: flex; flex-direction: column; align-items: center; padding: 6px 0; }
.jcard__pin { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--bronze-gold); }
.jcard__pin--end { background: var(--bronze-gold); }
.jcard__line { flex: 1; width: 2px; margin: 4px 0; background-image: linear-gradient(var(--bronze-gold) 50%, transparent 50%); background-size: 2px 7px; }
.jcard__stops { display: grid; gap: 12px; margin: 0; }
.jcard dt { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--mist-grey); display: flex; gap: 6px; align-items: center; }
.jcard dt i { color: var(--bronze-gold); }
.jcard dd { margin: 2px 0 0; color: var(--warm-ivory); font-weight: 500; font-size: 15px; overflow-wrap: anywhere; }
.jcard dd.is-filled { animation: flash .6s var(--ease); }
@keyframes flash { from { color: var(--bronze-gold); } to { color: var(--warm-ivory); } }
.jcard__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0 0; }
.jcard__talk { padding: 24px; border-radius: 26px; }
.jcard__talk .jcard__talk-title { font-family: var(--font-display); font-size: 22px; font-weight: 600; margin-bottom: 4px; }
.jcard__talk p { font-size: 14px; color: var(--steel-taupe); }

.keys-faq { display: grid; gap: 14px; }
.keyq { border-radius: 22px; transition: box-shadow .4s var(--ease); }
.keyq[open] { box-shadow: var(--nm-in); }
.keyq summary { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 18px 22px; cursor: pointer; list-style: none; font-weight: 600; font-size: 16px; line-height: 1.4; }
.keyq summary::-webkit-details-marker { display: none; }
.keyq__n { font-family: var(--font-display); font-size: 22px; color: var(--text-gold); }
.keyq .nm-toggle span { transform: none; background: var(--clean-white); transition: transform .45s var(--ease-spring), background-color .3s; }
.keyq[open] .nm-toggle span { transform: translateX(18px); background: var(--bronze-gold); }
.keyq__a p { padding: 0 24px 22px 62px; margin: 0; color: var(--steel-taupe); font-size: 15px; }
.keyq[open] .keyq__a { animation: panelIn .45s var(--ease) both; }

.ribbon__box { padding: 28px; border-radius: 34px; }
.ribbon__head { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-bottom: 22px; }
.ribbon__head > div { flex: 1; min-width: 200px; }
.ribbon__g { width: 66px; height: 66px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.ribbon__title { font-size: clamp(24px, 2.6vw, 32px); margin: 0; }
.ribbon__score { display: flex; gap: 8px; align-items: center; margin: 4px 0 0; }
.ribbon__score strong { font-family: var(--font-display); font-size: 26px; }
.ribbon__sub { margin: 4px 0 0; color: var(--steel-taupe); }
.ribbon__list { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 6px 20px; margin: 0 -6px; scrollbar-width: thin; }
.ribbon__item { flex: 0 0 min(340px, 82%); scroll-snap-align: start; padding: 22px; border-radius: 24px; display: flex; flex-direction: column; }
.ribbon__item blockquote { margin: 0 0 14px; }
.ribbon__item blockquote p { margin: 0; font-size: 15px; line-height: 1.6; }
.ribbon__who { margin: auto 0 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; }
.ribbon__who span { color: var(--steel-taupe); }

.qt-talk { padding: 44px 0; }
.qt-talk__inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; }
.qt-talk__title { font-size: clamp(26px, 3vw, 36px); color: var(--warm-ivory); margin: 0; }
.qt-talk__links { display: flex; flex-wrap: wrap; gap: 12px; }

/* Inner-page responsive ---------------------------------------------------------- */
@media (max-width: 1199.98px) {
  .stiles { grid-template-columns: repeat(3, 1fr); }
  .vpick__grid { grid-template-columns: repeat(3, 1fr); }
  .console-bar { grid-template-columns: 1fr 1fr; }
  .console-bar__go { grid-column: 1 / -1; }
  .ticket__stages { grid-template-columns: repeat(3, 1fr); row-gap: 28px; }
  .ticket__stages::before { display: none; }
}
@media (max-width: 991.98px) {
  .fl-hero, .ab-hero, .ct-hero { padding-top: 128px; }
  .showroom__stage { aspect-ratio: 16 / 10; }
  .knob__disc { width: 84px; height: 84px; }
  .layers { margin-top: 30px; }
  .qcards { grid-template-columns: 1fr; }
  .months { grid-template-columns: repeat(3, 1fr); }
  .qa__grid { grid-template-columns: 1fr 1fr; }
  .rledger__aside { position: static; }
  .plan__box { grid-template-columns: 1fr; }
  .plan__img img { aspect-ratio: 16 / 10; }
  .ticket { grid-template-columns: 1fr; }
  .ticket__stub::before, .ticket__stub::after { display: none; }
  .tri { grid-template-columns: 1fr; }
  .tri__col + .tri__col { border-left: 0; border-top: 1px solid rgba(143, 131, 116, .25); }
  .stiles { grid-template-columns: 1fr 1fr; }
  .pilltabs__panel { grid-template-columns: 1fr; }
  .pilltabs__body { padding: 6px 0px 12px; }
  .pilltabs__body .nm-btn--gold{font-size: 12px;}
  .trays { grid-template-columns: 1fr; gap: 24px; }
  .trays__pin { display: none; }
  .bubbles__grid { grid-template-columns: 1fr 1fr; }
  .bubble:nth-child(2) { margin-top: 0; }
  .jcard { position: static; }
  .capsule-cta__box { border-radius: 60px; }
  .porthole, .porthole__in, .porthole__in img { border-radius: 60px 60px 24px 24px !important; }
  .porthole__in img, .porthole__in .nm-ph { aspect-ratio: 16 / 9; }
}
@media (max-width: 767.98px) {
  .fl-hero, .ab-hero, .ct-hero { padding: 108px 0 56px; }
  .ev-hero { padding: 92px 0 50px; }
  .showroom { padding: 10px; border-radius: 28px; }
  .showroom__stage { padding: 8px; border-radius: 22px; aspect-ratio: 4 / 3.4; }
  .showroom__slide { inset: 8px; border-radius: 16px; }
  .showroom__label { left: 10px; right: 10px; bottom: 10px; padding: 12px 14px; border-radius: 16px; }
  .showroom__line { display: none; }
  .showroom__note { display: none; }
  .knobs { grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 18px 0 6px; }
  .knob__disc { width: 64px; height: 64px; padding: 4px; }
  .knob__name { font-size: 15px; }
  .knob__class { display: none; }
  .layers__thumb { width: 38%; }
  .layers__thumb--a { right: -6px; }
  .layers--flip .layers__thumb--a { left: -6px; }
  .layers__num { font-size: 64px; top: -26px; }
  .slots { grid-template-columns: 1fr 1fr; }
  .panel { padding: 18px; border-radius: 26px; }
  .nm-seg--wide { flex-wrap: wrap; border-radius: 22px; }
  .nm-seg--wide label { flex: 1 1 30%; font-size: 12px; padding: 8px 6px; }
  .panel__car { grid-template-columns: 1fr; gap: 14px; }
  .spot { width: 28px; height: 28px; font-size: 12px; }
  .qcard .acc__inner p { padding: 0 18px 18px; }
  .spot-rev__lead { padding: 24px 20px; }
  .console-bar { grid-template-columns: 1fr; padding: 14px; border-radius: 24px; }
  .ev-frame { padding: 8px; border-radius: 28px; }
  .ev-frame__media { border-radius: 22px; min-height: 0; }
  .ev-frame__copy { padding: 22px 18px; }
  .ev-frame__shade { background: linear-gradient(180deg, rgba(20, 20, 20, .25) 0%, rgba(20, 20, 20, .85) 60%); }
  .ev-frame__intro { font-size: 15px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
  .ev-frame .btn-row .nm-btn { flex: 1 1 auto; min-height: 48px; padding: 10px 16px; }
  .next-up { margin: -30px 10px 0; }
  .months { grid-template-columns: 1fr 1fr; gap: 12px; }
  .month { padding: 14px; min-height: 120px; }
  .month__name { font-size: 22px; }
  .qa__grid { grid-template-columns: 1fr; }
  .versus__head { display: none; }
  .versus__row { grid-template-columns: 1fr; gap: 8px; }
  .versus__knob { display: none; }
  .ticket__stages { grid-template-columns: 1fr; }
  .ticket__main { padding: 26px 20px; }
  .ticket__stage { display: grid; grid-template-columns: 50px 1fr; column-gap: 14px; }
  .ticket__pin { grid-row: 1 / 4; margin: 0; }
  .wide-card { grid-template-columns: 1fr; }
  .wide-card__body { padding: 4px 8px 10px; }
  .rledger__list { padding: 4px 18px; }
  .rledger__row { grid-template-columns: 1fr; gap: 10px; }
  .ab-hero__disc { width: 320px; height: 320px; margin-left: -160px; top: 90px; }
  .ab-hero__disc span { font-size: 150px; }
  .porthole { padding: 8px; }
  .porthole__pills { position: static; transform: none; justify-content: center; flex-wrap: wrap; margin-top: 16px; white-space: normal; }
  .stiles { grid-template-columns: 1fr; }
  .stile--photo { grid-column: auto; grid-row: auto; }
  .duo__b { margin-top: 40px; }
  .pilltabs__bar { width: 100%; border-radius: 26px; }
  .knobfaq__item { border-radius: 26px; }
  .knobfaq__item .acc__inner p { padding: 0 20px 20px; }
  .capsule-cta__box { border-radius: 34px; }
  .capsule-cta__box .btn-row .nm-btn { flex: 1 1 100%; }
  .cdial { grid-template-columns: auto 1fr; padding: 14px; gap: 14px; }
  .cdial__knob { width: 58px; height: 58px; font-size: 22px; }
  .cdial__go { display: none; }
  .indicators { grid-template-columns: 1fr; }
  .sfaq .acc__btn { grid-template-columns: 1fr auto; }
  .sfaq__q-icon { display: none !important; }
  .sfaq .acc__inner p { padding: 0 18px 14px; }
  .bubbles__grid { grid-template-columns: 1fr; }
  .istack__small { flex-wrap: wrap; }
  .qt-hero { padding: 108px 0 20px; }
  .wiz { border-radius: 26px; }
  .wiz__knob { width: 46px; height: 46px; font-size: 17px; }
  .wiz__groove { top: 18px; }
  .wiz__label { font-size: 10px; }
  .jtypes__grid { grid-template-columns: 1fr 1fr; }
  .vpick__grid { grid-template-columns: 1fr 1fr; }
  .qreview dl { grid-template-columns: 1fr; gap: 2px; }
  .qreview dd { margin-bottom: 8px; }
  .wiz__nav .btn-row { width: 100%; }
  .wiz__nav .btn-row .nm-btn { flex: 1 1 auto; }
  .jcard__meta { grid-template-columns: 1fr; }
  .keyq summary { padding: 16px; gap: 12px; font-size: 15px; }
  .keyq__a p { padding: 0 18px 18px; }
  .ribbon__box { padding: 20px 14px; border-radius: 26px; }
  .qt-talk__links .nm-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .js .ring-step__fill { stroke-dashoffset: 0 !important; }
  .ev-frame__media img { animation: none !important; }
  .js .orbit .orbit__ring { opacity: 1 !important; transform: translate(-50%, -50%) !important; }
  .js .ticket .ticket__pin { animation: none !important; }
}
.crumbs--dark [aria-current="page"] { color: var(--logo-gold); }

/* =============================================================================
   22. PAGE: AIRPORT HUB  (/airport-transfers)
   ============================================================================= */
/* Plane direction helpers (bi-airplane points up-right) */
.ah-plane-out { display: inline-block; transform: rotate(45deg); }
.ah-plane-in { display: inline-block; transform: rotate(135deg); }

/* ---- H1 Departures-board console hero ---- */
.ah-hero { position: relative; padding: 140px 0 96px; }
.ah-hero__title { font-size: clamp(40px, 5.2vw, 66px); line-height: 1.04; margin: 0 0 20px; }
.ah-hero__title em { color: var(--text-gold); }
.ah-hero__intro { font-size: 18px; line-height: 1.7; color: var(--steel-taupe); max-width: 560px; margin-bottom: 30px; }
.ah-hero__notes { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 28px; font-size: 14px; font-weight: 500; color: var(--steel-taupe); }
.ah-hero__notes i { color: var(--text-gold); margin-right: 4px; }

.ah-board { padding: 18px; border-radius: 34px; }
.ah-board__bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 4px 10px 14px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--steel-taupe); }
.ah-board__label i { color: var(--text-gold); margin-right: 6px; }
.ah-board__clock { display: inline-flex; align-items: center; gap: 8px; }
.ah-board__clock time { color: var(--near-black); font-variant-numeric: tabular-nums; letter-spacing: .12em; }
.ah-board__led { width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 3px rgba(47, 107, 71, .18); }
.ah-board__screen { background: var(--jet-graphite); border-radius: 22px; padding: 6px 16px; box-shadow: inset 6px 6px 14px #0c0c0c, inset -4px -4px 10px #2c2c2c; }
.ah-board__table { width: 100%; border-collapse: collapse; }
.ah-board__table thead th { padding: 14px 10px 12px; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--mist-grey); text-align: left; border-bottom: 1px solid rgba(213, 200, 184, .18); }
.ah-board__row > * { padding: 13px 10px; border-bottom: 1px solid rgba(213, 200, 184, .18); vertical-align: middle; text-align: left; }
.ah-board__row:last-child > * { border-bottom: 0; }
.ah-board__row { position: relative; transition: background-color .25s var(--ease); }
.ah-board__row:hover, .ah-board__row:focus-within { background: rgba(213, 200, 184, .06); }
.ah-board__link { color: var(--warm-ivory); text-decoration: none; font-size: 15px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ah-board__link::after { content: ""; position: absolute; inset: 0; }
.ah-board__link:focus-visible { outline: none; }
.ah-board__row:focus-within { outline: 2px solid var(--bronze-gold); outline-offset: -2px; }
.ah-board__term { color: var(--mist-grey); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.ah-board__go { text-align: right !important; color: var(--bronze-gold); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
.ah-board__go i { display: inline-block; transition: transform .3s var(--ease); }
.ah-board__row:hover .ah-board__go i { transform: translateX(4px); }
.ah-board__foot { margin: 0; padding: 14px 10px 4px; font-size: 13px; color: var(--steel-taupe); }
.ah-board__foot i { color: var(--text-gold); margin-right: 4px; }

/* Split-flap tiles: transform + opacity only, once, no layout shift */
.flap__tiles { display: inline-flex; gap: 3px; perspective: 240px; }
.flap__t { position: relative; width: 26px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; background: #151515; color: var(--bronze-gold); font: 600 16px/1 var(--font-sans); font-variant-numeric: tabular-nums; box-shadow: 0 2px 3px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .05); backface-visibility: hidden; }
.flap__t::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(0, 0, 0, .6); }
 .flap__t { animation: flapIn .48s var(--ease) both; animation-delay: calc(var(--r, 0) * 70ms + var(--i, 0) * 55ms + 260ms); }
 .ah-board__row { animation: rise .55s var(--ease) both; animation-delay: calc(var(--r, 0) * 70ms + 180ms); }
@keyframes flapIn { 0% { transform: rotateX(-92deg); opacity: 0; } 65% { transform: rotateX(14deg); opacity: 1; } 100% { transform: none; opacity: 1; } }

/* ---- H2 Inclusions socket panel ---- */
.ah-sockets { display: grid; grid-template-columns: repeat(3, 1fr); padding: 8px; border-radius: 34px; }
.ah-sockets__cell { position: relative; padding: 34px 30px 32px; border-right: 1px solid var(--lo); border-bottom: 1px solid var(--lo); box-shadow: 1px 0 0 var(--hi), 0 1px 0 var(--hi); }
.ah-sockets__cell:nth-child(3n) { border-right: 0; box-shadow: 0 1px 0 var(--hi); }
.ah-sockets__cell:nth-child(n+4) { border-bottom: 0; box-shadow: 1px 0 0 var(--hi); }
.ah-sockets__cell:nth-child(6) { box-shadow: none; }
.ah-sockets__socket { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bg); box-shadow: var(--nm-in-sm); color: var(--text-gold); font-size: 25px; transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.ah-sockets__cell:hover .ah-sockets__socket { box-shadow: var(--nm-out-sm); transform: translateY(-3px); }
.ah-sockets__n { position: absolute; top: 28px; right: 28px; font-family: var(--font-display); font-size: 22px; font-weight: 600; color: var(--bg); text-shadow: -1px -1px 1px var(--hi), 1px 1px 2px var(--lo); }
.ah-sockets__title { font-family: var(--font-sans); font-size: 17px; font-weight: 600; margin: 20px 0 6px; }
.ah-sockets__cell p { margin: 0; font-size: 15px; color: var(--steel-taupe); }

/* ---- H3 Embossed-code airport cards ---- */
.ah-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.ah-code { display: flex; flex-direction: column; padding: 30px; border-radius: 30px; transition: box-shadow .4s var(--ease), transform .4s var(--ease); }
.ah-code:hover, .ah-code:focus-within { box-shadow: var(--nm-out-lg); transform: translateY(-4px); }
.ah-code__top { display: flex; gap: 22px; align-items: center; margin-bottom: 18px; }
.ah-code__iata { flex: none; font-family: var(--font-display); font-size: 72px; font-weight: 600; line-height: .9; letter-spacing: .02em; color: var(--bg); text-shadow: -2px -2px 2px var(--hi), 2px 2px 3px rgba(122, 90, 48, .32); transition: color .4s var(--ease); }
.ah-code:hover .ah-code__iata, .ah-code:focus-within .ah-code__iata { color: var(--bronze-gold); }
.ah-code__name { font-size: 30px; margin: 0 0 6px; }
.ah-code__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; color: var(--steel-taupe); }
.ah-code__meta i { color: var(--text-gold); margin-right: 3px; }
.ah-code__with { margin: 0; padding: 12px 16px; border-radius: 16px; box-shadow: var(--nm-in-sm); font-size: 14px; font-weight: 500; color: var(--near-black); }
.ah-code__with span { display: block; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); margin-bottom: 2px; }
.ah-code__sum { flex: 1; margin: 18px 0 22px; color: var(--steel-taupe); font-size: 15.5px; }
.ah-code__links { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; justify-content: space-between; }
.ah-code--wide { grid-column: 1 / -1; flex-direction: row; gap: 34px; align-items: stretch; }
.ah-code__media { flex: 0 0 46%; padding: 10px; border-radius: 24px; }
.ah-code__media .nm-img { height: 100%; aspect-ratio: 16 / 7; object-fit: cover; border-radius: 16px; }
.ah-code__body { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 6px 0; }

/* ---- H4 Arrivals / departures mirror around a flight line ---- */
.ah-mirror__grid { display: grid; grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr); grid-template-rows: auto repeat(4, auto); column-gap: 30px; row-gap: 22px; }
.ah-mirror__head { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; font-family: var(--font-sans); font-size: 14px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--near-black); }
.ah-mirror__head .nm-round { width: 46px; height: 46px; color: var(--text-gold); font-size: 18px; }
.ah-mirror__head--in { grid-column: 1; grid-row: 1; justify-content: flex-end; }
.ah-mirror__head--out { grid-column: 3; grid-row: 1; }
.ah-mirror__list { grid-row: 2 / span 4; display: grid; grid-template-rows: subgrid; }
.ah-mirror__list--in { grid-column: 1; }
.ah-mirror__list--out { grid-column: 3; }
.ah-mirror__step { position: relative; padding: 22px 26px; border-radius: 24px; }
.ah-mirror__list--in .ah-mirror__step { text-align: right; }
.ah-mirror__step::after { content: ""; position: absolute; top: 50%; width: 30px; border-top: 2px dashed rgba(122, 90, 48, .35); }
.ah-mirror__list--in .ah-mirror__step::after { right: -30px; }
.ah-mirror__list--out .ah-mirror__step::after { left: -30px; }
.ah-mirror__no { font-size: 12px; font-weight: 600; letter-spacing: .2em; color: var(--text-gold); }
.ah-mirror__step h4 { font-family: var(--font-sans); font-size: 17px; font-weight: 600; margin: 6px 0; }
.ah-mirror__step p { margin: 0; font-size: 15px; color: var(--steel-taupe); }
.ah-mirror__line { position: relative; grid-column: 2; grid-row: 2 / span 4; display: grid; grid-template-rows: subgrid; justify-items: center; align-items: center; }
.ah-mirror__groove { position: absolute; top: 0; bottom: 0; left: 50%; width: 12px; margin-left: -6px; border-radius: 99px; overflow: hidden; }
.ah-mirror__fill { position: absolute; left: 3px; right: 3px; top: 3px; height: calc(var(--p, 0) * (100% - 6px)); border-radius: 99px; background: var(--bronze-gold); }
.ah-mirror__node { position: relative; z-index: 1; width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bg); box-shadow: var(--nm-out-sm); font-family: var(--font-display); font-size: 21px; font-weight: 600; color: var(--steel-taupe); transition: background-color .4s var(--ease), color .4s var(--ease); }
.ah-mirror__node.is-lit { background: var(--bronze-gold); color: var(--near-black); }
.ah-mirror__jet { position: absolute; z-index: 2; left: 50%; top: calc(var(--p, 0) * 100%); width: 36px; height: 36px; margin: -18px 0 0 -18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--near-black); color: var(--bronze-gold); font-size: 15px; box-shadow: 0 6px 14px rgba(0, 0, 0, .25); }
.ah-mirror__jet i { transform: rotate(180deg); }
.no-js .ah-mirror__jet { display: none; }

/* ---- H5 Head-to-head vehicles ---- */
.ah-h2h__well { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 60px; padding: 28px; border-radius: 40px; }
.ah-h2h__well--one { grid-template-columns: minmax(0, 560px); justify-content: center; }
.ah-h2h__or { position: absolute; z-index: 2; left: 50%; top: 50%; width: 66px; height: 66px; margin: -33px 0 0 -33px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 28px; font-style: italic; font-weight: 600; color: var(--text-gold); }
.ah-h2h__half { padding: 18px 18px 26px; border-radius: 30px; }
.ah-h2h__img { padding: 8px; border-radius: 22px; }
.ah-h2h__img .nm-img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.ah-h2h__class { margin: 22px 8px 4px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.ah-h2h__name { margin: 0 8px 12px; font-size: clamp(26px, 2.6vw, 32px); }
.ah-h2h__best { margin: 0 8px 14px; color: var(--steel-taupe); }
.ah-h2h__best span { display: inline-block; margin-right: 6px; padding: 2px 10px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); }
.ah-h2h__points { display: grid; gap: 6px; margin: 0 8px 22px; font-size: 15px; }
.ah-h2h__points i { color: var(--text-gold); margin-right: 6px; }
.ah-h2h__half .btn-row { margin: 0 8px; }
.ah-h2h__more { margin: 34px auto 0; max-width: 720px; text-align: center; color: var(--steel-taupe); }

/* ---- H6 Route cloud ---- */
.ah-cloud__row { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 32px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--lo); box-shadow: 0 1px 0 var(--hi); }
.ah-cloud__row:last-child { border-bottom: 0; box-shadow: none; }
.ah-cloud__puck { width: 132px; height: 132px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-decoration: none; color: var(--near-black); transition: box-shadow .3s var(--ease); }
.ah-cloud__puck:hover { box-shadow: var(--nm-in); color: var(--near-black); }
.ah-cloud__code { font-family: var(--font-display); font-size: 36px; font-weight: 600; line-height: 1; color: var(--text-gold); }
.ah-cloud__name { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; text-align: center; padding: 0 8px; }
.ah-cloud__chips { display: flex; flex-wrap: wrap; gap: 12px; }
.ah-cloud__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--near-black); font-size: 14px; font-weight: 500; text-decoration: none; transition: box-shadow .25s var(--ease), color .25s var(--ease); }
.ah-cloud__chip i { font-size: 12px; color: var(--text-gold); }
.ah-cloud__chip:hover, .ah-cloud__chip:focus-visible { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ah-cloud__more { margin: 30px 0 0; color: var(--steel-taupe); }
.ah-cloud__more a { font-weight: 600; }

/* ---- H7 FAQ with filter chips ---- */
.ah-faq__filters { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 30px; }
.ah-faq__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 7px; border-radius: 30px; background: var(--bg); box-shadow: var(--nm-in-sm); }
.ah-faq__chip { min-height: 44px; padding: 10px 18px; border: 0; border-radius: var(--r-pill); background: transparent; font-size: 14px; font-weight: 600; color: var(--steel-taupe); cursor: pointer; transition: box-shadow .3s var(--ease), color .3s var(--ease); }
.ah-faq__chip:hover { color: var(--near-black); }
.ah-faq__chip[aria-pressed="true"] { background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--near-black); }
.ah-faq__count { margin: 0; font-size: 13px; color: var(--steel-taupe); }
.ah-faq__panel { max-width: 920px; margin: 0 auto; padding: 8px 34px; border-radius: 34px; }
.ah-faq__item[hidden] { display: none; }
.ah-faq .drawer__item + .drawer__item { border-top: 0; }
.ah-faq__item:not([hidden]) ~ .ah-faq__item:not([hidden]) { border-top: 1px solid var(--lo); box-shadow: inset 0 1px 0 var(--hi); }
.ah-faq__h { margin: 0; font-family: var(--font-sans); }
.ah-faq .ah-faq__btn { padding: 22px 0; gap: 16px; font-size: 17px; }
.ah-faq__q { flex: 1; }
.ah-faq__tag { flex: none; padding: 4px 12px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); white-space: nowrap; }
.ah-faq__icon { flex: none; width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--near-black); transition: background-color .3s var(--ease); }
.ah-faq__icon i { transition: transform .4s var(--ease); }
.ah-faq__btn[aria-expanded="true"] .ah-faq__icon { background: var(--bronze-gold); }
.ah-faq__btn[aria-expanded="true"] .ah-faq__icon i { transform: rotate(180deg); }
.ah-faq .acc__inner p { margin: 0; padding: 0 60px 22px 0; color: var(--steel-taupe); max-width: 760px; }
.no-js .ah-faq .acc__panel, .no-js .ap-faq .acc__panel { grid-template-rows: 1fr; }
.ah-faq__more { margin: 30px auto 0; text-align: center; color: var(--steel-taupe); }

/* ---- H8 Google reviews: card deck ---- */
.ah-deck__intro .h-section { margin-bottom: 24px; }
.ah-deck__score { display: flex; gap: 18px; align-items: center; margin-bottom: 26px; }
.ah-deck__g { width: 72px; height: 72px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.ah-deck__score p { margin: 0; color: var(--steel-taupe); }
.ah-deck__score strong { font-family: var(--font-display); font-size: 46px; line-height: 1; color: var(--near-black); margin-right: 8px; }
.ah-deck__wrap { position: relative; padding: 24px 40px 0 0; }
.ah-deck__cards { display: grid; }
.ah-deck__card { grid-area: 1 / 1; position: relative; padding: 42px 36px 30px; border-radius: 32px; transition: transform .7s var(--ease), opacity .5s var(--ease); transform-origin: 50% 100%; }
.js .ah-deck__card[data-pos="0"] { z-index: 4; }
.js .ah-deck__card[data-pos="1"] { z-index: 3; transform: translate(18px, 16px) rotate(2.2deg) scale(.97); }
.js .ah-deck__card[data-pos="2"] { z-index: 2; transform: translate(34px, 30px) rotate(4.2deg) scale(.94); }
.js .ah-deck__card:not([data-pos="0"]):not([data-pos="1"]):not([data-pos="2"]) { z-index: 1; opacity: 0; transform: translate(40px, 36px) rotate(5deg) scale(.92); }
.js .ah-deck__card:not([data-pos="0"]) > * { opacity: .25; transition: opacity .4s var(--ease); }
.js .ah-deck__card.is-tossed { animation: toss .55s var(--ease); }
@keyframes toss { 40% { transform: translate(-46%, -6%) rotate(-7deg); opacity: .9; } 100% { opacity: 1; } }
.no-js .ah-deck__card { grid-area: auto; }
.no-js .ah-deck__cards { gap: 22px; }
.ah-deck__quote { position: absolute; top: -24px; left: 32px; width: 50px; height: 50px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bronze-gold); color: var(--near-black); font-size: 26px; box-shadow: var(--nm-out-sm); }
.ah-deck__text { margin: 0 0 22px; }
.ah-deck__text p { margin: 0; font-family: var(--font-display); font-size: 23px; line-height: 1.45; color: var(--near-black); }
.ah-deck__who { display: flex; align-items: center; gap: 14px; margin: 0; }
.ah-deck__who > span:not(.ah-deck__avatar) { display: flex; flex-direction: column; line-height: 1.35; }
.ah-deck__who small { color: var(--steel-taupe); font-size: 13px; }
.ah-deck__who .g-mark { margin-left: auto; }
.ah-deck__avatar { width: 48px; height: 48px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 20px; font-weight: 600; color: var(--text-gold); }
.ah-deck__nav { display: flex; align-items: center; gap: 16px; margin-top: 52px; }
.ah-deck__btn { width: 50px; height: 50px; border: 0; cursor: pointer; }
.ah-deck__btn:hover { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ah-deck__count { margin: 0; font-family: var(--font-display); font-size: 22px; font-weight: 600; min-width: 56px; text-align: center; }

/* ---- H9 Quick quote (dark) ---- */
.ah-quote__form { max-width: 1060px; margin: 0 auto; padding: 26px; border-radius: 36px; }
.ah-quote__dir { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 0 22px; padding: 0; border: 0; min-width: 0; }
.ah-quote__dir input { position: absolute; opacity: 0; pointer-events: none; }
.ah-quote__dir label { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-radius: 24px; background: var(--bg); box-shadow: var(--nm-out-sm); cursor: pointer; transition: box-shadow .3s var(--ease); }
.ah-quote__dir label strong { display: block; color: var(--warm-ivory); font-size: 16px; }
.ah-quote__dir label small { display: block; color: var(--mist-grey); font-size: 13px; }
.ah-quote__dir-ic { width: 48px; height: 48px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--bronze-gold); font-size: 18px; transition: background-color .3s var(--ease), color .3s var(--ease); }
.ah-quote__dir input:checked + label { box-shadow: var(--nm-in); }
.ah-quote__dir input:checked + label .ah-quote__dir-ic { background: var(--bronze-gold); color: var(--near-black); }
.ah-quote__dir input:focus-visible + label { outline: 2px solid var(--bronze-gold); outline-offset: 3px; }
.ah-quote__fields { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, .8fr) auto; gap: 14px; align-items: start; }
.ah-quote__field label { display: flex; gap: 6px; align-items: center; margin-bottom: 8px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--mist-grey); }
.ah-quote__field label i { color: var(--bronze-gold); }
.ah-quote .nm-input, .ap-mini .nm-input { min-height: 52px; }
.ah-quote .nm-input { background-color: #262626; color: var(--warm-ivory); border-color: rgba(213, 200, 184, .2); box-shadow: inset 3px 3px 7px #121212, inset -3px -3px 7px #333; color-scheme: dark; }
.ah-quote .nm-input:focus { box-shadow: 0 0 0 2px var(--bronze-gold); }
.ah-quote select.nm-input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23B98A52' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.ah-quote .has-error .nm-input { border-color: #E8A398; }
.ah-quote .field-error { color: #E8A398; }   /* lighter error tone for contrast on graphite */
.ah-quote__go { margin-top: 26px; min-height: 52px; }
.ah-quote__alt { margin: 26px 0 0; text-align: center; color: var(--mist-grey); }
.ah-quote__alt a { color: var(--bronze-gold); font-weight: 600; }

/* =============================================================================
   23. PAGE: AIRPORT (shared airport layout: Heathrow … Private jet terminals)
   ============================================================================= */
/* ---- P1 Embossed-code hero, aircraft window, mini quote ---- */
.ap-hero { position: relative; padding: 138px 0 92px; overflow: hidden; }
.ap-hero > .container { position: relative; z-index: 1; }
.ap-hero__code { position: absolute; z-index: 0; top: 92px; left: max(4px, calc(50% - 620px)); font-family: var(--font-display); font-size: clamp(120px, 18vw, 260px); font-weight: 600; line-height: 1; letter-spacing: .04em; color: var(--bg); text-shadow: -3px -3px 6px var(--hi), 4px 4px 9px var(--lo); opacity: .75; pointer-events: none; user-select: none; }
.ap-hero__title { font-size: clamp(38px, 5vw, 62px); line-height: 1.05; margin: 0 0 18px; max-width: 15ch; }
.ap-hero__intro { font-size: 18px; line-height: 1.7; color: var(--steel-taupe); max-width: 610px; margin-bottom: 28px; }
.ap-hero__trust { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; margin: 16px 0 0 6px; font-size: 13px; color: var(--steel-taupe); }
.ap-hero__trust i { color: var(--text-gold); margin-right: 4px; }
.ap-hero__trust span { white-space: nowrap; }
.ap-car__model { white-space: nowrap; }

.ap-window { position: relative; max-width: 450px; margin-left: auto; padding: 16px; border-radius: 46% / 36%; }
.ap-window__pane { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 44% / 34%; background: var(--light-oat); }
.ap-window__pane .nm-img { width: 100%; height: 100%; object-fit: cover; }
.ap-window__pane::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 8px 8px 18px rgba(0, 0, 0, .35), inset -5px -5px 14px rgba(255, 255, 255, .25); pointer-events: none; }
.js .ap-window__pane::before { content: ""; position: absolute; z-index: 2; inset: 0; background: var(--light-oat); border-bottom: 6px solid var(--sand-line); transform-origin: 50% 0; transition: transform 1.3s var(--ease) .55s; }
 .ap-window__pane::before { transform: scaleY(0); }
.ap-window__tag { position: absolute; z-index: 3; left: -22px; bottom: 54px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: var(--r-pill); font-size: 13px; font-weight: 600; color: var(--near-black); }
.ap-window__tag i { color: var(--text-gold); }

.ap-mini { display: flex; flex-wrap: wrap; gap: 10px; max-width: 660px; padding: 10px; border-radius: 30px; }
.ap-flip { position: relative; display: grid; grid-template-columns: 1fr 1fr; flex: 1 1 100%; min-width: 0; margin: 0; padding: 5px; border: 0; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-in-sm); }
.ap-flip input { position: absolute; opacity: 0; pointer-events: none; }
.ap-flip label { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border-radius: var(--r-pill); font-size: 14px; font-weight: 600; color: var(--steel-taupe); text-align: center; cursor: pointer; transition: color .3s var(--ease); }
.ap-flip input:checked + label { color: var(--near-black); }
.ap-flip input:focus-visible + label { outline: 2px solid var(--near-black); outline-offset: 2px; }
.ap-flip__knob { position: absolute; z-index: 0; top: 5px; bottom: 5px; left: 5px; width: calc(50% - 5px); border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); transition: transform .5s var(--ease-spring); }
.ap-flip input:nth-of-type(2):checked ~ .ap-flip__knob { transform: translateX(100%); }
.ap-mini__fields { display: flex; flex-wrap: wrap; gap: 10px; flex: 1 1 100%; align-items: flex-end; }
.ap-mini__field { flex: 1 1 170px; min-width: 0; }
.ap-mini__field label { display: block; margin: 0 0 6px 16px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--steel-taupe); }
.ap-mini .nm-input { border-radius: var(--r-pill); }
.ap-mini__go { flex: none; min-height: 52px; }

/* ---- P2 Overview, direct answer, luggage tag ---- */
.ap-answer { position: relative; margin: 6px 0 28px; padding: 26px 28px; border-radius: 26px; }
.ap-answer__label { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.ap-answer p { margin: 0; font-size: 18px; line-height: 1.7; color: var(--near-black); }
.ap-over__copy p { color: var(--steel-taupe); max-width: 680px; }
.ap-over__copy a { font-weight: 600; }
.ap-tag { position: relative; margin-top: 58px; filter: drop-shadow(8px 8px 14px var(--lo)) drop-shadow(-8px -8px 14px var(--hi)); }
.ap-tag__string { position: absolute; z-index: 2; top: -54px; left: 50%; width: 120px; height: 70px; margin-left: -60px; overflow: visible; }
.ap-tag__string path { fill: none; stroke: var(--bronze-gold); stroke-width: 2.5; stroke-linecap: round; }
.ap-tag__body { position: relative; padding: 70px 30px 28px; background: var(--bg); clip-path: polygon(64px 0, calc(100% - 64px) 0, 100% 52px, 100% 100%, 0 100%, 0 52px); }
.ap-tag__hole { position: absolute; top: 18px; left: 50%; width: 26px; height: 26px; margin-left: -13px; border-radius: 50%; background: var(--bg); box-shadow: inset 3px 3px 6px var(--lo), inset -3px -3px 6px var(--hi); }
.ap-tag__code { margin: 0; text-align: center; font-family: var(--font-display); font-size: 56px; font-weight: 600; line-height: 1; letter-spacing: .06em; color: transparent; -webkit-text-stroke: 1.2px var(--text-gold); }
.ap-tag__title { margin: 6px 0 16px; text-align: center; font-size: 26px; }
.ap-tag__list { margin: 0; }
.ap-tag__list div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-top: 1px dashed rgba(143, 131, 116, .5); }
.ap-tag__list dt { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); padding-top: 2px; }
.ap-tag__list dd { margin: 0; font-size: 14px; font-weight: 500; color: var(--near-black); }

/* ---- P3 Terminal guide: sliding-puck selector ---- */
.ap-term__track { position: relative; display: inline-flex; gap: 4px; max-width: 100%; margin-bottom: 26px; padding: 6px; border-radius: var(--r-pill); overflow-x: auto; scrollbar-width: none; }
.ap-term__track::-webkit-scrollbar { display: none; }
.ap-term__tab { position: relative; z-index: 1; flex: none; min-width: 76px; min-height: 48px; padding: 10px 22px; border: 0; border-radius: var(--r-pill); background: transparent; font-size: 15px; font-weight: 600; color: var(--steel-taupe); white-space: nowrap; cursor: pointer; transition: color .3s var(--ease); }
.ap-term__tab[aria-selected="true"] { color: var(--near-black); }
.ap-term__track:not(.has-puck) .ap-term__tab[aria-selected="true"] { background: var(--bg); box-shadow: var(--nm-out-sm); }
.ap-term__puck { position: absolute; z-index: 0; top: 0; left: 0; width: var(--w, 0); height: var(--h, 0); transform: translate(var(--x, 0), var(--y, 0)); border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); transition: transform .5s var(--ease-spring), width .4s var(--ease); }
.no-js .ap-term__track { display: none; }
.js .ap-term__panel[data-inactive] { display: none; }
.js .ap-term__panel.is-entering { animation: panelIn .55s var(--ease) both; }
.no-js .ap-term__panel + .ap-term__panel { margin-top: 24px; }
.ap-term__panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 34px; padding: 34px; border-radius: 32px; }
.ap-term__badge { width: 60px; height: 60px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; font-family: var(--font-display); font-size: 22px; font-weight: 600; color: var(--text-gold); }
.ap-term__name { font-size: clamp(26px, 2.6vw, 32px); margin: 0 0 10px; }
.ap-term__intro p { color: var(--steel-taupe); }
.ap-term__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-content: start; }
.ap-term__cols--cta { grid-template-columns: 1fr; align-content: center; justify-items: start; }
.ap-term__col { padding: 22px; border-radius: 22px; }
.ap-term__col h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-family: var(--font-sans); font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.ap-term__col li { display: flex; gap: 8px; margin-bottom: 8px; font-size: 15px; line-height: 1.5; }
.ap-term__col li:last-child { margin-bottom: 0; }
.ap-term__col li i { color: var(--text-gold); flex: none; }
.ap-term__note { grid-column: 1 / -1; margin: 0; padding-top: 18px; border-top: 1px solid var(--lo); box-shadow: inset 0 1px 0 var(--hi); font-size: 14px; color: var(--steel-taupe); }
.ap-term__note i { color: var(--text-gold); margin-right: 4px; }
.ap-extra { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; align-items: center; margin-top: 30px; padding: 24px 28px; border-radius: 28px; }
.ap-extra__icon { width: 60px; height: 60px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 24px; }
.ap-extra__title { font-size: 24px; margin: 0 0 4px; }
.ap-extra p { margin: 0; color: var(--steel-taupe); }
.ap-extra__links { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---- P4 Popular journeys: radar + destination list ---- */
.ap-routes__map { position: sticky; top: 120px; }
.ap-radar { position: relative; aspect-ratio: 1; max-width: 440px; margin: 0 auto; border-radius: 50%; }
.ap-radar svg { display: block; width: 100%; height: 100%; }
.ap-radar__ring { fill: none; stroke: rgba(122, 90, 48, .28); stroke-width: 1.2; stroke-dasharray: 3 6; }
.ap-radar__path { fill: none; stroke: var(--bronze-gold); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-width .25s var(--ease); }
.js .ap-radar__path { stroke-dashoffset: 1; transition: stroke-dashoffset 1s var(--ease) calc(var(--k) * 110ms + .2s), stroke-width .25s var(--ease); }
.js .ap-radar.is-in .ap-radar__path { stroke-dashoffset: 0; }
.ap-radar__path.is-on { stroke-width: 4; }
.ap-radar__pin circle { fill: var(--clean-white); stroke: var(--bronze-gold); stroke-width: 2; transition: fill .25s var(--ease); }
.ap-radar__pin text { font: 600 12px var(--font-sans); fill: var(--near-black); text-anchor: middle; }
.js .ap-radar__pin { opacity: 0; transition: opacity .4s var(--ease) calc(var(--k) * 110ms + .8s); }
.js .ap-radar.is-in .ap-radar__pin { opacity: 1; }
.ap-radar__pin.is-on circle { fill: var(--bronze-gold); }
.ap-radar__hub { position: absolute; left: 50%; top: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 26px; font-weight: 600; color: var(--text-gold); }
.ap-radar__hub::after { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid var(--bronze-gold); opacity: 0; animation: ring 3s var(--ease) infinite; }
.ap-dest { padding: 8px 26px; border-radius: 30px; }
.ap-dest__row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--lo); box-shadow: 0 1px 0 var(--hi); }
.ap-dest__row:last-child { border-bottom: 0; box-shadow: none; }
.ap-dest__n { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: var(--text-gold); transition: background-color .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease); }
.ap-dest__row.is-on .ap-dest__n { background: var(--bronze-gold); color: var(--near-black); box-shadow: var(--nm-out-sm); }
.ap-dest__name { display: block; font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.2; color: var(--near-black); text-decoration: none; }
a.ap-dest__name:hover { color: var(--text-gold); text-decoration: underline; }
.ap-dest__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 4px; }
.ap-dest__area { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--steel-taupe); }
.ap-dest__car, .ap-dest__time { padding: 2px 10px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); font-size: 12px; font-weight: 600; color: var(--near-black); }
.ap-dest__car i, .ap-dest__time i { color: var(--text-gold); }
.ap-dest__go { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 16px; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--near-black); text-decoration: none; white-space: nowrap; transition: box-shadow .25s var(--ease), color .25s var(--ease); }
.ap-dest__go:hover, .ap-dest__go:focus-visible { box-shadow: var(--nm-in-sm); color: var(--text-gold); }

/* ---- P5 Included + recommended vehicles ---- */
.ap-keys { display: grid; gap: 14px; margin-top: 8px; }
.ap-keys__item { display: flex; gap: 16px; align-items: flex-start; padding: 14px 18px 14px 14px; border-radius: 22px; box-shadow: var(--nm-in-sm); font-size: 15px; color: var(--steel-taupe); }
.ap-keys__item strong { display: block; font-size: 16px; color: var(--near-black); }
.ap-keys__cap { width: 48px; height: 48px; flex: none; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 20px; }
.ap-cars { display: grid; gap: 18px; padding: 26px; border-radius: 34px; }
.ap-cars__label { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.ap-car { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 20px; align-items: center; padding: 14px; border-radius: 24px; }
.ap-car__thumb { padding: 6px; border-radius: 18px; }
.ap-car__thumb .nm-img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 13px; }
.ap-car__name { font-size: 24px; margin: 0 0 4px; }
.ap-car__name small { display: inline-block; margin-left: 6px; vertical-align: middle; font: 600 11px var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); }
.ap-car__body p { margin: 0 0 8px; font-size: 15px; color: var(--steel-taupe); }
.ap-cars__corp { display: flex; align-items: center; gap: 12px; padding: 6px 4px 0; font-size: 15px; font-weight: 600; color: var(--near-black); text-decoration: none; }
.ap-cars__corp > .bi { margin-left: auto; color: var(--text-gold); transition: transform .25s var(--ease); }
.ap-cars__corp:hover { color: var(--text-gold); }
.ap-cars__corp:hover > .bi { transform: translateX(4px); }

/* ---- P6 Travel tips: numbered field notes (dark) ---- */
.ap-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 10px; border-radius: 32px; box-shadow: var(--nm-in); }
.ap-notes__item { padding: 30px 30px 32px; border-right: 1px solid rgba(213, 200, 184, .18); border-bottom: 1px solid rgba(213, 200, 184, .18); }
.ap-notes__item:nth-child(3n) { border-right: 0; }
.ap-notes__item:nth-last-child(-n+3):nth-child(3n+1), .ap-notes__item:nth-last-child(-n+3):nth-child(3n+1) ~ .ap-notes__item { border-bottom: 0; }
.ap-notes__n { display: block; margin-bottom: 14px; font-family: var(--font-display); font-size: 56px; font-weight: 600; line-height: 1; color: transparent; -webkit-text-stroke: 1.4px var(--bronze-gold); transition: color .4s var(--ease); }
.ap-notes__item:hover .ap-notes__n { color: var(--bronze-gold); }
.ap-notes__title { margin: 0 0 8px; font-family: var(--font-sans); font-size: 17px; font-weight: 600; color: var(--warm-ivory); }
.ap-notes__item p { margin: 0; font-size: 15px; color: var(--mist-grey); }

/* ---- P7 FAQs: featured answer + perforated accordion ---- */
.ap-faq__lead { position: relative; height: 100%; padding: 34px 34px 32px 42px; border-radius: 30px; }
.ap-faq__lead::before { content: ""; position: absolute; left: 0; top: 32px; bottom: 32px; width: 3px; background: var(--bronze-gold); }
.ap-faq__badge { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 18px; padding: 6px 12px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.ap-faq__lead-q { font-size: 28px; line-height: 1.2; margin: 0 0 14px; }
.ap-faq__lead p { margin: 0; font-size: 17.5px; line-height: 1.7; color: var(--steel-taupe); }
.ap-faq__list { padding: 6px 26px; border-radius: 30px; box-shadow: var(--nm-in); }
.ap-faq .drawer__item + .drawer__item { border-top: 1px dashed rgba(143, 131, 116, .5); }
.ap-faq__h { margin: 0; font-family: var(--font-sans); }
.ap-faq .ap-faq__btn { padding: 20px 0; gap: 16px; font-size: 16.5px; }
.ap-faq__q { flex: 1; }
.ap-faq__icon { width: 40px; height: 40px; flex: none; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; color: var(--near-black); transition: background-color .3s var(--ease); }
.ap-faq__icon i { transition: transform .4s var(--ease); }
.ap-faq__btn[aria-expanded="true"] .ap-faq__icon { background: var(--bronze-gold); }
.ap-faq__btn[aria-expanded="true"] .ap-faq__icon i { transform: rotate(45deg); }
.ap-faq .acc__inner p { margin: 0; padding: 0 56px 20px 0; color: var(--steel-taupe); }
.ap-reviewed { margin: 36px 0 0; text-align: center; font-size: 13px; color: var(--steel-taupe); }
.ap-reviewed i { color: var(--text-gold); margin-right: 4px; }

/* ---- P8 Google reviews: score dial + postcards ---- */
.ap-dial { width: min(240px, 66vw); margin-bottom: 30px; }
.ap-dial__ring { position: relative; aspect-ratio: 1; padding: 18px; border-radius: 50%; }
.ap-dial__ring::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; border: 2px dotted rgba(122, 90, 48, .4); transition: transform 1.6s var(--ease); }
.js .ap-dial.is-in .ap-dial__ring::before { transform: rotate(120deg); }
.ap-dial__face { width: 100%; height: 100%; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; }
.ap-dial__g { width: 42px; height: 42px; }
.ap-dial__num { margin: 0; font-family: var(--font-display); font-size: 52px; font-weight: 600; line-height: 1; }
.ap-dial__word { margin: 0; font-family: var(--font-display); font-size: 25px; font-weight: 600; line-height: 1.1; color: var(--near-black); }
.ap-post__title { margin-bottom: 12px; }
.ap-post__lead { color: var(--steel-taupe); margin-bottom: 22px; }
.ap-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.ap-card { position: relative; display: flex; flex-direction: column; padding: 26px 26px 22px; border-radius: 22px; rotate: -.6deg; transition: rotate .4s var(--ease), box-shadow .4s var(--ease); }
.ap-card:nth-child(even) { rotate: .7deg; }
.ap-card:hover { rotate: 0deg; box-shadow: var(--nm-out-lg); }
.ap-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ap-card__stamp { position: absolute; top: 18px; right: 18px; width: 54px; height: 62px; border-radius: 6px; border: 2px dashed rgba(122, 90, 48, .45); display: flex; align-items: center; justify-content: center; background: var(--bg); box-shadow: var(--nm-in-sm); }
.ap-card__stamp .g-mark { width: 26px; height: 26px; }
.ap-card__mark { position: absolute; top: 30px; right: 60px; width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid rgba(122, 90, 48, .4); display: flex; align-items: center; justify-content: center; color: rgba(122, 90, 48, .6); font-size: 17px; transform: rotate(-18deg); }
.ap-card__head { min-height: 62px; margin: 0 0 8px; padding-right: 120px; display: flex; align-items: center; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.ap-card__head .stars { margin: 0; }
.ap-card__text { flex: 1; margin: 0; }
.ap-card__text p { margin: 0; font-family: var(--font-display); font-size: 20px; line-height: 1.5; color: var(--near-black); }
.ap-card__who { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin: 18px 0 0; padding-top: 14px; border-top: 1px dashed rgba(143, 131, 116, .5); font-size: 14px; }
.ap-card__who span { color: var(--steel-taupe); font-size: 13px; }

/* ---- P9 Book + other airports strip (dark) ---- */
.ap-book__cta { max-width: 780px; margin: 0 auto; text-align: center; }
.ap-book__cta .lead-text { margin: 0 auto 30px; }
.ap-strip { margin-top: 60px; padding-top: 34px; border-top: 1px solid rgba(213, 200, 184, .18); }
.ap-strip__label { margin: 0 0 18px; text-align: center; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--mist-grey); }
.ap-strip__list { display: flex; gap: 20px; padding: 14px 10px 20px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #3a3a3a transparent; }
.ap-strip__list > li { flex: none; scroll-snap-align: start; }
.ap-strip__list > li:first-child { margin-left: auto; }
.ap-strip__list > li:last-child { margin-right: auto; }
.ap-strip__item { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 108px; text-decoration: none; }
.ap-strip__puck { width: 92px; height: 92px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 30px; font-weight: 600; letter-spacing: .04em; color: transparent; -webkit-text-stroke: 1.2px var(--bronze-gold); transition: color .3s var(--ease), box-shadow .3s var(--ease); }
.ap-strip__puck--all { color: var(--bronze-gold); -webkit-text-stroke: 0; font-size: 26px; }
.ap-strip__item:hover .ap-strip__puck, .ap-strip__item:focus-visible .ap-strip__puck { color: var(--bronze-gold); box-shadow: var(--nm-in); }
.ap-strip__name { font-size: 13px; font-weight: 600; text-align: center; color: var(--mist-grey); line-height: 1.35; }
.ap-strip__item:hover .ap-strip__name { color: var(--warm-ivory); }

/* =============================================================================
   24. AIRPORT PAGES — RESPONSIVE AND REDUCED MOTION
   ============================================================================= */
@media (max-width: 1199.98px) {
  .ah-quote__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ah-quote__field--place { grid-column: 1 / -1; }
  .ah-quote__go { margin-top: 4px; grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 991.98px) {
  .ah-hero, .ap-hero { padding: 112px 0 64px; }
  .ah-sockets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ah-sockets__cell, .ah-sockets__cell:nth-child(n) { border-right: 1px solid var(--lo); border-bottom: 1px solid var(--lo); box-shadow: 1px 0 0 var(--hi), 0 1px 0 var(--hi); }
  .ah-sockets__cell:nth-child(2n) { border-right: 0; box-shadow: 0 1px 0 var(--hi); }
  .ah-sockets__cell:nth-child(n+5) { border-bottom: 0; box-shadow: 1px 0 0 var(--hi); }
  .ah-sockets__cell:nth-child(6) { box-shadow: none; }
  .ah-codes { grid-template-columns: 1fr; }
  .ah-code--wide { flex-direction: column; gap: 22px; }
  .ah-code__media { flex: none; }
  .ah-mirror__grid { display: flex; flex-direction: column; gap: 0; }
  .ah-mirror__head--in { order: 1; justify-content: flex-start; }
  .ah-mirror__list--in { order: 2; }
  .ah-mirror__head--out { order: 3; margin-top: 40px; }
  .ah-mirror__list--out { order: 4; }
  .ah-mirror__line { display: none; }
  .ah-mirror__head { margin-bottom: 20px; }
  .ah-mirror__list { display: grid; gap: 18px; position: relative; padding-left: 34px; }
  .ah-mirror__list::before { content: ""; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 8px; border-radius: 99px; background: var(--bg); box-shadow: var(--nm-in-sm); }
  .ah-mirror__list--in .ah-mirror__step { text-align: left; }
  .ah-mirror__list--in .ah-mirror__step::after, .ah-mirror__list--out .ah-mirror__step::after { left: -24px; right: auto; width: 22px; }
  .ah-h2h__well { grid-template-columns: 1fr; gap: 20px; padding: 18px; border-radius: 32px; }
  .ah-h2h__or { position: relative; left: auto; top: auto; margin: -4px auto; }
  .ap-window { max-width: none; margin: 0; border-radius: 34px; padding: 12px; }
  .ap-window__pane { aspect-ratio: 16 / 10; border-radius: 26px; }
  .ap-window__pane .nm-img { object-position: 50% 72%; }
  .ap-window__tag { left: 22px; bottom: 22px; }
  .ap-hero__code { display: none; }
  .ap-tag { max-width: 440px; margin: 64px auto 0; }
  .ap-term__panel { grid-template-columns: 1fr; gap: 24px; padding: 26px; }
  .ap-extra { grid-template-columns: auto minmax(0, 1fr); }
  .ap-extra__links { grid-column: 1 / -1; }
  .ap-radar { max-width: 380px; }
  .ap-routes__map { position: static; }
  .ap-notes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ap-notes__item, .ap-notes__item:nth-child(n) { border-right: 1px solid rgba(213, 200, 184, .18); border-bottom: 1px solid rgba(213, 200, 184, .18); }
  .ap-notes__item:nth-child(2n) { border-right: 0; }
  .ap-notes__item:nth-last-child(-n+2):nth-child(2n+1), .ap-notes__item:nth-last-child(-n+2):nth-child(2n+1) ~ .ap-notes__item { border-bottom: 0; }
  .ap-faq__lead { height: auto; }
  .ap-dial { margin-left: auto; margin-right: auto; }
}
@media (max-width: 767.98px) {
  .ah-cloud__row { grid-template-columns: 1fr; gap: 16px; padding: 22px 0; }
  .ah-cloud__puck { width: auto; height: auto; flex-direction: row; justify-content: flex-start; gap: 12px; padding: 10px 20px 10px 14px; border-radius: var(--r-pill); justify-self: start; }
  .ah-cloud__code { font-size: 26px; }
  .ah-cloud__chips { gap: 10px; }
  .ah-cloud__chip { padding: 8px 14px; }
  .ah-cloud__from { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ah-quote__form { padding: 18px; border-radius: 28px; }
  .ap-cards { grid-template-columns: 1fr; }
  .ah-deck__wrap { padding-right: 30px; }
  .ah-deck__card { padding: 40px 24px 24px; }
  .ah-deck__text p { font-size: 20px; }
}
@media (max-width: 575.98px) {
  .ah-board { padding: 12px; border-radius: 26px; }
  .ah-board__screen { padding: 4px 8px; border-radius: 18px; }
  .ah-board__term { display: none; }
  .ah-board__go span { display: none; }
  .ah-board__row > *, .ah-board__table thead th { padding-left: 6px; padding-right: 6px; }
  .ah-board__link { font-size: 13px; letter-spacing: .08em; }
  .flap__t { width: 22px; height: 28px; font-size: 14px; }
  .ah-sockets { grid-template-columns: 1fr; padding: 4px 18px; }
  .ah-sockets__cell, .ah-sockets__cell:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--lo); box-shadow: 0 1px 0 var(--hi); padding: 26px 6px; }
  .ah-sockets__cell:last-child { border-bottom: 0; box-shadow: none; }
  .ah-sockets__n { right: 6px; top: 26px; }
  .ah-code { padding: 22px; border-radius: 26px; }
  .ah-code__top { gap: 14px; align-items: flex-start; }
  .ah-code__iata { font-size: 50px; }
  .ah-code__name { font-size: 26px; }
  .ah-faq__panel { padding: 4px 20px; border-radius: 26px; }
  .ah-faq__tag { display: none; }
  .ah-faq .ah-faq__btn { font-size: 16px; padding: 18px 0; }
  .ah-faq .acc__inner p { padding-right: 0; }
  .ah-faq__chip { padding: 8px 14px; font-size: 13px; }
  .ah-quote__dir { grid-template-columns: 1fr; gap: 12px; }
  .ah-quote__fields { grid-template-columns: 1fr; }
  .ah-quote__dir label { padding: 12px 16px; }
  .ap-hero__title { font-size: 38px; }
  .ap-mini { border-radius: 26px; }
  .ap-mini__go { flex: 1 1 100%; }
  .ap-flip label { font-size: 13px; padding: 8px 6px; }
  .ap-term__cols { grid-template-columns: 1fr; }
  .ap-term__panel { padding: 22px 18px; border-radius: 26px; }
  .ap-term__track { display: flex; flex-wrap: wrap; border-radius: 26px; }
  .ap-term__tab { flex: 1 1 auto; min-width: 60px; padding: 10px 16px; }
  .ap-window__tag { display: none; }
  .ap-extra { grid-template-columns: 1fr; padding: 22px; }
  .ap-dest { padding: 4px 16px; border-radius: 26px; }
  .ap-dest__row { gap: 12px; }
  .ap-dest__go { width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 50%; }
  .ap-dest__go-t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ap-dest__name { font-size: 20px; }
  .ap-car { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; }
  .ap-car__name { font-size: 20px; }
  .ap-cars { padding: 16px; border-radius: 28px; }
  .ap-notes { grid-template-columns: 1fr; padding: 4px 16px; }
  .ap-notes__item, .ap-notes__item:nth-child(n) { border-right: 0; border-bottom: 1px solid rgba(213, 200, 184, .18); padding: 26px 4px; }
  .ap-notes__item:last-child { border-bottom: 0; }
  .ap-faq__lead { padding: 28px 22px 26px 30px; }
  .ap-faq__lead-q { font-size: 24px; }
  .ap-faq__list { padding: 4px 18px; }
  .ap-faq .acc__inner p { padding-right: 0; }
  .ap-card__head { padding-right: 112px; }
  .ap-strip__puck { width: 78px; height: 78px; font-size: 26px; }
  .ap-strip__item { width: 92px; }
}
@media (prefers-reduced-motion: reduce) {
   .flap__t,  .ah-board__row { animation: none; }
  .js .ap-window__pane::before { display: none; }
  .js .ap-radar__path { stroke-dashoffset: 0; transition: none; }
  .js .ap-radar__pin { opacity: 1; transition: none; }
  .ap-radar__hub::after { animation: none; }
  .ah-deck__card, .ap-card, .ap-flip__knob, .ap-term__puck { transition: none; }
  .js .ah-deck__card.is-tossed { animation: none; }
}

/* =============================================================================
   25. SERVICE PAGES — shared bits (hero spacing, reviewed line)
   ============================================================================= */
.page-svc .svc-hero-pad { padding: 138px 0 92px; }

/* =============================================================================
   26. PAGE: CORPORATE  (/corporate-chauffeur-london)
   ============================================================================= */
/* C1 hero with business card */
.cp-hero { padding: 138px 0 96px; }
.cp-hero__title { font-size: clamp(40px, 5vw, 64px); line-height: 1.05; margin: 0 0 20px; }
.cp-hero__title em { color: var(--text-gold); }
.cp-hero__intro { font-size: 18px; line-height: 1.7; color: var(--steel-taupe); max-width: 560px; margin-bottom: 30px; }
.cp-hero__acc { margin: 24px 0 0; font-size: 14px; color: var(--steel-taupe); }
.cp-hero__acc i { color: var(--text-gold); margin-right: 6px; }
.cp-hero__acc a { font-weight: 600; }
.cp-desk { position: relative; max-width: 470px; margin-left: auto; padding-bottom: 40px; }
.cp-desk__img { padding: 14px; border-radius: 34px; }
.cp-desk__img .nm-img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 22px; }
.cp-card { position: absolute; left: -64px; bottom: 0; width: min(330px, 80%); padding: 22px 24px; border-radius: 20px; rotate: -3deg; transition: rotate .5s var(--ease); }
.cp-desk:hover .cp-card { rotate: 0deg; }
.cp-card__top { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--lo); }
.cp-card__mono { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 18px; font-weight: 600; color: var(--text-gold); }
.cp-card__name { margin: 0; font-family: var(--font-display); font-size: 20px; font-weight: 600; line-height: 1.1; }
.cp-card__name span { display: block; font-family: var(--font-sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.cp-card__facts { margin: 0; display: grid; gap: 8px; }
.cp-card__facts div { display: grid; grid-template-columns: 86px 1fr; gap: 10px; font-size: 13.5px; }
.cp-card__facts dt { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--steel-taupe); padding-top: 2px; }
.cp-card__facts dd { margin: 0; font-weight: 600; color: var(--near-black); }

/* C2 briefing note */
.cp-sheet { position: relative; max-width: 1040px; margin: 0 auto; padding: 44px 52px 34px; border-radius: 30px; }
.cp-sheet__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-bottom: 28px; padding-bottom: 16px; border-bottom: 1px dashed rgba(143, 131, 116, .55); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--steel-taupe); }
.cp-sheet__head i { color: var(--text-gold); margin-right: 6px; }
.cp-sheet__answer { margin: 0 0 30px; padding: 22px 26px; border-radius: 20px; box-shadow: var(--nm-in-sm); font-family: var(--font-display); font-size: clamp(20px, 2vw, 24px); line-height: 1.5; color: var(--near-black); }
.cp-sheet__cols { column-count: 2; column-gap: 48px; column-rule: 1px solid var(--lo); color: var(--steel-taupe); }
.cp-sheet__cols p { break-inside: avoid; }
.cp-sheet__cols a { font-weight: 600; }
.cp-sheet__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px dashed rgba(143, 131, 116, .55); font-size: 13px; color: var(--steel-taupe); }
.cp-sheet__foot i { color: var(--text-gold); margin-right: 4px; }
.cp-sheet__stamp { padding: 4px 14px; border: 2px solid rgba(122, 90, 48, .45); border-radius: 6px; font-size: 12px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--text-gold); rotate: -6deg; }

/* C3 audience panels (dark) */
.cp-aud__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.cp-aud__panel { position: relative; padding: 38px 30px 34px; min-height: 380px; border-radius: 26px; background: var(--bg); box-shadow: var(--nm-out); overflow: hidden; transition: transform .4s var(--ease); }
.cp-aud__panel::before { content: ""; position: absolute; left: 30px; right: 30px; top: 0; height: 3px; background: var(--bronze-gold); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.cp-aud__panel:hover, .cp-aud__panel:focus-visible { transform: translateY(-6px); }
.cp-aud__panel:hover::before, .cp-aud__panel:focus-visible::before { transform: scaleX(1); }
.cp-aud__icon { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--bronze-gold); color: var(--bronze-gold); font-size: 26px; margin-bottom: 26px; }
.cp-aud__n { position: absolute; top: 30px; right: 30px; font-family: var(--font-display); font-size: 48px; font-weight: 600; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(213, 200, 184, .25); }
.cp-aud__title { font-size: 28px; margin: 0 0 16px; color: var(--warm-ivory); }
.cp-aud__lines li { position: relative; padding: 10px 0 10px 22px; border-top: 1px solid rgba(213, 200, 184, .18); color: var(--mist-grey); font-size: 15px; }
.cp-aud__lines li::before { content: ""; position: absolute; left: 0; top: 19px; width: 8px; height: 8px; border-radius: 50%; background: var(--bronze-gold); }
.cp-aud__quote { margin: 54px auto 0; max-width: 760px; text-align: center; }
.cp-aud__quote p { margin: 0; font-family: var(--font-display); font-style: italic; font-size: clamp(26px, 3vw, 38px); line-height: 1.3; color: var(--warm-ivory); }

/* C4 folder tabs + vehicle trio */
.cp-files__extras { display: flex; flex-wrap: wrap; gap: 8px 20px; max-width: 520px; font-size: 14px; font-weight: 500; }
.cp-files__extras i { color: var(--text-gold); margin-right: 4px; }
.cp-folder__tabs { display: flex; gap: 6px; padding-left: 24px; overflow-x: auto; scrollbar-width: none; }
.cp-folder__tabs::-webkit-scrollbar { display: none; }
.cp-folder__tab { position: relative; flex: none; min-height: 50px; padding: 12px 22px; border: 0; border-radius: 18px 18px 0 0; background: var(--light-oat); color: var(--steel-taupe); font-size: 14px; font-weight: 600; cursor: pointer; box-shadow: inset 0 -6px 10px -8px var(--lo); transition: background-color .3s var(--ease), color .3s var(--ease); }
.cp-folder__tab span { color: var(--text-gold); margin-right: 6px; }
.cp-folder__tab[aria-selected="true"] { background: var(--bg); color: var(--near-black); box-shadow: -4px -4px 10px var(--hi); z-index: 1; }
.cp-folder__panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: center; padding: 28px; border-radius: 0 30px 30px 30px; }
.js .cp-folder__panel[data-inactive] { display: none; }
.js .cp-folder__panel.is-entering { animation: panelIn .55s var(--ease) both; }
.no-js .cp-folder__tabs { display: none; }
.no-js .cp-folder__panel { border-radius: 30px; }
.no-js .cp-folder__panel + .cp-folder__panel { margin-top: 24px; }
.cp-folder__img .nm-img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 20px; }
.cp-folder__copy { position: relative; padding-right: 20px; }
.cp-folder__clip { position: absolute; top: -10px; right: 0; font-size: 26px; color: var(--text-gold); rotate: 20deg; }
.cp-folder__copy h3 { font-size: clamp(26px, 2.6vw, 34px); margin: 0 0 12px; }
.cp-folder__copy p { margin: 0; font-size: 17px; line-height: 1.7; color: var(--steel-taupe); }
.cp-trio__title { margin: 72px 0 26px; text-align: center; font-size: clamp(28px, 3vw, 38px); }
.cp-trio { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 340px)); justify-content: center; gap: 26px; }
.cp-trio__card { display: flex; flex-direction: column; padding: 14px 14px 24px; border-radius: 28px; transition: transform .4s var(--ease); }
.cp-trio__card:hover { transform: translateY(-6px); }
.cp-trio__img { padding: 6px; border-radius: 20px; }
.cp-trio__img .nm-img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 15px; }
.cp-trio__class { margin: 18px 10px 2px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.cp-trio__name { margin: 0 10px 10px; font-size: 26px; }
.cp-trio__why { flex: 1; margin: 0 10px 14px; font-size: 15px; color: var(--steel-taupe); }
.cp-trio__why span { display: block; font-size: 12px; font-weight: 600; color: var(--near-black); margin-bottom: 2px; }
.cp-trio__card .text-link { margin: 0 10px; }
.cp-trio__more { margin: 30px 0 0; text-align: center; }

/* C5 FAQ jump index */
.cp-faq__index { position: sticky; top: 110px; padding: 32px; border-radius: 30px; }
.cp-faq__jump { display: grid; gap: 4px; margin-top: 18px; counter-reset: none; }
.cp-faq__jump a { display: flex; gap: 12px; padding: 10px 12px; border-radius: 14px; color: var(--near-black); font-size: 15px; font-weight: 500; text-decoration: none; transition: background-color .25s var(--ease), box-shadow .25s var(--ease); }
.cp-faq__jump a span { flex: none; color: var(--text-gold); font-weight: 600; }
.cp-faq__jump a:hover, .cp-faq__jump a:focus-visible { background: var(--bg); box-shadow: var(--nm-out-sm); }
.cp-faq__list { display: grid; gap: 20px; }
.cp-faq__item { padding: 28px 30px; border-radius: 26px; background: var(--bg); box-shadow: var(--nm-out-sm); scroll-margin-top: 120px; }
.cp-faq__item:target { box-shadow: var(--nm-out-sm), 0 0 0 2px var(--bronze-gold); }
.cp-faq__item h3 { display: flex; gap: 12px; font-size: 24px; line-height: 1.25; margin: 0 0 10px; }
.cp-faq__item h3 span { font-family: var(--font-sans); font-size: 13px; font-weight: 600; color: var(--text-gold); padding-top: 7px; }
.cp-faq__item p { margin: 0 0 12px; color: var(--steel-taupe); }
.cp-faq__back { font-size: 13px; font-weight: 600; text-decoration: none; }

/* C6 twin ticker reviews */
.cp-tick__g { width: 72px; height: 72px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.cp-tick__score strong { font-family: var(--font-display); font-size: 46px; margin-right: 8px; }
.cp-tick__wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; height: 540px; overflow: hidden; padding: 6px 14px; -webkit-mask-image: linear-gradient(transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(transparent, #000 12%, #000 88%, transparent); }
.cp-tick__wrap--one { grid-template-columns: 1fr; }
.cp-tick__col { display: flex; flex-direction: column; animation: tickUp 34s linear infinite; }
.cp-tick__col--1 { animation-direction: reverse; animation-duration: 40s; }
.cp-tick__wrap:hover .cp-tick__col, .cp-tick__wrap:focus-within .cp-tick__col { animation-play-state: paused; }
.cp-tick__track { display: grid; gap: 22px; padding-bottom: 22px; }
@keyframes tickUp { from { transform: translateY(0); } to { transform: translateY(-50%); } }
.cp-tick__card { padding: 24px; border-radius: 24px; }
.cp-tick__card blockquote { margin: 0 0 14px; }
.cp-tick__card blockquote p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--near-black); }
.cp-tick__who { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; font-size: 14px; }
.cp-tick__who span { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 17px; font-weight: 600; color: var(--text-gold); }
.cp-tick__who small { width: 100%; padding-left: 48px; margin-top: -8px; color: var(--steel-taupe); }

/* C7 related + booking panel */
.cp-next__rel h3 { font-size: 28px; margin: 0 0 12px; }
.cp-next__rel li + li { border-top: 1px solid var(--lo); box-shadow: inset 0 1px 0 var(--hi); }
.cp-next__rel a { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; align-items: center; padding: 18px 4px; text-decoration: none; color: var(--near-black); }
.cp-next__name { font-family: var(--font-display); font-size: 24px; font-weight: 600; }
.cp-next__line { grid-column: 1; font-size: 14px; color: var(--steel-taupe); }
.cp-next__rel a i { grid-column: 2; grid-row: 1 / span 2; width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--text-gold); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.cp-next__rel a:hover i { transform: translateX(4px); box-shadow: var(--nm-in-sm); }
.cp-next__rel a:hover .cp-next__name { color: var(--text-gold); }
.cp-next__panel { height: 100%; padding: 48px; border-radius: 34px; box-shadow: 14px 14px 30px #D7CCBC, -10px -10px 26px #FFFCF6; }
.cp-next__panel p:not(.nm-eyebrow) { color: var(--mist-grey); margin-bottom: 26px; }
.cp-next__acc { display: inline-flex; align-items: center; gap: 12px; margin-top: 26px; color: var(--warm-ivory); font-weight: 600; text-decoration: none; }
.cp-next__acc:hover { color: var(--bronze-gold); }
.cp-next__acc .nm-well { color: var(--bronze-gold); }

@media (max-width: 991.98px) {
  .cp-hero { padding: 112px 0 64px; }
  .cp-desk { margin: 10px auto 0; padding-bottom: 0; }
  .cp-desk__img .nm-img { aspect-ratio: 4 / 3; object-position: 50% 70%; }
  .cp-card { position: relative; left: auto; bottom: auto; width: auto; margin: -50px 20px 0; rotate: 0deg; }
  .cp-sheet { padding: 32px 26px 26px; }
  .cp-aud__grid { grid-template-columns: 1fr; }
  .cp-aud__panel { min-height: 0; }
  .cp-folder__panel { grid-template-columns: 1fr; gap: 22px; }
  .cp-faq__index { position: static; }
  .cp-tick__wrap { height: 460px; }
}
@media (max-width: 767.98px) {
  .cp-sheet__cols { column-count: 1; }
  .cp-tick__wrap { grid-template-columns: 1fr; }
  .cp-tick__col--1 { display: none; }
  .cp-next__panel { padding: 32px 24px; }
}
@media (max-width: 575.98px) {
  .cp-folder__tabs { padding-left: 12px; }
  .cp-folder__tab { padding: 10px 14px; font-size: 13px; }
  .cp-folder__panel { padding: 16px; border-radius: 0 24px 24px 24px; }
  .cp-faq__index { padding: 24px 18px; }
  .cp-faq__item { padding: 22px 20px; }
  .cp-faq__item h3 { font-size: 21px; }
  .cp-next__panel .btn-row .nm-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-tick__col { animation: none; }
  .cp-tick__track[aria-hidden="true"] { display: none; }
  .cp-tick__wrap { height: auto; -webkit-mask-image: none; mask-image: none; }
}

/* =============================================================================
   27. PAGE: ROADSHOW  (/roadshow-chauffeur-london)
   ============================================================================= */
/* R1 agenda hero */
.rs-hero { padding: 138px 0 90px; }
.rs-hero__title { font-size: clamp(40px, 5.4vw, 70px); line-height: 1.02; margin: 0; }
.rs-hero__title em { color: var(--text-gold); }
.rs-hero__intro { font-size: 17px; line-height: 1.7; color: var(--steel-taupe); margin-bottom: 24px; }
.rs-wide { position: relative; margin-top: 40px; padding: 14px; border-radius: 36px; }
.rs-wide__img .nm-img { aspect-ratio: 16 / 7; object-fit: cover; object-position: 50% 72%; border-radius: 24px; }
.rs-pass { position: absolute; left: 50%; bottom: -46px; transform: translateX(-50%); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(920px, calc(100% - 60px)); margin: 0; padding: 10px; border-radius: 28px; }
.rs-pass__item { display: grid; grid-template-columns: auto 1fr; gap: 0 14px; align-items: center; padding: 12px 18px; }
.rs-pass__item + .rs-pass__item { border-left: 1px solid var(--lo); box-shadow: inset 1px 0 0 var(--hi); }
.rs-pass__ic { grid-row: 1 / span 2; width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 18px; }
.rs-pass dt { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.rs-pass dd { margin: 0; font-size: 14.5px; font-weight: 600; color: var(--near-black); line-height: 1.35; }
.rs-hero + .rs-brief { padding-top: calc(var(--space-8) + 30px); }

/* R2 numbered brief */
.rs-brief__aside { position: sticky; top: 110px; }
.rs-brief__answer { margin: 6px 0 18px; padding: 24px 26px; border-radius: 24px; }
.rs-brief__q { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.rs-brief__answer p { margin: 0; font-family: var(--font-display); font-size: 21px; line-height: 1.5; color: var(--near-black); }
.rs-brief__reviewed { font-size: 13px; color: var(--steel-taupe); }
.rs-brief__reviewed i { color: var(--text-gold); margin-right: 4px; }
.rs-brief__item { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 18px; padding: 26px 0; border-bottom: 1px solid var(--lo); box-shadow: 0 1px 0 var(--hi); }
.rs-brief__item:first-child { padding-top: 0; }
.rs-brief__n { font-family: var(--font-display); font-size: 54px; font-weight: 600; line-height: .9; color: transparent; -webkit-text-stroke: 1.2px var(--text-gold); }
.rs-brief__item p { margin: 0; font-size: 16.5px; line-height: 1.75; color: var(--steel-taupe); }
.rs-brief__more { margin: 24px 0 0; color: var(--steel-taupe); }
.rs-brief__more a { font-weight: 600; }

/* R3 itinerary sheet */
.rs-sheet { padding: 34px 38px 26px; border-radius: 30px; }
.rs-sheet__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 20px; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 2px solid var(--near-black); }
.rs-sheet__head h3 { margin: 0; font-size: 28px; }
.rs-sheet__head span { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); }
.rs-sheet__stops { position: relative; --p: 0; }
.rs-sheet__stops::before, .rs-sheet__stops::after { content: ""; position: absolute; left: 9px; top: 30px; bottom: 30px; width: 4px; border-radius: 4px; }
.rs-sheet__stops::before { background: var(--bg); box-shadow: var(--nm-in-sm); }
.rs-sheet__stops::after { background: var(--bronze-gold); transform-origin: top; transform: scaleY(var(--p)); }
.no-js .rs-sheet__stops::after { transform: none; }
.rs-stop { position: relative; display: grid; grid-template-columns: 22px 70px minmax(0, 1fr); gap: 14px; align-items: start; padding: 18px 0; border-bottom: 1px dashed rgba(143, 131, 116, .45); }
.rs-stop:last-child { border-bottom: 0; }
.rs-stop__dot { position: relative; z-index: 1; width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; background: var(--bg); box-shadow: var(--nm-out-sm); }
.rs-stop__dot::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--sand-line); transition: background-color .4s var(--ease); }
.rs-stop.is-lit .rs-stop__dot::after, .no-js .rs-stop__dot::after { background: var(--bronze-gold); }
.rs-stop__time { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .04em; color: var(--text-gold); padding-top: 2px; }
.rs-stop h4 { margin: 0 0 2px; font-family: var(--font-sans); font-size: 16px; font-weight: 600; }
.rs-stop p { margin: 0; font-size: 14.5px; color: var(--steel-taupe); }
.rs-handle { position: sticky; top: 110px; padding: 30px 28px; border-radius: 30px; }
.rs-handle h3 { font-size: 26px; margin: 0 0 16px; }
.rs-handle li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; font-size: 15px; font-weight: 500; }
.rs-handle li span { width: 30px; height: 30px; flex: none; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); }
.rs-handle__note { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--lo); font-size: 14px; color: var(--steel-taupe); }
.rs-handle__note i { color: var(--text-gold); margin-right: 4px; }
.rs-handle__note a { font-weight: 600; }

/* R4 expanding image panels + car duo */
.rs-exp { display: flex; gap: 16px; height: 440px; }
.rs-exp__panel { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; border-radius: 28px; box-shadow: var(--nm-out); cursor: pointer; transition: flex-grow .7s var(--ease); }
.rs-exp__panel.is-open { flex-grow: 2.6; }
.rs-exp__panel .nm-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.rs-exp__panel.is-open .nm-img { transform: scale(1.03); }
.rs-exp__panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 20, 20, 0) 35%, rgba(20, 20, 20, .82)); }
.rs-exp__copy { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 24px 26px; color: var(--warm-ivory); }
.rs-exp__n { font-size: 12px; font-weight: 600; letter-spacing: .2em; color: var(--logo-gold); }
.rs-exp__copy h3 { margin: 4px 0 0; font-size: 26px; color: var(--warm-ivory); }
.rs-exp__copy p { margin: 0; max-height: 0; opacity: 0; overflow: hidden; color: #E9E2D6; font-size: 15px; transition: opacity .5s var(--ease), max-height .6s var(--ease), margin .5s var(--ease); }
.rs-exp__panel.is-open .rs-exp__copy p { max-height: 160px; opacity: 1; margin-top: 8px; }
.no-js .rs-exp__copy p { max-height: none; opacity: 1; }
.rs-exp__panel:focus-visible { outline: 3px solid var(--near-black); outline-offset: 4px; }
.rs-ticks { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }
.rs-ticks li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: var(--r-pill); font-size: 14px; font-weight: 500; }
.rs-ticks i { color: var(--text-gold); }
.rs-duo { margin-top: 64px; padding: 34px; border-radius: 34px; }
.rs-duo__title { margin: 0 0 24px; text-align: center; font-size: clamp(26px, 2.8vw, 34px); }
.rs-duo__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.rs-duo__car { padding: 0 34px; }
.rs-duo__car + .rs-duo__car { border-left: 2px solid var(--bronze-gold); }
.rs-duo__role { display: inline-block; margin: 0 0 14px; padding: 4px 12px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.rs-duo__img .nm-img { aspect-ratio: 16 / 9; object-fit: cover; border-radius: 18px; }
.rs-duo__car h4 { margin: 18px 0 6px; font-size: 26px; }
.rs-duo__car p { color: var(--steel-taupe); font-size: 15px; }
.rs-duo__more { margin: 26px 0 0; text-align: center; font-size: 14px; color: var(--steel-taupe); }
.rs-duo__more a { font-weight: 600; }

/* R5 ruled Q&A table */
.rs-qa { padding: 8px 36px; border-radius: 30px; }
.rs-qa__row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 36px; padding: 26px 0; }
.rs-qa__row + .rs-qa__row { border-top: 1px solid var(--lo); box-shadow: inset 0 1px 0 var(--hi); }
.rs-qa__q { margin: 0; font-size: 23px; line-height: 1.3; }
.rs-qa__q span { display: block; margin-bottom: 4px; font-family: var(--font-sans); font-size: 12px; font-weight: 600; letter-spacing: .16em; color: var(--text-gold); }
.rs-qa__a { margin: 0; color: var(--steel-taupe); }

/* R6 slide deck reviews */
.rs-deck__score { display: flex; align-items: center; gap: 14px; }
.rs-deck__score > span { width: 66px; height: 66px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.rs-deck__score p { margin: 0; color: var(--steel-taupe); font-size: 14px; }
.rs-deck__score strong { font-family: var(--font-display); font-size: 40px; color: var(--near-black); }
.rs-slides__screen { max-width: 980px; margin: 0 auto; padding: 22px; border-radius: 36px; }
.rs-slide { position: relative; margin: 0; min-height: 300px; display: flex; flex-direction: column; justify-content: center; padding: 48px 56px; border-radius: 24px; aspect-ratio: auto; }
.rs-slide::before { content: ""; position: absolute; left: 56px; top: 30px; width: 60px; height: 3px; background: var(--bronze-gold); }
.js .rs-slide[data-inactive] { display: none; }
.js .rs-slide.is-entering { animation: slideIn .55s var(--ease) both; }
@keyframes slideIn { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }
.no-js .rs-slide + .rs-slide { margin-top: 20px; }
.rs-slide__no { position: absolute; right: 30px; top: 24px; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); }
.rs-slide blockquote { margin: 0 0 22px; }
.rs-slide blockquote p { margin: 0; font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.4; color: var(--near-black); }
.rs-slide figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 14px; }
.rs-slide figcaption span { color: var(--steel-taupe); }
.rs-slides__bar { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 24px; }
.rs-slides__arrow { width: 48px; height: 48px; border: 0; cursor: pointer; }
.rs-slides__arrow:hover { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.rs-slides__thumbs { display: flex; gap: 10px; overflow-x: auto; padding: 8px; scrollbar-width: none; }
.rs-thumb { flex: none; width: 84px; height: 54px; border: 0; border-radius: 12px; background: var(--bg); box-shadow: var(--nm-out-sm); display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; transition: box-shadow .3s var(--ease); }
.rs-thumb__n { font-size: 10px; font-weight: 600; letter-spacing: .14em; color: var(--steel-taupe); }
.rs-thumb__name { font-family: var(--font-display); font-size: 18px; font-weight: 600; color: var(--near-black); }
.rs-thumb[aria-pressed="true"] { box-shadow: var(--nm-in-sm), inset 0 -3px 0 var(--bronze-gold); }
.rs-deck__links { justify-content: center; margin-top: 30px; }

/* R7 dark band + related tiles */
.rs-plan__band { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: center; padding: 44px; border-radius: 34px; box-shadow: var(--nm-out); }
.rs-plan__band p:not(.nm-eyebrow) { margin: 0; color: var(--mist-grey); }
.rs-plan__actions { display: grid; gap: 12px; }
.rs-plan__actions .nm-btn { width: 100%; }
.rs-plan__rel { margin-top: 48px; }
.rs-plan__label { margin: 0 0 18px; font-family: var(--font-sans); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--mist-grey); }
.rs-plan__rel ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.rs-tile { position: relative; display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 24px 22px; border-radius: 24px; background: var(--bg); box-shadow: var(--nm-out-sm); text-decoration: none; transition: box-shadow .3s var(--ease), transform .3s var(--ease); }
.rs-tile:hover { box-shadow: var(--nm-in); }
.rs-tile__n { font-size: 12px; font-weight: 600; letter-spacing: .16em; color: var(--bronze-gold); }
.rs-tile strong { font-family: var(--font-display); font-size: 22px; font-weight: 600; color: var(--warm-ivory); }
.rs-tile > span:not(.rs-tile__n) { font-size: 14px; color: var(--mist-grey); }
.rs-tile > i { position: absolute; top: 22px; right: 22px; color: var(--bronze-gold); transition: transform .3s var(--ease); }
.rs-tile:hover > i { transform: translate(3px, -3px); }

@media (max-width: 991.98px) {
  .rs-hero { padding: 112px 0 80px; }
  .rs-wide__img .nm-img { aspect-ratio: 4 / 3; }
  .rs-pass { position: relative; left: auto; bottom: auto; transform: none; width: auto; margin: -40px 14px 0; grid-template-columns: 1fr; }
  .rs-pass__item + .rs-pass__item { border-left: 0; border-top: 1px solid var(--lo); box-shadow: inset 0 1px 0 var(--hi); }
  .rs-hero + .rs-brief { padding-top: var(--space-8); }
  .rs-brief__aside, .rs-handle { position: static; }
  .rs-exp { flex-direction: column; height: auto; }
  .rs-exp__panel { height: 300px; flex: none; }
  .rs-exp__copy p { max-height: none; opacity: 1; margin-top: 8px; }
  .rs-qa__row { grid-template-columns: 1fr; gap: 10px; }
  .rs-plan__band { grid-template-columns: 1fr; padding: 32px 26px; }
}
@media (max-width: 767.98px) {
  .rs-duo { padding: 24px 18px; }
  .rs-duo__car { padding: 0; }
  .rs-duo__car + .rs-duo__car { border-left: 0; border-top: 2px solid var(--bronze-gold); margin-top: 26px; padding-top: 26px; }
  .rs-slide { padding: 52px 26px 30px; min-height: 0; }
  .rs-slide::before { left: 26px; }
  .rs-slide__no { right: 20px; }
}
@media (max-width: 575.98px) {
  .rs-sheet { padding: 24px 18px 16px; }
  .rs-stop { grid-template-columns: 22px minmax(0, 1fr); }
  .rs-stop__time { grid-column: 2; }
  .rs-stop > div { grid-column: 2; }
  .rs-qa { padding: 4px 20px; }
  .rs-qa__q { font-size: 21px; }
  .rs-brief__item { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; }
  .rs-brief__n { font-size: 40px; }
  .rs-slides__screen { padding: 12px; border-radius: 26px; }
  .rs-thumb { width: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  .rs-sheet__stops::after { transform: none; }
  .rs-exp__panel, .rs-exp__panel .nm-img { transition: none; }
}

/* =============================================================================
   28. PAGE: HOURLY  (/hourly-chauffeur-hire-london)
   ============================================================================= */
/* H1 half-bleed hero */
.hr-hero { position: relative; padding: 138px 0 96px; min-height: 760px; overflow: hidden; }
.hr-hero__bleed { position: absolute; top: 110px; right: 0; bottom: 40px; width: calc(50% - 20px); border-radius: 48px 0 0 48px; overflow: hidden; box-shadow: var(--nm-out); }
.hr-hero__bleed .nm-img { width: 100%; height: 100%; object-fit: cover; object-position: 40% 65%; }
.hr-hero__clock { position: absolute; left: 28px; top: 28px; width: 86px; height: 86px; border-radius: 50%; }
.hr-hero__clock::before { content: ""; position: absolute; inset: 10px; border-radius: 50%; box-shadow: var(--nm-in-sm); }
.hr-hero__hand { position: absolute; left: 50%; bottom: 50%; width: 3px; margin-left: -1.5px; border-radius: 3px; transform-origin: 50% 100%; background: var(--near-black); }
.hr-hero__hand--h { height: 20px; transform: rotate(60deg); }
.hr-hero__hand--m { height: 28px; background: var(--bronze-gold); animation: handSpin 12s linear infinite; }
@keyframes handSpin { to { transform: rotate(360deg); } }
.hr-hero__copy { padding-right: 24px; }
.hr-hero__title { font-size: clamp(40px, 5vw, 64px); line-height: 1.05; margin: 0 0 20px; }
.hr-hero__title em { color: var(--text-gold); }
.hr-hero__intro { font-size: 18px; line-height: 1.7; color: var(--steel-taupe); margin-bottom: 26px; }
.hr-pills { display: grid; gap: 12px; margin-bottom: 30px; }
.hr-pills li { display: flex; align-items: center; gap: 14px; padding: 12px 18px 12px 12px; border-radius: var(--r-pill); font-size: 15px; color: var(--steel-taupe); }
.hr-pills i { width: 38px; height: 38px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.hr-pills strong { color: var(--near-black); margin-right: 4px; }

/* H2 as directed */
.hr-answer { position: relative; margin-top: 8px; padding: 34px 30px 28px; border-radius: 28px; }
.hr-answer__stamp { position: absolute; top: -14px; right: 24px; padding: 6px 16px; border-radius: var(--r-pill); background: var(--bronze-gold); color: var(--near-black); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; box-shadow: var(--nm-out-sm); }
.hr-answer p { margin: 0; font-family: var(--font-display); font-size: 21px; line-height: 1.5; color: var(--near-black); }
.hr-over__reviewed { margin-top: 20px; font-size: 13px; color: var(--steel-taupe); }
.hr-over__reviewed i { color: var(--text-gold); margin-right: 4px; }
.hr-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.hr-cards__item { padding: 26px; border-radius: 26px; }
.hr-cards__ic { width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 14px; color: var(--text-gold); font-size: 19px; }
.hr-cards__item p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--steel-taupe); }
.hr-over__more { margin: 22px 0 0; color: var(--steel-taupe); }
.hr-over__more a { font-weight: 600; }

/* H3 duration slider */
.hr-console { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 34px; align-items: center; max-width: 1060px; margin: 0 auto; padding: 36px; border-radius: 36px; }
.hr-console__label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.hr-console__value { display: block; margin: 6px 0 22px; font-family: var(--font-display); font-size: clamp(40px, 5vw, 60px); font-weight: 600; line-height: 1; color: var(--near-black); }
.hr-range { position: relative; height: 44px; --v: .14; }
.hr-range::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 14px; margin-top: -7px; border-radius: 99px; background: var(--bg); box-shadow: var(--nm-in-sm); }
.hr-range__fill { position: absolute; left: 3px; top: 50%; height: 8px; margin-top: -4px; width: calc(var(--v) * (100% - 6px)); border-radius: 99px; background: var(--bronze-gold); pointer-events: none; }
.hr-range__input { position: relative; z-index: 2; width: 100%; height: 44px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer; }
.hr-range__input::-webkit-slider-runnable-track { height: 14px; background: transparent; }
.hr-range__input::-moz-range-track { height: 14px; background: transparent; }
.hr-range__input::-webkit-slider-thumb { -webkit-appearance: none; width: 38px; height: 38px; margin-top: -12px; border-radius: 50%; border: 0; background: var(--warm-ivory); box-shadow: 5px 5px 12px var(--lo), -5px -5px 12px var(--hi), inset 0 0 0 9px var(--warm-ivory), inset 0 0 0 14px var(--bronze-gold); }
.hr-range__input::-moz-range-thumb { width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--warm-ivory); box-shadow: 5px 5px 12px var(--lo), -5px -5px 12px var(--hi), inset 0 0 0 9px var(--warm-ivory), inset 0 0 0 14px var(--bronze-gold); }
.hr-range__input:focus-visible { outline: none; }
.hr-range__input:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--near-black); outline-offset: 3px; }
.hr-range__input:focus-visible::-moz-range-thumb { outline: 2px solid var(--near-black); outline-offset: 3px; }
.hr-range__stops { display: grid; grid-template-columns: repeat(8, 1fr); margin-top: 12px; }
.hr-range__stops button { width: 100%; min-height: 32px; padding: 4px 0; border: 0; background: none; font-size: 12px; font-weight: 600; color: var(--steel-taupe); cursor: pointer; }
.hr-range__stops button.is-on { color: var(--text-gold); }
.hr-console__panel { padding: 30px; border-radius: 28px; }
.hr-console__suits-label { margin: 0 0 6px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--steel-taupe); }
.hr-console__suits { min-height: 84px; margin: 0 0 20px; font-family: var(--font-display); font-size: 24px; line-height: 1.35; color: var(--near-black); }
.hr-console__suits.is-swap { animation: panelIn .45s var(--ease) both; }
.hr-table { width: 100%; max-width: 920px; margin: 0 auto; border-collapse: separate; border-spacing: 0; border-radius: 26px; overflow: hidden; }
.hr-table th, .hr-table td { padding: 14px 22px; text-align: left; border-bottom: 1px solid var(--lo); }
.hr-table thead th { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); }
.hr-table tbody th { font-family: var(--font-display); font-size: 20px; font-weight: 600; white-space: nowrap; }
.hr-table td { color: var(--steel-taupe); }
.js .hr-table { display: none; }

/* H4 day timeline + vehicle rows */
.hr-line { position: relative; display: grid; gap: 22px; margin-top: 10px; padding-left: 70px; }
.hr-line::before { content: ""; position: absolute; left: 25px; top: 20px; bottom: 20px; width: 6px; border-radius: 6px; background: var(--bg); box-shadow: var(--nm-in-sm); }
.hr-line__item { position: relative; }
.hr-line__node { position: absolute; left: -70px; top: 50%; width: 56px; height: 56px; margin-top: -28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 21px; }
.hr-line__card { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 22px; align-items: center; padding: 14px 22px 14px 14px; border-radius: 26px; }
.hr-line__img .nm-img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 16px; }
.hr-line__card h3 { margin: 0 0 6px; font-size: 23px; }
.hr-line__card p { margin: 0; font-size: 15px; color: var(--steel-taupe); }
.hr-extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; margin-top: 26px; padding-left: 70px; font-size: 14px; font-weight: 500; }
.hr-extras i { color: var(--text-gold); margin-right: 4px; }
.hr-garage { position: sticky; top: 110px; padding: 30px 26px; border-radius: 32px; }
.hr-garage h3 { margin: 0 0 18px; font-size: 26px; }
.hr-garage__row { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-top: 1px solid var(--lo); box-shadow: inset 0 1px 0 var(--hi); }
.hr-garage__thumb { width: 84px; height: 84px; border-radius: 50%; overflow: hidden; padding: 5px; }
.hr-garage__thumb .nm-img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.hr-garage h4 { margin: 0 0 4px; font-size: 21px; }
.hr-garage h4 a { color: var(--near-black); text-decoration: none; }
.hr-garage h4 a:hover { color: var(--text-gold); }
.hr-garage__row p { margin: 0 0 6px; font-size: 14px; color: var(--steel-taupe); }
.hr-garage__q { font-size: 13px; font-weight: 600; text-decoration: none; }
.hr-garage > .text-link { margin-top: 12px; }

/* H5 conversation FAQ */
.hr-chat { display: grid; gap: 30px; max-width: 900px; margin: 0 auto; }
.hr-chat__pair { display: grid; gap: 12px; }
.hr-chat__q { justify-self: end; max-width: 78%; margin: 0; padding: 16px 22px; border-radius: 24px 24px 6px 24px; font-family: var(--font-sans); font-size: 17px; font-weight: 600; line-height: 1.45; }
.hr-chat__a { display: flex; align-items: flex-end; gap: 12px; max-width: 86%; }
.hr-chat__av { width: 44px; height: 44px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 16px; font-weight: 600; color: var(--text-gold); }
.hr-chat__a p { margin: 0; padding: 18px 22px; border-radius: 24px 24px 24px 6px; color: var(--steel-taupe); }

/* H6 expanding reviewer rows */
.hr-rev__g { width: 70px; height: 70px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.hr-rev__intro { position: sticky; top: 110px; }
.hr-rev__score strong { font-family: var(--font-display); font-size: 44px; margin-right: 8px; }
.hr-rev__list { display: grid; gap: 14px; }
.hr-rev .drawer__item + .drawer__item { border-top: 0; }
.hr-rev__item { border-radius: 24px; background: var(--bg); box-shadow: var(--nm-out-sm); transition: box-shadow .35s var(--ease); }
.hr-rev__item.is-open { box-shadow: var(--nm-out); }
.hr-rev__h { margin: 0; font-family: var(--font-sans); }
.hr-rev .hr-rev__btn { padding: 16px 20px; gap: 14px; justify-content: flex-start; }
.hr-rev__av { width: 46px; height: 46px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 19px; font-weight: 600; color: var(--text-gold); }
.hr-rev__name { flex: 1; display: flex; flex-direction: column; font-size: 15px; }
.hr-rev__name small { font-weight: 500; color: var(--steel-taupe); }
.hr-rev__toggle { width: 38px; height: 38px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.hr-rev__toggle i { transition: transform .4s var(--ease); }
.hr-rev__btn[aria-expanded="true"] .hr-rev__toggle i { transform: rotate(180deg); }
.hr-rev__text { margin: 0; padding: 0 24px 22px 80px; }
.hr-rev__text p { margin: 0; font-family: var(--font-display); font-size: 20px; line-height: 1.5; color: var(--near-black); }
.no-js .hr-rev .acc__panel { grid-template-rows: 1fr; }

/* H7 clock-face CTA */
.hr-cta__box { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 50px; align-items: center; padding: 48px; border-radius: 40px; box-shadow: 14px 14px 30px #D7CCBC, -10px -10px 26px #FFFCF6; }
.hr-cta__dial { position: relative; width: 240px; height: 240px; border-radius: 50%; background: var(--bg); box-shadow: var(--nm-out), inset 0 0 0 14px var(--bg), inset 7px 7px 14px var(--lo), inset -7px -7px 14px var(--hi); }
.hr-cta__dial span { position: absolute; left: 50%; top: 22px; width: 3px; height: 14px; margin-left: -1.5px; transform-origin: 50% 98px; transform: rotate(calc(var(--t) * 30deg)); background: rgba(213, 200, 184, .35); border-radius: 3px; }
.hr-cta__dial span:nth-child(3n+1) { background: var(--bronze-gold); height: 18px; }
.hr-cta__dial i { position: absolute; left: 50%; bottom: 50%; border-radius: 4px; transform-origin: 50% 100%; }
.hr-cta__h { width: 6px; height: 56px; margin-left: -3px; background: var(--warm-ivory); transform: rotate(-60deg); }
.hr-cta__m { width: 4px; height: 82px; margin-left: -2px; background: var(--bronze-gold); transform: rotate(0deg); transition: transform 1.6s var(--ease) .3s; }
.js .hr-cta__box.is-in .hr-cta__m { transform: rotate(240deg); }
.hr-cta__dial::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 16px; margin: -8px; border-radius: 50%; background: var(--bronze-gold); }
.hr-cta__copy p:not(.nm-eyebrow) { color: var(--mist-grey); }
.hr-cta__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 26px; }
.hr-cta__chips a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--warm-ivory); font-size: 14px; font-weight: 600; text-decoration: none; transition: box-shadow .25s var(--ease), color .25s var(--ease); }
.hr-cta__chips a:hover, .hr-cta__chips a:focus-visible { box-shadow: var(--nm-in-sm); color: var(--bronze-gold); }
.hr-rel { margin-top: 48px; }
.hr-rel h3 { font-size: 26px; margin: 0 0 16px; }
.hr-rel ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0; border-top: 1px solid var(--lo); }
.hr-rel li { border-bottom: 1px solid var(--lo); }
.hr-rel a { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 20px 18px; text-decoration: none; transition: background-color .25s var(--ease); }
.hr-rel a:hover { background: var(--light-oat); }
.hr-rel strong { font-family: var(--font-display); font-size: 22px; color: var(--near-black); }
.hr-rel span { font-size: 14px; color: var(--steel-taupe); }

@media (max-width: 991.98px) {
  .hr-hero { padding: 0 0 64px; min-height: 0; }
  .hr-hero__bleed { position: relative; top: auto; width: auto; height: 380px; margin: 100px 0 30px 16px; border-radius: 34px 0 0 34px; }
  .hr-hero__copy { padding-right: 0; }
  .hr-console { grid-template-columns: 1fr; padding: 26px; }
  .hr-garage, .hr-rev__intro { position: static; }
  .hr-cta__box { grid-template-columns: 1fr; justify-items: start; padding: 34px 26px; }
  .hr-cta__dial { width: 180px; height: 180px; }
  .hr-cta__dial span { top: 16px; transform-origin: 50% 74px; }
  .hr-cta__h { height: 42px; }
  .hr-cta__m { height: 62px; }
}
@media (max-width: 767.98px) {
  .hr-cards { grid-template-columns: 1fr; }
  .hr-line__card { grid-template-columns: 1fr; }
  .hr-chat__q, .hr-chat__a { max-width: 100%; }
}
@media (max-width: 575.98px) {
  .hr-hero__bleed { height: 260px; }
  .hr-line { padding-left: 0; }
  .hr-line::before, .hr-line__node { display: none; }
  .hr-extras { grid-template-columns: 1fr; padding-left: 0; }
  .hr-range__stops button { font-size: 10.5px; }
  .hr-console__value { font-size: 38px; }
  .hr-table th, .hr-table td { padding: 12px; }
  .hr-rev__text { padding: 0 20px 20px; }
  .hr-rev .hr-rev__btn { flex-wrap: wrap; }
  .hr-chat__a p { padding: 16px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .hr-hero__hand--m { animation: none; }
  .hr-cta__m { transition: none; }
}

/* =============================================================================
   29. PAGE: WEDDING  (/wedding-chauffeur-london)
   ============================================================================= */
.wd-hero__eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 14px; font-size: 12px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--text-gold); }
.wd-hero__eyebrow span { font-size: 10px; color: var(--bronze-gold); }
/* W1 centred hero */
.wd-hero { padding: 138px 0 96px; text-align: center; }
.wd-hero__head { max-width: 820px; margin: 0 auto; }
.wd-hero .crumbs { display: flex; justify-content: center; }
.wd-hero__title { font-size: clamp(42px, 5.6vw, 72px); line-height: 1.04; margin: 0 0 20px; }
.wd-hero__title em { color: var(--text-gold); }
.wd-hero__intro { max-width: 680px; margin: 0 auto 28px; font-size: 18px; line-height: 1.7; color: var(--steel-taupe); }
.wd-stage { position: relative; display: grid; grid-template-columns: 1fr minmax(0, 440px) 1fr; grid-template-rows: auto auto; align-items: center; gap: 24px 40px; margin-top: 56px; }
.wd-oval { grid-column: 2; grid-row: 1 / span 2; padding: 16px; border-radius: 50%; }
.wd-oval__ring { padding: 8px; border-radius: 50%; border: 1.5px solid var(--bronze-gold); box-shadow: inset 0 0 0 5px var(--bg), inset 0 0 0 6.5px var(--bronze-gold); }
.wd-oval__ring .nm-img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 50%; }
.wd-place { display: flex; flex-direction: column; gap: 4px; padding: 20px 24px; border-radius: 22px; text-align: center; }
.wd-place--0 { grid-column: 1; grid-row: 1; justify-self: end; }
.wd-place--1 { grid-column: 3; grid-row: 1; justify-self: start; }
.wd-place--2 { grid-column: 1 / -1; grid-row: 3; justify-self: center; margin-top: -10px; }
.wd-place__k { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); }
.wd-place__v { font-family: var(--font-display); font-size: 21px; font-weight: 600; line-height: 1.25; max-width: 240px; }

/* W2 overview */
.wd-over__head { max-width: 860px; margin: 0 auto 44px; text-align: center; }
.wd-over__answer { position: relative; margin: 24px 0 0; padding: 28px 10px; font-family: var(--font-display); font-style: italic; font-size: clamp(21px, 2.2vw, 26px); line-height: 1.55; color: var(--near-black); border-top: 3px double var(--bronze-gold); border-bottom: 3px double var(--bronze-gold); }
.wd-over__cols { max-width: 1000px; margin: 0 auto; column-count: 2; column-gap: 56px; color: var(--steel-taupe); }
.wd-over__cols p { break-inside: avoid; }
.wd-over__cols > p:first-child::first-letter { float: left; margin: 6px 12px 0 0; font-family: var(--font-display); font-size: 74px; font-weight: 600; line-height: .8; color: var(--text-gold); }
.wd-over__cols a { font-weight: 600; }
.wd-over__reviewed { margin: 24px 0 0; text-align: center; font-size: 13px; color: var(--steel-taupe); }

/* W3 running order card + cars */
.wd-card { position: relative; max-width: 760px; margin: 0 auto; padding: 60px 64px 52px; border-radius: 10px; background: var(--clean-white); text-align: center; }
.wd-card::before, .wd-card::after { content: ""; position: absolute; left: 34px; right: 34px; height: 7px; border-top: 1px solid var(--bronze-gold); border-bottom: 1px solid var(--bronze-gold); }
.wd-card::before { top: 26px; }
.wd-card::after { bottom: 26px; }
.wd-card__tag { display: inline-block; margin: 0 0 10px; padding: 3px 14px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); }
.wd-card__title { margin: 0 0 8px; font-size: clamp(30px, 3.4vw, 42px); }
.wd-card__sub { margin: 0 auto 26px; max-width: 480px; font-size: 15px; color: var(--steel-taupe); }
.wd-card__list li { position: relative; padding: 20px 0; }
.wd-card__list li + li::before { content: "❦"; position: absolute; top: -12px; left: 50%; transform: translateX(-50%); color: var(--bronze-gold); font-size: 16px; line-height: 1; }
.wd-card__n { display: block; font-family: var(--font-display); font-size: 15px; letter-spacing: .2em; color: var(--text-gold); }
.wd-card__list h3 { margin: 2px 0 6px; font-size: 26px; }
.wd-card__list p { max-width: 520px; margin: 0 auto; font-size: 15px; color: var(--steel-taupe); }
.wd-card__extra { margin: 20px 0 0; font-style: italic; color: var(--steel-taupe); }
.wd-cars__title { margin: 72px 0 26px; text-align: center; font-size: clamp(28px, 3vw, 38px); }
.wd-cars { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 30px; max-width: 1080px; margin: 0 auto; }
.wd-car { display: flex; flex-direction: column; align-items: center; text-align: center; text-decoration: none; color: var(--near-black); }
.wd-car__frame { display: block; width: 100%; padding: 12px; border-radius: 160px 160px 26px 26px; transition: box-shadow .4s var(--ease); }
.wd-car__frame .nm-img { aspect-ratio: 1; object-fit: cover; border-radius: 150px 150px 18px 18px; }
.wd-car:hover .wd-car__frame { box-shadow: var(--nm-out-lg); }
.wd-car__name { margin-top: 18px; font-family: var(--font-display); font-size: 26px; font-weight: 600; }
.wd-car__why { margin: 4px 0 10px; max-width: 300px; font-size: 15px; color: var(--steel-taupe); }
.wd-car__go { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--text-gold); }
.wd-car:hover .wd-car__go { text-decoration: underline; }

/* W4 keepsake photo trio */
.wd-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.wd-photo { margin: 0; text-align: center; }
.wd-photo__print { position: relative; padding: 14px 14px 52px; border-radius: 8px; background: var(--clean-white); rotate: -2.5deg; transition: rotate .5s var(--ease); }
.wd-photo--1 .wd-photo__print { rotate: 1.8deg; margin-top: 24px; }
.wd-photo--2 .wd-photo__print { rotate: -1deg; }
.wd-photo:hover .wd-photo__print { rotate: 0deg; }
.wd-photo__print .nm-img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 3px; }
.wd-photo__caption { position: absolute; left: 0; right: 0; bottom: 14px; font-family: var(--font-display); font-style: italic; font-size: 19px; color: var(--steel-taupe); }
.wd-photo figcaption { margin-top: 28px; }
.wd-photo h3 { margin: 0 0 8px; font-size: 25px; }
.wd-photo p { margin: 0 auto; max-width: 340px; font-size: 15px; color: var(--steel-taupe); }
.wd-extras { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 0; margin-top: 46px; font-size: 14px; font-weight: 500; }
.wd-extras li + li::before { content: "◆"; margin: 0 16px; font-size: 8px; vertical-align: middle; color: var(--bronze-gold); }

/* W5 centred accordion */
.wd-faq__list { max-width: 820px; margin: 0 auto; }
.wd-faq .drawer__item + .drawer__item { border-top: 0; }
.wd-faq__item { position: relative; text-align: center; }
.wd-faq__item + .wd-faq__item::before { content: "— ❦ —"; display: block; color: var(--bronze-gold); font-size: 13px; letter-spacing: .3em; }
.wd-faq__h { margin: 0; font-family: var(--font-display); }
.wd-faq .wd-faq__btn { flex-direction: column; justify-content: center; gap: 12px; padding: 18px 10px; text-align: center; font-family: var(--font-display); font-size: clamp(22px, 2.3vw, 27px); font-weight: 500; }
.wd-faq__icon { position: relative; width: 34px; height: 34px; flex: none; border-radius: 50%; }
.wd-faq__icon::before, .wd-faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; margin: -.75px 0 0 -6px; background: var(--text-gold); transition: transform .4s var(--ease); }
.wd-faq__icon::after { transform: rotate(90deg); }
.wd-faq__btn[aria-expanded="true"] .wd-faq__icon::after { transform: rotate(0deg); }
.wd-faq__btn[aria-expanded="true"] .wd-faq__icon { box-shadow: var(--nm-in-sm); }
.wd-faq .acc__inner p { max-width: 640px; margin: 0 auto; padding: 0 10px 20px; color: var(--steel-taupe); }
.no-js .wd-faq .acc__panel { grid-template-rows: 1fr; }

/* W6 letter reviews */
.wd-letter__score strong { font-family: var(--font-display); font-size: 40px; margin-right: 8px; }
.wd-letter__paper { position: relative; max-width: 760px; margin: 0 auto; padding: 64px 70px 44px; border-radius: 6px; background: var(--clean-white); text-align: center; }
.wd-letter__paper::before { content: ""; position: absolute; top: 0; left: 50%; width: 120px; height: 18px; margin-left: -60px; border-radius: 0 0 60px 60px; background: var(--light-oat); box-shadow: inset 0 -3px 6px var(--lo); }
.wd-letter__g { position: absolute; top: 26px; right: 30px; width: 28px; height: 28px; }
.wd-note { margin: 0; }
.js .wd-note[data-inactive] { display: none; }
.js .wd-note.is-entering { animation: heroIn .6s var(--ease) both; opacity: 0; }
.no-js .wd-note + .wd-note { margin-top: 30px; }
.wd-note blockquote { margin: 10px 0 18px; }
.wd-note blockquote p { margin: 0; font-family: var(--font-display); font-style: italic; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.38; color: var(--near-black); }
.wd-note figcaption { font-family: var(--font-display); font-size: 20px; font-weight: 600; }
.wd-note figcaption span { font-weight: 400; color: var(--steel-taupe); }
.wd-letter__dots { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }
.wd-letter__dots button { width: 44px; height: 44px; border: 0; background: none; cursor: pointer; position: relative; }
.wd-letter__dots button::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; margin: -6px; border-radius: 50%; border: 1.5px solid var(--bronze-gold); transition: background-color .3s var(--ease), transform .3s var(--ease); }
.wd-letter__dots button[aria-pressed="true"]::after { background: var(--bronze-gold); transform: scale(1.2); }
.wd-letter__links { margin-top: 30px; }

/* W7 reserve card */
.wd-rsvp__card { max-width: 860px; margin: 0 auto; padding: 16px; border-radius: 14px; background: var(--clean-white); }
.wd-rsvp__inner { padding: 54px 40px; border: 1px solid var(--bronze-gold); outline: 1px solid var(--bronze-gold); outline-offset: -8px; border-radius: 6px; text-align: center; }
.wd-rsvp__title { margin: 0 0 12px; font-size: clamp(32px, 4vw, 48px); }
.wd-rsvp__line { margin: 0 auto 28px; max-width: 540px; color: var(--steel-taupe); }
.wd-rel { margin-top: 44px; text-align: center; }
.wd-rel__title { margin: 0 0 18px; font-size: 24px; }
.wd-rel ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.wd-rel a { display: flex; flex-direction: column; gap: 4px; max-width: 240px; padding: 18px 22px; border-radius: 20px; background: var(--bg); box-shadow: var(--nm-out-sm); text-decoration: none; transition: box-shadow .3s var(--ease); }
.wd-rel a:hover { box-shadow: var(--nm-in-sm); }
.wd-rel strong { font-family: var(--font-display); font-size: 21px; color: var(--near-black); }
.wd-rel span { font-size: 13.5px; color: var(--steel-taupe); }

@media (max-width: 991.98px) {
  .wd-hero { padding: 112px 0 64px; }
  .wd-stage { grid-template-columns: 1fr 1fr; margin-top: 40px; gap: 18px; }
  .wd-oval { grid-column: 1 / -1; grid-row: 1; width: min(380px, 86%); margin: 0 auto; }
  .wd-place--0, .wd-place--1, .wd-place--2 { grid-row: auto; grid-column: auto; justify-self: stretch; margin: 0; }
  .wd-place--2 { grid-column: 1 / -1; }
  .wd-place__v { max-width: none; }
  .wd-photos { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; gap: 48px; }
  .wd-photo--1 .wd-photo__print { margin-top: 0; }
}
@media (max-width: 767.98px) {
  .wd-over__cols { column-count: 1; }
  .wd-card { padding: 52px 26px 44px; }
  .wd-card::before, .wd-card::after { left: 16px; right: 16px; }
  .wd-letter__paper { padding: 56px 24px 36px; }
  .wd-rsvp__inner { padding: 40px 20px; }
  .wd-rsvp__inner .btn-row .nm-btn { flex: 1 1 100%; }
}
@media (max-width: 575.98px) {
  .wd-stage { grid-template-columns: 1fr; }
  .wd-extras { flex-direction: column; align-items: center; }
  .wd-extras li + li::before { display: none; }
}

/* =============================================================================
   30. PAGE: HOTEL  (/hotel-transfers-london)
   ============================================================================= */
/* T1 lobby hero */
.ht-hero { padding: 132px 0 96px; }
.ht-lobby { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; margin-top: 10px; }
.ht-lobby__img { grid-column: 5 / -1; grid-row: 1; padding: 14px; border-radius: 40px; }
.ht-lobby__img .nm-img { aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 70%; border-radius: 28px; }
.ht-desk { position: relative; z-index: 1; grid-column: 1 / span 6; grid-row: 1; padding: 40px 40px 36px; border-radius: 34px; }
.ht-desk__bell { position: absolute; top: -26px; right: 34px; width: 56px; height: 56px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 22px; background: var(--bg); }
.ht-desk__title { font-size: clamp(38px, 4.4vw, 58px); line-height: 1.05; margin: 0 0 16px; }
.ht-desk__title em { color: var(--text-gold); }
.ht-desk__intro { font-size: 17px; line-height: 1.7; color: var(--steel-taupe); margin-bottom: 20px; }
.ht-desk__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 26px; }
.ht-desk__facts div { padding: 12px 14px; border-radius: 16px; box-shadow: var(--nm-in-sm); }
.ht-desk__facts dt { font-size: 10.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.ht-desk__facts dd { margin: 2px 0 0; font-size: 13.5px; font-weight: 600; line-height: 1.35; }

/* T2 lift indicator */
.ht-lift__panel { position: sticky; top: 120px; display: flex; flex-direction: column; align-items: center; gap: 12px; width: 120px; padding: 22px 0 18px; border-radius: 60px; }
.ht-lift__arrow { color: var(--sand-line); font-size: 20px; transition: color .3s var(--ease); }
.ht-lift__panel.is-moving .ht-lift__arrow { color: var(--bronze-gold); }
.ht-lift__btn { width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 20px; font-weight: 600; color: var(--steel-taupe); transition: box-shadow .35s var(--ease), color .35s var(--ease), background-color .35s var(--ease); }
.ht-lift__btn.is-on { box-shadow: var(--nm-in-sm), 0 0 0 2px var(--bronze-gold); color: var(--text-gold); }
.ht-lift__label { margin-top: 4px; font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--steel-taupe); }
.ht-floors { display: grid; gap: 18px; margin-top: 8px; }
.ht-floor { position: relative; padding: 26px 28px 24px; border-radius: 24px; background: var(--bg); box-shadow: var(--nm-out-sm); }
.ht-floor__tag { position: absolute; top: -11px; left: 26px; padding: 3px 12px; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.ht-floor p { margin: 0; color: var(--steel-taupe); }
.ht-floor--lobby { box-shadow: var(--nm-in); }
.ht-floor__answer { font-family: var(--font-display); font-size: 21px !important; line-height: 1.5; color: var(--near-black) !important; }
.ht-lift__more { margin: 24px 0 0; color: var(--steel-taupe); }
.ht-lift__more a { font-weight: 600; }
.ht-lift__rev { display: block; margin-top: 8px; font-size: 13px; }

/* T3 guests / concierges switch */
.ht-switch__btns { position: relative; display: grid; grid-template-columns: 1fr 1fr; max-width: 520px; margin: 0 auto 32px; padding: 7px; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-in); }
.ht-switch__btn { position: relative; z-index: 1; min-height: 56px; border: 0; border-radius: var(--r-pill); background: transparent; font-size: 15px; font-weight: 600; color: var(--steel-taupe); cursor: pointer; transition: color .3s var(--ease); }
.ht-switch__btn i { color: var(--text-gold); margin-right: 6px; }
.ht-switch__btn[aria-pressed="true"] { color: var(--near-black); }
.ht-switch__knob { position: absolute; top: 7px; bottom: 7px; left: 7px; width: calc(50% - 7px); border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); transition: transform .55s var(--ease-spring); }
.ht-switch.is-concierges .ht-switch__knob { transform: translateX(100%); }
.js .ht-view[data-inactive] { display: none; }
.js .ht-view.is-entering .ht-view__item { animation: panelIn .5s var(--ease) both; }
.js .ht-view.is-entering .ht-view__item:nth-child(2) { animation-delay: .07s; }
.js .ht-view.is-entering .ht-view__item:nth-child(3) { animation-delay: .14s; }
.js .ht-view.is-entering .ht-view__item:nth-child(4) { animation-delay: .21s; }
.no-js .ht-view + .ht-view { margin-top: 40px; }
.ht-view__title { margin: 0 0 18px; text-align: center; font-size: 26px; }
.js .ht-view__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ht-view__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.ht-view__item { padding: 28px 24px; border-radius: 26px; }
.ht-view__ic { width: 54px; height: 54px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; color: var(--text-gold); font-size: 22px; }
.ht-view__item h4 { margin: 0 0 8px; font-size: 22px; }
.ht-view__item p { margin: 0; font-size: 15px; color: var(--steel-taupe); }
.ht-view__note { margin: 24px 0 0; text-align: center; color: var(--steel-taupe); }
.ht-view__note a { font-weight: 600; }
.ht-districts { margin-top: 54px; text-align: center; }
.ht-districts__label { margin: 0 0 14px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.ht-districts ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.ht-districts a.nm-pill { text-decoration: none; }
.ht-districts a.nm-pill:hover { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ht-districts__partners { margin-top: 14px; color: var(--steel-taupe); }

/* T4 door hangers + key tags */
.ht-hangers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.ht-hanger { position: relative; display: flex; flex-direction: column; padding: 70px 22px 28px; border-radius: 70px 70px 26px 26px; text-align: center; transition: transform .45s var(--ease); transform-origin: 50% 0; }
.ht-hanger:hover { transform: rotate(-1.5deg); }
.ht-hanger__hole { position: absolute; top: 18px; left: 50%; width: 46px; height: 46px; margin-left: -23px; border-radius: 50%; box-shadow: var(--nm-in); background: var(--light-oat); }
.ht-hanger__sign { margin-bottom: 14px; font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--text-gold); }
.ht-hanger__img .nm-img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; }
.ht-hanger h3 { margin: 20px 0 8px; font-size: 25px; }
.ht-hanger p { margin: 0; font-size: 15px; color: var(--steel-taupe); }
.ht-extras { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; margin-top: 32px; font-size: 14px; font-weight: 500; }
.ht-extras i { color: var(--text-gold); margin-right: 4px; }
.ht-keys__title { margin: 70px 0 24px; text-align: center; font-size: clamp(26px, 2.8vw, 34px); }
.ht-keys { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ht-key { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: center; padding: 18px 20px 18px 54px; border-radius: 20px 60px 60px 20px; }
.ht-key__ring { position: absolute; left: 16px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; box-shadow: var(--nm-in-sm); border: 2px solid var(--bronze-gold); }
.ht-key__thumb { width: 96px; height: 72px; padding: 4px; border-radius: 14px; overflow: hidden; }
.ht-key__thumb .nm-img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
.ht-key h4 { margin: 0 0 4px; font-size: 20px; line-height: 1.2; }
.ht-key h4 a { color: var(--near-black); text-decoration: none; }
.ht-key h4 a:hover { color: var(--text-gold); }
.ht-key p { margin: 0; font-size: 13.5px; color: var(--steel-taupe); }
.ht-keys__more { margin: 26px 0 0; text-align: center; }

/* T5 question chips */
.ht-qchips__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 1000px; margin: 0 auto 30px; }
.ht-qchip { min-height: 46px; padding: 10px 20px; border: 0; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); font-size: 14.5px; font-weight: 600; color: var(--steel-taupe); cursor: pointer; text-align: left; transition: box-shadow .3s var(--ease), color .3s var(--ease); }
.ht-qchip:hover { color: var(--near-black); }
.ht-qchip[aria-selected="true"] { box-shadow: var(--nm-in-sm), inset 0 0 0 2px var(--bronze-gold); color: var(--near-black); }
.ht-qpanel { max-width: 820px; margin: 0 auto; padding: 34px 40px; border-radius: 30px; text-align: center; }
.js .ht-qpanel[data-inactive] { display: none; }
.js .ht-qpanel.is-entering { animation: panelIn .5s var(--ease) both; }
.no-js .ht-qpanel + .ht-qpanel { margin-top: 18px; }
.ht-qpanel h3 { margin: 0 0 12px; font-size: 26px; }
.ht-qpanel p { margin: 0; font-size: 17px; line-height: 1.7; color: var(--steel-taupe); }

/* T6 guest book */
.ht-gbook { position: relative; display: grid; grid-template-columns: 1fr 1fr; max-width: 1040px; margin: 0 auto; padding: 18px; border-radius: 22px; background: var(--jet-graphite); box-shadow: 14px 14px 30px var(--lo), -10px -10px 26px var(--hi); }
.ht-gbook__page { padding: 40px 44px; background: var(--clean-white); min-height: 360px; }
.ht-gbook__page--left { border-radius: 12px 4px 4px 12px; box-shadow: inset -18px 0 22px -18px rgba(20, 20, 20, .25); }
.ht-gbook__page--right { border-radius: 4px 12px 12px 4px; box-shadow: inset 18px 0 22px -18px rgba(20, 20, 20, .25); }
.ht-gbook__head { display: flex; align-items: center; gap: 8px; margin: 0 0 24px; font-family: var(--font-display); font-size: 22px; font-style: italic; color: var(--steel-taupe); }
.ht-entry { margin: 0 0 28px; padding-bottom: 22px; border-bottom: 1px solid var(--sand-line); }
.ht-entry:last-child { margin-bottom: 0; border-bottom: 0; }
.ht-entry blockquote { margin: 0 0 14px; }
.ht-entry blockquote p { margin: 0; font-family: var(--font-display); font-size: 20px; line-height: 1.5; color: var(--near-black); }
.ht-entry figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; color: var(--steel-taupe); }
.ht-entry__sig { font-family: var(--font-display); font-style: italic; font-size: 20px; color: var(--text-gold); }

/* T7 concierge bell */
.ht-bell__box { max-width: 760px; margin: 0 auto; text-align: center; }
.ht-bell__btn { display: inline-flex; align-items: center; justify-content: center; width: 132px; height: 132px; margin-bottom: 22px; border-radius: 50%; text-decoration: none; transition: box-shadow .3s var(--ease), transform .3s var(--ease); }
.ht-bell__btn span { width: 92px; height: 92px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--bronze-gold); font-size: 38px; }
.ht-bell__btn:hover { box-shadow: var(--nm-in); }
.ht-bell__btn:hover i { animation: ding .6s var(--ease); }
@keyframes ding { 25% { transform: rotate(14deg); } 50% { transform: rotate(-12deg); } 75% { transform: rotate(6deg); } }
.ht-bell__box > p { margin: 0 auto 26px; color: var(--steel-taupe); }
.ht-rel { margin-top: 60px; }
.ht-rel__title { margin: 0 0 18px; text-align: center; font-size: 26px; }
.ht-rel ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; }
.ht-tile { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 22px 22px 24px; border-radius: 22px; text-decoration: none; transition: box-shadow .3s var(--ease); }
.ht-tile:hover { box-shadow: var(--nm-out-sm); }
.ht-tile__room { align-self: flex-start; margin-bottom: 8px; padding: 2px 10px; border: 1.5px solid var(--bronze-gold); border-radius: 6px; font-size: 12px; font-weight: 600; letter-spacing: .1em; color: var(--text-gold); }
.ht-tile strong { font-family: var(--font-display); font-size: 22px; color: var(--near-black); }
.ht-tile > span:last-child { font-size: 14px; color: var(--steel-taupe); }

@media (max-width: 1199.98px) {
  .ht-view__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ht-keys { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
}
@media (max-width: 991.98px) {
  .ht-hero { padding: 112px 0 64px; }
  .ht-lobby { display: block; }
  .ht-lobby__img .nm-img { aspect-ratio: 4 / 3; }
  .ht-desk { margin: -60px 14px 0; padding: 34px 26px 28px; }
  .ht-hangers { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; }
  .ht-gbook { grid-template-columns: 1fr; }
  .ht-gbook__page--left, .ht-gbook__page--right { border-radius: 12px; box-shadow: none; }
  .ht-gbook__page--right { margin-top: 10px; }
  .ht-gbook__page { min-height: 0; }
}
@media (max-width: 575.98px) {
  .ht-desk { margin: -40px 0 0; }
  .ht-desk__facts { grid-template-columns: 1fr; }
  .ht-view__grid { grid-template-columns: 1fr; }
  .ht-switch__btn { font-size: 14px; }
  .ht-qpanel { padding: 26px 20px; }
  .ht-qchip { font-size: 13.5px; }
  .ht-gbook { padding: 10px; }
  .ht-gbook__page { padding: 28px 20px; }
  .ht-key { grid-template-columns: 72px minmax(0, 1fr); padding-left: 46px; border-radius: 20px 40px 40px 20px; }
  .ht-key__thumb { width: 72px; height: 56px; }
}

/* =============================================================================
   31. PAGE: THEATRE  (/theatre-dinner-chauffeur-london)
   ============================================================================= */
/* TH1 stage hero (dark) */
.th-hero { padding: 138px 0 96px; }
.th-hero__title { font-size: clamp(40px, 4.8vw, 62px); line-height: 1.05; margin: 0 0 18px; color: var(--warm-ivory); }
.th-hero__title em { color: var(--bronze-gold); }
.th-hero__intro { font-size: 17px; line-height: 1.7; color: var(--mist-grey) !important; margin-bottom: 22px; }
.th-bill { display: grid; margin: 0 0 28px; border-top: 1px solid rgba(213, 200, 184, .18); }
.th-bill div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(213, 200, 184, .18); }
.th-bill dt { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--bronze-gold); padding-top: 3px; }
.th-bill dd { margin: 0; color: var(--warm-ivory); font-size: 15px; }
.th-stage { position: relative; padding: 18px 18px 0; border-radius: 260px 260px 24px 24px; background: var(--bg); box-shadow: var(--nm-out); }
.th-stage__arch { position: relative; overflow: hidden; border-radius: 240px 240px 12px 12px; box-shadow: inset 0 0 0 3px rgba(185, 138, 82, .5); }
.th-stage__scene .nm-img { aspect-ratio: 4 / 3.6; object-fit: cover; object-position: 50% 68%; }
.th-curtain { position: absolute; top: 0; bottom: 0; width: 50.5%; background-color: var(--gold-hover); background-image: repeating-linear-gradient(90deg, rgba(20, 20, 20, .22) 0 3px, rgba(20, 20, 20, 0) 3px 26px); transition: transform 1.5s var(--ease) .5s; }
.th-curtain--l { left: 0; transform-origin: 0 50%; }
.th-curtain--r { right: 0; transform-origin: 100% 50%; }
 .th-curtain, .no-js .th-curtain { transform: scaleX(.14); }
.th-stage__valance { position: absolute; left: 0; right: 0; top: 0; height: 34px; background: var(--gold-hover); border-bottom: 4px solid var(--bronze-gold); }
.th-stage__floor { display: block; height: 18px; margin: 0 -18px; border-radius: 0 0 24px 24px; background: #2a2a2a; }

/* TH2 synopsis + programme notes */
.th-notes__head { max-width: 860px; margin: 0 auto 44px; text-align: center; }
.th-notes__label { display: inline-block; margin: 0 0 10px; padding: 4px 16px; border-top: 1px solid var(--text-gold); border-bottom: 1px solid var(--text-gold); font-size: 12px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--text-gold); }
.th-notes__answer { margin: 18px 0 0; font-family: var(--font-display); font-size: clamp(21px, 2.2vw, 26px); line-height: 1.5; color: var(--near-black); }
.th-notes__list { max-width: 980px; margin: 0 auto; }
.th-notes__row { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 30px; padding: 24px 0; border-top: 1px solid var(--lo); box-shadow: inset 0 1px 0 var(--hi); }
.th-notes__row dt { font-family: var(--font-display); font-size: 23px; font-style: italic; font-weight: 500; color: var(--near-black); }
.th-notes__row dt span { font-style: normal; font-size: 15px; color: var(--text-gold); margin-right: 6px; }
.th-notes__row dd { margin: 0; color: var(--steel-taupe); }
.th-notes__more { max-width: 980px; margin: 18px auto 0; color: var(--steel-taupe); }
.th-notes__more a { font-weight: 600; }
.th-notes__more span { display: block; margin-top: 8px; font-size: 13px; }

/* TH3 three acts */
.th-acts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.th-act { position: relative; padding: 10px 40px 80px; text-align: center; }
.th-act + .th-act { border-left: 1px solid var(--bronze-gold); }
.th-act__label { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--bronze-gold); font-variant: small-caps; }
.th-act h3 { margin: 0 0 12px; font-size: clamp(28px, 3vw, 38px); color: var(--warm-ivory); }
.th-act p { margin: 0; color: var(--mist-grey); }
.th-act__stop { position: absolute; left: 50%; bottom: 0; width: 52px; height: 52px; margin-left: -26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--bronze-gold); font-size: 20px; z-index: 1; }
.th-acts__line { display: block; width: 100%; height: 40px; margin-top: -46px; }
.th-acts__line .draw-path { stroke-width: 2; stroke-dasharray: 1; }

/* TH4 marquee cards + cast list */
.th-marquees { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.th-marquee__bulbs { position: relative; height: 100%; padding: 22px 22px 28px; border-radius: 26px; text-align: center; border: 6px dotted rgba(185, 138, 82, .55); transition: border-color .4s var(--ease); }
.th-marquee:hover .th-marquee__bulbs { border-color: var(--bronze-gold); animation: bulbs 1.2s steps(2) infinite; }
@keyframes bulbs { 50% { border-color: rgba(185, 138, 82, .45); } }
.th-marquee__img .nm-img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 16px; }
.th-marquee h3 { margin: 20px 0 8px; font-size: 25px; }
.th-marquee p { margin: 0; font-size: 15px; color: var(--steel-taupe); }
.th-extras { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; margin: 30px 0 0; font-size: 14px; font-weight: 500; }
.th-extras > span[aria-hidden] { color: var(--bronze-gold); }
.th-cast { max-width: 820px; margin: 64px auto 0; padding: 40px 48px; border-radius: 30px; text-align: center; }
.th-cast__label { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--text-gold); }
.th-cast__title { margin: 6px 0 24px; font-size: clamp(26px, 2.8vw, 34px); }
.th-cast ul { margin-bottom: 22px; text-align: left; }
.th-cast__row { display: flex; align-items: baseline; gap: 10px; padding: 12px 0; }
.th-cast__name { flex: none; font-family: var(--font-display); font-size: 22px; font-weight: 600; color: var(--near-black); text-decoration: none; }
.th-cast__name:hover { color: var(--text-gold); }
.th-cast__dots { flex: 1 1 30px; min-width: 30px; border-bottom: 2px dotted rgba(122, 90, 48, .45); transform: translateY(-5px); }
.th-cast__role { flex: 0 1 46%; font-size: 14.5px; font-style: italic; color: var(--steel-taupe); text-align: right; }

/* TH5 interval FAQ (dark) */
.th-faq__intro { position: sticky; top: 110px; }
.th-faq__intro p:not(.nm-eyebrow) { color: var(--mist-grey); }
.th-faq .drawer__item + .drawer__item { border-top: 1px solid rgba(213, 200, 184, .18); }
.th-faq__list { border-top: 2px solid var(--bronze-gold); border-bottom: 2px solid var(--bronze-gold); }
.th-faq__h { margin: 0; font-family: var(--font-sans); }
.th-faq .th-faq__btn { padding: 22px 4px; gap: 18px; color: var(--warm-ivory); font-size: 17px; }
.th-faq .th-faq__btn:hover { color: var(--bronze-gold); }
.th-faq__scene { flex: none; width: 70px; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--bronze-gold); }
.th-faq__q { flex: 1; }
.th-faq__icon { width: 40px; height: 40px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--bronze-gold); }
.th-faq__icon i { transition: transform .4s var(--ease); }
.th-faq__btn[aria-expanded="true"] .th-faq__icon { box-shadow: var(--nm-in-sm); }
.th-faq__btn[aria-expanded="true"] .th-faq__icon i { transform: rotate(45deg); }
.th-faq .acc__inner p { margin: 0; padding: 0 60px 22px 92px; color: var(--mist-grey); }
.no-js .th-faq .acc__panel { grid-template-rows: 1fr; }

/* TH6 playbill of quotes */
.th-poster { max-width: 900px; margin: 0 auto; padding: 56px 60px 48px; border-radius: 8px; background: var(--jet-graphite); text-align: center; box-shadow: 14px 14px 30px var(--lo), -10px -10px 26px var(--hi); outline: 2px solid var(--bronze-gold); outline-offset: -16px; }
.th-poster__top { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--mist-grey); }
.th-poster__title { margin: 0; font-size: clamp(40px, 6vw, 76px); line-height: 1; color: var(--warm-ivory); font-style: italic; }
.th-poster__sub { margin: 12px 0 26px; color: var(--mist-grey); }
.th-poster__score { color: var(--warm-ivory); }
.th-poster__score strong { font-family: var(--font-display); font-size: 34px; margin-left: 6px; }
.th-poster__quotes { display: grid; gap: 30px; margin: 10px 0 30px; }
.th-pq { padding-top: 26px; border-top: 1px solid rgba(213, 200, 184, .18); }
.th-pq .stars { justify-content: center; }
.th-pq blockquote { margin: 0 0 10px; }
.th-pq blockquote p { margin: 0; font-family: var(--font-display); line-height: 1.35; color: var(--warm-ivory); font-size: 22px; }
.th-pq--0 blockquote p { font-size: clamp(26px, 3vw, 34px); }
.th-pq--1 blockquote p { font-style: italic; }
.th-pq__who { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--bronze-gold); }
.th-poster__empty { color: var(--mist-grey); }
.th-poster__links .nm-btn { --bg: #1F1F1F; --hi: #2D2D2D; --lo: #101010; background: var(--bg); color: var(--warm-ivory); box-shadow: 5px 5px 12px #101010, -5px -5px 12px #2D2D2D; }
.th-poster__links .text-link { color: var(--bronze-gold); }

/* TH7 box office */
.th-box__window { position: relative; max-width: 860px; margin: 0 auto; padding: 70px 50px 46px; border-radius: 300px 300px 30px 30px; text-align: center; }
.th-box__sign { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); margin: 0; }
.th-box__sign span { display: inline-block; padding: 8px 26px; border-radius: 6px; background: var(--jet-graphite); color: var(--logo-gold); font-size: 12px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; box-shadow: var(--nm-out-sm); }
.th-box__line { max-width: 540px; margin: 0 auto 26px; color: var(--steel-taupe); }
.th-seats { margin-top: 56px; }
.th-seats__title { margin: 0 0 18px; text-align: center; font-size: 26px; }
.th-seats ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.th-seat { display: flex; align-items: center; gap: 16px; height: 100%; padding: 16px 18px; border-radius: 18px 18px 30px 30px; background: var(--bg); box-shadow: var(--nm-out-sm); text-decoration: none; transition: box-shadow .3s var(--ease); }
.th-seat:hover { box-shadow: var(--nm-in-sm); }
.th-seat__no { width: 50px; height: 50px; flex: none; border-radius: 14px 14px 8px 8px; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; color: var(--text-gold); }
.th-seat strong { display: block; font-family: var(--font-display); font-size: 21px; color: var(--near-black); }
.th-seat small { display: block; font-size: 13.5px; color: var(--steel-taupe); }

@media (max-width: 991.98px) {
  .th-hero { padding: 112px 0 64px; }
  .th-stage { margin-top: 10px; }
  .th-acts__grid { grid-template-columns: 1fr; }
  .th-act { padding: 26px 10px 30px 80px; text-align: left; }
  .th-act + .th-act { border-left: 0; border-top: 1px solid rgba(213, 200, 184, .18); }
  .th-act__stop { left: 0; top: 30px; bottom: auto; margin-left: 0; }
  .th-acts__line { display: none; }
  .th-marquees { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
  .th-faq__intro { position: static; }
  .th-notes__row { grid-template-columns: 1fr; gap: 6px; }
}
@media (max-width: 767.98px) {
  .th-cast { padding: 30px 22px; }
  .th-cast__row { flex-wrap: wrap; }
  .th-cast__dots { display: none; }
  .th-cast__role { flex-basis: 100%; text-align: left; }
  .th-poster { padding: 48px 26px 40px; outline-offset: -10px; }
  .th-box__window { padding: 60px 22px 36px; border-radius: 200px 200px 26px 26px; }
  .th-box__window .btn-row .nm-btn { flex: 1 1 100%; }
  .th-faq .acc__inner p { padding: 0 0 20px; }
  .th-faq__scene { width: auto; }
  .th-faq .th-faq__btn { flex-wrap: wrap; gap: 6px 14px; }
  .th-faq__q { flex: 1 1 70%; }
}
@media (max-width: 575.98px) {
  .th-stage { border-radius: 160px 160px 18px 18px; padding: 12px 12px 0; }
  .th-stage__arch { border-radius: 150px 150px 10px 10px; }
  .th-bill div { grid-template-columns: 1fr; gap: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .th-curtain { transition: none; }
  .th-marquee:hover .th-marquee__bulbs { animation: none; }
}

/* =============================================================================
   32. PAGE: FUNERAL  (/funeral-chauffeur-london) — quiet mode
   ============================================================================= */
/* Quiet mode: gentle fades only, no movement, no WhatsApp pulse */
.js .is-quiet [data-reveal], .js .is-quiet [data-reveal="left"], .js .is-quiet [data-reveal="right"], .js .is-quiet [data-reveal="zoom"] { transform: none; transition: opacity 1s var(--ease); }
.js .is-quiet [data-hero] { transform: none; }
.js .is-quiet.is-ready [data-hero] { animation-name: quietIn; animation-duration: 1.2s; }
@keyframes quietIn { from { opacity: 0; } to { opacity: 1; } }
.is-quiet .float-wa::before { display: none; }
.is-quiet .float-wa:hover { transform: none; }

/* F1 quiet split hero */
.fn-hero { padding: 138px 0 80px; }
.fn-hero__frame { max-width: 500px; padding: 14px; border-radius: 30px; }
.fn-hero__frame .nm-img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 20px; }
.fn-hero__eyebrow { margin: 0 0 12px; font-size: 12px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--text-gold); }
.fn-hero__title { font-size: clamp(38px, 4.6vw, 58px); line-height: 1.08; margin: 0 0 18px; }
.fn-hero__intro { font-size: 18px; line-height: 1.75; color: var(--steel-taupe); margin-bottom: 24px; }
.fn-facts { margin: 0 0 30px; }
.fn-facts div { display: grid; grid-template-columns: 140px 1fr; gap: 14px; padding: 12px 0; border-top: 1px solid var(--sand-line); }
.fn-facts div:last-child { border-bottom: 1px solid var(--sand-line); }
.fn-facts dt { font-size: 13px; font-weight: 600; color: var(--steel-taupe); }
.fn-facts dd { margin: 0; color: var(--near-black); }

/* F2 narrow reading column */
.fn-read { border-top: 1px solid var(--sand-line); }
.fn-read__col { max-width: 680px; margin: 0 auto; color: var(--steel-taupe); font-size: 17px; line-height: 1.8; }
.fn-read__col a { font-weight: 600; }
.fn-read__answer { margin: 0 0 26px; font-family: var(--font-display); font-size: 23px; line-height: 1.55; color: var(--near-black); }
.fn-read__reviewed { margin-top: 28px; font-size: 13px; }

/* F3 quiet numbered guide */
.fn-guide__col { max-width: 680px; margin: 0 auto; }
.fn-guide__list li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; padding: 22px 0; border-top: 1px solid var(--lo); }
.fn-guide__list li:last-child { border-bottom: 1px solid var(--lo); }
.fn-guide__n { font-family: var(--font-display); font-size: 40px; line-height: 1; color: var(--text-gold); }
.fn-guide__list h3 { margin: 0 0 6px; font-size: 24px; }
.fn-guide__list p { margin: 0; color: var(--steel-taupe); }
.fn-guide__soft { margin: 28px 0 0; font-family: var(--font-display); font-size: 21px; color: var(--near-black); }
.fn-guide__soft a { white-space: nowrap; }

/* F4 what we provide + family cars */
.fn-provide__title { max-width: 900px; margin: 0 auto 30px; }
.fn-provide__rows { display: grid; gap: 22px; max-width: 900px; margin: 0 auto; }
.fn-row { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; align-items: center; }
.fn-row__img { padding: 8px; border-radius: 20px; }
.fn-row__img .nm-img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 14px; }
.fn-row h3 { margin: 0 0 6px; font-size: 24px; }
.fn-row p { margin: 0; color: var(--steel-taupe); }
.fn-provide__extras { max-width: 900px; margin: 28px auto 0; font-size: 14px; color: var(--steel-taupe); }
.fn-cars { max-width: 900px; margin: 40px auto 0; padding: 26px 30px; border-radius: 24px; }
.fn-cars h3 { margin: 0 0 14px; font-size: 22px; }
.fn-cars li { display: flex; align-items: center; gap: 16px; padding: 10px 0; color: var(--steel-taupe); }
.fn-cars li + li { border-top: 1px solid var(--lo); }
.fn-cars__thumb { width: 84px; flex: none; }
.fn-cars__thumb .nm-img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.fn-cars a { font-weight: 600; color: var(--near-black); }

/* F5 questions (all shown) */
.fn-faq__col { max-width: 760px; margin: 0 auto; }
.fn-faq__item { padding: 22px 0; border-top: 1px solid var(--lo); }
.fn-faq__item:last-child { border-bottom: 1px solid var(--lo); }
.fn-faq__item h3 { margin: 0 0 8px; font-size: 23px; }
.fn-faq__item p { margin: 0; color: var(--steel-taupe); }

/* F6 quiet words */
.fn-words__col { max-width: 720px; margin: 0 auto; text-align: center; }
.fn-words__intro { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 26px; font-size: 14px; color: var(--steel-taupe); }
.fn-word { margin: 0 0 30px; padding-bottom: 30px; border-bottom: 1px solid var(--sand-line); }
.fn-word blockquote { margin: 0 0 10px; }
.fn-word blockquote p { margin: 0; font-family: var(--font-display); font-size: 22px; line-height: 1.5; color: var(--near-black); }
.fn-word figcaption { font-size: 14px; color: var(--steel-taupe); }

/* F7 here to help */
.fn-help__panel { max-width: 760px; margin: 0 auto; padding: 46px 40px; border-radius: 30px; text-align: center; }
.fn-help__panel > p { margin: 0 auto 24px; max-width: 520px; color: var(--steel-taupe); }
.fn-help__mail { margin: 20px 0 0 !important; font-size: 14px; }
.fn-help__mail a { word-break: break-all; }
.fn-rel { max-width: 760px; margin: 40px auto 0; }
.fn-rel h3 { margin: 0 0 12px; font-size: 22px; }
.fn-rel li { padding: 12px 0; border-top: 1px solid var(--lo); color: var(--steel-taupe); font-size: 15px; }
.fn-rel a { font-weight: 600; margin-right: 8px; }

@media (max-width: 991.98px) {
  .fn-hero { padding: 112px 0 56px; }
  .fn-hero__frame { max-width: none; }
  .fn-hero__frame .nm-img { aspect-ratio: 16 / 10; object-position: 50% 70%; }
}
@media (max-width: 575.98px) {
  .fn-facts div { grid-template-columns: 1fr; gap: 2px; }
  .fn-row { grid-template-columns: 1fr; gap: 14px; }
  .fn-help__panel { padding: 34px 20px; }
  .fn-help__panel .btn-row .nm-btn { flex: 1 1 100%; }
  .fn-guide__list li { grid-template-columns: 40px minmax(0, 1fr); }
  .fn-guide__n { font-size: 32px; }
}

/* =============================================================================
   33. PAGE: TOURS  (/london-chauffeur-tours)
   ============================================================================= */
/* TR1 map hero */
.tr-hero { padding: 138px 0 96px; }
.tr-hero__title { font-size: clamp(40px, 5vw, 64px); line-height: 1.05; margin: 0 0 20px; }
.tr-hero__title em { color: var(--text-gold); }
.tr-hero__intro { font-size: 18px; line-height: 1.7; color: var(--steel-taupe); margin-bottom: 28px; }
.tr-map { position: relative; max-width: 500px; margin-left: auto; padding-bottom: 40px; }
.tr-map__frame { position: relative; padding: 14px; border-radius: 34px; }
.tr-map__frame .nm-img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 22px; }
.tr-map__route { position: absolute; inset: 14px; width: calc(100% - 28px); height: calc(100% - 28px); pointer-events: none; }
.tr-map__path { fill: none; stroke: var(--clean-white); stroke-width: 4; stroke-linecap: round; stroke-dasharray: .012 .014; filter: drop-shadow(0 1px 2px rgba(20, 20, 20, .35)); }
.tr-map__route circle { fill: var(--bronze-gold); stroke: var(--clean-white); stroke-width: 3; opacity: 0; transition: opacity .4s var(--ease); }
 .tr-map__route circle { opacity: 1; }
.tr-map__route circle:nth-of-type(2) { transition-delay: .7s; } .tr-map__route circle:nth-of-type(3) { transition-delay: 1.1s; } .tr-map__route circle:nth-of-type(4) { transition-delay: 1.5s; }
.js .tr-map__path { -webkit-mask: linear-gradient(#000 0 0) no-repeat 0 100% / 100% 0%; mask: linear-gradient(#000 0 0) no-repeat 0 100% / 100% 0%; transition: -webkit-mask-size 1.8s var(--ease) .4s, mask-size 1.8s var(--ease) .4s; }
 .tr-map__path { -webkit-mask-size: 100% 100%; mask-size: 100% 100%; }
.tr-legend { position: absolute; left: -50px; bottom: 0; display: grid; gap: 6px; width: min(300px, 80%); margin: 0; padding: 18px 20px; border-radius: 18px; }
.tr-legend div { display: grid; grid-template-columns: 1fr; }
.tr-legend dt { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); }
.tr-legend dt i { margin-right: 4px; }
.tr-legend dd { margin: 0 0 4px; font-size: 14px; font-weight: 600; }

/* TR2 compass + journal page */
.tr-compass { width: 120px; height: 120px; margin-bottom: 26px; padding: 12px; border-radius: 50%; }
.tr-compass__face { position: relative; display: block; width: 100%; height: 100%; border-radius: 50%; }
.tr-compass__needle { position: absolute; left: 50%; top: 14px; bottom: 14px; width: 8px; margin-left: -4px; transform: rotate(-20deg); transition: transform 1.8s var(--ease-spring); }
.tr-compass__needle::before, .tr-compass__needle::after { content: ""; position: absolute; left: 0; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; }
.tr-compass__needle::before { top: 0; border-bottom: 34px solid var(--bronze-gold); }
.tr-compass__needle::after { bottom: 0; border-top: 34px solid var(--steel-taupe); }
.js .tr-compass.is-in .tr-compass__needle { transform: rotate(25deg); }
.tr-compass b { position: absolute; font-size: 10px; font-weight: 600; color: var(--steel-taupe); }
.tr-compass__n { top: 4px; left: 50%; transform: translateX(-50%); color: var(--text-gold) !important; }
.tr-compass__s { bottom: 4px; left: 50%; transform: translateX(-50%); }
.tr-compass__e { right: 6px; top: 50%; transform: translateY(-50%); }
.tr-compass__w { left: 6px; top: 50%; transform: translateY(-50%); }
.tr-journal__answer { margin: 0; padding-left: 20px; border-left: 3px solid var(--bronze-gold); font-family: var(--font-display); font-size: 21px; line-height: 1.55; color: var(--near-black); }
.tr-page { position: relative; padding: 40px 40px 30px 76px; border-radius: 10px 28px 28px 10px; color: var(--steel-taupe); }
.tr-page::before { content: ""; position: absolute; left: 50px; top: 0; bottom: 0; width: 2px; background: rgba(185, 138, 82, .5); }
.tr-page::after { content: ""; position: absolute; left: 16px; top: 30px; bottom: 30px; width: 14px; background: radial-gradient(circle, var(--light-oat) 5px, transparent 5.5px) 0 0 / 14px 40px repeat-y; }
.tr-page a { font-weight: 600; }
.tr-page__reviewed { margin: 0; font-size: 13px; }

/* TR3 route tabs */
.tr-tabs__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-bottom: 28px; }
.tr-tab { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 22px 8px 8px; border: 0; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); font-size: 15px; font-weight: 600; color: var(--steel-taupe); cursor: pointer; transition: box-shadow .3s var(--ease), color .3s var(--ease); }
.tr-tab__n { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.tr-tab[aria-selected="true"] { box-shadow: var(--nm-in-sm); color: var(--near-black); }
.tr-tab[aria-selected="true"] .tr-tab__n { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.tr-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; padding: 40px; border-radius: 34px; }
.js .tr-panel[data-inactive] { display: none; }
.js .tr-panel.is-entering { animation: panelIn .55s var(--ease) both; }
.no-js .tr-panel + .tr-panel { margin-top: 24px; }
.tr-panel h3 { margin: 0 0 12px; font-size: clamp(28px, 3vw, 36px); }
.tr-panel__copy > p { color: var(--steel-taupe); }
.tr-panel__note { font-size: 14px; }
.tr-panel__note i { color: var(--text-gold); margin-right: 4px; }
.tr-stops { position: relative; display: grid; gap: 14px; align-content: center; }
.tr-stops::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; border-left: 3px dashed rgba(185, 138, 82, .6); }
.tr-stops li { position: relative; display: flex; align-items: center; gap: 18px; font-family: var(--font-display); font-size: 23px; font-weight: 600; }
.tr-stops__pin { position: relative; z-index: 1; width: 44px; height: 44px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-sans); font-size: 14px; color: var(--text-gold); }
.tr-stops__pin { text-indent: 0; }
.js .tr-panel.is-entering .tr-stops li { animation: panelIn .5s var(--ease) both; }
.js .tr-panel.is-entering .tr-stops li:nth-child(2) { animation-delay: .1s; } .js .tr-panel.is-entering .tr-stops li:nth-child(3) { animation-delay: .2s; } .js .tr-panel.is-entering .tr-stops li:nth-child(4) { animation-delay: .3s; }

/* TR4 pinned sights + viewfinder cars */
.tr-extras { display: grid; grid-template-columns: repeat(2, auto); gap: 8px 22px; font-size: 14px; font-weight: 500; }
.tr-extras i { color: var(--text-gold); margin-right: 4px; }
.tr-sights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.tr-sight__img { position: relative; padding: 10px; border-radius: 24px; }
.tr-sight__img .nm-img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 16px; }
.tr-sight__pin { position: absolute; top: -14px; left: 26px; width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bronze-gold); color: var(--near-black); font-size: 18px; box-shadow: var(--nm-out-sm); }
.tr-sight h3 { margin: 22px 0 8px; font-size: 25px; }
.tr-sight p { margin: 0; font-size: 15px; color: var(--steel-taupe); }
.tr-lens__title { margin: 70px 0 28px; text-align: center; font-size: clamp(26px, 2.8vw, 34px); }
.tr-lens { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px; }
.tr-lens li { flex: 0 1 280px; }
.tr-lens__item { display: flex; flex-direction: column; align-items: center; text-align: center; text-decoration: none; }
.tr-lens__ring { width: 220px; height: 220px; padding: 14px; border-radius: 50%; transition: box-shadow .4s var(--ease); }
.tr-lens__glass { display: block; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; outline: 2px dashed rgba(185, 138, 82, .6); outline-offset: 5px; }
.tr-lens__glass .nm-img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.tr-lens__item:hover .tr-lens__glass .nm-img { transform: scale(1.12); }
.tr-lens__item strong { margin-top: 20px; font-family: var(--font-display); font-size: 24px; color: var(--near-black); }
.tr-lens__item > span:last-child { margin-top: 4px; font-size: 14.5px; color: var(--steel-taupe); }

/* TR5 dotted-route FAQ */
.tr-faq__route { position: relative; max-width: 860px; margin: 0 auto; padding-left: 70px; }
.tr-faq__route::before { content: ""; position: absolute; left: 21px; top: 20px; bottom: 20px; border-left: 3px dotted rgba(185, 138, 82, .7); }
.tr-faq .drawer__item + .drawer__item { border-top: 0; }
.tr-faq__item { position: relative; margin-bottom: 14px; border-radius: 22px; background: var(--bg); box-shadow: var(--nm-out-sm); transition: box-shadow .35s var(--ease); }
.tr-faq__item.is-open { box-shadow: var(--nm-in-sm); }
.tr-faq__stop { position: absolute; left: -70px; top: 12px; width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: var(--text-gold); transition: background-color .3s var(--ease), color .3s var(--ease); }
.tr-faq__item.is-open .tr-faq__stop { background: var(--bronze-gold); color: var(--near-black); }
.tr-faq__h { margin: 0; font-family: var(--font-sans); }
.tr-faq .tr-faq__btn { padding: 20px 24px; font-size: 16.5px; }
.tr-faq__btn i { color: var(--text-gold); transition: transform .4s var(--ease); }
.tr-faq__btn[aria-expanded="true"] i { transform: rotate(180deg); }
.tr-faq .acc__inner p { margin: 0; padding: 0 24px 22px; color: var(--steel-taupe); }
.no-js .tr-faq .acc__panel { grid-template-rows: 1fr; }

/* TR6 sheet of stamps */
.tr-stamps__side { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.tr-stamps__side strong { font-family: var(--font-display); font-size: 34px; }
.tr-stamps__side p { margin: 0; }
.tr-sheet { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.tr-stamp { padding: 10px; background: radial-gradient(circle, var(--light-oat) 4.5px, var(--clean-white) 5px) -2px -2px / 16px 16px; filter: drop-shadow(6px 6px 10px var(--lo)) drop-shadow(-4px -4px 8px var(--hi)); rotate: -1deg; transition: rotate .4s var(--ease); }
.tr-stamp:nth-child(even) { rotate: 1.2deg; }
.tr-stamp:hover { rotate: 0deg; }
.tr-stamp__inner { position: relative; height: 100%; padding: 26px 24px 22px; background: var(--clean-white); outline: 1px solid rgba(185, 138, 82, .45); outline-offset: -8px; }
.tr-stamp__value { position: absolute; top: 18px; right: 20px; font-family: var(--font-display); font-size: 22px; font-weight: 600; color: var(--text-gold); }
.tr-stamp blockquote { margin: 0 0 14px; }
.tr-stamp blockquote p { margin: 0; padding-right: 30px; font-family: var(--font-display); font-size: 19px; line-height: 1.5; color: var(--near-black); }
.tr-stamp__who { margin: 0; font-size: 13px; font-weight: 600; }
.tr-stamp__who span { display: block; font-weight: 400; color: var(--steel-taupe); }

/* TR7 plan + signposts */
.tr-plan__box { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: center; padding: 48px; border-radius: 36px; box-shadow: 14px 14px 30px #D7CCBC, -10px -10px 26px #FFFCF6; }
.tr-plan__box p:not(.nm-eyebrow) { color: var(--mist-grey); }
.tr-plan__routes { display: grid; gap: 12px; }
.tr-plan__routes a { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 12px 22px; border-radius: 16px; background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--warm-ivory); font-weight: 600; text-decoration: none; transition: box-shadow .3s var(--ease), color .3s var(--ease); }
.tr-plan__routes a i { color: var(--bronze-gold); }
.tr-plan__routes a:hover { box-shadow: var(--nm-in-sm); color: var(--bronze-gold); }
.tr-posts { margin-top: 52px; }
.tr-posts h3 { margin: 0 0 18px; font-size: 26px; }
.tr-posts ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.tr-posts li { filter: drop-shadow(5px 5px 9px var(--lo)) drop-shadow(-4px -4px 8px var(--hi)); }
.tr-post { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 20px 50px 20px 22px; background: var(--bg); text-decoration: none; clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0 100%); border-radius: 14px 0 0 14px; transition: background-color .3s var(--ease); }
.tr-post:hover { background: var(--clean-white); }
.tr-post strong { font-family: var(--font-display); font-size: 22px; color: var(--near-black); }
.tr-post span { font-size: 14px; color: var(--steel-taupe); }
.tr-post:focus-visible { outline-offset: -4px; }

@media (max-width: 991.98px) {
  .tr-hero { padding: 112px 0 64px; }
  .tr-map { margin: 10px auto 0; padding-bottom: 0; }
  .tr-legend { position: relative; left: auto; width: auto; margin: -40px 20px 0; }
  .tr-panel { grid-template-columns: 1fr; padding: 28px; gap: 26px; }
  .tr-sights, .tr-sheet { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .tr-plan__box { grid-template-columns: 1fr; padding: 34px 26px; }
}
@media (max-width: 575.98px) {
  .tr-map__frame .nm-img { aspect-ratio: 4 / 4.4; }
  .tr-page { padding: 30px 22px 24px 56px; }
  .tr-page::before { left: 40px; }
  .tr-page::after { left: 10px; }
  .tr-extras { grid-template-columns: 1fr; }
  .tr-stops li { font-size: 20px; }
  .tr-faq__route { padding-left: 0; }
  .tr-faq__route::before, .tr-faq__stop { display: none; }
  .tr-lens__ring { width: 180px; height: 180px; }
  .tr-tab { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .js .tr-map__path { -webkit-mask: none; mask: none; transition: none; }
  .tr-map__route circle { opacity: 1; transition: none; }
  .tr-compass__needle { transition: none; }
}

/* Service pages: small-screen refinements */
@media (max-width: 991.98px) {
  .rs-exp__panel::after { background: linear-gradient(180deg, rgba(20, 20, 20, .15) 0%, rgba(20, 20, 20, .9) 58%); }
  .wd-car { max-width: 340px; margin: 0 auto; }
}
@media (max-width: 575.98px) {
  .hr-range__stops li:nth-child(3) button, .hr-range__stops li:nth-child(5) button { visibility: hidden; }
}
.ht-floors { margin-top: 24px; }
@media (max-width: 767.98px) {
  .th-faq .th-faq__btn { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 14px; align-items: center; }
  .th-faq__scene, .th-faq__q { grid-column: 1; }
  .th-faq__icon { grid-column: 2; grid-row: 1 / span 2; }
}

/* Company mega panel (redesigned) */
.mega-panel--company { left: 4%; right: 4%; padding: 30px; }
.mega-grid--company { grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(240px, .95fr); gap: 24px; align-items: start; }
.mega-co { display: grid; gap: 4px; }
.mega-co__link { display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 16px; color: var(--near-black); text-decoration: none; transition: box-shadow .25s var(--ease), background-color .25s var(--ease); }
.mega-co__ic { width: 40px; height: 40px; flex: none; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--bg); box-shadow: var(--nm-in-sm); color: var(--text-gold); font-size: 16px; transition: box-shadow .25s var(--ease), background-color .25s var(--ease), color .25s var(--ease); }
.mega-co__txt { display: flex; flex-direction: column; min-width: 0; }
.mega-co__name { font-size: 15px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.mega-co__line { font-size: 12.5px; line-height: 1.35; color: var(--steel-taupe); }
.mega-co__link:hover, .mega-co__link:focus-visible, .mega-co__link[aria-current="page"] { box-shadow: var(--nm-out-sm); }
.mega-co__link:hover .mega-co__ic, .mega-co__link:focus-visible .mega-co__ic { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.mega-grid--company .mega-contact { gap: 6px; padding: 22px; }
.mega-grid--company .mega-contact .mega-head { margin-bottom: 6px; }
.mega-contact__row span { min-width: 0; }
.mega-contact__cta { margin-top: 10px; width: 100%; }
@media (max-width: 1399.98px) {
  .mega-panel--company { left: 0; right: 0; }
  .mega-co__line { display: none; }
}

/* =============================================================================
   34. PAGE: TRAVEL (shared layout: heliport, St Pancras, cruise ports,
       long distance UK, Europe)
   ============================================================================= */
/* J1 slanted-frame hero + boarding tags */
.tj-hero { padding: 132px 0 70px; }
.tj-hero__card { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; border-radius: 40px; overflow: hidden; }
.tj-hero__copy { padding: 48px 20px 48px 50px; }
.tj-hero__title { font-size: clamp(38px, 4.4vw, 58px); line-height: 1.05; margin: 0 0 18px; }
.tj-hero__intro { font-size: 17.5px; line-height: 1.7; color: var(--steel-taupe); margin-bottom: 28px; }
.tj-hero__media { position: relative; min-height: 520px; }
.tj-hero__media .nm-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 68%; clip-path: polygon(16% 0, 100% 0, 100% 100%, 0 100%); }
.js .tj-hero__media .nm-img { clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%); transition: clip-path 1.2s var(--ease) .3s; }
 .tj-hero__media .nm-img { clip-path: polygon(16% 0, 100% 0, 100% 100%, 0 100%); }
.tj-hero__badge { position: absolute; left: 14%; top: 50%; width: 70px; height: 70px; margin: -35px 0 0 -35px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 26px; z-index: 1; }
.tj-tags { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: -36px 50px 0; position: relative; z-index: 2; }
.tj-tag { position: relative; padding: 18px 22px 18px 54px; border-radius: 16px 40px 40px 16px; }
.tj-tag__hole { position: absolute; left: 20px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-radius: 50%; box-shadow: var(--nm-in-sm); border: 2px solid var(--bronze-gold); }
.tj-tag dt { font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.tj-tag dd { margin: 2px 0 0; font-size: 14.5px; font-weight: 600; line-height: 1.35; }

/* J2 from/to band */
.tj-band { display: flex; align-items: center; gap: 18px; max-width: 900px; margin: 0 auto 46px; padding: 12px; border-radius: var(--r-pill); }
.tj-band__end { flex: none; display: flex; flex-direction: column; padding: 10px 22px; border-radius: var(--r-pill); font-family: var(--font-display); font-size: 19px; font-weight: 600; line-height: 1.2; max-width: 40%; }
.tj-band__end small { font-family: var(--font-sans); font-size: 10.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); }
.tj-band__track { position: relative; flex: 1; height: 3px; border-top: 3px dashed rgba(185, 138, 82, .6); }
.tj-band__car { position: absolute; top: -21px; left: 0; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--near-black); color: var(--bronze-gold); font-size: 16px; transform: translateX(0); }
.js .tj-band.is-in .tj-band__car { animation: tjDrive 4.5s var(--ease) .4s forwards; }
@keyframes tjDrive { from { left: 0; } to { left: calc(100% - 38px); } }
.no-js .tj-band__car { left: calc(50% - 19px); }
.tj-over__head { max-width: 900px; margin: 0 auto 36px; text-align: center; }
.tj-over__answer { margin: 16px 0 0; font-family: var(--font-display); font-size: clamp(21px, 2.2vw, 25px); line-height: 1.5; color: var(--near-black); }
.tj-over__cols { max-width: 1040px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; color: var(--steel-taupe); position: relative; }
.tj-over__cols::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; border-left: 1px solid var(--lo); box-shadow: 1px 0 0 var(--hi); }
.tj-over__cols a { font-weight: 600; }
.tj-over__reviewed { margin: 18px auto 0; max-width: 1040px; font-size: 13px; color: var(--steel-taupe); }
.tj-over__reviewed i { color: var(--text-gold); margin-right: 4px; }

/* J3 connection line + places + checklist */
.tj-line { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; --p: 0; }
.tj-line::before, .tj-line::after { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 34px; height: 6px; border-radius: 6px; }
.tj-line::before { background: var(--bg); box-shadow: var(--nm-in-sm); }
.tj-line::after { background: var(--bronze-gold); transform-origin: left; transform: scaleX(var(--p)); }
.no-js .tj-line::after { transform: none; }
.tj-stop { position: relative; text-align: center; }
.tj-stop__node { position: relative; z-index: 1; width: 74px; height: 74px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 26px; transition: background-color .4s var(--ease), color .4s var(--ease); }
.tj-stop.is-lit .tj-stop__node { background: var(--bronze-gold); color: var(--near-black); }
.tj-stop__n { display: block; margin: 16px 0 4px; font-size: 12px; font-weight: 600; letter-spacing: .2em; color: var(--text-gold); }
.tj-stop h3 { margin: 0 0 6px; font-family: var(--font-sans); font-size: 17px; font-weight: 600; }
.tj-stop p { margin: 0 auto; max-width: 240px; font-size: 14.5px; color: var(--steel-taupe); }
.tj-route__lower { margin-top: 56px; }
.tj-route__sub { margin: 0 0 18px; font-size: 26px; }
.tj-places { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.tj-place { display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; transition: transform .35s var(--ease); }
.tj-place:hover { transform: translateY(-4px); }
.tj-place--img { grid-column: span 1; }
.tj-place__img .nm-img { aspect-ratio: 3 / 2; object-fit: cover; }
.tj-place__body { position: relative; padding: 18px 20px 20px 52px; }
.tj-place__pin { position: absolute; left: 18px; top: 19px; color: var(--text-gold); font-size: 18px; }
.tj-place h4 { margin: 0 0 4px; font-size: 21px; }
.tj-place h4 a { color: var(--near-black); }
.tj-place p { margin: 0; font-size: 14px; color: var(--steel-taupe); }
.tj-place__q { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 600; text-decoration: none; }
.tj-places--chips { display: flex; flex-wrap: wrap; gap: 12px; }
.tj-places--chips .tj-place { border-radius: var(--r-pill); }
.tj-places--chips .tj-place__body { padding: 12px 20px 12px 42px; }
.tj-places--chips .tj-place__pin { left: 16px; top: 13px; font-size: 15px; }
.tj-places--chips h4 { margin: 0; font-family: var(--font-sans); font-size: 15px; font-weight: 600; }
.tj-check { position: sticky; top: 110px; padding: 30px 28px; border-radius: 30px; }
.tj-check h3 { margin: 0 0 16px; font-size: 26px; }
.tj-check li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; font-size: 15px; }
.tj-check__box { width: 28px; height: 28px; flex: none; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); }
.tj-check__note { margin: 16px 0 20px; padding-top: 14px; border-top: 1px solid var(--lo); font-size: 14px; color: var(--steel-taupe); }
.tj-check__note a { font-weight: 600; }

/* J4 suitcase cards + vehicle selector */
.tj-extras { display: grid; grid-template-columns: repeat(2, auto); gap: 8px 22px; font-size: 14px; font-weight: 500; }
.tj-extras i { color: var(--text-gold); margin-right: 4px; }
.tj-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; padding-top: 22px; }
.tj-case { position: relative; }
.tj-case__handle { position: absolute; left: 50%; top: -20px; width: 96px; height: 34px; margin-left: -48px; border-radius: 20px 20px 0 0; border: 7px solid var(--bg); border-bottom: 0; box-shadow: -3px -3px 6px var(--hi), 3px 0 6px var(--lo); }
.tj-case__body { position: relative; height: 100%; padding: 16px 16px 26px; border-radius: 28px; }
.tj-case__body::after { content: ""; position: absolute; left: 30%; right: 30%; bottom: 10px; height: 4px; border-radius: 4px; box-shadow: var(--nm-in-sm); }
.tj-case__img .nm-img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; }
.tj-case h3 { margin: 20px 8px 6px; font-size: 24px; }
.tj-case p { margin: 0 8px; font-size: 15px; color: var(--steel-taupe); }
.tj-garage { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 34px; margin-top: 64px; padding: 32px; border-radius: 34px; }
.tj-garage__title { margin: 0 0 18px; font-size: 26px; }
.tj-garage__tabs { display: grid; gap: 8px; margin-bottom: 22px; }
.tj-garage__tab { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 10px 16px; border: 0; border-radius: 16px; background: transparent; font-size: 15px; font-weight: 600; color: var(--steel-taupe); text-align: left; cursor: pointer; transition: box-shadow .3s var(--ease), color .3s var(--ease); }
.tj-garage__dot { width: 12px; height: 12px; flex: none; border-radius: 50%; box-shadow: var(--nm-in-sm); }
.tj-garage__tab[aria-selected="true"] { box-shadow: var(--nm-in-sm); color: var(--near-black); }
.tj-garage__tab[aria-selected="true"] .tj-garage__dot { background: var(--bronze-gold); box-shadow: none; }
.tj-garage__panel { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.js .tj-garage__panel[data-inactive] { display: none; }
.js .tj-garage__panel.is-entering .tj-garage__img .nm-img { animation: carIn .8s var(--ease) both; }
.js .tj-garage__panel.is-entering .tj-garage__copy { animation: panelIn .55s var(--ease) both; }
.no-js .tj-garage__panel + .tj-garage__panel { margin-top: 24px; }
.tj-garage__img { padding: 10px; border-radius: 24px; overflow: hidden; }
.tj-garage__img .nm-img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.tj-garage__class { margin: 0 0 4px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--text-gold); }
.tj-garage__copy h4 { margin: 0 0 10px; font-size: 28px; }
.tj-garage__copy > p:not(.tj-garage__class) { color: var(--steel-taupe); }

/* J5 departure-board FAQ (dark) */
.tj-faq__lead { margin: 0; color: var(--mist-grey); }
.tj-faq__lead a { color: var(--bronze-gold); font-weight: 600; }
.tj-board { padding: 10px 22px; border-radius: 26px; box-shadow: var(--nm-in); }
.tj-board__head { display: grid; grid-template-columns: 70px minmax(0, 1fr) 90px; gap: 16px; padding: 12px 4px; border-bottom: 1px solid rgba(213, 200, 184, .18); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--mist-grey); }
.tj-board__head span:last-child { text-align: right; }
.tj-faq .drawer__item + .drawer__item { border-top: 1px solid rgba(213, 200, 184, .18); }
.tj-board__h { margin: 0; font-family: var(--font-sans); }
.tj-faq .tj-board__btn { display: grid; grid-template-columns: 70px minmax(0, 1fr) 90px; gap: 16px; padding: 18px 4px; color: var(--warm-ivory); font-size: 16px; }
.tj-faq .tj-board__btn:hover { color: var(--bronze-gold); }
.tj-board__no { font-variant-numeric: tabular-nums; letter-spacing: .1em; color: var(--bronze-gold); font-weight: 600; }
.tj-board__status { justify-self: end; padding: 3px 12px; border-radius: 6px; background: #151515; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--mist-grey); }
.tj-board__open { display: none; color: var(--bronze-gold); }
.tj-board__btn[aria-expanded="true"] .tj-board__open { display: inline; }
.tj-board__btn[aria-expanded="true"] .tj-board__shut { display: none; }
.tj-faq .acc__inner p { margin: 0; padding: 0 106px 20px 90px; color: var(--mist-grey); }
.no-js .tj-faq .acc__panel { grid-template-rows: 1fr; }

/* J6 boarding-pass reviews */
.tj-pass__side { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.tj-pass__side > span { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.tj-pass__side strong { font-family: var(--font-display); font-size: 34px; }
.tj-pass__side p { margin: 0; }
.tj-passes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.tj-passcard { display: grid; grid-template-columns: minmax(0, 1fr) 120px; border-radius: 24px; overflow: hidden; }
.tj-passcard__main { padding: 26px 26px 24px; }
.tj-passcard__top { display: flex; flex-direction: column; margin: 0 0 12px; font-size: 14px; }
.tj-passcard__top span { font-size: 10.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); }
.tj-passcard blockquote { margin: 0; }
.tj-passcard blockquote p { margin: 0; font-family: var(--font-display); font-size: 19px; line-height: 1.5; color: var(--near-black); }
.tj-passcard__stub { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 18px 10px; border-left: 2px dashed rgba(143, 131, 116, .5); box-shadow: inset 6px 0 12px -10px var(--lo); text-align: center; }
.tj-passcard__stub::before, .tj-passcard__stub::after { content: ""; position: absolute; left: -12px; width: 22px; height: 22px; border-radius: 50%; background: var(--warm-ivory); box-shadow: var(--nm-in-sm); }
.tj-passcard__stub::before { top: -11px; }
.tj-passcard__stub::after { bottom: -11px; }
.tj-passcard__label { font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); }
.tj-passcard__no { font-family: var(--font-display); font-size: 34px; font-weight: 600; line-height: 1; color: var(--text-gold); }
.tj-passcard__date { font-size: 12px; color: var(--steel-taupe); }

/* J7 booking panel + connections */
.tj-book__panel { max-width: 940px; margin: 0 auto; padding: 46px 40px; border-radius: 36px; text-align: center; box-shadow: 14px 14px 30px #CBBDAA, -10px -10px 26px #FAF4EA; }
.tj-book__route { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-bottom: 20px; padding: 8px 10px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); }
.tj-book__route span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--warm-ivory); font-size: 14px; font-weight: 600; }
.tj-book__route span i { color: var(--bronze-gold); }
.tj-book__arrow { color: var(--bronze-gold); }
.tj-book__panel > p { max-width: 560px; margin: 0 auto 26px; color: var(--mist-grey); }
.tj-conn { max-width: 940px; margin: 46px auto 0; }
.tj-conn h3 { margin: 0 0 16px; font-size: 26px; }
.tj-conn ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tj-conn__link { display: flex; align-items: center; gap: 16px; height: 100%; padding: 16px 18px; border-radius: 20px; background: var(--bg); box-shadow: var(--nm-out-sm); text-decoration: none; transition: box-shadow .3s var(--ease); }
.tj-conn__link:hover { box-shadow: var(--nm-in-sm); }
.tj-conn__ic { width: 46px; height: 46px; flex: none; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); }
.tj-conn__link strong { display: block; font-family: var(--font-display); font-size: 21px; color: var(--near-black); }
.tj-conn__link small { display: block; font-size: 13.5px; color: var(--steel-taupe); }
.tj-conn__go { margin-left: auto; color: var(--text-gold); transition: transform .3s var(--ease); }
.tj-conn__link:hover .tj-conn__go { transform: translateX(4px); }

@media (max-width: 1199.98px) {
  .tj-tags { margin: -30px 24px 0; }
}
@media (max-width: 991.98px) {
  .tj-hero { padding: 108px 0 56px; }
  .tj-hero__card { grid-template-columns: 1fr; }
  .tj-hero__media { order: -1; min-height: 300px; }
  .tj-hero__media .nm-img,  .tj-hero__media .nm-img { clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%); }
  .js .tj-hero__media .nm-img { clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); }
  .tj-hero__badge { left: auto; right: 30px; top: auto; bottom: -6px; margin: 0; }
  .tj-hero__copy { padding: 30px 28px 44px; }
  .tj-tags { grid-template-columns: 1fr; margin: -24px 20px 0; gap: 12px; }
  .tj-line { grid-template-columns: 1fr 1fr; row-gap: 34px; }
  .tj-line::before, .tj-line::after { display: none; }
  .tj-check { position: static; }
  .tj-cases { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; gap: 44px; }
  .tj-garage { grid-template-columns: 1fr; padding: 24px; }
  .tj-garage__tabs { display: flex; flex-wrap: wrap; }
  .tj-garage__tab { flex: 1 1 auto; }
  .tj-passes { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .tj-over__cols { grid-template-columns: 1fr; }
  .tj-over__cols::before { display: none; }
  .tj-band { flex-direction: column; gap: 12px; border-radius: 28px; padding: 14px; }
  .tj-band__end { max-width: none; width: 100%; text-align: center; }
  .tj-band__track { width: 3px; height: 40px; flex: none; border-top: 0; border-left: 3px dashed rgba(185, 138, 82, .6); }
  .tj-band__car { left: -20px !important; top: 1px; animation: none !important; }
  .tj-garage__panel { grid-template-columns: 1fr; gap: 18px; }
  .tj-board__head { display: none; }
  .tj-faq .tj-board__btn { grid-template-columns: 40px minmax(0, 1fr); }
  .tj-board__status { display: none; }
  .tj-faq .acc__inner p { padding: 0 4px 18px 56px; }
  .tj-conn ul { grid-template-columns: 1fr; }
  .tj-book__panel { padding: 34px 22px; }
  .tj-book__panel .btn-row .nm-btn { flex: 1 1 100%; }
}
@media (max-width: 575.98px) {
  .tj-line { grid-template-columns: 1fr; }
  .tj-stop { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 4px 16px; text-align: left; }
  .tj-stop__node { grid-row: 1 / span 3; width: 60px; height: 60px; font-size: 22px; }
  .tj-stop__n { margin: 4px 0 0; }
  .tj-stop p { margin: 0; }
  .tj-passcard { grid-template-columns: 1fr; }
  .tj-passcard__stub { flex-direction: row; border-left: 0; border-top: 2px dashed rgba(143, 131, 116, .5); box-shadow: none; }
  .tj-passcard__stub::before, .tj-passcard__stub::after { display: none; }
  .tj-extras { grid-template-columns: 1fr; }
  .tj-faq .acc__inner p { padding-left: 4px; }
  .tj-board { padding: 6px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .tj-hero__media .nm-img { transition: none; }
  .js .tj-band.is-in .tj-band__car { animation: none; left: calc(50% - 19px); }
}

/* =============================================================================
   35. PAGE: EVENT (shared single-event layout: Royal Ascot, Wimbledon,
       Silverstone, Six Nations, Chelsea Flower Show, Farnborough, Wembley,
       The O2, premieres and galas). Body class .page-event, prefix ec-.
   ============================================================================= */

/* E1 Hero with the occasion dial ------------------------------------------- */
.ec-hero { position: relative; padding: 136px 0 88px; overflow: hidden; }
.ec-hero__halo { position: absolute; width: 760px; height: 760px; right: -260px; top: -180px; border-radius: 50%; background: var(--bg); box-shadow: var(--nm-in); opacity: .7; pointer-events: none; }
.ec-hero .container { position: relative; }
.ec-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.ec-hero__title { font-size: clamp(40px, 5vw, 66px); line-height: 1.04; letter-spacing: -.015em; margin: 0 0 20px; }
.ec-hero__intro { font-size: 18px; line-height: 1.7; color: var(--ink-2); max-width: 560px; margin-bottom: 30px; }
.ec-hero__assure { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 30px; }
.ec-hero__assure li { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--ink-2); }
.ec-hero__assure i { color: var(--text-gold); font-size: 16px; }

.ec-hero__stage { position: relative; padding: 0 0 70px 60px; }
.ec-hero__frame { padding: 12px; border-radius: 40px; position: relative; }
.ec-hero__img { border-radius: 30px; overflow: hidden; aspect-ratio: 4 / 5; }
.ec-hero__img .nm-img { width: 100%; height: 100%; object-fit: cover; }
 .ec-hero__img .nm-img { animation: ecZoom 1.6s var(--ease) both; }
@keyframes ecZoom { from { transform: scale(1.12); } to { transform: none; } }
.ec-hero__next {
  position: absolute; right: 26px; top: 26px; margin: 0; display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; border-radius: var(--r-pill); background: rgba(245, 240, 232, .94); color: var(--near-black);
  font-size: 13px; font-weight: 600; box-shadow: 0 10px 24px rgba(20, 20, 20, .18); font-variant-numeric: tabular-nums;
}
.ec-hero__next i { color: var(--text-gold); }

.ec-dial { position: absolute; left: 0; bottom: 18px; width: clamp(176px, 15vw, 214px); aspect-ratio: 1; border-radius: 50%; padding: 8px; }
.ec-dial__ring { width: 100%; height: 100%; display: block; }
.ec-dial__seg { fill: none; stroke: var(--lo); stroke-width: 7; stroke-linecap: round; }
.ec-dial__seg.is-on { stroke: var(--bronze-gold); }
.js .ec-dial__seg.is-on { stroke-dasharray: 1; stroke-dashoffset: 1; }
 .ec-dial__seg.is-on { animation: ecDraw .7s var(--ease) forwards; animation-delay: calc(500ms + var(--i) * 70ms); }
@keyframes ecDraw { to { stroke-dashoffset: 0; } }
.ec-dial__m { font-family: var(--font-sans); font-size: 10px; font-weight: 600; text-anchor: middle; fill: var(--mist-grey); }
.ec-dial__m.is-on { fill: var(--text-gold); }
.ec-dial__face {
  position: absolute; inset: 27%; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
}
.ec-dial__mon { font-family: var(--font-display); font-weight: 600; font-size: clamp(26px, 2.3vw, 34px); line-height: 1; color: var(--near-black); letter-spacing: .04em; }
.ec-dial__yr { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); margin-top: 4px; font-variant-numeric: tabular-nums; }
.ec-hero__venue { position: absolute; left: clamp(190px, 16.5vw, 236px); bottom: 34px; margin: 0; font-size: 13px; font-weight: 600; }

/* E2 The brief --------------------------------------------------------------- */
.ec-brief__answer { font-family: var(--font-display); font-size: clamp(22px, 2.1vw, 27px); line-height: 1.45; color: var(--near-black); margin: 0 0 28px; max-width: 720px; }
.ec-brief__when { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; border-radius: 22px; margin-bottom: 28px; }
.ec-brief__when p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.ec-brief__when strong { color: var(--near-black); display: block; margin-bottom: 2px; }
.ec-brief__when-ic { width: 46px; height: 46px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 19px; }
.ec-brief__copy { max-width: 680px; }
.ec-brief__copy p { color: var(--ink-2); }
.ec-brief__disc { font-size: 13px; line-height: 1.6; color: var(--steel-taupe); max-width: 680px; padding-top: 18px; margin-top: 10px; border-top: 1px solid var(--sand-line); }
.ec-brief__reviewed { font-size: 13px; font-weight: 600; color: var(--steel-taupe); display: inline-flex; gap: 8px; align-items: center; margin: 0; }
.ec-brief__reviewed i { color: var(--text-gold); }

.ec-spec { position: sticky; top: 118px; padding: 30px; border-radius: 32px; }
.ec-spec__title { font-size: 28px; margin-bottom: 18px; }
.ec-season { margin-bottom: 18px; }
.ec-season__bar { display: grid; grid-template-columns: repeat(12, 1fr); gap: 4px; padding: 8px; border-radius: var(--r-pill); }
.ec-season__bar li { position: relative; height: 30px; border-radius: var(--r-pill); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; color: var(--mist-grey); }
.ec-season__bar li span { position: relative; z-index: 1; }
.ec-season__bar li::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--bronze-gold); box-shadow: var(--nm-out-sm); transform: scale(0); transition: transform .5s var(--ease-spring); transition-delay: calc(var(--i) * 45ms); }
.ec-season__bar li.is-on { color: var(--near-black); }
.ec-season__bar li.is-on::before { transform: scale(1); }
.js .ec-spec:not(.is-in) .ec-season__bar li::before { transform: scale(0); }
.ec-spec__list { margin: 0 0 22px; }
.ec-spec__list > div { display: grid; grid-template-columns: 118px 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--sand-line); }
.ec-spec__list > div:last-child { border-bottom: 0; }
.ec-spec__list dt { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--steel-taupe); display: flex; gap: 8px; align-items: center; }
.ec-spec__list dt i { color: var(--text-gold); font-size: 15px; }
.ec-spec__list dd { margin: 0; font-size: 15px; font-weight: 500; color: var(--near-black); line-height: 1.5; }

/* E3 Plan your occasion (segmented selector) ------------------------------ */
.ec-plan__box { max-width: 1040px; margin: 0 auto; }
.ec-seg { position: relative; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); padding: 7px; border-radius: var(--r-pill); margin-bottom: 30px; --at: 0; }
.ec-seg__thumb { position: absolute; top: 7px; bottom: 7px; left: 7px; width: calc((100% - 14px) / var(--n)); border-radius: var(--r-pill); transform: translateX(calc(var(--at) * 100%)); transition: transform .55s var(--ease-spring); }
.ec-seg__btn { position: relative; z-index: 1; min-height: 52px; padding: 10px 14px; border: 0; background: none; border-radius: var(--r-pill); cursor: pointer; font-size: 14px; font-weight: 600; color: var(--steel-taupe); line-height: 1.3; transition: color .3s var(--ease); }
.ec-seg__btn:hover { color: var(--near-black); }
.ec-seg__btn[aria-selected="true"] { color: var(--near-black); }
.ec-seg__btn[aria-selected="true"]::after { content: ""; position: absolute; left: 50%; bottom: 7px; width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: var(--bronze-gold); }
.ec-phase.is-lit .ec-phase__n { color: var(--bronze-gold); }
.ec-phase.is-lit .ec-phase__ic { color: var(--warm-ivory); background: var(--bronze-gold); box-shadow: none; transition: background-color .4s var(--ease), color .4s var(--ease); }

.ec-opt { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); padding: clamp(26px, 4vw, 48px); border-radius: 36px; }
.no-js .ec-opt + .ec-opt, .ec-opt + .ec-opt:not([data-inactive]) { margin-top: 24px; }
.js .ec-opt + .ec-opt { margin-top: 0; }
.ec-opt.is-entering .ec-opt__main, .ec-opt.is-entering .ec-opt__steps li { animation: ecRise .6s var(--ease) both; }
.ec-opt.is-entering .ec-opt__steps li:nth-child(2) { animation-delay: 80ms; }
.ec-opt.is-entering .ec-opt__steps li:nth-child(3) { animation-delay: 160ms; }
.ec-opt.is-entering .ec-opt__steps li:nth-child(4) { animation-delay: 240ms; }
@keyframes ecRise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.ec-opt__kicker { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); margin-bottom: 8px; }
.ec-opt__name { font-size: clamp(28px, 2.8vw, 38px); margin-bottom: 14px; }
.ec-opt__desc { color: var(--ink-2); font-size: 16px; }
.ec-opt__tip { display: flex; gap: 14px; padding: 18px 20px; border-radius: 22px; margin: 20px 0 24px; }
.ec-opt__tip p { margin: 0; font-size: 15px; color: var(--ink-2); }
.ec-opt__tip strong { color: var(--near-black); margin-right: 4px; }
.ec-opt__tip-ic { color: var(--text-gold); font-size: 20px; line-height: 1; padding-top: 2px; }
.ec-opt__links { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.ec-opt__car { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--near-black); font-weight: 600; font-size: 15px; }
.ec-opt__car small { display: block; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--steel-taupe); }
.ec-opt__car .nm-round { color: var(--text-gold); }
.ec-opt__car:hover { color: var(--text-gold); }
.ec-opt__car:hover .nm-round { box-shadow: var(--nm-in-sm); }
.ec-opt__steps { position: relative; align-self: center; display: grid; gap: 18px; }
.ec-opt__steps::before { content: ""; position: absolute; left: 22px; top: 22px; bottom: 22px; width: 2px; background: repeating-linear-gradient(to bottom, var(--bronze-gold) 0 6px, transparent 6px 12px); opacity: .6; }
.ec-opt__steps li { position: relative; display: grid; grid-template-columns: 46px 1fr; gap: 16px; align-items: center; font-size: 15px; font-weight: 500; color: var(--near-black); line-height: 1.5; }
.ec-opt__n { width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 600; font-size: 18px; color: var(--text-gold); font-variant-numeric: tabular-nums; }
.ec-plan__note { display: flex; max-width: 1040px; margin: 30px auto 0; padding: 14px 22px; border-radius: 22px; font-size: 14px; line-height: 1.6; color: var(--ink-2); align-items: flex-start; gap: 12px; }
.ec-plan__note i { font-size: 18px; line-height: 1.3; }

/* E4 Your day, planned (scroll arc) ---------------------------------------- */
.ec-day { overflow: hidden; --p: 0; }
.ec-day__lead { max-width: 380px; margin: 0; color: var(--mist-grey); }
.ec-arc { position: relative; margin: 6px 0 22px; }
.ec-arc svg { width: 100%; height: auto; display: block; overflow: visible; }
.ec-arc__base { fill: none; stroke: #2E2E2E; stroke-width: 6; stroke-linecap: round; }
.ec-arc__fill { fill: none; stroke: var(--bronze-gold); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--p)); }
.ec-arc__pt circle { fill: #1F1F1F; stroke: #3A3A3A; stroke-width: 2; transition: fill .4s var(--ease), stroke .4s var(--ease); }
.ec-arc__pt text { font-family: var(--font-display); font-size: 15px; font-weight: 600; text-anchor: middle; fill: var(--mist-grey); transition: fill .4s var(--ease); }
.ec-arc__pt.is-lit circle { fill: var(--bronze-gold); stroke: var(--bronze-gold); }
.ec-arc__pt.is-lit text { fill: var(--near-black); }
.ec-arc__knob circle { fill: var(--warm-ivory); }
.ec-arc__glow { fill: rgba(185, 138, 82, .22) !important; animation: ecPulse 2.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes ecPulse { 0%, 100% { transform: scale(.8); opacity: .9; } 50% { transform: scale(1.15); opacity: .4; } }
.ec-arc__end { position: absolute; bottom: -6px; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mist-grey); }
.ec-arc__end i { color: var(--bronze-gold); font-size: 15px; }
.ec-arc__end--a { left: 0; }
.ec-arc__end--b { right: 0; }
.ec-phases { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.ec-phase__card { height: 100%; padding: 26px 24px; border-radius: 28px; position: relative; }
.ec-phase__ic { width: 54px; height: 54px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--bronze-gold); font-size: 22px; margin-bottom: 18px; }
.ec-phase__n { position: absolute; top: 26px; right: 24px; margin: 0; font-family: var(--font-display); font-size: 34px; line-height: 1; color: #3A3A3A; font-variant-numeric: tabular-nums; }
.ec-phase h3 { font-size: 24px; color: var(--warm-ivory); margin-bottom: 10px; }
.ec-phase p { font-size: 15px; color: var(--mist-grey); margin: 0; }

/* E5 Arrive in the right car ------------------------------------------------ */
.ec-case { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; padding: 16px clamp(16px, 3.4vw, 48px) 16px 16px; border-radius: 40px; }
.ec-case__well { position: relative; padding: 10px; border-radius: 30px; }
.ec-case__well .nm-img { border-radius: 22px; aspect-ratio: 4 / 3; object-fit: cover; }
.ec-case__badge { position: absolute; left: 24px; top: 24px; font-size: 13px; font-weight: 600; }
.ec-case__class { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); margin-bottom: 8px; }
.ec-case__name { font-size: clamp(30px, 3vw, 40px); margin-bottom: 14px; }
.ec-case__copy p { color: var(--ink-2); }
.ec-case__copy .btn-row { margin-top: 24px; }
.ec-also { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.ec-also__card { display: grid; grid-template-columns: 170px 1fr; gap: 20px; align-items: center; padding: 14px 22px 14px 14px; border-radius: 30px; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.ec-also__card:hover { transform: translateY(-4px); box-shadow: var(--nm-out-lg); }
.ec-also__img { padding: 6px; border-radius: 22px; }
.ec-also__img .nm-img { border-radius: 16px; aspect-ratio: 4 / 3; object-fit: cover; }
.ec-also__body h3 { font-size: 22px; margin-bottom: 6px; }
.ec-also__body p { font-size: 14px; color: var(--ink-2); margin-bottom: 10px; }
.ec-also__links { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; }
.ec-also__links .text-link { font-size: 14px; }
.ec-also__more { font-size: 13px; color: var(--steel-taupe); }
.ec-cars__group { display: flex; align-items: center; gap: 14px; margin: 30px 0 0; color: var(--ink-2); font-size: 15px; }
.ec-cars__group .nm-round { color: var(--text-gold); }

/* E6 FAQs + official information ------------------------------------------ */
.ec-qs { display: grid; gap: 14px; }
.ec-q { border-radius: 26px; background: var(--bg); box-shadow: var(--nm-out-sm); transition: box-shadow .4s var(--ease); }
.ec-q.is-open { box-shadow: var(--nm-in-sm); }
.ec-q__h { margin: 0; font-family: var(--font-sans); font-size: 16px; }
.ec-q__btn { padding: 14px 16px 14px 14px; gap: 16px; justify-content: flex-start; font-size: 16px; }
.ec-q__no { width: 44px; height: 44px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 17px; color: var(--text-gold); font-variant-numeric: tabular-nums; }
.ec-q__text { flex: 1; }
.ec-q__knob { width: 40px; height: 40px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); transition: transform .45s var(--ease-spring), box-shadow .3s var(--ease); }
.ec-q.is-open .ec-q__knob { transform: rotate(135deg); box-shadow: var(--nm-in-sm); }
.ec-q .acc__inner { overflow: hidden; }
.ec-q .acc__inner p { margin: 0; padding: 0 24px 22px 74px; color: var(--ink-2); }
.no-js .ec-q .acc__panel { grid-template-rows: 1fr; }
.ec-official { position: sticky; top: 118px; padding: 30px 28px; border-radius: 32px; }
.ec-official__ic { width: 50px; height: 50px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 22px; margin-bottom: 16px; }
.ec-official h3 { font-size: 26px; margin-bottom: 8px; }
.ec-official > p { font-size: 15px; color: var(--ink-2); }
.ec-official__links { display: grid; gap: 10px; margin: 18px 0 22px; }
.ec-official__links .nm-chip { width: 100%; justify-content: flex-start; min-height: 46px; }
.ec-official__note { font-size: 14px; }
.ec-official__talk { padding: 18px 0; border-top: 1px solid var(--sand-line); border-bottom: 1px solid var(--sand-line); margin-bottom: 16px; }
.ec-official__talk p { font-size: 14px; color: var(--ink-2); margin-bottom: 12px; }
.ec-official__talk .btn-row { gap: 10px; }
.ec-official__disc { font-size: 12px; line-height: 1.6; color: var(--steel-taupe); margin: 0; }

/* E7 Google reviews: front-row seat cards ---------------------------------- */
.ec-rev__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 28px; align-items: start; }
.ec-rev__score { padding: 34px 30px; border-radius: 34px; position: sticky; top: 118px; }
.ec-rev__score > p:not(.nm-eyebrow) { color: var(--ink-2); }
.ec-rev__badge { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-radius: 24px; margin: 22px 0 22px; flex-wrap: wrap; }
.ec-rev__num { margin: 0; font-family: var(--font-display); font-size: 44px; line-height: 1; color: var(--near-black); }
.ec-rev__num span { font-size: 26px; }
.ec-seats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ec-seat { padding: 24px; border-radius: 28px; display: flex; flex-direction: column; position: relative; transition: transform .35s var(--ease); }
.ec-seat:nth-child(even) { transform: translateY(26px); }
.js .ec-seat:nth-child(even)[data-reveal].is-in { transform: translateY(26px); }
.ec-seat::after { content: ""; position: absolute; left: 24px; right: 24px; top: 82px; border-top: 2px dotted var(--sand-line); }
.ec-seat__row { display: flex; align-items: center; gap: 14px; margin: 0 0 28px; }
.ec-seat__disc { width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 20px; font-weight: 600; color: var(--text-gold); flex: none; }
.ec-seat__row small { display: block; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--steel-taupe); }
.ec-seat__row strong { font-size: 15px; color: var(--near-black); }
.ec-seat blockquote { margin: 0 0 16px; flex: 1; }
.ec-seat blockquote p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--ink-2); }
.ec-seat__meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0; font-size: 13px; color: var(--steel-taupe); }

/* E8 Booking panel + events calendar rail --------------------------------- */
.ec-book__panel { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .8fr); gap: clamp(26px, 4vw, 60px); align-items: center; padding: clamp(28px, 4vw, 54px); border-radius: 40px; background: var(--bg); box-shadow: var(--nm-out); }
.ec-book__copy p { color: var(--mist-grey); max-width: 560px; }
.ec-book__acc { margin: 0; }
.ec-book__acc a { color: var(--bronze-gold); font-weight: 600; text-decoration: none; }
.ec-book__acc a:hover { color: var(--warm-ivory); text-decoration: underline; }
.ec-book__actions { display: grid; gap: 14px; }
.ec-cal { margin-top: clamp(44px, 6vw, 72px); }
.ec-cal__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.ec-cal__head h3 { font-size: 26px; margin: 0; }
.ec-cal__head .text-link { color: var(--bronze-gold); }
.ec-cal__scroll { overflow-x: auto; scrollbar-width: thin; padding: 8px 2px 12px; -webkit-overflow-scrolling: touch; }
.ec-cal__rail { position: relative; display: grid; grid-template-columns: repeat(12, minmax(78px, 1fr)); min-width: 940px; }
.ec-cal__rail::before { content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 2px; background: #333; }
.ec-cal__m { position: relative; padding: 0 4px; text-align: center; }
.ec-cal__dot { display: block; width: 16px; height: 16px; margin: 0 auto 10px; border-radius: 50%; background: #1F1F1F; border: 2px solid #3A3A3A; position: relative; }
.ec-cal__m.has-ev .ec-cal__dot { border-color: var(--bronze-gold); }
.ec-cal__m.is-here .ec-cal__dot { background: var(--bronze-gold); box-shadow: 0 0 0 6px rgba(185, 138, 82, .22); }
.ec-cal__name { display: block; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--mist-grey); margin-bottom: 10px; }
.ec-cal__m.is-here .ec-cal__name { color: var(--bronze-gold); }
.ec-cal__m ul { display: grid; gap: 6px; }
.ec-cal__ev { display: block; padding: 7px 8px; border-radius: 12px; font-size: 13px; line-height: 1.3; font-weight: 500; color: var(--warm-ivory); text-decoration: none; background: #242424; box-shadow: 3px 3px 8px #121212, -3px -3px 8px #2C2C2C; transition: color .25s var(--ease), box-shadow .25s var(--ease); }
a.ec-cal__ev:hover { color: var(--bronze-gold); box-shadow: inset 2px 2px 6px #121212, inset -2px -2px 6px #2C2C2C; }
.ec-cal__ev.is-here { background: var(--bronze-gold); color: var(--near-black); font-weight: 600; box-shadow: none; }
.ec-cal__year { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(213, 200, 184, .18); }
.ec-cal__year p { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mist-grey); }
.ec-cal__year ul { display: flex; flex-wrap: wrap; gap: 10px; }
.ec-cal__chip { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 16px; border-radius: var(--r-pill); font-size: 14px; font-weight: 500; color: var(--warm-ivory); text-decoration: none; background: #242424; box-shadow: 3px 3px 8px #121212, -3px -3px 8px #2C2C2C; }
a.ec-cal__chip:hover { color: var(--bronze-gold); }
.ec-cal__chip.is-here { background: var(--bronze-gold); color: var(--near-black); font-weight: 600; box-shadow: none; }

/* Event pages — responsive ---------------------------------------------------- */
@media (max-width: 1199.98px) {
  .ec-phases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ec-rev__grid { grid-template-columns: minmax(0, 1fr); }
  .ec-rev__score { position: static; display: grid; grid-template-columns: 1fr auto; gap: 0 28px; align-items: center; }
  .ec-rev__score .nm-eyebrow, .ec-rev__score .h-section, .ec-rev__score > p { grid-column: 1; }
  .ec-rev__badge { grid-column: 2; grid-row: 1 / span 3; margin: 0; }
  .ec-rev__score .btn-row { grid-column: 1 / -1; margin-top: 8px; }
}
@media (max-width: 991.98px) {
  .ec-hero { padding: 118px 0 64px; }
  .ec-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .ec-hero__stage { order: -1; max-width: 560px; width: 100%; margin: 0 auto; padding: 0 0 60px 40px; }
  .ec-hero__img { aspect-ratio: 5 / 4; }
  .ec-hero__venue { left: auto; right: 0; bottom: 18px; }
  .ec-spec, .ec-official { position: static; }
  .ec-opt { grid-template-columns: minmax(0, 1fr); }
  .ec-arc { display: none; }
  .ec-phases { grid-template-columns: minmax(0, 1fr); gap: 16px; position: relative; padding-left: 34px; }
  .ec-phases::before { content: ""; position: absolute; left: 8px; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: #2E2E2E; }
  .ec-phases::after { content: ""; position: absolute; left: 8px; top: 10px; width: 3px; height: calc((100% - 20px) * var(--p)); border-radius: 3px; background: var(--bronze-gold); }
  .ec-phase { position: relative; }
  .ec-phase::before { content: ""; position: absolute; left: -32px; top: 34px; width: 15px; height: 15px; border-radius: 50%; background: #1F1F1F; border: 2px solid var(--bronze-gold); }
  .ec-case { grid-template-columns: minmax(0, 1fr); padding: 14px 14px 30px; }
  .ec-case__copy { padding: 0 12px; }
  .ec-also { grid-template-columns: minmax(0, 1fr); }
  .ec-book__panel { grid-template-columns: minmax(0, 1fr); }
  .ec-book__actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .ec-hero__halo { width: 480px; height: 480px; right: -240px; top: -120px; }
  .ec-hero__stage { padding: 0 0 54px 22px; }
  .ec-dial { width: 152px; bottom: 0; left: 0; }
  .ec-hero__next { right: 16px; top: 16px; font-size: 12px; }
  .ec-hero__venue { font-size: 12px; bottom: 6px; }
  .ec-seg { grid-template-columns: 1fr 1fr; border-radius: 26px; gap: 6px; }
  .ec-seg__thumb { display: none; }
  .ec-seg__btn { border-radius: 20px; min-height: 48px; }
  .ec-seg__btn[aria-selected="true"] { background: var(--bg); box-shadow: var(--nm-out-sm); }
  .ec-seg__btn[aria-selected="true"]::after { display: none; }
  .ec-seats { grid-template-columns: minmax(0, 1fr); }
  .ec-seat:nth-child(even), .js .ec-seat:nth-child(even)[data-reveal].is-in { transform: none; }
  .ec-rev__score { display: block; padding: 28px 22px; }
  .ec-rev__badge { margin: 20px 0; }
  .ec-book__actions { grid-template-columns: minmax(0, 1fr); }
  .ec-also__card { grid-template-columns: minmax(0, 1fr); padding: 12px 12px 20px; }
  .ec-also__body { padding: 0 8px; }
  .ec-q .acc__inner p { padding: 0 18px 20px 18px; }
  .ec-spec { padding: 24px 20px; }
  .ec-spec__list > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (max-width: 420px) {
  .ec-hero__assure { flex-direction: column; gap: 8px; }
  .ec-q__btn { gap: 12px; font-size: 15px; padding: 12px; }
  .ec-q__no { width: 38px; height: 38px; font-size: 15px; }
  .ec-q__knob { width: 36px; height: 36px; }
  .ec-cal__head { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .js .ec-dial__seg.is-on { stroke-dasharray: none; stroke-dashoffset: 0; animation: none; }
   .ec-hero__img .nm-img, .ec-arc__glow, .ec-opt.is-entering .ec-opt__main, .ec-opt.is-entering .ec-opt__steps li { animation: none; }
  .ec-seg__thumb, .ec-season__bar li::before, .ec-q__knob { transition: none; }
}

/* =============================================================================
   36. PAGE: VEHICLE (shared single-vehicle layout: E-Class, S-Class, V-Class,
       Range Rover Autobiography). Body class .page-vehicle, prefix vx-.
   ============================================================================= */

/* V1 Hero with the lens viewer --------------------------------------------- */
.vx-hero { padding: 136px 0 96px; position: relative; overflow: hidden; }
.vx-hero__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.vx-hero__title { font-size: clamp(40px, 4.8vw, 64px); line-height: 1.04; letter-spacing: -.015em; margin: 0 0 20px; }
.vx-hero__intro { font-size: 18px; line-height: 1.7; color: var(--ink-2); max-width: 560px; margin-bottom: 30px; }
.vx-hero__keys { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.vx-hero__keys .nm-pill { font-size: 13px; }

.vx-lens { position: relative; padding-bottom: 34px; }
.vx-lens__stage { position: relative; padding: 12px; border-radius: 42px; aspect-ratio: 4 / 3; }
.vx-lens__view { position: absolute; inset: 12px; margin: 0; border-radius: 32px; overflow: hidden; clip-path: circle(0% at var(--x, 50%) 100%); transition: clip-path 1s var(--ease); }
.vx-lens__view.is-active { clip-path: circle(150% at var(--x, 50%) 100%); z-index: 1; }
.vx-lens__view .nm-img { width: 100%; height: 100%; object-fit: cover; }
 .vx-lens__view[data-view="0"].is-active .nm-img { animation: vxDriveIn 1.4s var(--ease) both; }
@keyframes vxDriveIn { from { opacity: 0; transform: translateX(7%) scale(1.06); } to { opacity: 1; transform: none; } }
.vx-lens__scan { position: absolute; top: 12px; bottom: 12px; left: 12px; width: 2px; background: var(--bronze-gold); z-index: 2; opacity: 0; pointer-events: none; }
 .vx-lens__scan { animation: vxScan 1.6s .5s var(--ease) both; }
@keyframes vxScan { 0% { opacity: 0; transform: translateX(0); } 15% { opacity: .9; } 85% { opacity: .9; } 100% { opacity: 0; transform: translateX(calc(var(--w, 600px) - 24px)); } }
.vx-lens__ctrl { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); display: flex; gap: 6px; padding: 7px; border-radius: var(--r-pill); z-index: 3; }
.vx-lens__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 6px 18px 6px 6px; border: 0; border-radius: var(--r-pill); background: var(--bg); cursor: pointer; font-size: 14px; font-weight: 600; color: var(--steel-taupe); transition: box-shadow .3s var(--ease), color .3s var(--ease); }
.vx-lens__ic { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--nm-out-sm); color: var(--text-gold); transition: background-color .3s var(--ease), color .3s var(--ease); }
.vx-lens__btn:hover { color: var(--near-black); }
.vx-lens__btn[aria-pressed="true"] { box-shadow: var(--nm-in-sm); color: var(--near-black); }
.vx-lens__btn[aria-pressed="true"] .vx-lens__ic { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }

/* V2 Why choose it + specification sheet ----------------------------------- */
.vx-why__answer { font-family: var(--font-display); font-size: clamp(22px, 2.1vw, 27px); line-height: 1.45; color: var(--near-black); margin: 0 0 28px; max-width: 720px; padding-left: 22px; border-left: 3px solid var(--bronze-gold); }
.vx-why__copy { max-width: 680px; }
.vx-why__copy p { color: var(--ink-2); }
.vx-why__reviewed { font-size: 13px; font-weight: 600; color: var(--steel-taupe); display: inline-flex; gap: 8px; align-items: center; margin: 8px 0 0; }
.vx-why__reviewed i { color: var(--text-gold); }
.vx-sheet { position: sticky; top: 118px; padding: 30px; border-radius: 32px; }
.vx-sheet__head { display: flex; gap: 16px; align-items: center; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--sand-line); }
.vx-sheet__mono { width: 58px; height: 58px; flex: none; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 30px; font-weight: 600; color: var(--text-gold); }
.vx-sheet__head h3 { font-size: 26px; margin: 0; }
.vx-sheet__head p { margin: 0; font-size: 14px; color: var(--steel-taupe); }
.vx-sheet__list { margin: 0 0 22px; display: grid; gap: 10px; }
.vx-sheet__list > div { display: flex; align-items: baseline; gap: 10px; font-size: 15px; }
.vx-sheet__list dt { display: flex; align-items: baseline; gap: 10px; flex: 1; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--steel-taupe); white-space: nowrap; }
.vx-sheet__list dt::after { content: ""; flex: 1; border-bottom: 2px dotted var(--sand-line); transform: translateY(-3px); min-width: 16px; }
.vx-sheet__list dd { margin: 0; font-weight: 500; color: var(--near-black); text-align: right; }
.vx-sheet__label { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); margin-bottom: 10px; }
.vx-sheet__best { display: grid; gap: 8px; }
.vx-sheet__best a { display: flex; align-items: center; gap: 12px; padding: 6px 12px 6px 6px; border-radius: var(--r-pill); text-decoration: none; color: var(--near-black); font-size: 14px; font-weight: 500; transition: box-shadow .3s var(--ease), color .3s var(--ease); }
.vx-sheet__best a > span:nth-child(2) { flex: 1; }
.vx-sheet__best .nm-round { color: var(--text-gold); width: 36px; height: 36px; }
.vx-sheet__best a:hover { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.vx-sheet__go { color: var(--text-gold); transition: transform .3s var(--ease); }
.vx-sheet__best a:hover .vx-sheet__go { transform: translate(2px, -2px); }

/* V3 On board: feature switchboard ----------------------------------------- */
.vx-board__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.vx-board__window { padding: 12px; border-radius: 40px; }
.vx-board__window .nm-img { border-radius: 30px; aspect-ratio: 4 / 3; object-fit: cover; }
.vx-board__cap { margin: 18px 0 0; font-size: 13px; color: var(--mist-grey); display: flex; gap: 8px; align-items: center; }
.vx-board__cap i { color: var(--bronze-gold); }
.vx-board__sub { font-family: var(--font-sans); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--bronze-gold); margin: 26px 0 6px; }
.vx-switches { display: grid; }
.vx-switch { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid rgba(213, 200, 184, .18); }
.vx-switch__txt strong { display: block; color: var(--warm-ivory); font-weight: 600; font-size: 15px; }
.vx-switch__txt small { display: block; color: var(--mist-grey); font-size: 13px; line-height: 1.5; }
.vx-switch__tog { width: 54px; height: 30px; flex: none; border-radius: var(--r-pill); background: #1A1A1A; box-shadow: inset 3px 3px 7px #0e0e0e, inset -3px -3px 7px #2a2a2a; position: relative; }
.vx-switch__tog span { position: absolute; top: 4px; left: 28px; width: 22px; height: 22px; border-radius: 50%; background: var(--bronze-gold); box-shadow: 2px 2px 5px #0e0e0e; transition: transform .6s var(--ease-spring), background-color .4s var(--ease); transition-delay: calc(var(--i) * 90ms + 200ms); }
.js .vx-switches:not(.is-in) .vx-switch__tog span { transform: translateX(-24px); background: #3A3A3A; }

/* V4 Made for these moments: stacking cards -------------------------------- */
.vx-stack { display: grid; gap: 28px; max-width: 1080px; margin: 0 auto; }
.vx-card { position: sticky; top: calc(108px + var(--i) * 22px); }
.vx-card__in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(22px, 3.5vw, 48px); align-items: center; padding: 16px clamp(18px, 3vw, 44px) 16px 16px; border-radius: 38px; transform-origin: 50% 0; transform: scale(var(--s, 1)); transition: transform .15s linear; }
.vx-card__media { position: relative; border-radius: 28px; overflow: hidden; aspect-ratio: 16 / 10; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; padding: 10px; }
.vx-card__media .nm-img { position: absolute; inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); object-fit: cover; border-radius: 20px; }
.vx-card__big { width: 104px; height: 104px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 42px; color: var(--text-gold); background: var(--bg); box-shadow: var(--nm-out); }
.vx-card__route { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; padding: 0 16px; text-align: center; font-family: var(--font-display); font-size: clamp(20px, 2vw, 26px); color: var(--near-black); }
.vx-card__route i { color: var(--text-gold); font-size: 18px; }
.vx-card__n { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; font-family: var(--font-display); font-size: 30px; line-height: 1; color: var(--text-gold); font-variant-numeric: tabular-nums; }
.vx-card__kick { font-family: var(--font-sans); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); }
.vx-card__body h3 { font-size: clamp(26px, 2.6vw, 34px); margin-bottom: 12px; }
.vx-card__body p { color: var(--ink-2); }

/* V5 Compare with another car ---------------------------------------------- */
.vx-cmp__lead { max-width: 380px; margin: 0; color: var(--ink-2); }
.vx-cmp__pick { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.vx-cmp__tab { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 8px 22px 8px 8px; border: 0; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); cursor: pointer; font-size: 14px; font-weight: 600; color: var(--near-black); transition: box-shadow .3s var(--ease), color .3s var(--ease); }
.vx-cmp__vs { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; font-size: 16px; color: var(--text-gold); box-shadow: var(--nm-in-sm); }
.vx-cmp__tab[aria-selected="true"] { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.vx-cmp__tab[aria-selected="true"] .vx-cmp__vs { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.vx-duel { padding: clamp(18px, 3vw, 36px); border-radius: 36px; background: var(--bg); box-shadow: var(--nm-out); }
.no-js .vx-duel + .vx-duel { margin-top: 24px; }
.vx-duel.is-entering td { animation: ecRise .5s var(--ease) both; }
.vx-duel__table { width: 100%; border-collapse: collapse; }
.vx-duel__table th, .vx-duel__table td { padding: 15px 14px; text-align: left; vertical-align: top; font-size: 15px; border-bottom: 1px solid var(--sand-line); }
.vx-duel__table tbody tr:last-child th, .vx-duel__table tbody tr:last-child td { border-bottom: 0; }
.vx-duel__table tbody th { width: 22%; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--steel-taupe); padding-top: 18px; }
.vx-duel__table tbody td { color: var(--ink-2); width: 39%; }
.vx-duel__table tbody td.is-this { color: var(--near-black); font-weight: 500; }
.vx-duel__table tr.is-diff td.is-this { position: relative; }
.vx-duel__table tr.is-diff td.is-this::before { content: ""; position: absolute; left: 0; top: 23px; width: 6px; height: 6px; border-radius: 50%; background: var(--bronze-gold); }
.vx-duel__table thead th, .vx-duel__table thead td { border-bottom: 1px solid var(--sand-line); padding-bottom: 18px; }
.vx-duel__car { font-weight: 400; }
.vx-duel__car > span:last-child { display: block; font-family: var(--font-display); font-size: 24px; color: var(--near-black); line-height: 1.2; }
.vx-duel__car small { display: block; font-family: var(--font-sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--steel-taupe); }
.vx-duel__car.is-this small { color: var(--text-gold); }
.vx-duel__thumb { display: block; width: 120px; padding: 5px; border-radius: 16px; margin-bottom: 12px; }
.vx-duel__thumb .nm-img { border-radius: 12px; aspect-ratio: 4 / 3; object-fit: cover; }
.vx-duel__foot { display: flex; flex-wrap: wrap; gap: 14px 26px; align-items: center; margin-top: 22px; }

/* V6 FAQs: switch rows ------------------------------------------------------ */
.vx-ask { position: sticky; top: 118px; }
.vx-ask > p { color: var(--ink-2); }
.vx-ask__card { display: grid; gap: 6px; padding: 12px; border-radius: 26px; margin: 22px 0 18px; }
.vx-ask__card a { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 18px; text-decoration: none; color: var(--near-black); font-weight: 600; font-size: 14px; min-width: 0; }
.vx-ask__card a > span:last-child { min-width: 0; }
.vx-ask__card small { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--steel-taupe); }
.vx-ask__card .nm-round { color: var(--text-gold); }
.vx-ask__card a:hover { color: var(--text-gold); }
.vx-ask__tm { font-size: 12px; line-height: 1.6; color: var(--steel-taupe); margin: 0; }
.vx-qs { padding: 8px clamp(18px, 3vw, 34px); border-radius: 34px; background: var(--bg); box-shadow: var(--nm-out); }
.vx-q { border-bottom: 1px solid var(--sand-line); }
.vx-q:last-child { border-bottom: 0; }
.vx-q__h { margin: 0; font-family: var(--font-sans); }
.vx-q__btn { padding: 22px 0; gap: 20px; font-size: 16px; }
.vx-q__text { flex: 1; }
.vx-q__sw { width: 54px; height: 30px; flex: none; border-radius: var(--r-pill); position: relative; }
.vx-q__sw span { position: absolute; top: 4px; left: 4px; width: 22px; height: 22px; border-radius: 50%; transition: transform .45s var(--ease-spring), background-color .3s var(--ease); }
.vx-q.is-open .vx-q__sw span { transform: translateX(24px); background: var(--bronze-gold); }
.vx-q .acc__inner { overflow: hidden; }
.vx-q .acc__inner p { margin: 0; padding: 0 74px 22px 0; color: var(--ink-2); }
.no-js .vx-q .acc__panel { grid-template-rows: 1fr; }

/* V7 Google reviews: gauge + passenger cards ------------------------------- */
.vx-gauge { max-width: 460px; margin: 0 auto 40px; padding: 30px 30px 26px; border-radius: 36px; text-align: center; }
.vx-gauge > svg { width: 100%; max-width: 300px; height: auto; display: block; margin: 0 auto; }
.vx-gauge__base { fill: none; stroke: var(--lo); stroke-width: 14; stroke-linecap: round; }
.vx-gauge__fill { fill: none; stroke: var(--bronze-gold); stroke-width: 14; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--v)); transition: stroke-dashoffset 1.6s var(--ease) .2s; }
.js .vx-gauge:not(.is-in) .vx-gauge__fill { stroke-dashoffset: 1; }
.vx-gauge__tick { stroke: var(--mist-grey); stroke-width: 2; stroke-linecap: round; }
.vx-gauge__read { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: -86px 0 22px; position: relative; }
.vx-gauge__num { margin: 0; font-family: var(--font-display); font-size: 46px; line-height: 1; color: var(--near-black); }
.vx-gauge__num span { font-size: 22px; }
.vx-revs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vx-rcard { position: relative; padding: 30px 26px 24px; border-radius: 30px; display: flex; flex-direction: column; }
.vx-rcard__q { font-family: var(--font-display); font-size: 84px; line-height: .6; color: var(--bronze-gold); height: 34px; }
.vx-rcard blockquote { margin: 0 0 20px; flex: 1; }
.vx-rcard blockquote p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--ink-2); }
.vx-rcard__who { display: flex; align-items: center; gap: 12px; margin: 0; padding-top: 16px; border-top: 1px solid var(--sand-line); flex-wrap: wrap; }
.vx-rcard__who > span:nth-child(2) { flex: 1; min-width: 120px; }
.vx-rcard__who strong { display: block; font-size: 14px; color: var(--near-black); }
.vx-rcard__who small { display: block; font-size: 12px; color: var(--steel-taupe); }
.vx-rcard__av { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 19px; font-weight: 600; color: var(--text-gold); flex: none; }

/* V8 Reserve this car + the rest of the fleet ------------------------------ */
.vx-book__panel { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: clamp(26px, 4vw, 60px); align-items: center; padding: clamp(24px, 4vw, 50px); border-radius: 40px; background: var(--bg); box-shadow: var(--nm-out); }
.vx-book__car { position: relative; aspect-ratio: 1; border-radius: 50%; padding: 18px; box-shadow: inset 6px 6px 14px #121212, inset -6px -6px 14px #2c2c2c; display: flex; align-items: center; justify-content: center; }
.vx-book__car .nm-img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; box-shadow: 8px 8px 20px #0f0f0f, -6px -6px 16px #2c2c2c; }
.js .vx-book__panel:not(.is-in) .vx-book__car .nm-img { transform: rotate(-24deg) scale(.9); opacity: 0; }
.vx-book__car .nm-img { transition: transform 1.2s var(--ease), opacity .8s var(--ease); }
.vx-book__plate { position: absolute; bottom: 6%; left: 50%; transform: translateX(-50%); z-index: 1; white-space: nowrap; padding: 7px 16px; border-radius: 10px; background: var(--warm-ivory); color: var(--near-black); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 8px 18px rgba(0, 0, 0, .35); }
.vx-book__copy p:not(.nm-eyebrow) { color: var(--mist-grey); max-width: 560px; }
.vx-book__copy .btn-row { margin-top: 24px; }
.vx-garage { margin-top: clamp(44px, 6vw, 72px); }
.vx-garage__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.vx-garage__head h3 { font-size: 26px; margin: 0; }
.vx-garage__head .text-link { color: var(--bronze-gold); }
.vx-garage__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.vx-bay { display: grid; grid-template-columns: 96px 1fr auto; gap: 16px; align-items: center; padding: 12px 18px 12px 12px; border-radius: 26px; text-decoration: none; background: var(--bg); box-shadow: var(--nm-out-sm); transition: box-shadow .3s var(--ease), transform .3s var(--ease); height: 100%; }
.vx-bay:hover { box-shadow: var(--nm-in-sm); transform: translateY(-2px); }
.vx-bay__img .nm-img { border-radius: 18px; aspect-ratio: 4 / 3; object-fit: cover; }
.vx-bay__txt small { display: block; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--bronze-gold); }
.vx-bay__txt strong { display: block; font-family: var(--font-display); font-weight: 500; font-size: 20px; color: var(--warm-ivory); line-height: 1.25; }
.vx-bay__txt > span { display: block; font-size: 13px; color: var(--mist-grey); line-height: 1.45; margin-top: 2px; }
.vx-bay__go { color: var(--bronze-gold); transition: transform .3s var(--ease); }
.vx-bay:hover .vx-bay__go { transform: translateX(4px); }
.vx-garage__svc { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(213, 200, 184, .18); }
.vx-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 16px; border-radius: var(--r-pill); font-size: 14px; font-weight: 500; color: var(--warm-ivory); text-decoration: none; background: #242424; box-shadow: 3px 3px 8px #121212, -3px -3px 8px #2C2C2C; transition: color .25s var(--ease), box-shadow .25s var(--ease); }
.vx-chip i { color: var(--bronze-gold); }
.vx-chip:hover { color: var(--bronze-gold); box-shadow: inset 2px 2px 6px #121212, inset -2px -2px 6px #2C2C2C; }

/* Vehicle pages — responsive ------------------------------------------------- */
@media (max-width: 1199.98px) {
  .vx-garage__list { grid-template-columns: minmax(0, 1fr); }
  .vx-revs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .vx-hero { padding: 118px 0 64px; }
  .vx-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .vx-lens { order: -1; max-width: 640px; width: 100%; margin: 0 auto; }
  .vx-sheet, .vx-ask { position: static; }
  .vx-board__grid { grid-template-columns: minmax(0, 1fr); }
  .vx-card__in { grid-template-columns: minmax(0, 1fr); padding: 14px 14px 26px; }
  .vx-card__body { padding: 0 10px; }
  .vx-book__panel { grid-template-columns: minmax(0, 1fr); text-align: left; }
  .vx-book__car { max-width: 240px; width: 100%; }
}
@media (max-width: 767.98px) {
  .vx-card { position: static; }
  .vx-card__in { transform: none; }
  .vx-revs { grid-template-columns: minmax(0, 1fr); }
  .vx-lens__btn { padding: 5px 12px 5px 5px; font-size: 13px; min-height: 44px; gap: 6px; }
  .vx-lens__ic { width: 34px; height: 34px; }
  .vx-lens__stage { border-radius: 32px; padding: 8px; }
  .vx-lens__view { inset: 8px; border-radius: 24px; }
  .vx-sheet { padding: 24px 20px; }
  .vx-q .acc__inner p { padding-right: 0; }
  .vx-duel__table thead td { display: none; }
  .vx-duel__table thead tr, .vx-duel__table tbody tr { display: grid; grid-template-columns: 1fr 1fr; }
  .vx-duel__table tbody th { grid-column: 1 / -1; width: auto; padding: 14px 0 0; border-bottom: 0; }
  .vx-duel__table tbody td { width: auto; padding: 6px 10px 14px 0; }
  .vx-duel__table tbody td.is-this { padding-left: 12px; }
  .vx-duel__table thead th { padding: 0 10px 16px 0; }
  .vx-duel__thumb { width: 100%; max-width: 120px; }
  .vx-duel__car > span:last-child { font-size: 20px; }
  .vx-bay { grid-template-columns: 80px 1fr auto; }
}
@media (max-width: 420px) {
  .vx-lens__btn { padding: 5px; font-size: 0; gap: 0; }
  .vx-lens__btn .vx-lens__ic { font-size: 16px; }
  .vx-sheet__list > div { flex-wrap: wrap; }
  .vx-sheet__list dt { flex-basis: 100%; }
  .vx-sheet__list dt::after { display: none; }
  .vx-sheet__list dd { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .vx-lens__view { transition: none; }
   .vx-lens__view[data-view="0"].is-active .nm-img,  .vx-lens__scan, .vx-duel.is-entering td { animation: none; }
  .vx-switch__tog span, .vx-gauge__fill, .vx-book__car .nm-img, .vx-card__in, .vx-q__sw span { transition: none; }
  .vx-card__in { transform: none; }
}

/* =============================================================================
   37. PAGE: OUR CHAUFFEURS (/our-chauffeurs) — prefix oc-
   ============================================================================= */
.oc-hero { padding: 136px 0 96px; overflow: hidden; }
.oc-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.oc-hero__title { font-size: clamp(42px, 5.2vw, 70px); line-height: 1.03; letter-spacing: -.015em; margin: 0 0 20px; }
.oc-hero__intro { font-size: 18px; line-height: 1.7; color: var(--ink-2); max-width: 560px; margin-bottom: 30px; }
.oc-badge-wrap { max-width: 420px; width: 100%; margin: 0 auto; }
.oc-badge-swing { position: relative; padding-top: 70px; transform-origin: 50% 0; }
 .oc-badge-swing { animation: ocSwing 2.6s var(--ease) both .3s; }
@keyframes ocSwing { 0% { transform: rotate(-7deg); } 30% { transform: rotate(4deg); } 55% { transform: rotate(-2deg); } 78% { transform: rotate(1deg); } 100% { transform: rotate(0); } }
.oc-badge__strap { position: absolute; left: 50%; top: 0; width: 36px; height: 86px; margin-left: -18px; border-radius: 8px; background: var(--jet-graphite); }
.oc-badge__clip { position: absolute; left: 50%; top: 58px; width: 74px; height: 34px; margin-left: -37px; border-radius: 12px; z-index: 2; }
.oc-badge { position: relative; padding: 52px 30px 26px; border-radius: 34px; }
.oc-badge::before { content: ""; position: absolute; left: 50%; top: 18px; width: 64px; height: 10px; margin-left: -32px; border-radius: 10px; box-shadow: var(--nm-in-sm); }
.oc-badge__top { display: flex; gap: 16px; align-items: center; padding-bottom: 20px; border-bottom: 1px solid var(--sand-line); margin-bottom: 18px; }
.oc-badge__mono { width: 72px; height: 72px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 30px; font-weight: 600; color: var(--text-gold); letter-spacing: .04em; }
.oc-badge__role { font-family: var(--font-display); font-size: 26px; line-height: 1.15; color: var(--near-black); margin: 0 0 4px; }
.oc-badge__co { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--steel-taupe); margin: 0; }
.oc-badge__list { display: grid; gap: 14px; }
.oc-badge__list li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--ink-2); line-height: 1.55; }
.oc-badge__list strong { display: block; color: var(--near-black); font-size: 15px; }
.oc-badge__tick { width: 28px; height: 28px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bronze-gold); color: var(--near-black); font-size: 14px; }
.js .oc-badge__tick { transform: scale(0); }
 .oc-badge__tick { animation: ocTick .5s var(--ease-spring) forwards; }
 .oc-badge__list li:nth-child(1) .oc-badge__tick { animation-delay: 1.2s; }
 .oc-badge__list li:nth-child(2) .oc-badge__tick { animation-delay: 1.45s; }
 .oc-badge__list li:nth-child(3) .oc-badge__tick { animation-delay: 1.7s; }
@keyframes ocTick { to { transform: scale(1); } }
.oc-badge__foot { display: flex; justify-content: space-between; align-items: center; margin: 22px 0 0; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); }
.oc-badge__bars { display: inline-flex; gap: 3px; height: 22px; align-items: stretch; }
.oc-badge__bars i { display: block; width: 3px; background: var(--near-black); opacity: .75; }
.oc-badge__bars i:nth-child(3n) { width: 1px; } .oc-badge__bars i:nth-child(4n) { width: 5px; }

.oc-code__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 64px; align-items: end; margin-bottom: 44px; }
.oc-code__answer { margin: 0; font-size: 17px; line-height: 1.7; color: var(--ink-2); }
.oc-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; counter-reset: oc; }
.oc-tile { position: relative; padding: 28px 24px 26px; border-radius: 28px; overflow: hidden; transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.oc-tile:hover { transform: translateY(-6px); box-shadow: var(--nm-out-lg); }
.oc-tile__num { position: absolute; right: 18px; top: 8px; font-family: var(--font-display); font-size: 68px; line-height: 1; color: var(--bg); text-shadow: 2px 2px 3px var(--lo), -2px -2px 3px var(--hi); }
.oc-tile__ic { width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 21px; margin-bottom: 20px; position: relative; }
.oc-tile h3 { font-size: 23px; margin-bottom: 8px; position: relative; }
.oc-tile p { font-size: 14px; color: var(--ink-2); margin: 0; position: relative; }

.oc-cert__sheet { position: relative; max-width: 980px; margin: 0 auto; padding: clamp(28px, 5vw, 60px); border-radius: 36px; }
.oc-cert__border { position: absolute; inset: 14px; border: 1px solid var(--sand-line); border-radius: 26px; pointer-events: none; }
.oc-cert__border::after { content: ""; position: absolute; inset: 6px; border: 1px dashed var(--sand-line); border-radius: 22px; }
.oc-cert__head { position: relative; text-align: center; max-width: 620px; margin: 0 auto 32px; }
.oc-cert__head p:not(.nm-eyebrow) { color: var(--ink-2); }
.oc-cert__rows { position: relative; display: grid; gap: 14px; margin: 0 0 24px; }
.oc-cert__row { display: grid; grid-template-columns: 200px 1fr auto; gap: 18px; align-items: center; padding: 16px 20px; border-radius: 22px; box-shadow: var(--nm-in-sm); }
.oc-cert__row dt { display: flex; align-items: center; gap: 12px; font-weight: 600; color: var(--near-black); }
.oc-cert__row dt .nm-round { color: var(--text-gold); }
.oc-cert__row dd { margin: 0; color: var(--ink-2); font-size: 15px; }
.oc-cert__stamp { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border: 2px solid var(--text-gold); border-radius: 10px; color: var(--text-gold); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; transform: rotate(-6deg); white-space: nowrap; }
.js .oc-cert__sheet:not(.is-in) .oc-cert__stamp { transform: rotate(-6deg) scale(2.2); opacity: 0; }
.oc-cert__stamp { transition: transform .5s var(--ease-spring) .5s, opacity .3s .5s; }
.oc-cert__note { position: relative; text-align: center; font-size: 14px; color: var(--ink-2); margin: 0; }
.oc-cert__note i { color: var(--text-gold); }

.oc-road__head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: center; margin-bottom: 44px; }
.oc-road__head p:not(.nm-eyebrow) { color: var(--mist-grey); }
.oc-road__img { padding: 10px; border-radius: 32px; }
.oc-road__img .nm-img { border-radius: 24px; aspect-ratio: 3 / 2; object-fit: cover; }
.oc-road__track { position: relative; height: 54px; border-radius: var(--r-pill); background: #191919; box-shadow: inset 4px 4px 10px #0d0d0d, inset -4px -4px 10px #262626; overflow: hidden; margin-bottom: 28px; }
.oc-road__lines { position: absolute; left: -60px; right: -60px; top: 50%; height: 3px; margin-top: -1.5px; background: repeating-linear-gradient(90deg, var(--bronze-gold) 0 28px, transparent 28px 60px); opacity: .7; }
.js .oc-road__lines { animation: ocRoad 1.4s linear infinite; }
@keyframes ocRoad { to { transform: translateX(-60px); } }
.oc-road__car { position: absolute; top: 50%; left: 6%; transform: translate(0, -50%); width: 40px; height: 40px; border-radius: 50%; background: var(--bronze-gold); color: var(--near-black); display: inline-flex; align-items: center; justify-content: center; font-size: 18px; transition: left 1.6s var(--ease); }
.oc-road.is-driven .oc-road__car { left: calc(94% - 40px); }
.oc-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.oc-lane { padding: 26px 24px; border-radius: 28px; background: var(--bg); box-shadow: var(--nm-out); }
.oc-lane__tag { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-family: var(--font-display); font-size: 22px; color: var(--bronze-gold); }
.oc-lane__ic { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--nm-in-sm); font-size: 17px; }
.oc-lane h3 { font-size: 26px; color: var(--warm-ivory); }
.oc-lane ul { display: grid; gap: 10px; }
.oc-lane li { position: relative; padding-left: 20px; font-size: 14px; color: var(--mist-grey); line-height: 1.6; }
.oc-lane li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 50%; border: 2px solid var(--bronze-gold); }

.oc-env { max-width: 860px; margin: 0 auto; perspective: 1400px; }
.oc-env__body { position: relative; padding: clamp(80px, 9vw, 110px) clamp(24px, 6vw, 72px) clamp(30px, 5vw, 56px); border-radius: 30px; overflow: hidden; text-align: center; }
.oc-env__flap { position: absolute; left: 0; right: 0; top: 0; height: 120px; background: var(--light-oat); clip-path: polygon(0 0, 100% 0, 50% 100%); transform-origin: 50% 0; z-index: 2; box-shadow: inset 0 -1px 0 var(--sand-line); transform: rotateX(180deg); opacity: 0; transition: transform 1.1s var(--ease) .3s, opacity .4s 1.1s; }
.js .oc-env:not(.is-in) .oc-env__flap { transform: none; opacity: 1; }
.oc-env__wax { position: absolute; left: 50%; top: 92px; width: 58px; height: 58px; margin-left: -29px; border-radius: 50%; background: var(--gold-hover); color: var(--clean-white); font-family: var(--font-display); font-size: 20px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; z-index: 3; box-shadow: 0 6px 14px rgba(20, 20, 20, .25); transition: transform .8s var(--ease) .2s, opacity .5s .2s; transform: translateY(-74px) scale(.8); opacity: 0; }
.js .oc-env:not(.is-in) .oc-env__wax { transform: none; opacity: 1; }
.oc-env__letter p:not(.nm-eyebrow) { color: var(--ink-2); }
.js .oc-env:not(.is-in) .oc-env__letter { transform: translateY(24px); opacity: .2; }
.oc-env__letter { transition: transform 1s var(--ease) .7s, opacity 1s .7s; }

.oc-iv__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 0; }
.oc-iv__card { padding: 26px 26px 24px; border-radius: 28px; }
.oc-iv__card dt { display: flex; gap: 14px; align-items: flex-start; font-family: var(--font-display); font-size: 23px; line-height: 1.3; color: var(--near-black); margin-bottom: 14px; }
.oc-iv__q { width: 40px; height: 40px; flex: none; border-radius: 12px; background: var(--bronze-gold); color: var(--near-black); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-sans); font-size: 15px; font-weight: 600; }
.oc-iv__card dd { display: flex; gap: 14px; align-items: flex-start; margin: 0; color: var(--ink-2); font-size: 15px; }
.oc-iv__a { width: 40px; height: 40px; flex: none; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: 15px; color: var(--text-gold); }
.oc-iv__more { text-align: center; margin: 30px 0 0; color: var(--ink-2); }

.oc-pins__side { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; }
.oc-pins__score { margin: 0; display: flex; gap: 10px; align-items: center; font-family: var(--font-display); font-size: 28px; color: var(--near-black); }
.oc-pins__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 26px; padding-top: 16px; }
.oc-pin { position: relative; transition: transform .5s var(--ease); }
.oc-pin:nth-child(1) { transform: rotate(-1.6deg); } .oc-pin:nth-child(2) { transform: rotate(1.2deg) translateY(16px); } .oc-pin:nth-child(3) { transform: rotate(-.8deg); }
.js .oc-pin[data-reveal]:nth-child(1).is-in { transform: rotate(-1.6deg); } .js .oc-pin[data-reveal]:nth-child(2).is-in { transform: rotate(1.2deg) translateY(16px); } .js .oc-pin[data-reveal]:nth-child(3).is-in { transform: rotate(-.8deg); }
.oc-pin:hover, .js .oc-pin[data-reveal].is-in:hover { transform: rotate(0) translateY(-4px); }
.oc-pin__pin { position: absolute; left: 50%; top: -10px; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; background: var(--bronze-gold); box-shadow: 2px 4px 6px rgba(20, 20, 20, .25); z-index: 2; }
.oc-pin__card { padding: 30px 24px 22px; border-radius: 22px; height: 100%; display: flex; flex-direction: column; }
.oc-pin__card blockquote { margin: 0 0 18px; flex: 1; }
.oc-pin__card blockquote p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--ink-2); }
.oc-pin__who { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0; padding-top: 14px; border-top: 1px dashed var(--sand-line); }
.oc-pin__who > span:nth-child(2) { flex: 1; min-width: 120px; }
.oc-pin__who strong { display: block; font-size: 14px; } .oc-pin__who small { font-size: 12px; color: var(--steel-taupe); }
.oc-pin__av { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 18px; color: var(--text-gold); flex: none; }

.oc-letter__card { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(26px, 5vw, 64px); align-items: center; padding: 16px clamp(18px, 4vw, 56px) 16px 16px; border-radius: 40px; }
.oc-letter__img { padding: 10px; border-radius: 30px; }
.oc-letter__img .nm-img { border-radius: 22px; aspect-ratio: 4 / 3; object-fit: cover; }
.oc-letter__body > p:not(.oc-letter__sign):not(.oc-letter__links) { color: var(--ink-2); }
.oc-letter__sign { display: flex; flex-direction: column; gap: 4px; margin: 6px 0 24px; font-family: var(--font-display); font-style: italic; font-size: 20px; color: var(--text-gold); }
.oc-letter__line { width: 200px; height: 36px; }
.oc-letter__line path { fill: none; stroke: var(--near-black); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 2s var(--ease) .4s; }
.js .oc-letter__card:not(.is-in) .oc-letter__line path { stroke-dashoffset: 1; }
.oc-letter__links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 22px 0 0; }

@media (max-width: 1199.98px) { .oc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991.98px) {
  .oc-hero { padding: 118px 0 72px; }
  .oc-hero__grid, .oc-code__head, .oc-road__head, .oc-letter__card { grid-template-columns: minmax(0, 1fr); }
  .oc-lanes, .oc-pins__list { grid-template-columns: minmax(0, 1fr); }
  .oc-pin:nth-child(n), .js .oc-pin[data-reveal].is-in:nth-child(n) { transform: none; }
  .oc-letter__card { padding: 14px 14px 30px; } .oc-letter__body { padding: 0 10px; }
  .oc-iv__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
  .oc-tiles { grid-template-columns: minmax(0, 1fr); }
  .oc-cert__row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .oc-cert__stamp { justify-self: start; }
  .oc-badge { padding: 46px 22px 22px; }
  .oc-iv__card dt { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
   .oc-badge-swing, .js .oc-road__lines,  .oc-badge__tick { animation: none; }
  .oc-badge__tick { transform: none; }
  .oc-road__car, .oc-env__flap, .oc-env__wax, .oc-env__letter, .oc-cert__stamp, .oc-letter__line path { transition: none; }
}

/* =============================================================================
   38. PAGE: PRICES (/chauffeur-prices-london) — prefix pr-
   ============================================================================= */
.pr-hero { padding: 136px 0 96px; }
.pr-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.pr-hero__title { font-size: clamp(42px, 5.2vw, 70px); line-height: 1.03; letter-spacing: -.015em; margin: 0 0 20px; }
.pr-hero__intro { font-size: 18px; line-height: 1.7; color: var(--ink-2); max-width: 560px; margin-bottom: 30px; }
.pr-calc { padding: 22px; border-radius: 38px; max-width: 470px; width: 100%; margin: 0 auto; }
.pr-calc__screen { display: flex; flex-direction: column; align-items: flex-end; padding: 20px 24px; border-radius: 24px; margin-bottom: 18px; }
.pr-calc__small { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); }
.pr-calc__val { font-family: var(--font-display); font-size: clamp(36px, 4vw, 48px); line-height: 1.1; color: var(--near-black); }
 .pr-calc__val { animation: prBlink 1.8s steps(1) 1.6s both; }
@keyframes prBlink { 0% { opacity: 0; } 20% { opacity: 1; } 35% { opacity: 0; } 50%, 100% { opacity: 1; } }
.pr-calc__keys { display: grid; grid-template-columns: 1fr 52px; gap: 12px; }
.pr-key { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 10px 20px; border-radius: 20px; background: var(--bg); box-shadow: var(--nm-out-sm); font-weight: 600; font-size: 15px; color: var(--near-black); }
.pr-key i { color: var(--text-gold); font-size: 18px; }
.pr-key--op { justify-content: center; padding: 0; font-family: var(--font-display); font-size: 26px; color: var(--text-gold); box-shadow: var(--nm-in-sm); }
.pr-key--eq { grid-column: 1 / -1; padding: 0; background: var(--bronze-gold); }
.pr-key--eq a { display: flex; width: 100%; height: 100%; min-height: 62px; align-items: center; justify-content: space-between; padding: 10px 22px; color: var(--near-black); text-decoration: none; font-size: 15px; letter-spacing: .04em; border-radius: 20px; }
.pr-key--eq a:hover { background: var(--gold-hover); color: var(--clean-white); }
.pr-key--eq i { color: inherit; }
 .pr-key[style] { animation: prPress .5s var(--ease) both; animation-delay: calc(500ms + var(--k) * 240ms); }
@keyframes prPress { 0% { box-shadow: var(--nm-out-sm); transform: none; } 45% { box-shadow: var(--nm-in-sm); transform: scale(.97); } 100% { box-shadow: var(--nm-out-sm); transform: none; } }

.pr-cost__answer { font-family: var(--font-display); font-size: clamp(22px, 2.1vw, 27px); line-height: 1.45; color: var(--near-black); margin: 0 0 28px; }
.pr-cost__copy p { color: var(--ink-2); }
.pr-cost__updated { font-size: 13px; font-weight: 600; color: var(--steel-taupe); display: inline-flex; gap: 8px; align-items: center; margin: 4px 0 0; }
.pr-cost__updated i { color: var(--text-gold); }
.pr-receipt { position: sticky; top: 118px; max-width: 380px; margin: 0 auto; }
.pr-receipt__slot { display: block; height: 26px; border-radius: var(--r-pill); margin: 0 -10px; position: relative; z-index: 2; }
.pr-receipt__paper { margin: -12px 18px 0; padding: 30px 26px 34px; background: var(--clean-white); border-radius: 0 0 6px 6px; box-shadow: 0 18px 34px rgba(20, 20, 20, .12); font-variant-numeric: tabular-nums; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), 92% 100%, 84% calc(100% - 10px), 76% 100%, 68% calc(100% - 10px), 60% 100%, 52% calc(100% - 10px), 44% 100%, 36% calc(100% - 10px), 28% 100%, 20% calc(100% - 10px), 12% 100%, 4% calc(100% - 10px), 0 100%); transform-origin: 50% 0; transition: transform 1.4s var(--ease) .2s; }
.js .pr-receipt:not(.is-in) .pr-receipt__paper { transform: translateY(-70%) scaleY(.3); }
.pr-receipt__brand { text-align: center; font-family: var(--font-display); font-size: 26px; margin: 0; color: var(--near-black); }
.pr-receipt__sub { text-align: center; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); margin: 0 0 18px; padding-bottom: 16px; border-bottom: 2px dashed var(--sand-line); }
.pr-receipt__paper ul { display: grid; gap: 10px; padding-bottom: 16px; border-bottom: 2px dashed var(--sand-line); }
.pr-receipt__paper li { display: flex; justify-content: space-between; gap: 14px; font-size: 14px; color: var(--ink-2); }
.pr-receipt__paper li span:last-child { color: var(--near-black); font-weight: 600; text-align: right; }
.pr-receipt__total { display: flex; justify-content: space-between; gap: 14px; margin: 16px 0 10px; font-weight: 600; color: var(--near-black); }
.pr-receipt__total span:last-child { color: var(--text-gold); text-align: right; }
.pr-receipt__thanks { text-align: center; margin: 0; font-family: var(--font-display); font-style: italic; color: var(--steel-taupe); }

.pr-faders { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; padding: clamp(20px, 3vw, 34px); border-radius: 38px; background: var(--bg); box-shadow: var(--nm-out); }
.pr-fader { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 10px 6px; }
.pr-fader__slot { position: relative; width: 26px; height: 180px; border-radius: var(--r-pill); margin-bottom: 20px; }
.pr-fader__fill { position: absolute; left: 9px; right: 9px; bottom: 10px; height: calc((100% - 20px) * var(--lvl) / 100); border-radius: var(--r-pill); background: var(--bronze-gold); transition: height 1.2s var(--ease); transition-delay: calc(var(--i) * 120ms + 200ms); }
.pr-fader__knob { position: absolute; left: 50%; bottom: calc(10px + (100% - 20px) * var(--lvl) / 100); width: 46px; height: 24px; margin: 0 0 -12px -23px; border-radius: 10px; transition: bottom 1.2s var(--ease); transition-delay: calc(var(--i) * 120ms + 200ms); }
.pr-fader__knob::after { content: ""; position: absolute; left: 10px; right: 10px; top: 50%; height: 2px; margin-top: -1px; background: var(--bronze-gold); }
.js .pr-faders:not(.is-in) .pr-fader__fill { height: 0; }
.js .pr-faders:not(.is-in) .pr-fader__knob { bottom: 10px; }
.pr-fader__ic { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); box-shadow: var(--nm-in-sm); font-size: 18px; margin-bottom: 12px; }
.pr-fader h3 { font-size: 21px; margin-bottom: 8px; }
.pr-fader p { font-size: 14px; color: var(--ink-2); margin-bottom: 10px; }
.pr-fader .text-link { font-size: 14px; }

.pr-tags__lead { max-width: 420px; margin: 0; color: var(--ink-2); }
.pr-taglist { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; padding-top: 40px; }
.pr-tag { position: relative; transform-origin: 50% -40px; }
.pr-tag:hover .pr-tag__card { transform: rotate(-1.5deg); }
.pr-tag__string { position: absolute; left: 50%; top: -40px; width: 2px; height: 58px; background: var(--sand-line); z-index: 0; }
.pr-tag__card { position: relative; height: 100%; padding: 44px 22px 24px; border-radius: 28px 28px 22px 22px; transition: transform .5s var(--ease); transform-origin: 50% 0; }
.pr-tag__hole { position: absolute; left: 50%; top: 14px; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; }
.pr-tag__ic { display: block; font-size: 26px; color: var(--text-gold); margin-bottom: 10px; }
.pr-tag h3 { font-size: 24px; margin-bottom: 6px; }
.pr-tag__price { display: inline-block; margin: 0 0 16px; padding: 5px 12px; border-radius: 10px; background: var(--bronze-gold); color: var(--near-black); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.pr-tag dl { margin: 0 0 16px; display: grid; gap: 12px; }
.pr-tag dt { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--steel-taupe); }
.pr-tag dd { margin: 2px 0 0; font-size: 14px; color: var(--ink-2); }
.pr-tag .text-link { font-size: 14px; }
.pr-tags__note { display: flex; max-width: 860px; margin: 34px auto 0; padding: 14px 22px; border-radius: 22px; font-size: 14px; color: var(--ink-2); gap: 12px; align-items: flex-start; }
.pr-fares { margin-top: 36px; }
.pr-fares__title { font-size: 26px; }
.pr-fares ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.pr-fares li { padding: 18px 20px; border-radius: 22px; display: grid; gap: 4px; }
.pr-fares li small { color: var(--steel-taupe); } .pr-fares li strong { color: var(--text-gold); font-family: var(--font-display); font-size: 24px; font-weight: 500; }
.pr-fares__note { font-size: 13px; color: var(--steel-taupe); margin: 14px 0 0; }

.pr-book { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr); padding: clamp(24px, 4vw, 48px); border-radius: 38px; max-width: 1080px; margin: 0 auto; }
.pr-book__spine { width: 2px; justify-self: center; background: var(--sand-line); border-radius: 2px; position: relative; }
.pr-book__spine::before, .pr-book__spine::after { content: ""; position: absolute; left: 50%; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--bronze-gold); }
.pr-book__spine::before { top: -6px; } .pr-book__spine::after { bottom: -6px; }
.pr-book__page h3 { display: flex; align-items: center; gap: 12px; font-size: 24px; margin-bottom: 18px; }
.pr-book__badge { width: 40px; height: 40px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bronze-gold); color: var(--near-black); font-size: 18px; }
.pr-book__badge--alt { background: var(--bg); box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.pr-book__list { display: grid; gap: 12px; }
.pr-book__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--near-black); line-height: 1.55; padding-bottom: 12px; border-bottom: 1px dashed var(--sand-line); }
.pr-book__list li:last-child { border-bottom: 0; }
.pr-book__list i { color: var(--text-gold); font-size: 17px; line-height: 1.4; }
.pr-book__list--alt li { color: var(--ink-2); }
.pr-book__note { font-size: 14px; color: var(--steel-taupe); margin: 16px 0 0; }
.js .pr-book:not(.is-in) .pr-book__list li { opacity: 0; transform: translateX(-12px); }
.pr-book__list li { transition: opacity .5s var(--ease), transform .5s var(--ease); }
.pr-book__list li:nth-child(2) { transition-delay: .08s; } .pr-book__list li:nth-child(3) { transition-delay: .16s; } .pr-book__list li:nth-child(4) { transition-delay: .24s; } .pr-book__list li:nth-child(5) { transition-delay: .32s; } .pr-book__list li:nth-child(6) { transition-delay: .4s; }

.pr-pay__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.pr-pay__grid > div > p:not(.nm-eyebrow) { color: var(--mist-grey); }
.pr-coins { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 28px; perspective: 600px; }
.pr-coin { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.pr-coin__face { width: 104px; height: 104px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 34px; color: var(--bronze-gold); background: var(--bg); box-shadow: var(--nm-out), inset 0 0 0 6px #1b1b1b, inset 0 0 0 7px rgba(185, 138, 82, .45); transition: transform 1s var(--ease); transition-delay: calc(var(--i) * 150ms); }
.js .pr-coins:not(.is-in) .pr-coin__face { transform: rotateY(180deg); }
.pr-coin__label { font-weight: 600; color: var(--warm-ivory); font-size: 14px; }
.pr-pay__change { padding: 30px; border-radius: 30px; background: var(--bg); box-shadow: var(--nm-in); }
.pr-pay__change h3 { display: flex; gap: 10px; align-items: center; font-size: 25px; }
.pr-pay__change h3 i { color: var(--bronze-gold); font-size: 20px; }
.pr-pay__change p { color: var(--mist-grey); }

.pr-qs { display: grid; gap: 0; border-top: 1px solid var(--sand-line); }
.pr-q { border-bottom: 1px solid var(--sand-line); }
.pr-q__h { margin: 0; font-family: var(--font-sans); }
.pr-q__btn { padding: 20px 4px; gap: 16px; justify-content: flex-start; font-size: 16px; }
.pr-q__price { width: 40px; height: 40px; flex: none; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 21px; color: var(--text-gold); background: var(--bg); box-shadow: var(--nm-out-sm); transition: box-shadow .3s var(--ease), background-color .3s var(--ease), color .3s; }
.pr-q.is-open .pr-q__price { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.pr-q__text { flex: 1; }
.pr-q__chev { color: var(--text-gold); transition: transform .4s var(--ease); }
.pr-q.is-open .pr-q__chev { transform: rotate(180deg); }
.pr-q .acc__inner { overflow: hidden; }
.pr-q .acc__inner p { margin: 0; padding: 0 30px 22px 60px; color: var(--ink-2); }
.no-js .pr-q .acc__panel { grid-template-rows: 1fr; }
.pr-faq__more { margin: 24px 0 0; color: var(--ink-2); }
.pr-mini { position: sticky; top: 118px; padding: 30px; border-radius: 34px; display: grid; gap: 16px; }
.pr-mini__title { font-size: 28px; margin: 0; }
.pr-mini__lead { margin: -8px 0 4px; font-size: 14px; color: var(--steel-taupe); }
.pr-mini__alt { margin: 0; text-align: center; font-size: 14px; color: var(--steel-taupe); }

.pr-slips__top { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 20px; margin-top: 18px; }
.pr-slips__top p { margin: 0; display: flex; gap: 10px; align-items: center; font-family: var(--font-display); font-size: 28px; color: var(--near-black); }
.pr-sliplist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; align-items: start; }
.pr-slip { position: relative; padding: 26px 24px 30px; background: var(--clean-white); box-shadow: 0 16px 30px rgba(20, 20, 20, .08); border-radius: 6px 6px 0 0; font-variant-numeric: tabular-nums; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), 90% 100%, 80% calc(100% - 8px), 70% 100%, 60% calc(100% - 8px), 50% 100%, 40% calc(100% - 8px), 30% 100%, 20% calc(100% - 8px), 10% 100%, 0 calc(100% - 8px)); }
.pr-slip:nth-child(2) { margin-top: 30px; }
.pr-slip__head { display: flex; justify-content: space-between; margin: 0 0 14px; padding-bottom: 12px; border-bottom: 2px dashed var(--sand-line); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--steel-taupe); }
.pr-slip blockquote { margin: 0 0 16px; }
.pr-slip blockquote p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--ink-2); }
.pr-slip__foot { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin: 0; padding-top: 12px; border-top: 2px dashed var(--sand-line); font-size: 14px; }

@media (max-width: 1199.98px) {
  .pr-taglist { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 62px; }
  .pr-faders { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 34px; }
}
@media (max-width: 991.98px) {
  .pr-hero { padding: 118px 0 72px; }
  .pr-hero__grid, .pr-pay__grid { grid-template-columns: minmax(0, 1fr); }
  .pr-receipt, .pr-mini { position: static; }
  .pr-receipt { margin-top: 10px; }
  .pr-sliplist { grid-template-columns: minmax(0, 1fr); }
  .pr-slip:nth-child(2) { margin-top: 0; }
  .pr-book { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
  .pr-book__spine { width: 100%; height: 2px; }
  .pr-book__spine::before { top: -5px; left: 0; margin: 0; } .pr-book__spine::after { bottom: -5px; left: auto; right: 0; margin: 0; }
}
@media (max-width: 767.98px) {
  .pr-faders { grid-template-columns: 1fr 1fr; }
  .pr-fader__slot { height: 130px; }
  .pr-taglist { grid-template-columns: minmax(0, 1fr); }
  .pr-q .acc__inner p { padding: 0 6px 20px 6px; }
  .pr-coin__face { width: 86px; height: 86px; font-size: 28px; }
  .pr-calc { padding: 16px; } .pr-calc__keys { grid-template-columns: 1fr 44px; gap: 10px; }
}
@media (max-width: 420px) { .pr-faders { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) {
   .pr-calc__val,  .pr-key[style] { animation: none; }
  .pr-receipt__paper, .pr-fader__fill, .pr-fader__knob, .pr-coin__face, .pr-book__list li, .pr-tag__card { transition: none; }
}

/* =============================================================================
   39. PAGE: CORPORATE ACCOUNTS (/corporate-accounts) — prefix ca-
   ============================================================================= */
.ca-hero { padding: 136px 0 88px; overflow: hidden; }
.ca-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.ca-hero__title { font-size: clamp(42px, 5.2vw, 70px); line-height: 1.03; letter-spacing: -.015em; margin: 0 0 20px; }
.ca-hero__intro { font-size: 18px; line-height: 1.7; color: var(--ink-2); max-width: 580px; margin-bottom: 30px; }
.ca-cardwrap { position: relative; perspective: 1100px; max-width: 460px; width: 100%; margin: 0 auto; padding-bottom: 40px; }
.ca-card { position: relative; aspect-ratio: 1.586; border-radius: 26px; padding: clamp(20px, 3vw, 30px); background: #222; color: var(--warm-ivory); box-shadow: 18px 22px 40px rgba(20, 20, 20, .28), -10px -10px 26px var(--hi); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; transform: rotateX(var(--rx, 8deg)) rotateY(var(--ry, -14deg)); transition: transform .5s var(--ease); transform-style: preserve-3d; }
.ca-card::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(213, 200, 184, .18); border-radius: 18px; pointer-events: none; }
.ca-card__shine { position: absolute; top: -40%; left: var(--sx, -60%); width: 40%; height: 180%; background: rgba(255, 252, 246, .07); transform: rotate(18deg); pointer-events: none; transition: left .5s var(--ease); }
 .ca-card__shine { animation: caShine 2.4s var(--ease) .6s both; }
@keyframes caShine { from { left: -60%; } to { left: 130%; } }
.ca-card__top { display: flex; justify-content: space-between; align-items: center; position: relative; }
.ca-card__mono { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--logo-gold); color: var(--logo-gold); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 20px; }
.ca-card__type { font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--mist-grey); }
.ca-card__chip { width: 52px; height: 40px; border-radius: 9px; background: var(--bronze-gold); position: relative; }
.ca-card__chip::before, .ca-card__chip::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(20, 20, 20, .35); }
.ca-card__chip::after { left: 50%; top: 0; bottom: 0; width: 1px; height: auto; }
.ca-card__num { display: flex; gap: 14px; margin: 0; font-family: var(--font-display); font-size: clamp(18px, 2vw, 24px); letter-spacing: .08em; color: var(--warm-ivory); }
.ca-card__foot { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.ca-card__foot small { display: block; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--mist-grey); }
.ca-card__shadow { position: absolute; left: 10%; right: 10%; bottom: 6px; height: 22px; border-radius: 50%; box-shadow: var(--nm-in-sm); }
.ca-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 56px; }
.ca-benefit { display: flex; gap: 14px; align-items: flex-start; padding: 20px; border-radius: 24px; }
.ca-benefit__ic { width: 46px; height: 46px; flex: none; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 19px; }
.ca-benefit__title { font-family: var(--font-sans); font-size: 15px; font-weight: 600; margin: 2px 0 4px; color: var(--near-black); }
.ca-benefit p { margin: 0; font-size: 14px; color: var(--ink-2); line-height: 1.55; }

.ca-for__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.ca-for__intro { position: sticky; top: 118px; }
.ca-for__intro p:not(.nm-eyebrow) { color: var(--ink-2); }
.ca-keys { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ca-key { display: flex; gap: 16px; align-items: flex-start; padding: 20px; border-radius: 24px; background: var(--bg); box-shadow: var(--nm-in-sm); transition: box-shadow .35s var(--ease); }
.ca-key:hover { box-shadow: var(--nm-out); }
.ca-key__cap { width: 58px; height: 58px; flex: none; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; color: var(--text-gold); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.ca-key:hover .ca-key__cap { transform: translateY(2px); box-shadow: var(--nm-in-sm); }
.ca-key h3 { font-size: 21px; margin-bottom: 4px; }
.ca-key p { font-size: 14px; color: var(--ink-2); margin: 0; }

.ca-how { --p: 0; }
.ca-capsule { position: relative; height: 22px; border-radius: var(--r-pill); max-width: 1000px; margin: 0 auto -11px; padding: 5px; z-index: 1; }
.ca-capsule__fill { display: block; height: 100%; width: calc(var(--p) * 100%); border-radius: var(--r-pill); background: var(--bronze-gold); }
.ca-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; max-width: 1100px; margin: 0 auto; }
.ca-step { text-align: center; padding: 0 10px; }
.ca-step__node { width: 72px; height: 72px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 26px; color: var(--text-gold); margin: 0 auto 16px; position: relative; z-index: 2; transition: background-color .4s var(--ease), color .4s var(--ease); }
.ca-step.is-lit .ca-step__node { background: var(--bronze-gold); color: var(--near-black); }
.ca-step__n { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); margin-bottom: 6px; }
.ca-step h3 { font-size: 23px; }
.ca-step p { font-size: 14px; color: var(--ink-2); }

.ca-sheet { padding: clamp(24px, 4vw, 46px); border-radius: 38px; }
.ca-sheet__head { position: relative; margin-bottom: 24px; }
.ca-sheet__head p { color: var(--ink-2); margin: 0; }
.ca-sheet__tab { display: inline-block; margin-bottom: 12px; padding: 6px 14px; border-radius: 10px; box-shadow: var(--nm-in-sm); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); }
.ca-part { border: 0; padding: 22px 0 20px; margin: 0; border-top: 1px solid var(--sand-line); }
.ca-part legend { float: left; width: 100%; display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-size: 23px; color: var(--near-black); margin-bottom: 16px; }
.ca-part legend + * { clear: both; }
.ca-part__n { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bronze-gold); color: var(--near-black); font-family: var(--font-sans); font-size: 14px; font-weight: 600; }
.ca-part__hint { font-size: 14px; color: var(--steel-taupe); margin-bottom: 12px; }
.ca-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ca-chip { position: relative; }
.ca-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ca-chip label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 18px; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); font-size: 14px; font-weight: 500; color: var(--near-black); cursor: pointer; transition: box-shadow .25s var(--ease), color .25s var(--ease); }
.ca-chip label i { width: 18px; height: 18px; border-radius: 50%; box-shadow: var(--nm-in-sm); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; color: transparent; transition: background-color .25s, color .25s; }
.ca-chip input:checked + label { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ca-chip input:checked + label i { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.ca-chip input:focus-visible + label { outline: 2px solid var(--near-black); outline-offset: 2px; }
.ca-form .nm-check { margin: 8px 0 22px; }
.ca-side { position: sticky; top: 118px; display: grid; gap: 20px; }
.ca-side__card { padding: 26px; border-radius: 28px; }
.ca-side__card h3 { font-size: 24px; }
.ca-side__list { display: grid; gap: 14px; counter-reset: none; }
.ca-side__list li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: var(--ink-2); }
.ca-side__list span { width: 28px; height: 28px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; color: var(--text-gold); box-shadow: var(--nm-out-sm); }
.ca-side__card--dark { border-radius: 28px; }
.ca-side__links { display: grid; gap: 10px; }
.ca-side__links a { display: flex; gap: 10px; align-items: center; color: var(--warm-ivory); text-decoration: none; font-size: 15px; min-width: 0; }
.ca-side__links a:hover { color: var(--bronze-gold); }
.ca-side__links i { color: var(--bronze-gold); }

.ca-faq__lead { max-width: 420px; margin: 0; color: var(--ink-2); }
.ca-folds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; align-items: start; }
.ca-fold { position: relative; border-radius: 22px; background: var(--bg); box-shadow: var(--nm-out-sm); overflow: hidden; transition: box-shadow .35s var(--ease); }
.ca-fold.is-open { box-shadow: var(--nm-out); }
.ca-fold__h { margin: 0; font-family: var(--font-sans); }
.ca-fold__btn { padding: 20px 22px; gap: 14px; position: relative; }
.ca-fold__corner { position: absolute; right: 0; top: 0; width: 0; height: 0; border-style: solid; border-width: 0 26px 26px 0; border-color: transparent var(--light-oat) transparent transparent; transition: border-width .4s var(--ease); }
.ca-fold.is-open .ca-fold__corner { border-width: 0 40px 40px 0; border-right-color: var(--bronze-gold); }
.ca-fold__text { flex: 1; }
.ca-fold__go { color: var(--text-gold); transition: transform .4s var(--ease); }
.ca-fold.is-open .ca-fold__go { transform: rotate(-90deg); }
.ca-fold .acc__inner { overflow: hidden; }
.ca-fold .acc__inner p { margin: 0; padding: 0 22px 22px; color: var(--ink-2); font-size: 15px; }
.no-js .ca-fold .acc__panel { grid-template-rows: 1fr; }

.ca-bcards__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: clamp(26px, 5vw, 60px); align-items: center; }
.ca-bcards__score { display: flex; align-items: center; gap: 14px; margin: 10px 0 22px; }
.ca-bcards__score p { margin: 0; font-family: var(--font-display); font-size: 40px; color: var(--near-black); }
.ca-bcards__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ca-bcard { padding: 22px 24px; border-radius: 16px; position: relative; border-left: 4px solid var(--bronze-gold); transition: transform .4s var(--ease); }
.ca-bcard:hover { transform: translateY(-4px) rotate(-.6deg); }
.ca-bcard__who { display: flex; gap: 12px; align-items: center; margin: 0 0 14px; }
.ca-bcard__who strong { display: block; font-size: 14px; } .ca-bcard__who small { font-size: 12px; color: var(--steel-taupe); }
.ca-bcard__mono { width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 19px; color: var(--text-gold); }
.ca-bcard blockquote { margin: 0; }
.ca-bcard blockquote p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--ink-2); }
.ca-bcard__stars { margin-top: 12px; }

@media (max-width: 1199.98px) { .ca-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991.98px) {
  .ca-hero { padding: 118px 0 72px; }
  .ca-hero__grid, .ca-for__grid, .ca-bcards__grid { grid-template-columns: minmax(0, 1fr); }
  .ca-for__intro, .ca-side { position: static; }
  .ca-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 34px; }
  .ca-capsule { display: none; }
  .ca-folds { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
  .ca-benefits, .ca-keys, .ca-bcards__list { grid-template-columns: minmax(0, 1fr); }
  .ca-steps { grid-template-columns: minmax(0, 1fr); }
  .ca-card { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
   .ca-card__shine { animation: none; }
  .ca-card { transform: none; transition: none; }
}

/* =============================================================================
   40. PAGE: AREAS WE COVER (/areas-we-cover) — prefix ar-
   ============================================================================= */
.ar-hero { padding: 136px 0 88px; overflow: hidden; }
.ar-hero__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.ar-hero__title { font-size: clamp(42px, 5.2vw, 70px); line-height: 1.03; letter-spacing: -.015em; margin: 0 0 20px; }
.ar-hero__intro { font-size: 18px; line-height: 1.7; color: var(--ink-2); max-width: 560px; margin-bottom: 30px; }
.ar-mosaic { position: relative; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; padding: 26px; border-radius: 40px; box-shadow: var(--nm-in); }
.ar-mosaic__key { padding: 10px 16px; border-radius: 14px; font-size: 13px; font-weight: 600; color: var(--steel-taupe); white-space: nowrap; transition: color .4s, box-shadow .4s; }
 .ar-mosaic__key { animation: arWave 6s var(--ease) infinite; animation-delay: calc((var(--w) + var(--h)) * 260ms + 800ms); }
@keyframes arWave { 0%, 14%, 100% { box-shadow: var(--nm-out-sm); color: var(--steel-taupe); background: var(--bg); } 5% { box-shadow: var(--nm-in-sm); color: var(--near-black); background: var(--clean-white); } }
.ar-mosaic__pin { position: absolute; right: -14px; top: -14px; width: 60px; height: 60px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 26px; color: var(--bronze-gold); }
 .ar-mosaic__pin { animation: arBob 2.6s ease-in-out infinite; }
@keyframes arBob { 50% { transform: translateY(-8px); } }

.ar-over__answer { font-family: var(--font-display); font-size: clamp(22px, 2.1vw, 27px); line-height: 1.45; color: var(--near-black); margin: 0 0 26px; }
.ar-over__copy p { color: var(--ink-2); }
.ar-over__updated { font-size: 13px; font-weight: 600; color: var(--steel-taupe); display: inline-flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 0; }
.ar-over__updated i { color: var(--text-gold); }
.ar-tiers { display: grid; gap: 14px; justify-items: center; }
.ar-tier { display: flex; align-items: center; gap: 16px; padding: 18px 22px; border-radius: 26px; background: var(--bg); box-shadow: var(--nm-out); width: 100%; transition: transform .6s var(--ease); }
.ar-tier--1 { width: 72%; } .ar-tier--2 { width: 86%; } .ar-tier--3 { width: 100%; }
.js .ar-tiers:not(.is-in) .ar-tier { transform: scaleX(.6); }
.ar-tier--2 { transition-delay: .12s; } .ar-tier--3 { transition-delay: .24s; }
.ar-tier__n { width: 44px; height: 44px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 20px; color: var(--text-gold); box-shadow: var(--nm-in-sm); }
.ar-tier--1 .ar-tier__n { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.ar-tier strong { display: block; color: var(--near-black); font-size: 15px; }
.ar-tier span:last-child { font-size: 13px; color: var(--steel-taupe); line-height: 1.5; }

.ar-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 36px; }
.ar-filter__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 18px; border: 0; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); font-size: 14px; font-weight: 600; color: var(--near-black); cursor: pointer; transition: box-shadow .25s var(--ease), color .25s; }
.ar-filter__btn span { min-width: 24px; height: 24px; padding: 0 6px; border-radius: var(--r-pill); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ar-filter__btn[aria-pressed="true"] { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ar-filter__btn[aria-pressed="true"] span { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.ar-regions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 20px; }
.ar-region { grid-column: span var(--c, 3); }
.ar-region[hidden] { display: none; }
.ar-region.is-entering .ar-card { animation: ecRise .5s var(--ease) both; }
.ar-region__title { display: flex; align-items: center; gap: 14px; font-size: 28px; margin-bottom: 18px; }
.ar-region__line { width: 36px; height: 3px; border-radius: 3px; background: var(--bronze-gold); }
.ar-cards { display: grid; grid-template-columns: repeat(var(--c, 3), minmax(0, 1fr)); gap: 20px; }
.ar-card { padding: 22px 22px 20px; border-radius: 26px; display: flex; flex-direction: column; scroll-margin-top: 120px; }
.ar-card:target { box-shadow: var(--nm-out), 0 0 0 2px var(--bronze-gold); }
.ar-card__name { font-size: 23px; margin-bottom: 8px; display: flex; gap: 8px; align-items: baseline; }
.ar-card__name i { color: var(--text-gold); font-size: 16px; }
.ar-card__name a { color: var(--near-black); }
.ar-card p { font-size: 14px; color: var(--ink-2); flex: 1; }
.ar-card__q { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: var(--r-pill); box-shadow: var(--nm-out-sm); font-size: 13px; font-weight: 600; color: var(--text-gold); text-decoration: none; transition: box-shadow .25s; }
.ar-card__q:hover { box-shadow: var(--nm-in-sm); }

.ar-fly__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.ar-fly__grid > div:first-child p:not(.nm-eyebrow) { color: var(--ink-2); }
.ar-console { padding: 24px; border-radius: 36px; }
.ar-console__pick { margin-bottom: 18px; }
.ar-console__pick label { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.ar-console__pick label i { color: var(--text-gold); }
.ar-console__screen { padding: 20px; border-radius: 26px; min-height: 170px; }
.ar-console__hint { display: flex; align-items: center; gap: 10px; margin: 30px 0; justify-content: center; color: var(--steel-taupe); font-size: 14px; }
.ar-console__hint i { color: var(--text-gold); font-size: 20px; }
.js .ar-console__hint[hidden] { display: none; }
.ar-console__list { margin: 0; display: grid; gap: 16px; }
.js .ar-console__row { display: none; }
.js .ar-console__row.is-shown { display: block; animation: ecRise .5s var(--ease) both; }
.no-js .ar-console__screen { max-height: 420px; overflow: auto; }
.ar-console__row dt { font-family: var(--font-display); font-size: 24px; color: var(--near-black); margin-bottom: 10px; }
.ar-console__row dd { margin: 0; }
.ar-console__row ul { display: grid; gap: 10px; margin-bottom: 16px; }
.ar-gate { display: flex; align-items: center; gap: 14px; padding: 8px 14px 8px 8px; border-radius: 18px; background: var(--bg); box-shadow: var(--nm-out-sm); text-decoration: none; color: var(--near-black); font-weight: 500; transition: box-shadow .25s; }
.ar-gate:hover { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ar-gate__code { min-width: 54px; height: 40px; padding: 0 8px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--jet-graphite); color: var(--logo-gold); font-family: var(--font-sans); font-weight: 600; letter-spacing: .12em; font-size: 14px; }

.ar-routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ar-route { display: flex; flex-direction: column; padding: 26px; border-radius: 32px; background: var(--bg); box-shadow: var(--nm-out); text-decoration: none; transition: transform .4s var(--ease); }
.ar-route:hover { transform: translateY(-4px); }
.ar-route__map { position: relative; display: block; padding: 14px 14px 30px; border-radius: 22px; box-shadow: inset 4px 4px 10px #121212, inset -4px -4px 10px #2c2c2c; margin-bottom: 20px; }
.ar-route__map svg { width: 100%; height: auto; display: block; overflow: visible; }
.ar-route__map circle { fill: var(--bronze-gold); }
.ar-route__path { fill: none; stroke: var(--bronze-gold); stroke-width: 2.5; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.8s var(--ease) .2s; }
.js .ar-route:not(.is-in) .ar-route__path { stroke-dashoffset: 1; }
.ar-route__a, .ar-route__b { position: absolute; bottom: 10px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mist-grey); }
.ar-route__a { left: 14px; } .ar-route__b { right: 14px; text-align: right; }
.ar-route__name { font-family: var(--font-display); font-size: 28px; color: var(--warm-ivory); margin-bottom: 8px; }
.ar-route__text { color: var(--mist-grey); font-size: 15px; flex: 1; margin-bottom: 16px; }
.ar-route__go { color: var(--bronze-gold); font-weight: 600; display: inline-flex; gap: 8px; align-items: center; }

.ar-pick { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 24px; align-items: start; }
.ar-pick__list { display: grid; gap: 10px; }
.ar-pick__q { display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px 18px 14px 14px; border: 0; border-radius: 20px; background: var(--bg); box-shadow: var(--nm-out-sm); text-align: left; font-size: 15px; font-weight: 600; color: var(--near-black); cursor: pointer; transition: box-shadow .3s var(--ease), color .3s; }
.ar-pick__n { width: 38px; height: 38px; flex: none; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 17px; color: var(--text-gold); box-shadow: var(--nm-in-sm); }
.ar-pick__q[aria-selected="true"] { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ar-pick__q[aria-selected="true"] .ar-pick__n { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.ar-pick__panels { position: sticky; top: 118px; padding: clamp(24px, 4vw, 44px); border-radius: 34px; overflow: hidden; }
.ar-pick__a { position: relative; }
.no-js .ar-pick__a + .ar-pick__a { margin-top: 26px; padding-top: 26px; border-top: 1px solid var(--sand-line); }
.ar-pick__a.is-entering { animation: ecRise .5s var(--ease) both; }
.ar-pick__big { position: absolute; right: -10px; bottom: -64px; font-family: var(--font-display); font-size: 120px; line-height: 1; color: var(--bg); text-shadow: 3px 3px 5px var(--lo), -3px -3px 5px var(--hi); pointer-events: none; }
.ar-pick__a h3 { font-size: 28px; position: relative; }
.ar-pick__panels { min-height: 260px; }
.ar-pick__a p { position: relative; color: var(--ink-2); margin: 0; font-size: 16px; }
.ar-faq__more { margin: 26px 0 0; color: var(--ink-2); }

.ar-pinrev__side { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.ar-pinrev__side p { margin: 0; font-family: var(--font-display); font-size: 32px; color: var(--near-black); }
.ar-pinrev__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; padding-top: 30px; }
.ar-pincard { position: relative; padding-top: 26px; }
.ar-pincard__pin { position: absolute; left: 26px; top: 0; z-index: 2; width: 52px; height: 52px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--bronze-gold); display: inline-flex; align-items: center; justify-content: center; box-shadow: 4px 6px 12px rgba(20, 20, 20, .2); }
.ar-pincard__pin span { transform: rotate(45deg); font-family: var(--font-display); font-size: 20px; color: var(--near-black); font-weight: 600; }
.js .ar-pincard[data-reveal]:not(.is-in) .ar-pincard__pin { transform: rotate(-45deg) translate(0, -30px); opacity: 0; }
.ar-pincard__pin { transition: transform .7s var(--ease-spring) .3s, opacity .4s .3s; }
.ar-pincard__body { padding: 44px 24px 22px; border-radius: 26px; height: 100%; display: flex; flex-direction: column; }
.ar-pincard blockquote { margin: 0 0 16px; flex: 1; }
.ar-pincard blockquote p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--ink-2); }
.ar-pincard__who { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 0; font-size: 13px; color: var(--steel-taupe); }
.ar-pincard__who strong { color: var(--near-black); font-size: 14px; }

.ar-check__box { max-width: 760px; margin: 0 auto; text-align: center; }
.ar-check__box > p:not(.field-error) { color: var(--ink-2); }
.ar-search { display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 22px; border-radius: var(--r-pill); margin: 26px auto 0; max-width: 640px; }
.ar-search i { color: var(--text-gold); font-size: 18px; }
.ar-search input { flex: 1; min-width: 0; min-height: 50px; border: 0; background: transparent; font: inherit; font-size: 16px; color: var(--near-black); outline: none; }
.ar-search input::placeholder { color: var(--steel-taupe); }
.ar-search:focus-within { box-shadow: var(--nm-in), 0 0 0 2px var(--near-black); }
.ar-check__box .field-error { justify-content: center; }
.ar-check__call { margin: 18px 0 0; font-size: 14px; color: var(--steel-taupe); }

@media (max-width: 991.98px) {
  .ar-hero { padding: 118px 0 72px; }
  .ar-hero__grid, .ar-fly__grid, .ar-pick { grid-template-columns: minmax(0, 1fr); }
  .ar-pinrev__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ar-regions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ar-region { grid-column: span min(var(--c, 3), 2); }
  .ar-cards { grid-template-columns: repeat(min(var(--c, 3), 2), minmax(0, 1fr)); }
  .ar-pick__panels { position: static; }
}
@media (max-width: 767.98px) {
  .ar-cards, .ar-pinrev__list, .ar-routes, .ar-regions { grid-template-columns: minmax(0, 1fr); }
  .ar-region { grid-column: auto; }
  .ar-mosaic { padding: 18px; gap: 8px; }
  .ar-mosaic__key { padding: 8px 12px; font-size: 12px; }
  .ar-mosaic__pin { right: -6px; top: -16px; width: 50px; height: 50px; font-size: 22px; }
  .ar-tier--1, .ar-tier--2 { width: 100%; }
  .ar-search { flex-wrap: wrap; border-radius: 26px; padding: 14px; }
  .ar-search .nm-btn { width: 100%; }
  .ar-pick__big { font-size: 84px; }
}
@media (prefers-reduced-motion: reduce) {
   .ar-mosaic__key,  .ar-mosaic__pin { animation: none; }
  .ar-tier, .ar-route__path, .ar-pincard__pin { transition: none; }
}

/* =============================================================================
   41. PAGE: REVIEWS (/reviews) — prefix rv- (page-only blocks)
   ============================================================================= */
.rv-hero { padding: 136px 0 88px; }
.rv-hero__head { max-width: 780px; margin: 0 auto 48px; text-align: center; }
.rv-hero__head .crumbs { display: flex; justify-content: center; }
.rv-hero__title { font-size: clamp(42px, 5.2vw, 70px); line-height: 1.03; letter-spacing: -.015em; margin: 0 0 20px; }
.rv-hero__intro { font-size: 18px; line-height: 1.7; color: var(--ink-2); margin: 0; }
.rv-consoles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; max-width: 1040px; margin: 0 auto; }
.rv-console { display: flex; gap: 22px; align-items: flex-start; padding: 28px; border-radius: 34px; }
.rv-console__logo { width: 84px; height: 84px; flex: none; border-radius: 26px; display: inline-flex; align-items: center; justify-content: center; }
.rv-console__logo--tp { color: var(--trustpilot); font-size: 34px; }
.rv-console__name { font-size: 30px; margin-bottom: 6px; }
.rv-console__body p { color: var(--ink-2); font-size: 15px; }
.rv-console__score { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.rv-console__score strong { font-family: var(--font-display); font-size: 34px; font-weight: 500; color: var(--near-black); }
.rv-console__score span:last-child { font-size: 13px; color: var(--steel-taupe); }

.rv-wall__count { margin: 0; padding: 8px 16px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); font-size: 14px; font-weight: 600; color: var(--text-gold); }
.rv-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.rv-chip { min-height: 44px; padding: 8px 20px; border: 0; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); font-size: 14px; font-weight: 600; color: var(--near-black); cursor: pointer; transition: box-shadow .25s, color .25s; }
.rv-chip[aria-pressed="true"] { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.rv-masonry { columns: 3 300px; column-gap: 24px; }
.rv-note { position: relative; break-inside: avoid; margin: 0 0 24px; padding: 30px 26px 24px; border-radius: 28px; display: block; }
.rv-note[hidden] { display: none; }
.rv-note__q { position: absolute; right: 22px; top: 6px; font-family: var(--font-display); font-size: 92px; line-height: 1; color: var(--bg); text-shadow: 2px 2px 3px var(--lo), -2px -2px 3px var(--hi); }
.rv-note__text { position: relative; font-size: 15px; line-height: 1.75; color: var(--ink-2); margin: 0 0 6px; }
.rv-note__text.is-clamped { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.rv-note__more { border: 0; background: none; padding: 4px 0; font-size: 14px; font-weight: 600; color: var(--text-gold); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.rv-note__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--sand-line); }
.rv-note__av { width: 42px; height: 42px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 19px; color: var(--text-gold); }
.rv-note__who { flex: 1; min-width: 120px; }
.rv-note__who strong { display: block; font-size: 14px; } .rv-note__who small { font-size: 12px; color: var(--steel-taupe); }
.rv-note__src { font-size: 12px; font-weight: 600; color: var(--steel-taupe); }
.rv-note__tag { display: inline-flex; margin-top: 14px; padding: 5px 12px; border-radius: var(--r-pill); box-shadow: var(--nm-out-sm); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--text-gold); text-decoration: none; }
.rv-wall__none { text-align: center; color: var(--ink-2); }
.link-btn { border: 0; background: none; padding: 0; color: var(--text-gold); font-weight: 600; text-decoration: underline; cursor: pointer; }
.rv-wall__empty { padding: 44px 30px; border-radius: 32px; text-align: center; max-width: 720px; margin: 0 auto; }
.rv-wall__empty > i { font-size: 40px; color: var(--text-gold); }
.rv-wall__empty-title { font-family: var(--font-display); font-size: 28px; color: var(--near-black); margin: 10px 0 4px; }
.rv-wall__more { text-align: center; margin: 22px 0 0; color: var(--ink-2); }

.rv-share__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: end; }
.rv-share__grid > div > p:not(.nm-eyebrow):not(.rv-share__note) { color: var(--ink-2); }
.rv-share__note { display: flex; gap: 10px; align-items: flex-start; padding: 14px 18px; border-radius: 22px; font-size: 14px; color: var(--ink-2); margin-top: 18px; }
.rv-stairs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: end; }
.rv-stair { padding: 24px 20px; border-radius: 26px; }
.rv-stair:nth-child(1) { min-height: 260px; } .rv-stair:nth-child(2) { min-height: 310px; } .rv-stair:nth-child(3) { min-height: 360px; }
.rv-stair__n { display: inline-flex; width: 52px; height: 52px; border-radius: 16px; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 26px; color: var(--near-black); background: var(--bronze-gold); margin-bottom: 18px; }
.rv-stair h3 { font-size: 22px; }
.rv-stair p { font-size: 14px; color: var(--ink-2); margin: 0; }
.js .rv-stair[data-reveal]:not(.is-in) { transform: translate3d(0, 60px, 0); }

.rv-fb__panel { display: grid; grid-template-columns: auto 1fr auto; gap: 26px; align-items: center; padding: clamp(24px, 4vw, 44px); border-radius: 38px; background: var(--bg); box-shadow: var(--nm-out); }
.rv-fb__ic { width: 84px; height: 84px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 34px; color: var(--bronze-gold); box-shadow: inset 5px 5px 12px #121212, inset -5px -5px 12px #2c2c2c; }
.rv-fb__panel p { color: var(--mist-grey); margin: 0; }
.rv-fb__actions { display: grid; gap: 12px; }
.rv-fb__quote { text-align: center; margin: 24px 0 0; color: var(--mist-grey); }
.rv-fb__quote .text-link { color: var(--bronze-gold); }

@media (max-width: 991.98px) {
  .rv-hero { padding: 118px 0 72px; }
  .rv-consoles, .rv-share__grid { grid-template-columns: minmax(0, 1fr); }
  .rv-fb__panel { grid-template-columns: minmax(0, 1fr); text-align: left; }
  .rv-fb__actions { grid-auto-flow: row; }
}
@media (max-width: 767.98px) {
  .rv-console { flex-direction: column; }
  .rv-stairs { grid-template-columns: minmax(0, 1fr); }
  .rv-stair:nth-child(n) { min-height: 0; }
}

/* =============================================================================
   42. PAGE: FAQS (/faqs) — prefix fq-
   ============================================================================= */
.fq-hero { padding: 136px 0 80px; }
.fq-hero__inner { max-width: 900px; margin: 0 auto; text-align: center; }
.fq-hero__inner .crumbs { display: flex; justify-content: center; }
.fq-hero__title { font-size: clamp(42px, 5.2vw, 70px); line-height: 1.03; letter-spacing: -.015em; margin: 0 0 18px; }
.fq-hero__intro { font-size: 18px; line-height: 1.7; color: var(--ink-2); max-width: 640px; margin: 0 auto 32px; }
.fq-search { display: flex; align-items: center; gap: 14px; padding: 10px 12px 10px 26px; border-radius: var(--r-pill); max-width: 720px; margin: 0 auto 30px; }
.fq-search i { color: var(--text-gold); font-size: 20px; }
.fq-search input { flex: 1; min-width: 0; min-height: 52px; border: 0; background: transparent; font: inherit; font-size: 17px; color: var(--near-black); outline: none; }
.fq-search input::-webkit-search-cancel-button { cursor: pointer; }
.fq-search:focus-within { box-shadow: var(--nm-in), 0 0 0 2px var(--near-black); }
.fq-search__count { flex: none; padding: 8px 14px; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); font-size: 13px; font-weight: 600; color: var(--text-gold); white-space: nowrap; }
.fq-keys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; text-align: left; }
.fq-key { display: flex; align-items: center; gap: 12px; padding: 12px 14px 12px 12px; border-radius: 20px; text-decoration: none; color: var(--near-black); font-weight: 600; font-size: 14px; line-height: 1.3; transition: box-shadow .3s var(--ease), transform .3s var(--ease); height: 100%; }
.fq-key:hover { box-shadow: var(--nm-in-sm); transform: translateY(1px); color: var(--text-gold); }
.fq-key small { display: block; font-weight: 500; font-size: 12px; color: var(--steel-taupe); margin-top: 2px; }
.fq-key__ic { width: 42px; height: 42px; flex: none; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 17px; }
.fq-updated { margin: 26px 0 0; font-size: 13px; font-weight: 600; color: var(--steel-taupe); display: inline-flex; gap: 8px; align-items: center; }
.fq-updated i { color: var(--text-gold); }

.fq-desk__grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.fq-rail { position: sticky; top: 118px; }
.fq-rail__card { position: relative; padding: 22px 18px 22px 26px; border-radius: 30px; }
.fq-rail__title { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); margin: 0 0 12px 6px; }
.fq-rail__list { display: grid; gap: 4px; }
.fq-rail__link { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 16px; text-decoration: none; color: var(--near-black); font-size: 14px; font-weight: 600; transition: box-shadow .25s, color .25s; }
.fq-rail__link i { color: var(--text-gold); }
.fq-rail__link span:nth-child(2) { flex: 1; }
.fq-rail__link.is-current { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.fq-rail__link.is-empty { opacity: .4; }
.fq-rail__n { min-width: 26px; height: 26px; padding: 0 6px; border-radius: var(--r-pill); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; box-shadow: var(--nm-out-sm); color: var(--steel-taupe); }
.fq-rail__bar { position: absolute; left: 10px; top: 24px; bottom: 24px; width: 6px; border-radius: 6px; padding: 1px; }
.fq-rail__bar span { display: block; width: 100%; height: calc(var(--fq, 0) * 100%); border-radius: 6px; background: var(--bronze-gold); transition: height .2s linear; }
.fq-cats { display: grid; gap: 44px; }
.fq-cat { scroll-margin-top: 110px; }
.fq-cat[hidden] { display: none; }
.fq-cat__title { display: flex; align-items: center; gap: 14px; font-size: clamp(26px, 2.6vw, 34px); margin-bottom: 16px; }
.fq-cat__ic { width: 50px; height: 50px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; color: var(--text-gold); }
.fq-acc { display: grid; gap: 12px; }
.fq-item { border-radius: 22px; background: var(--bg); box-shadow: var(--nm-out-sm); transition: box-shadow .35s var(--ease); }
.fq-item[hidden] { display: none; }
.fq-item.is-open { box-shadow: var(--nm-out); }
.fq-item__h { margin: 0; font-family: var(--font-sans); }
.fq-item__btn { padding: 16px 16px 16px 22px; gap: 16px; font-size: 16px; }
.fq-item__text { flex: 1; }
.fq-item__text mark { background: var(--bronze-gold); color: var(--near-black); padding: 0 2px; border-radius: 3px; }
.fq-item__dial { width: 40px; height: 40px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); transition: transform .45s var(--ease-spring), background-color .3s; }
.fq-item.is-open .fq-item__dial { transform: rotate(180deg); background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.fq-item .acc__inner { overflow: hidden; }
.fq-item .acc__inner p { margin: 0; padding: 0 22px 12px; color: var(--ink-2); font-size: 15px; }
.fq-item .acc__inner .fq-item__link { padding-bottom: 20px; }
.fq-item__link .text-link { font-size: 14px; }
.no-js .fq-item .acc__panel { grid-template-rows: 1fr; }
.fq-empty { padding: 28px; border-radius: 26px; text-align: center; color: var(--ink-2); }
.fq-empty i { color: var(--text-gold); margin-right: 6px; }

.fq-chat__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(26px, 5vw, 64px); align-items: center; }
.fq-chat__intro > p:not(.nm-eyebrow) { color: var(--ink-2); }
.fq-chat__g { display: flex; gap: 12px; align-items: center; margin: 14px 0 20px; font-family: var(--font-display); font-size: 40px; color: var(--near-black); }
.fq-chat__g strong { font-weight: 500; }
.fq-chat__log { display: grid; gap: 18px; padding: clamp(18px, 3vw, 30px); border-radius: 34px; }
.fq-msg { display: flex; gap: 12px; align-items: flex-end; max-width: 88%; }
.fq-msg--alt { flex-direction: row-reverse; margin-left: auto; }
.fq-msg__av { width: 40px; height: 40px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bronze-gold); color: var(--near-black); font-family: var(--font-display); font-size: 18px; font-weight: 600; }
.fq-msg__bubble { padding: 16px 18px; border-radius: 22px 22px 22px 6px; background: var(--bg); box-shadow: var(--nm-out-sm); }
.fq-msg--alt .fq-msg__bubble { border-radius: 22px 22px 6px 22px; background: var(--clean-white); }
.fq-msg blockquote { margin: 0 0 8px; }
.fq-msg blockquote p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--ink-2); }
.fq-msg__meta { margin: 0; font-size: 12px; color: var(--steel-taupe); display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.fq-msg__meta strong { color: var(--near-black); }

.fq-dial { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; max-width: 980px; margin: 0 auto 34px; }
.fq-dial__key { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 28px 18px; border-radius: 32px; background: var(--bg); box-shadow: var(--nm-out); text-decoration: none; transition: box-shadow .3s var(--ease), transform .3s var(--ease); height: 100%; min-width: 0; }
.fq-dial__key:hover { box-shadow: inset 5px 5px 12px #121212, inset -5px -5px 12px #2c2c2c; transform: translateY(2px); }
.fq-dial__ic { width: 70px; height: 70px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 26px; color: var(--near-black); background: var(--bronze-gold); margin-bottom: 10px; }
.fq-dial__label { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--mist-grey); }
.fq-dial__value { font-family: var(--font-display); font-size: 22px; color: var(--warm-ivory); max-width: 100%; }

@media (max-width: 1199.98px) { .fq-keys { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991.98px) {
  .fq-hero { padding: 118px 0 64px; }
  .fq-desk__grid, .fq-chat__grid { grid-template-columns: minmax(0, 1fr); }
  .fq-rail { position: sticky; top: 92px; z-index: 5; min-width: 0; }
  .fq-rail__card { padding: 8px; border-radius: 22px; }
  .fq-rail__title, .fq-rail__bar { display: none; }
  .fq-rail__list { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
  .fq-rail__list::-webkit-scrollbar { display: none; }
  .fq-rail__link { white-space: nowrap; }
  .fq-rail__n { display: none; }
  .fq-dial { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
  .fq-keys { grid-template-columns: minmax(0, 1fr); }
  .fq-search { padding: 8px 8px 8px 18px; }
  .fq-search__count { display: none; }
  .fq-msg { max-width: 100%; }
}

/* =============================================================================
   43. PAGE: PRIVACY POLICY (/privacy-policy) — prefix pv-
       Shared legal-table styles (.pp-table, .pp-facts, .pp-note) live here too.
   ============================================================================= */
.pv-cover { padding: 136px 0 80px; }
.pv-cover__inner { max-width: 860px; margin: 0 auto; text-align: center; }
.pv-cover__inner .crumbs { display: flex; justify-content: center; }
.pv-cover__shield { width: 84px; height: 84px; border-radius: 28px; display: flex; margin-left: auto; margin-right: auto; align-items: center; justify-content: center; font-size: 34px; color: var(--text-gold); margin-bottom: 18px; }
.pv-cover__title { font-size: clamp(42px, 5.2vw, 68px); line-height: 1.04; margin: 0 0 18px; }
.pv-cover__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 22px; }
.pv-cover__meta .nm-pill { font-size: 13px; }
.pv-cover__intro { font-size: 17px; line-height: 1.75; color: var(--ink-2); margin: 0 auto 26px; max-width: 760px; }
.pv-warn { margin: 30px auto 0; padding: 20px 24px; border-radius: 20px; background: #FFF4D6; border: 1px solid #E8CF8A; color: #5A4300; text-align: left; font-size: 14px; }
.pv-warn__title { font-weight: 600; display: flex; gap: 8px; }
.pv-warn ul { list-style: disc; padding-left: 20px; margin-bottom: 10px; }
.pv-warn p:last-child { margin: 0; }

.pv-dash { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pv-dash__card { display: flex; flex-direction: column; height: 100%; padding: 26px 24px 22px; border-radius: 28px; text-decoration: none; color: var(--near-black); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.pv-dash__card:hover { transform: translateY(-4px); box-shadow: var(--nm-out-lg); }
.pv-dash__ic { width: 54px; height: 54px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 22px; margin-bottom: 16px; }
.pv-dash__title { font-family: var(--font-display); font-size: 24px; margin-bottom: 6px; }
.pv-dash__text { font-size: 14px; color: var(--ink-2); flex: 1; margin-bottom: 14px; }
.pv-dash__more { font-size: 13px; font-weight: 600; color: var(--text-gold); display: inline-flex; gap: 6px; align-items: center; }

.pv-reader__grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(26px, 4vw, 60px); align-items: start; }
.pv-toc { position: sticky; top: 112px; }
.pv-toc__box { padding: 20px; border-radius: 28px; }
.pv-toc__sum { display: flex; justify-content: space-between; align-items: center; list-style: none; cursor: pointer; font-family: var(--font-display); font-size: 24px; color: var(--near-black); }
.pv-toc__sum::-webkit-details-marker { display: none; }
.pv-toc__pct { font-family: var(--font-sans); font-size: 12px; font-weight: 600; color: var(--text-gold); padding: 4px 10px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); font-variant-numeric: tabular-nums; }
.pv-toc__bar { display: block; height: 8px; border-radius: 8px; margin: 14px 0 12px; padding: 2px; }
.pv-toc__bar span { display: block; height: 100%; width: 0; border-radius: 8px; background: var(--bronze-gold); }
.pv-toc__list { display: grid; gap: 2px; max-height: calc(100vh - 290px); overflow-y: auto; scrollbar-width: thin; }
.pv-toc__list a { display: flex; gap: 10px; align-items: baseline; padding: 7px 10px; border-radius: 12px; font-size: 14px; line-height: 1.4; color: var(--ink-2); text-decoration: none; transition: box-shadow .25s, color .25s; }
.pv-toc__list a:hover { color: var(--near-black); }
.pv-toc__list a.is-current { box-shadow: var(--nm-in-sm); color: var(--text-gold); font-weight: 600; }
.pv-toc__n { min-width: 20px; font-weight: 600; color: var(--text-gold); font-variant-numeric: tabular-nums; }
.pv-doc { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; max-width: 820px; min-width: 0; }
.pv-sec { scroll-margin-top: 110px; }
.pv-sec__head { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.pv-sec__head h2 { font-size: clamp(27px, 2.8vw, 36px); margin: 0; }
.pv-sec__num { width: 54px; height: 54px; flex: none; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 22px; color: var(--text-gold); font-variant-numeric: tabular-nums; }
.pv-short { padding: 16px 20px; border-radius: 20px; margin-bottom: 22px; }
.pv-short__label { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--text-gold); margin-bottom: 6px; }
.pv-short p { margin: 0; font-family: var(--font-display); font-size: 20px; line-height: 1.45; color: var(--near-black); }
.pv-detail { color: var(--ink-2); }
.pv-detail h3 { font-size: 24px; margin: 26px 0 10px; }
.pv-detail ul { list-style: none; display: grid; gap: 8px; margin: 0 0 16px; }
.pv-detail ul li { position: relative; padding-left: 22px; }
.pv-detail ul li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--bronze-gold); }
.pv-detail strong { color: var(--near-black); }
.pp-table-wrap { overflow-x: auto; margin: 0 0 18px; border-radius: 22px; background: var(--bg); box-shadow: var(--nm-out-sm); -webkit-overflow-scrolling: touch; }
.pp-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 560px; }
.pp-table th, .pp-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--sand-line); }
.pp-table thead th { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); background: var(--light-oat); }
.pp-table tbody th { font-weight: 600; color: var(--near-black); width: 30%; }
.pp-table tbody tr:last-child th, .pp-table tbody tr:last-child td { border-bottom: 0; }
.pp-table--two { min-width: 0; }
.pp-facts { display: grid; gap: 10px; margin: 0 0 16px; padding: 18px 20px; border-radius: 20px; box-shadow: var(--nm-in-sm); }
.pp-facts > div { display: grid; grid-template-columns: 180px 1fr; gap: 12px; }
.pp-facts dt { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--steel-taupe); }
.pp-facts dd { margin: 0; color: var(--near-black); }
.pp-note { padding: 18px 20px; border-radius: 20px; border-left: 4px solid var(--bronze-gold); background: var(--clean-white); margin: 16px 0; }
.pp-note p:last-child { margin: 0; }
.pp-note__title { font-weight: 600; color: var(--near-black); display: flex; gap: 8px; align-items: center; }
.pp-note__title i { color: var(--text-gold); }
.pv-nojs { font-size: 14px; color: var(--steel-taupe); }

.pv-keys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 40px; }
.pv-key { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 24px; background: var(--bg); box-shadow: var(--nm-out); }
.pv-key__ic { width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 19px; color: var(--bronze-gold); box-shadow: inset 3px 3px 8px #121212, inset -3px -3px 8px #2c2c2c; margin-bottom: 8px; }
.pv-key__name { font-family: var(--font-display); font-size: 22px; color: var(--warm-ivory); }
.pv-key__text { font-size: 14px; color: var(--mist-grey); line-height: 1.55; }
.pv-form { --ink: var(--near-black); --ink-2: var(--steel-taupe); --accent: var(--text-gold); padding: clamp(24px, 4vw, 44px); border-radius: 36px; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); color: var(--steel-taupe); max-width: 960px; margin: 0 auto; scroll-margin-top: 110px; }
.pv-form__head { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 24px; }
.pv-form__head h3 { font-size: 30px; margin-bottom: 4px; color: var(--near-black); }
.pv-form :focus-visible { outline-color: var(--near-black); }
.pv-form__head p { color: var(--ink-2); margin: 0; }
.pv-form__ic { width: 60px; height: 60px; flex: none; border-radius: 20px; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; color: var(--text-gold); }

.pv-close__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 26px; align-items: start; }
.pv-close__card { padding: clamp(24px, 4vw, 40px); border-radius: 32px; scroll-margin-top: 110px; }
.pv-close__card h2 { display: flex; align-items: center; gap: 14px; font-size: clamp(26px, 2.6vw, 32px); }
.pv-close__card > p { color: var(--ink-2); }
.pv-versions { display: grid; gap: 12px; margin-top: 18px; }
.pv-versions li { display: flex; gap: 16px; align-items: flex-start; padding: 14px 16px; border-radius: 18px; box-shadow: var(--nm-in-sm); font-size: 14px; color: var(--ink-2); }
.pv-versions strong { display: block; color: var(--near-black); }
.pv-versions__v { min-width: 52px; padding: 4px 8px; border-radius: 10px; background: var(--bronze-gold); color: var(--near-black); font-weight: 600; text-align: center; }
.pv-contact { display: grid; gap: 12px; margin: 14px 0 18px; }
.pv-contact li { display: flex; gap: 10px; align-items: center; min-width: 0; word-break: break-word; }
.pv-contact i { color: var(--text-gold); }
.pv-contact__links { font-size: 14px; color: var(--steel-taupe); margin: 0; }

@media (max-width: 991.98px) {
  .pv-cover { padding: 118px 0 64px; }
  .pv-reader__grid, .pv-close__grid { grid-template-columns: minmax(0, 1fr); }
  .pv-toc { position: static; }
  .pv-toc__list { max-height: none; }
  .pv-dash { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pv-keys { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .pv-dash, .pv-keys { grid-template-columns: minmax(0, 1fr); }
  .pp-facts > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .pv-sec__num { width: 46px; height: 46px; font-size: 19px; }
  .pv-form__head { flex-direction: column; }
}
@media print {
  .site-header, .site-footer, .float-stack, .action-bar, .cookie-bar, .pv-toc, .pv-glance, .pv-rights, .pv-cover .btn-row, .crumbs, .pv-warn { display: none !important; }
  .pv-reader__grid, .pv-close__grid { display: block; }
  .pv-doc { max-width: none; }
  .nm-raised, .nm-inset, .pv-short, .pp-table-wrap { box-shadow: none !important; }
  .pv-sec { break-inside: avoid-page; }
  [data-reveal], [data-hero] { opacity: 1 !important; transform: none !important; animation: none !important; }
}

/* =============================================================================
   44. PAGE: COOKIE POLICY (/cookie-policy) — prefix ck-
   ============================================================================= */
.ck-head { padding: 136px 0 72px; }
.ck-head__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.ck-head__title { font-size: clamp(42px, 5.2vw, 68px); line-height: 1.04; margin: 0 0 18px; }
.ck-head__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.ck-head__meta .nm-pill { font-size: 13px; }
.ck-head__intro { font-size: 17px; line-height: 1.75; color: var(--ink-2); margin: 0; }
.ck-jar { padding: 30px; border-radius: 34px; text-align: center; }
.ck-jar__ic { width: 96px; height: 96px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 40px; color: var(--text-gold); margin-bottom: 14px; }
 .ck-jar__ic i { display: inline-block; animation: ckWobble 1.6s var(--ease) .6s both; }
@keyframes ckWobble { 0% { transform: rotate(-30deg) scale(.6); opacity: 0; } 60% { transform: rotate(10deg) scale(1.05); opacity: 1; } 100% { transform: none; } }
.ck-jar__label { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); margin-bottom: 4px; }
.ck-jar__count { color: var(--ink-2); }
.ck-jar__count strong { font-family: var(--font-display); font-size: 26px; font-weight: 500; color: var(--near-black); }
.ck-jar__status { display: inline-block; padding: 6px 14px; border-radius: var(--r-pill); box-shadow: var(--nm-in-sm); font-size: 13px; font-weight: 600; color: var(--text-gold); margin-bottom: 18px; }

.ck-board { max-width: 980px; margin: 0 auto; padding: clamp(24px, 4vw, 48px); border-radius: 38px; scroll-margin-top: 110px; }
.ck-board__head { margin-bottom: 26px; }
.ck-board__head p { color: var(--ink-2); margin: 0; }
.ck-rows { display: grid; gap: 14px; }
.ck-row { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding: 18px 20px; border-radius: 24px; box-shadow: var(--nm-in-sm); }
.ck-row__ic { width: 52px; height: 52px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; font-size: 21px; color: var(--text-gold); }
.ck-row__text h3 { font-size: 23px; margin-bottom: 4px; display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.ck-row__n { font-family: var(--font-sans); font-size: 12px; font-weight: 600; color: var(--steel-taupe); }
.ck-row__text p { margin: 0; font-size: 14px; color: var(--ink-2); }
.ck-switch { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; border: 0; background: none; cursor: pointer; padding: 4px; min-width: 76px; }
.ck-switch[aria-disabled="true"] { cursor: not-allowed; }
.ck-switch__track { position: relative; width: 66px; height: 36px; border-radius: var(--r-pill); display: block; transition: background-color .3s var(--ease); }
.ck-switch__knob { position: absolute; top: 5px; left: 5px; width: 26px; height: 26px; border-radius: 50%; transition: transform .45s var(--ease-spring), background-color .3s; }
.ck-switch[aria-checked="true"] .ck-switch__track { background: var(--bronze-gold); box-shadow: inset 2px 2px 5px rgba(0, 0, 0, .2); }
.ck-switch[aria-checked="true"] .ck-switch__knob { transform: translateX(30px); background: var(--clean-white); }
.ck-switch__state { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ck-switch .ck-on { color: var(--text-gold); display: none; } .ck-switch .ck-off { color: var(--steel-taupe); }
.ck-switch[aria-checked="true"] .ck-on { display: inline; } .ck-switch[aria-checked="true"] .ck-off { display: none; }
.ck-switch:focus-visible { outline: 2px solid var(--near-black); outline-offset: 4px; border-radius: 14px; }
.ck-board__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.ck-board__live { margin: 6px 0 0; font-size: 14px; font-weight: 600; color: var(--success); min-height: 1.6em; }
.ck-nojs { padding: 18px 20px; border-radius: 20px; box-shadow: var(--nm-in-sm); color: var(--ink-2); margin: 0; }

.ck-reg__lead { color: var(--ink-2); margin: 10px 0 0; max-width: 620px; }
.ck-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.ck-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 0; border-radius: var(--r-pill); background: var(--bg); box-shadow: var(--nm-out-sm); font-size: 14px; font-weight: 600; color: var(--near-black); cursor: pointer; }
.ck-tab span { min-width: 22px; height: 22px; border-radius: var(--r-pill); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ck-tab[aria-pressed="true"] { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ck-tab[aria-pressed="true"] span { background: var(--bronze-gold); color: var(--near-black); box-shadow: none; }
.ck-table-wrap { border-radius: 30px; padding: 8px; overflow-x: auto; }
.ck-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ck-table th, .ck-table td { padding: 15px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--sand-line); }
.ck-table thead th { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); }
.ck-table tbody tr:last-child th, .ck-table tbody tr:last-child td { border-bottom: 0; }
.ck-table tbody tr[hidden] { display: none; }
.ck-table code { font-size: 13px; padding: 3px 8px; border-radius: 8px; background: var(--light-oat); color: var(--near-black); }
.ck-badge { display: inline-block; padding: 3px 10px; border-radius: var(--r-pill); font-size: 12px; font-weight: 600; white-space: nowrap; }
.ck-badge--necessary { background: var(--jet-graphite); color: var(--warm-ivory); }
.ck-badge--analytics { background: var(--bronze-gold); color: var(--near-black); }
.ck-badge--marketing { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ck-empty { padding: 18px; margin: 0; text-align: center; color: var(--steel-taupe); }
.ck-reg__foot { display: flex; gap: 8px; align-items: flex-start; margin: 18px 0 0; font-size: 14px; color: var(--steel-taupe); }
.ck-reg__foot i { color: var(--text-gold); }

.ck-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ck-card { position: relative; padding: 28px 26px; border-radius: 30px; overflow: hidden; }
.ck-card__n { position: absolute; right: 18px; top: 4px; font-family: var(--font-display); font-size: 74px; color: var(--bg); text-shadow: 2px 2px 3px var(--lo), -2px -2px 3px var(--hi); }
.ck-card__ic { width: 52px; height: 52px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; font-size: 21px; color: var(--text-gold); margin-bottom: 16px; position: relative; }
.ck-card h3 { font-size: 26px; position: relative; }
.ck-card > p { color: var(--ink-2); font-size: 15px; }
.ck-card dl { margin: 0; display: grid; gap: 12px; padding-top: 14px; border-top: 1px solid var(--sand-line); }
.ck-card dt { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--text-gold); }
.ck-card dd { margin: 2px 0 0; font-size: 14px; color: var(--ink-2); }

.ck-browser__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.ck-browser__grid > div > p:not(.ck-browser__note) { color: var(--ink-2); }
.ck-browser__note { display: flex; gap: 10px; align-items: flex-start; padding: 14px 18px; border-radius: 22px; font-size: 14px; color: var(--ink-2); }
.ck-browsers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ck-browsers__tile { display: flex; align-items: center; gap: 12px; padding: 14px 18px 14px 14px; border-radius: 22px; text-decoration: none; color: var(--near-black); font-weight: 600; font-size: 15px; transition: box-shadow .3s; height: 100%; }
.ck-browsers__tile:hover { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.ck-browsers__tile > span:nth-child(2) { flex: 1; }
.ck-browsers__tile > i { color: var(--text-gold); }
.ck-browsers__ic { width: 44px; height: 44px; flex: none; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 18px; }

.ck-more__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.ck-more__grid p { color: var(--mist-grey); }
.ck-more__grid a { color: var(--bronze-gold); }
.ck-more__ver { font-size: 14px; }
.ck-more__links { display: grid; gap: 12px; }
.ck-more__links a { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 16px 20px; border-radius: 20px; background: var(--bg); box-shadow: var(--nm-out-sm); color: var(--warm-ivory); text-decoration: none; font-weight: 600; transition: box-shadow .3s, color .3s; }
.ck-more__links a:hover { box-shadow: inset 3px 3px 8px #121212, inset -3px -3px 8px #2c2c2c; color: var(--bronze-gold); }
.ck-more__links i { color: var(--bronze-gold); }

@media (max-width: 991.98px) {
  .ck-head { padding: 118px 0 60px; }
  .ck-head__grid, .ck-browser__grid, .ck-more__grid { grid-template-columns: minmax(0, 1fr); }
  .ck-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
  .ck-row { grid-template-columns: 1fr auto; }
  .ck-row__ic { display: none; }
  .ck-browsers { grid-template-columns: minmax(0, 1fr); }
  .ck-table thead { display: none; }
  .ck-table, .ck-table tbody, .ck-table tr, .ck-table th, .ck-table td { display: block; width: 100%; }
  .ck-table tr { padding: 14px 10px; border-bottom: 1px solid var(--sand-line); }
  .ck-table tbody tr:last-child { border-bottom: 0; }
  .ck-table th, .ck-table td { border: 0; padding: 4px 6px; }
  .ck-table td::before { content: attr(data-label); display: block; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); margin-bottom: 2px; }
  .ck-table tbody tr[hidden] { display: none; }
}
@media (prefers-reduced-motion: reduce) {  .ck-jar__ic i { animation: none; } .ck-switch__knob { transition: none; } }

/* =============================================================================
   45. PAGE: TERMS (/terms) — prefix tc-
   ============================================================================= */
.tc-head { padding: 136px 0 48px; }
.tc-head__inner { max-width: 820px; margin: 0 auto; text-align: center; }
.tc-head__inner .crumbs { display: flex; justify-content: center; }
.tc-head__seal { width: 84px; height: 84px; border-radius: 28px; display: flex; margin-left: auto; margin-right: auto; align-items: center; justify-content: center; font-size: 34px; color: var(--text-gold); margin-bottom: 18px; }
.tc-head__title { font-size: clamp(40px, 5vw, 64px); line-height: 1.05; margin: 0 0 18px; }
.tc-head__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 20px; }
.tc-head__meta .nm-pill { font-size: 13px; }
.tc-head__intro { color: var(--ink-2); font-size: 17px; margin: 0 auto 24px; max-width: 680px; }
.tc-draft { display: flex; gap: 10px; align-items: flex-start; text-align: left; margin: 26px auto 0; padding: 16px 20px; border-radius: 18px; background: #FFF4D6; border: 1px solid #E8CF8A; color: #5A4300; font-size: 14px; }
.placeholder { background: #FFE9A8; color: #5A4300; padding: 0 4px; border-radius: 4px; font-weight: 600; font-size: .92em; }
.tc-glance { padding: 0 0 72px; }
.tc-glance__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tc-glance__list li { display: flex; gap: 12px; align-items: flex-start; padding: 18px; border-radius: 22px; font-size: 14px; color: var(--ink-2); line-height: 1.5; }
.tc-glance__list i { font-size: 22px; color: var(--text-gold); }
.tc-glance__list strong { display: block; color: var(--near-black); font-size: 15px; }
.tc-sheet { position: relative; max-width: 960px; margin: 0 auto; padding: clamp(24px, 5vw, 64px); border-radius: 36px; background: var(--clean-white); }
.tc-progress { position: sticky; top: 100px; z-index: 4; display: flex; align-items: center; gap: 14px; margin: calc(-1 * clamp(10px, 2vw, 30px)) 0 28px; padding: 10px 16px; border-radius: var(--r-pill); background: rgba(252, 251, 248, .94); box-shadow: 0 8px 20px rgba(20, 20, 20, .08); }
.tc-progress__label { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gold); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tc-progress__bar { flex: 1; height: 8px; border-radius: 8px; padding: 2px; --bg: var(--clean-white); --lo: #DED3C5; --hi: #FFFFFF; }
.tc-progress__bar span { display: block; height: 100%; width: 0; border-radius: 8px; background: var(--bronze-gold); }
.tc-contents { padding-bottom: 30px; margin-bottom: 34px; border-bottom: 2px solid var(--sand-line); scroll-margin-top: 110px; }
.tc-contents__title { font-size: 30px; }
.tc-contents__list { columns: 2 260px; column-gap: 30px; }
.tc-contents__list li { break-inside: avoid; }
.tc-contents__list a { display: flex; gap: 12px; align-items: baseline; padding: 8px 10px; border-radius: 12px; color: var(--near-black); text-decoration: none; font-weight: 500; transition: background-color .25s, color .25s; }
.tc-contents__list a:hover, .tc-contents__list a.is-current { background: var(--light-oat); color: var(--text-gold); }
.tc-contents__n { min-width: 22px; font-family: var(--font-display); font-size: 20px; color: var(--text-gold); }
.tc-body { display: grid; gap: 40px; }
.tc-clause { display: grid; grid-template-columns: 72px minmax(0, 1fr); min-width: 0; column-gap: 18px; }
.tc-clause__h { grid-column: 1 / -1; display: grid; grid-template-columns: 72px 1fr; gap: 18px; align-items: center; font-size: clamp(25px, 2.6vw, 32px); margin-bottom: 14px; scroll-margin-top: 170px; }
.tc-clause__n { width: 56px; height: 56px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 24px; color: var(--text-gold); --bg: var(--clean-white); --lo: #DED3C5; --hi: #FFFFFF; box-shadow: inset 3px 3px 7px #DED3C5, inset -3px -3px 7px #FFFFFF; }
.tc-subs { grid-column: 2; display: grid; gap: 12px; }
.tc-subs li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 10px; color: var(--ink-2); line-height: 1.7; }
.tc-subs__n { font-weight: 600; color: var(--text-gold); font-variant-numeric: tabular-nums; }
.tc-subs strong { color: var(--near-black); }
.tc-top { grid-column: 2; justify-self: start; margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--steel-taupe); text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.tc-top:hover { color: var(--text-gold); }
.tc-end { margin: 10px 0 0; padding: 18px 22px; border-radius: 20px; text-align: center; color: var(--ink-2); --bg: var(--clean-white); box-shadow: inset 3px 3px 7px #DED3C5, inset -3px -3px 7px #FFFFFF; }
.tc-hold__box { max-width: 720px; margin: 0 auto; padding: 40px; border-radius: 34px; text-align: center; }
.tc-hold__ic { width: 76px; height: 76px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 30px; color: var(--text-gold); margin-bottom: 16px; }
.tc-hold__box p { color: var(--ink-2); }
@media (max-width: 991.98px) { .tc-head { padding: 118px 0 40px; } .tc-glance__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) {
  .tc-glance__list { grid-template-columns: minmax(0, 1fr); }
  .tc-clause { grid-template-columns: minmax(0, 1fr); }
  .tc-clause__h { grid-template-columns: 48px 1fr; gap: 12px; }
  .tc-clause__n { width: 44px; height: 44px; font-size: 20px; }
  .tc-subs, .tc-top { grid-column: 1; }
  .tc-subs li { grid-template-columns: 40px minmax(0, 1fr); }
  .tc-progress { top: 86px; }
}
@media print {
  .site-header, .site-footer, .float-stack, .action-bar, .cookie-bar, .tc-progress, .tc-glance, .tc-head .btn-row, .crumbs, .tc-draft, .tc-top { display: none !important; }
  .tc-sheet { box-shadow: none !important; padding: 0; }
  .tc-clause { break-inside: avoid-page; }
  [data-hero] { opacity: 1 !important; transform: none !important; animation: none !important; }
}

/* =============================================================================
   46. PAGE: SITEMAP (/sitemap) — prefix smx-
   ============================================================================= */
.smx-head { padding: 136px 0 72px; }
.smx-head__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: clamp(28px, 5vw, 64px); align-items: end; }
.smx-head__title { font-size: clamp(42px, 5.2vw, 68px); line-height: 1.04; margin: 0 0 16px; }
.smx-head__intro { font-size: 17px; color: var(--ink-2); margin-bottom: 26px; }
.smx-filter { display: flex; align-items: center; gap: 12px; padding: 8px 10px 8px 22px; border-radius: var(--r-pill); max-width: 620px; }
.smx-filter i { color: var(--text-gold); font-size: 18px; }
.smx-filter input { flex: 1; min-width: 0; min-height: 48px; border: 0; background: transparent; font: inherit; font-size: 16px; color: var(--near-black); outline: none; }
.smx-filter:focus-within { box-shadow: var(--nm-in), 0 0 0 2px var(--near-black); }
.smx-filter__n { flex: none; padding: 7px 14px; border-radius: var(--r-pill); box-shadow: var(--nm-out-sm); font-size: 13px; font-weight: 600; color: var(--text-gold); white-space: nowrap; }
.smx-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; }
.smx-stats div { padding: 22px; border-radius: 26px; text-align: center; }
.smx-stats dt { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--steel-taupe); }
.smx-stats dd { margin: 4px 0 0; font-family: var(--font-display); font-size: 54px; line-height: 1; color: var(--near-black); font-variant-numeric: lining-nums tabular-nums; }
.smx-grid { columns: 3 300px; column-gap: 24px; }
.smx-card { break-inside: avoid; margin: 0 0 24px; padding: 22px 22px 18px; border-radius: 28px; display: block; }
.smx-card[hidden] { display: none; }
.smx-card__title { display: flex; align-items: center; gap: 12px; font-size: 23px; margin-bottom: 14px; }
.smx-card__title span:nth-child(2) { flex: 1; }
.smx-card__ic { width: 44px; height: 44px; flex: none; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-gold); font-size: 18px; }
.smx-card__n { font-family: var(--font-sans); font-size: 12px; font-weight: 600; min-width: 28px; height: 28px; padding: 0 8px; border-radius: var(--r-pill); display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--nm-out-sm); color: var(--steel-taupe); }
.smx-tree { display: grid; gap: 2px; }
.smx-tree li[hidden] { display: none; }
.smx-tree a { display: flex; align-items: center; gap: 4px; padding: 7px 10px; border-radius: 12px; color: var(--near-black); text-decoration: none; font-size: 15px; transition: box-shadow .25s, color .25s; }
.smx-tree a:hover, .smx-tree a[aria-current] { box-shadow: var(--nm-in-sm); color: var(--text-gold); }
.smx-tree a i { color: var(--text-gold); }
.smx-tree ul { display: grid; gap: 2px; margin: 2px 0 6px 18px; padding-left: 12px; border-left: 2px dotted var(--sand-line); }
.smx-tree ul a { font-size: 14px; color: var(--ink-2); padding: 5px 10px; }
.smx-tree mark { background: var(--bronze-gold); color: var(--near-black); border-radius: 3px; padding: 0 2px; }
.smx-xml { break-inside: avoid; display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 26px; background: var(--jet-graphite); color: var(--warm-ivory); text-decoration: none; margin-bottom: 24px; }
.smx-xml:hover { color: var(--bronze-gold); }
.smx-xml__ic { width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; color: var(--bronze-gold); box-shadow: inset 3px 3px 8px #121212, inset -3px -3px 8px #2c2c2c; }
.smx-xml > span:nth-child(2) { flex: 1; }
.smx-xml strong { display: block; font-family: var(--font-display); font-size: 22px; font-weight: 500; }
.smx-xml > span:nth-child(2) { font-size: 13px; color: var(--mist-grey); }
.smx-none { padding: 24px; border-radius: 24px; text-align: center; color: var(--ink-2); }
@media (max-width: 991.98px) { .smx-head { padding: 118px 0 60px; } .smx-head__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 575.98px) { .smx-filter__n { display: none; } .smx-stats dd { font-size: 44px; } }

/* Long addresses and placeholders wrap on small screens */
.tc-subs__text, .ck-more__grid p, .pv-detail, .pv-contact li, .pv-rights .lead-text, .pv-form__head p { overflow-wrap: anywhere; }

/* start here  */
/* =========================================================
   Hero Form Section
   Uses the existing :root design tokens — do not modify :root
========================================================= */

.pac-container {
    border: 1px solid var(--sand-line);
    border-radius: var(--r-sm);
    background-color: var(--clean-white);
    color: var(--ink);
    box-shadow: 0 8px 24px rgba(20, 20, 20, 0.10);
    font-family: var(--font-sans);
    overflow: hidden;
}

.pac-item {
    padding: 10px 14px;
    border-top: 1px solid rgba(213, 200, 184, 0.55);
    color: var(--ink-2);
    font-family: var(--font-sans);
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.25s var(--ease), color 0.25s var(--ease);
}

.pac-item:hover {
    background-color: var(--light-oat);
    color: var(--ink);
}

.pac-item-selected {
    background-color: var(--light-oat);
}

.pac-logo::after {
    display: none;
}

.quote-form__error,
.form-error {
    margin-top: 5px;
    color: var(--error);
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.45;
}

.quote-form__field {
    margin-bottom: var(--space-2);
}


/* =========================================================
   Main Quote Form
========================================================= */

.vip-quote-form {
    width: 100%;
    margin: 20px auto 0;
    padding: 30px;
    box-sizing: border-box;
    overflow: hidden;

    border: 1px solid var(--sand-line);
    border-radius: var(--r-lg);

    background-color: var(--bg);
    color: var(--ink);

    box-shadow:
        8px 8px 22px rgba(215, 204, 188, 0.55),
        -8px -8px 22px rgba(255, 252, 246, 0.75);
}


/* =========================================================
   Progress
========================================================= */

.vip-form-progress {
    display: flex;
    align-items: center;
    margin-bottom: 26px;
}

.vip-progress-step {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    white-space: nowrap;
}

.vip-progress-step span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;
    flex: 0 0 30px;

    border: 1px solid var(--field-border);
    border-radius: var(--r-pill);

    background-color: var(--clean-white);
    color: var(--ink-2);

    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    transition:
        background-color 0.25s var(--ease),
        border-color 0.25s var(--ease),
        color 0.25s var(--ease),
        box-shadow 0.25s var(--ease);
}

.vip-progress-step strong {
    color: var(--ink-2);
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;

    transition: color 0.25s var(--ease);
}

.vip-progress-step.active span {
    border-color: var(--bronze-gold);
    background-color: var(--bronze-gold);
    color: var(--clean-white);

    box-shadow: 0 3px 8px rgba(185, 138, 82, 0.20);
}

.vip-progress-step.active strong,
.vip-progress-step.done strong {
    color: var(--text-gold);
}

.vip-progress-step.done span {
    border-color: var(--bronze-gold);
    background-color: var(--light-oat);
    color: var(--text-gold);
}

.vip-progress-line {
    position: relative;
    flex: 1;
    height: 2px;
    margin: 0 15px;
    overflow: hidden;

    border-radius: var(--r-pill);
    background-color: var(--sand-line);
}

.vip-progress-line::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 0;

    background-color: var(--bronze-gold);

    transition: width 0.35s var(--ease);
}

.vip-form-progress.is-step-2 .vip-progress-line::after {
    width: 100%;
}


/* =========================================================
   Form Steps
========================================================= */

.vip-form-step {
    display: none;
}

.vip-form-step.active {
    display: block;
    animation: vipFadeIn 0.3s var(--ease) both;
}

@keyframes vipFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   Form Grid
========================================================= */

.vip-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
}

.vip-full-width {
    grid-column: 1 / -1;
}

.vip-field {
    min-width: 0;
}


/* =========================================================
   Labels
========================================================= */

.vip-field label {
    display: block;
    margin-bottom: 7px;

    color: var(--ink);

    font-family: var(--font-sans);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.5;
}

.vip-field label em {
    color: var(--error);
    font-style: normal;
}


/* =========================================================
   Inputs
========================================================= */

.vip-field input,
.vip-field select,
.vip-field textarea {
    width: 100%;
    box-sizing: border-box;

    border: 1px solid var(--field-border);
    border-radius: var(--r-sm);

    outline: none;

    background-color: var(--clean-white);
    color: var(--ink);

    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;

    transition:
        border-color 0.25s var(--ease),
        background-color 0.25s var(--ease),
        box-shadow 0.25s var(--ease);
}

.vip-field input,
.vip-field select {
    height: 48px;
    padding: 0 14px;
}

.vip-field input:hover,
.vip-field select:hover,
.vip-field textarea:hover {
    border-color: var(--bronze-gold);
}

.vip-field input:focus,
.vip-field select:focus,
.vip-field textarea:focus {
    border-color: var(--bronze-gold);
    background-color: var(--clean-white);

    box-shadow: 0 0 0 3px rgba(185, 138, 82, 0.16);
}

.vip-field input::placeholder,
.vip-field textarea::placeholder {
    color: var(--mist-grey);
    opacity: 1;
}

.vip-field input:disabled,
.vip-field select:disabled,
.vip-field textarea:disabled {
    background-color: var(--light-oat);
    color: var(--steel-taupe);
    cursor: not-allowed;
    opacity: 0.75;
}


/* =========================================================
   Textarea
========================================================= */

.vip-field textarea {
    min-height: 96px;
    height: 96px;
    padding: 13px 14px;

    line-height: 1.6;
    resize: vertical;
}


/* =========================================================
   Select
========================================================= */

.vip-field select {
    padding-right: 42px;
    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%237A5A30' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px 8px;
}

.vip-field select:invalid {
    color: var(--mist-grey);
}

.vip-field select option {
    background-color: var(--clean-white);
    color: var(--ink);
}


/* =========================================================
   Date & Time
========================================================= */

.vip-field input[type="date"],
.vip-field input[type="time"] {
    min-height: 48px;
    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    text-align: left;
}

.vip-field input[type="date"]::-webkit-calendar-picker-indicator,
.vip-field input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.65;

    transition: opacity 0.25s var(--ease);
}

.vip-field input[type="date"]::-webkit-calendar-picker-indicator:hover,
.vip-field input[type="time"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
}


/* =========================================================
   Return Fields
========================================================= */

.vip-return-fields {
    display: none;

    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;

    padding: 18px;

    border: 1px dashed var(--sand-line);
    border-radius: var(--r-md);

    background-color: var(--light-oat);
}

.vip-return-fields.active {
    display: grid;
    animation: vipFadeIn 0.3s var(--ease) both;
}


/* =========================================================
   Validation
========================================================= */

.vip-error {
    margin-top: 5px;

    color: var(--error);

    font-family: var(--font-sans);
    font-size: 11.5px;
    line-height: 1.45;
}

.vip-error:empty {
    display: none;
}

.vip-field input.is-invalid,
.vip-field select.is-invalid,
.vip-field textarea.is-invalid,
.vip-invalid {
    border-color: var(--error) !important;
    background-color: #FFF7F5;
}

.vip-field input.is-invalid:focus,
.vip-field select.is-invalid:focus,
.vip-field textarea.is-invalid:focus {
    border-color: var(--error);

    box-shadow: 0 0 0 3px rgba(166, 63, 53, 0.12);
}


/* =========================================================
   International Telephone Input
========================================================= */

.vip-field .iti {
    display: block;
    width: 100%;
}

.vip-field .iti input {
    width: 100%;
}

.vip-field .iti__country-list {
    border: 1px solid var(--sand-line);
    border-radius: var(--r-sm);

    background-color: var(--clean-white);
    color: var(--ink);

    box-shadow: 0 8px 24px rgba(20, 20, 20, 0.10);

    font-family: var(--font-sans);
    font-size: 13px;
}

.vip-field .iti__country:hover,
.vip-field .iti__country.iti__highlight {
    background-color: var(--light-oat);
}


/* =========================================================
   Form Actions
========================================================= */

.vip-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;

    margin-top: var(--space-4);
    padding-top: 20px;

    border-top: 1px solid var(--sand-line);
}

.vip-form-step[data-step="2"] .vip-form-actions {
    justify-content: space-between;
}


/* =========================================================
   Buttons
========================================================= */

.vip-next-btn,
.vip-back-btn,
.vip-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 48px;
    padding: 0 26px;

    border: 1px solid transparent;
    border-radius: var(--r-pill);

    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-align: center;

    cursor: pointer;

    transition:
        background-color 0.25s var(--ease),
        border-color 0.25s var(--ease),
        color 0.25s var(--ease),
        box-shadow 0.25s var(--ease),
        transform 0.25s var(--ease);
}


/* =========================================================
   Primary Buttons
========================================================= */

.vip-next-btn,
.vip-submit-btn {
    border-color: var(--bronze-gold);

    background-color: var(--bronze-gold);
    color: var(--clean-white);

    box-shadow: 0 5px 14px rgba(185, 138, 82, 0.20);
}

.vip-next-btn:hover,
.vip-submit-btn:hover {
    border-color: var(--gold-hover);

    background-color: var(--gold-hover);
    color: #FFFFFF;

    box-shadow: 0 7px 18px rgba(149, 107, 61, 0.24);
}

.vip-next-btn:active,
.vip-submit-btn:active {
    transform: translateY(1px);
}

.vip-next-btn span,
.vip-submit-btn span {
    display: inline-block;
    font-size: 16px;

    transition: transform 0.25s var(--ease);
}

.vip-next-btn:hover span,
.vip-submit-btn:hover span {
    transform: translateX(3px);
}

.vip-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: none;
}


/* =========================================================
   Back Button
========================================================= */

.vip-back-btn {
    border-color: var(--sand-line);

    background-color: var(--clean-white);
    color: var(--ink-2);
}

.vip-back-btn:hover {
    border-color: var(--bronze-gold);

    background-color: var(--light-oat);
    color: var(--text-gold);
}

.vip-back-btn:active {
    transform: translateY(1px);
}


/* =========================================================
   Keyboard Focus
========================================================= */

.vip-field input:focus-visible,
.vip-field select:focus-visible,
.vip-field textarea:focus-visible {
    outline: 2px solid var(--bronze-gold);
    outline-offset: 2px;
}

.vip-next-btn:focus-visible,
.vip-back-btn:focus-visible,
.vip-submit-btn:focus-visible {
    outline: 2px solid var(--text-gold);
    outline-offset: 3px;
}


/* =========================================================
   Disabled Buttons
========================================================= */

.vip-next-btn:disabled,
.vip-back-btn:disabled,
.vip-submit-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
}


/* =========================================================
   Responsive — Tablet & Mobile
========================================================= */

@media (max-width: 767.98px) {
    .vip-quote-form {
        max-width: 100%;
        padding: 24px 20px;
        border-radius: var(--r-md);
    }

    .vip-progress-step strong {
        display: none;
    }

    .vip-progress-line {
        margin: 0 10px;
    }

    .vip-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .vip-full-width {
        grid-column: auto;
    }

    .vip-return-fields {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 15px;
    }

    .vip-form-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .vip-form-step[data-step="2"] .vip-form-actions {
        flex-direction: column-reverse;
    }

    .vip-next-btn,
    .vip-back-btn,
    .vip-submit-btn {
        width: 100%;
    }
}


/* =========================================================
   Small Mobile
========================================================= */

@media (max-width: 479.98px) {
    .vip-quote-form {
        padding: 20px 16px;
        border-radius: var(--r-md);
    }

    .vip-form-progress {
        margin-bottom: 22px;
    }

    .vip-progress-step {
        gap: 6px;
    }

    .vip-progress-step span {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
        font-size: 11px;
    }

    .vip-progress-line {
        margin: 0 8px;
    }

    .vip-field input,
    .vip-field select {
        height: 46px;
    }

    .vip-field textarea {
        min-height: 100px;
    }

    .vip-next-btn,
    .vip-back-btn,
    .vip-submit-btn {
        min-height: 46px;
        padding: 0 20px;
    }
}


/* =========================================================
   Reduced Motion
========================================================= */

@media (prefers-reduced-motion: reduce) {
    .vip-form-step.active,
    .vip-return-fields.active {
        animation: none;
    }

    .vip-progress-step span,
    .vip-progress-step strong,
    .vip-progress-line::after,
    .vip-field input,
    .vip-field select,
    .vip-field textarea,
    .vip-next-btn,
    .vip-back-btn,
    .vip-submit-btn,
    .vip-next-btn span,
    .vip-submit-btn span {
        transition: none;
    }

    .vip-next-btn:hover span,
    .vip-submit-btn:hover span {
        transform: none;
    }
}


/* Normal/Desktop view: hide mobile image and overlay */
.hero-mobile-visual {
  display: none;
}

@media (max-width: 576px) {

  /* Show mobile hero image */
  .hero-mobile-visual {
    display: block;
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    height: 115vh;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
  }

  .hero-mobile-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  .hero-mobile-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.419) 0%,
      rgba(0, 0, 0, 0.55) 55%,
      #000 100%
    );
  }

/* Hide decorative orbs only on mobile */
.sv-hero .hero__orb,
.hero .hero__orb,
.ct-hero .hero__orb {
  display: none;
}

/* Keep hero content above the image */
.hero > .container,
.sv-hero > .container,
.ct-hero > .container {
  position: relative;
  z-index: 1;
}

.sv-hero *,
.hero *,
.ct-hero *,
.hero__title em,
.sv-hero__title em,
.ct-hero__title em {
  color: var(--clean-white);
}

.sv-hero .nm-btn,
.hero .nm-btn,
.ct-hero .nm-btn,
.nm-pill {
  box-shadow: none;
  color: var(--near-black);
}
.ct-hero__response span ,.cdial__text *,.cdial__knob i{color: var(--near-black);}
.hero .nm-raised,.hero .vip-quote-form{
  box-shadow: unset !important;
}

}

.hero-v2 {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    background: transparent;
    overflow: hidden;
}

/* Image as background */
.hero-v2-visual {
    position: absolute;
    inset: 0;
    overflow: hidden;
    height: 100vh;
    pointer-events: none;
}

.hero-v2-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
}
.hero-v2 *{color: var(--warm-ivory); box-shadow: none;}
.scroll-cue{border: 1px solid var(--bronze-gold);}
.hero-v2 .nm-btn,.hero-v2 .nm-pill{color: var(--near-black);}
.hero-v2 .nm-btn:hover{box-shadow: none;}
/* Premium transparent black overlay */
.hero-v2-visual .hero-v2-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(5, 6, 6, 0.40) 0%,
        rgba(5, 6, 6, 0.65) 50%,
        rgba(0, 0, 0, 0.92) 100%
    );
}
.hero-v2 .vip-back-btn{color: var(--near-black);}
/* Keep content above image */
.hero-v2 > .container,
.hero-v2 > .shell,
.hero-v2 > .hero-v2-content {
    position: relative;
    z-index: 1;
}
