/* v8.9 — 2014 story and full-screen beach photograph finale */
[hidden] { display: none !important; }

:root {
  --journey-tone: 0;
  --carrier-shade: .56;
  --social-card-radius: clamp(16px,1.5vw,22px);
}

.journey {
  position: relative;
  min-height: 100svh;
  overflow: clip;
  color: var(--ink);
  background: #05090e;
}

.journey-anchor {
  position: absolute;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.journey-sticky {
  position: relative;
  min-height: 100svh;
  isolation: isolate;
  background: #05090e;
}

.journey-tone {
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    radial-gradient(circle at var(--tone-x,78%) 36%,rgba(27,142,207,.18),transparent 37%),
    radial-gradient(circle at 14% 77%,rgba(51,85,112,.15),transparent 32%),
    linear-gradient(140deg,#05090e 0%,#0a1721 50%,#04070b 100%);
}

.journey-tone::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .56;
  background:
    linear-gradient(rgba(131,221,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(131,221,255,.025) 1px,transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at 50% 50%,#000,transparent 77%);
}

.journey-tone::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: calc(.08 + (var(--journey-tone) * .34));
  background:
    radial-gradient(circle at 76% 24%,rgba(33,127,176,.28),transparent 35%),
    linear-gradient(150deg,transparent 28%,rgba(12,69,100,.24) 62%,transparent 88%);
}

.journey-carrier {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100svh;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 0;
  background: #030609;
  box-shadow: none;
  transform: translateZ(0);
}

.carrier-plane {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 50%;
  opacity: 1;
  transform: none;
  filter: none;
  backface-visibility: hidden;
}

.carrier-current { z-index: 1; }
.carrier-next {
  z-index: 2;
  visibility: hidden;
  clip-path: inset(0 100% 0 0);
}

.carrier-shade {
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
  opacity: var(--carrier-shade);
  background:
    linear-gradient(90deg,rgba(2,4,7,.9) 0%,rgba(2,4,7,.48) 43%,rgba(2,4,7,.06) 75%),
    linear-gradient(0deg,rgba(2,4,7,.82),transparent 47%,rgba(2,4,7,.2));
}

.journey .engineering-scan {
  position: absolute;
  z-index: 5;
  top: -12%;
  left: 0;
  display: block;
  width: 2px;
  height: 124%;
  opacity: 0;
  pointer-events: none;
  transform-origin: 50% 50%;
  background: rgba(232,250,255,.98);
  box-shadow:
    0 0 7px 2px rgba(131,221,255,.94),
    0 0 24px 6px rgba(23,168,255,.55),
    -10px 0 27px rgba(23,168,255,.22);
}

.journey-copy,
.journey-timeline,
.journey-facts,
.journey-gallery-heading,
.journey-social-heading,
.journey-profiles {
  position: absolute;
  z-index: 8;
  opacity: 0;
  pointer-events: none;
  will-change: opacity,transform;
}

.journey-copy {
  width: min(510px,calc(100vw - var(--pad) - var(--pad)));
}

.journey-copy h1,
.journey-copy h2,
.journey-gallery-heading h2,
.journey-social-heading h2 {
  margin: 0;
  line-height: .92;
  letter-spacing: -.056em;
  text-wrap: balance;
}

.journey-copy h2,
.journey-gallery-heading h2,
.journey-social-heading h2 {
  font-size: clamp(38px,4.3vw,66px);
}

.journey-copy .display-line {
  margin-top: 18px;
  font-size: clamp(22px,2.65vw,40px);
}

.journey-copy .body-large {
  margin-top: 21px;
  font-size: clamp(15px,1.2vw,18px);
  line-height: 1.52;
}

.journey-copy-hero {
  left: var(--pad);
  bottom: clamp(116px,15vh,158px);
  width: min(760px,calc(100vw - var(--pad) - var(--pad)));
  opacity: 1;
  pointer-events: auto;
}

.journey-copy-hero h1 {
  font-size: clamp(52px,8vw,124px);
  line-height: .8;
  font-weight: 950;
}

.journey-copy-hero h1 span { display: block; }
.journey-copy-hero h1 span:last-child {
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.72);
}

.journey-copy-bet,
.journey-copy-engine,
.journey-copy-cape {
  right: var(--pad);
  top: max(96px,14vh);
}

.journey-copy-carbon,
.journey-copy-cockpit {
  left: var(--pad);
  top: max(96px,14vh);
}

.journey .eyebrow,
.journey .chapter-number { font-size: 12px; }

.journey-copy-explosion {
  left: var(--pad);
  right: var(--pad);
  top: max(74px,9vh);
  width: auto;
  text-align: center;
}

.journey-copy-explosion h2 { font-size: clamp(32px,3.7vw,56px); }

.journey-facts {
  left: var(--pad);
  right: var(--pad);
  bottom: 24px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  padding-top: 17px;
  border-top: 1px solid rgba(255,255,255,.23);
  color: rgba(255,255,255,.63);
  font-size: 12px;
}

.journey-facts span { display: flex; gap: 8px; }
.journey-facts strong { color: #fff; }
.journey-facts small { color: rgba(255,255,255,.58); font: inherit; }

.journey-timeline {
  left: var(--pad);
  right: var(--pad);
  bottom: 22px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-top: 1px solid rgba(255,255,255,.2);
}

.journey-timeline div {
  min-height: 76px;
  padding: 13px 20px 7px 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid rgba(255,255,255,.1);
}

.journey-timeline div + div { padding-left: 20px; }
.journey-timeline strong { font-size: clamp(23px,2.5vw,37px); letter-spacing: -.05em; }
.journey-timeline span { color: var(--muted); font-size: 12px; }

.journey .part-hotspots {
  position: absolute;
  z-index: 12;
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: none;
}

/* Override the legacy story-motion guard: v8.2 uses journey-motion. */
html.journey-motion .journey .part-hotspots { display: block; }
.journey .part-hotspot button { width: 44px; height: 44px; }

.journey .part-hotspots.active {
  visibility: visible;
  pointer-events: auto;
}

.journey .part-hotspots.active .part-hotspot { pointer-events: auto; }
.journey .part-hotspot { z-index: 1; }
.journey .part-hotspot:hover,
.journey .part-hotspot:focus-within,
.journey .part-hotspot.is-open { z-index: 40; }
.journey .part-hotspot .part-popover { z-index: 41; }
.journey .part-hotspots.active .part-hotspot button { animation: hotspot-electric 1.75s ease-in-out infinite; }
.journey .part-hotspots.active .part-hotspot:nth-child(2) button { animation-delay: .12s; }
.journey .part-hotspots.active .part-hotspot:nth-child(3) button { animation-delay: .24s; }
.journey .part-hotspots.active .part-hotspot:nth-child(4) button { animation-delay: .36s; }
.journey .part-hotspots.active .part-hotspot:nth-child(5) button { animation-delay: .48s; }

.journey-copy-engine .big-number { margin-bottom: 18px; }
.journey-copy-engine .big-number span { font-size: clamp(76px,7vw,116px); }
.journey-copy-engine .spec-row { margin-top: 20px; }
.journey-copy-engine .spec-row span {
  min-height: 78px;
  padding: 11px;
  color: #fff;
  background: rgba(4,8,13,.72);
}
.journey-copy-engine .spec-row strong { font-size: clamp(19px,1.9vw,27px); }
.journey-copy-engine .spec-row small { color: rgba(255,255,255,.8); font-size: 12px; line-height: 1.35; }
.journey-copy-engine .fine-print { margin-bottom: 0; color: rgba(255,255,255,.72); font-size: 12px; }

.journey-gallery-heading {
  left: var(--pad);
  top: max(82px,10vh);
  width: min(560px,calc(100vw - var(--pad) - var(--pad)));
}

.journey-gallery {
  position: absolute;
  z-index: 7;
  inset: 0;
  pointer-events: none;
}

.journey-gallery figure {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: clamp(18px,2vw,30px);
  background: #090d12;
  box-shadow: 0 30px 80px rgba(0,0,0,.48);
  opacity: 0;
  transform-origin: center;
  will-change: opacity,transform;
}

.journey-gallery figure:nth-child(1) { left: 3%; top: 22%; width: 27%; aspect-ratio: .76; --slot-rotation: -1.4deg; }
.journey-gallery figure:nth-child(2) { left: 20%; top: 47%; width: 24%; aspect-ratio: .72; --slot-rotation: 1deg; }
.journey-gallery figure:nth-child(3) { left: 34%; top: 13%; width: 30%; aspect-ratio: 1.16; --slot-rotation: -.8deg; }
.journey-gallery figure:nth-child(4) { right: 24%; top: 43%; width: 23%; aspect-ratio: .72; --slot-rotation: 1.4deg; }
.journey-gallery figure:nth-child(5) { right: 3%; top: 16%; width: 26%; aspect-ratio: .8; --slot-rotation: -1deg; }
.journey-gallery figure:nth-child(6) { left: 52%; top: 56%; width: 22%; aspect-ratio: .72; --slot-rotation: .8deg; }
.journey-gallery figure:nth-child(7) { left: 5%; top: 55%; width: 25%; aspect-ratio: .8; --slot-rotation: -1deg; }
.journey-gallery figure:nth-child(8) { right: 5%; top: 49%; width: 23%; aspect-ratio: .72; --slot-rotation: 1.2deg; }
.journey-gallery figure:nth-child(9) { left: 36%; top: 34%; width: 29%; aspect-ratio: 1.05; --slot-rotation: -.6deg; }

.journey-gallery img,
.journey-gallery video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.journey-gallery video { display: block; }

.journey-gallery figcaption {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: #fff;
  background: rgba(0,0,0,.58);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
}

.journey-social-heading {
  z-index: 12;
  left: var(--pad);
  top: max(80px,9vh);
  width: min(620px,calc(100vw - var(--pad) - var(--pad)));
  margin-left: -18px;
  padding: 14px 18px 22px;
  border-radius: 18px;
  background: linear-gradient(90deg,rgba(3,8,13,.94) 0%,rgba(3,8,13,.78) 68%,transparent 100%);
}

.journey-social-heading > p:last-child {
  max-width: 580px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.52;
}

.journey-social {
  position: absolute;
  z-index: 9;
  inset: 0;
  pointer-events: none;
}

.journey-social .social-card {
  position: absolute;
  width: min(310px,25vw);
  padding: 12px 12px 24px;
  border-radius: var(--social-card-radius);
  opacity: 0;
  box-shadow: 0 28px 80px rgba(0,0,0,.38);
  transform-origin: center;
  will-change: opacity,transform,clip-path;
}

.journey-social .social-card::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: -2%;
  bottom: -2%;
  left: var(--social-scan-x,0%);
  width: 2px;
  opacity: var(--social-scan-opacity,0);
  pointer-events: none;
  background: rgba(232,250,255,.96);
  box-shadow: 0 0 7px 2px rgba(131,221,255,.9),0 0 22px 5px rgba(23,168,255,.48);
}

.journey-social .social-card:nth-child(1) { left: 17%; top: var(--social-card-top,36%); --card-rotation: -1.5deg; }
.journey-social .social-card:nth-child(2) { left: 39%; top: calc(var(--social-card-top,36%) + 3vh); --card-rotation: 1deg; }
.journey-social .social-card:nth-child(3) { left: 61%; right: auto; top: calc(var(--social-card-top,36%) + 1vh); --card-rotation: -1deg; }
.journey-social .card-media {
  position: relative;
  height: clamp(230px,36vh,340px);
  aspect-ratio: auto;
  margin-bottom: 16px;
  overflow: hidden;
  border-radius: calc(var(--social-card-radius) - 6px);
}
.journey-social .collab-type {
  position: absolute;
  z-index: 3;
  left: 10px;
  bottom: 10px;
  padding: 7px 10px;
  border: 1px solid rgba(131,221,255,.55);
  border-radius: 999px;
  color: #dff7ff;
  background: rgba(2,9,15,.88);
  box-shadow: 0 0 24px rgba(23,168,255,.22);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
}
.journey-social .social-card h3 { margin: 7px 0 8px; font-size: clamp(22px,2.2vw,34px); }
.journey-social .social-card > p {
  min-height: 2.8em;
  margin: 0 0 16px;
  color: rgba(255,255,255,.66);
  font-size: 13px;
  line-height: 1.4;
}

.journey-profiles {
  z-index: 30;
  left: max(var(--pad),calc(50% - 540px));
  right: max(var(--pad),calc(50% - 540px));
  top: 50%;
  bottom: auto;
  margin-top: -58px;
  display: grid;
  grid-template-columns: 190px 1fr 1fr;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  background: rgba(3,8,13,.92);
  box-shadow: 0 22px 60px rgba(0,0,0,.3);
  backdrop-filter: blur(14px);
}

.journey-profiles .profiles-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  padding-right: 20px;
  border-right: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  line-height: .88;
  letter-spacing: .08em;
}
.journey-profiles .profiles-brand img { width: 48px; height: 48px; border-radius: 50%; }

.journey-profiles a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 0;
  color: rgba(255,255,255,.78);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.18);
}

.journey-profiles .profile-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin-right: 13px;
  border: 1px solid rgba(131,221,255,.4);
  border-radius: 13px;
  color: #dff7ff;
  background: linear-gradient(145deg,rgba(23,168,255,.2),rgba(5,13,21,.88));
  box-shadow: 0 0 24px rgba(23,168,255,.12);
}
.journey-profiles .profile-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.journey-profiles .profile-link > span:nth-child(2) { display: grid; gap: 2px; margin-right: auto; }
.journey-profiles small { color: rgba(255,255,255,.48); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.journey-profiles .profile-link > span strong { color: #fff; font-size: 16px; }
.journey-profiles .profile-link > b { color: #cceeff; font-size: 13px; }
.journey-profiles a:hover .profile-icon,
.journey-profiles a:focus-visible .profile-icon { border-color: #83ddff; box-shadow: 0 0 30px rgba(23,168,255,.3); transform: translateY(-2px); }

.journey-profiles a + a { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.18); }

.journey-motion .journey { height: 2070svh; overflow: visible; }
.journey-motion .journey-sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 0;
  overflow: hidden;
}

.journey-noscript { padding: 120px var(--pad); }

/* The form is withheld until its top has reached the viewport. It then
   fades in at its final position; it never travels into view as an animation. */
.booking {
  padding-top: max(72px,9svh);
  background: #0a141d;
}

.journey-motion .booking {
  margin-top: -100svh;
  opacity: 0;
  visibility: hidden;
  transform: none;
  transition: opacity .34s ease;
}

.journey-motion .booking.booking-settled {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* Button-to-logo send acknowledgement. */
.submit-stage {
  min-height: 64px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.submit {
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;
  border: 0;
  flex: 0 0 auto;
  transition: width .52s cubic-bezier(.2,.82,.2,1),min-height .52s cubic-bezier(.2,.82,.2,1),padding .52s cubic-bezier(.2,.82,.2,1),background .32s ease,box-shadow .32s ease,opacity .2s ease;
}

.submit-label { position: relative; z-index: 1; white-space: nowrap; transition: opacity .18s ease,transform .28s ease; }
.submit-mark {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 50px;
  height: 50px;
  overflow: hidden;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%,-50%) scale(.7) rotate(-4deg);
  transition: opacity .22s ease,transform .46s cubic-bezier(.18,.9,.2,1);
}
.submit-mark img { width: 100%; height: 100%; object-fit: cover; }
.submit-scan {
  position: absolute;
  z-index: 3;
  top: -5px;
  bottom: -5px;
  left: -16%;
  width: 2px;
  opacity: 0;
  pointer-events: none;
  transform: skewX(-8deg);
  background: rgba(235,251,255,.98);
  box-shadow: 0 0 7px 2px rgba(131,221,255,.95),0 0 23px 7px rgba(23,168,255,.62);
}
.submit[data-state="sending"] .submit-scan { animation: request-submit-scan .9s cubic-bezier(.35,0,.2,1) infinite; }
.submit[data-state="success"] {
  width: 64px;
  min-height: 64px;
  padding-inline: 0;
  color: #fff;
  background: #06101a;
  border: 1px solid rgba(131,221,255,.68);
  box-shadow: 0 0 0 5px rgba(23,168,255,.1),0 16px 42px rgba(0,0,0,.38);
  cursor: default;
}
.submit[data-state="success"] .submit-label { opacity: 0; transform: translateY(-6px) scale(.96); }
.submit[data-state="success"] .submit-mark { opacity: 1; transform: translate(-50%,-50%) scale(1); transition-delay: .18s; }
.submit[data-state="sending"],.submit[data-state="success"] { opacity: 1; }
.submit:disabled:hover { transform: none; }
.form-message.confirmation { opacity: 0; transform: translateY(10px); animation: request-confirmation-in .48s .5s cubic-bezier(.2,.8,.2,1) forwards; }

@keyframes request-submit-scan {
  0% { left: -16%; opacity: 0; }
  14%,82% { opacity: 1; }
  100% { left: 112%; opacity: 0; }
}
@keyframes request-confirmation-in { to { opacity: 1; transform: none; } }

/* The closing screen is an unconditional full page. It does not depend on
   scroll calculations, so it remains visible even if the journey script stops. */
/* The final photograph and title remain visible independently of scroll JS. */
.epilogue[data-epilogue] {
  /* Reset legacy centring: absolutely positioned children have no intrinsic width. */
  place-items: normal;
  position: relative;
  display: block;
  height: auto;
  min-height: 100svh;
  padding: 0;
  overflow: visible;
  text-align: left;
  background: #07121c;
}
.epilogue[data-epilogue] > .epilogue-stage {
  width: 100%;
  position: relative;
  z-index: 1;
  height: 100svh;
  min-height: 540px;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  background: #28516c;
}
.epilogue-photo,
.epilogue-photo > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.epilogue-photo { z-index: 0; }
.epilogue-photo > img {
  object-fit: cover;
  object-position: 50% 70%;
  opacity: 1;
  filter: none;
  transform: none;
}
.epilogue-stage > .epilogue-scrim {
  position: absolute;
  z-index: 1;
  inset: 0;
  padding: 0;
  pointer-events: none;
  background: linear-gradient(90deg,rgba(3,10,16,.42),transparent 52%),linear-gradient(0deg,rgba(3,10,16,.65),transparent 58%);
}
.epilogue-stage > .epilogue-copy {
  position: absolute;
  z-index: 2;
  left: var(--pad);
  bottom: clamp(36px,7svh,76px);
  width: min(560px,40vw);
  padding: 0;
  opacity: 1;
  transform: none;
}
.epilogue[data-epilogue] h2 { margin-bottom: 24px; font-size: clamp(42px,5vw,76px); text-shadow: 0 2px 20px rgba(0,0,0,.3); }
.epilogue-copy > p { color: #d7f4ff; text-shadow: 0 1px 12px rgba(0,0,0,.5); }
@media (max-aspect-ratio: 1499/1000) {
  .epilogue-photo > img { object-position: 50% 49%; }
  .epilogue-stage > .epilogue-copy { inset: 0; width: 100%; text-align: center; pointer-events: none; }
  .epilogue-copy > p { margin-top: 0; padding-top: 13svh; }
  .epilogue[data-epilogue] h2 { width: 90%; margin-left: auto; margin-right: auto; font-size: clamp(40px,8vw,68px); }
  .epilogue-copy .button { position: absolute; left: 50%; bottom: max(48px,8svh); transform: translateX(-50%); white-space: nowrap; pointer-events: auto; }
  .epilogue-stage > .epilogue-scrim { background: linear-gradient(180deg,rgba(3,10,16,.22),transparent 40%,transparent 72%,rgba(3,10,16,.4)); }
}

@media (max-width: 980px) {
  .journey-copy { width: min(440px,42vw); }
  .journey-copy h2 { font-size: clamp(34px,4.9vw,52px); }
  .journey-social .social-card { width: min(285px,29vw); }
  .journey-social .social-card:nth-child(1) { left: 8%; }
  .journey-social .social-card:nth-child(2) { left: 36%; }
  .journey-social .social-card:nth-child(3) { left: 64%; right: auto; }
}

@media (max-width: 760px) {
  .journey-motion .journey { height: 2070svh; }
  .journey-copy {
    left: 18px;
    right: 18px;
    top: auto;
    bottom: max(22px,env(safe-area-inset-bottom));
    width: auto;
    max-height: none;
    overflow: visible;
    padding: 10px 2px 2px;
  }
  .journey-copy-hero {
    top: auto;
    bottom: 136px;
    max-height: none;
    overflow: visible;
  }
  .journey-copy-hero h1 { font-size: clamp(45px,14.8vw,68px); }
  .journey-copy .chapter-number { margin-bottom: 8px; }
  .journey-copy h2 { font-size: clamp(28px,8vw,39px); }
  .journey-copy .display-line { margin-top: 9px; font-size: clamp(19px,5.8vw,26px); }
  .journey-copy .body-large { margin-top: 9px; font-size: 14px; line-height: 1.4; }
  .journey-copy-explosion {
    left: 18px;
    right: 18px;
    top: 74px;
    bottom: auto;
    width: auto;
    max-height: none;
    text-align: left;
  }
  .journey-copy-engine .big-number { margin-bottom: 8px; }
  .journey-copy-engine .big-number span { font-size: clamp(56px,18vw,80px); }
  .journey-copy-engine .spec-row { margin-top: 10px; }
  .journey-copy-engine .spec-row span { min-height: 52px; padding: 7px; }
  .journey-copy-engine .spec-row strong { font-size: 17px; }
  .journey-copy-engine .spec-row small { font-size: 11px; }
  .journey-copy-engine .fine-print { font-size: 11px; }
  .journey-facts { left: 18px; right: 18px; display: flex; justify-content: space-between; gap: 8px; padding-top: 11px; }
  .journey-facts span { display: block; white-space: nowrap; }
  .journey-facts small { display: none; }
  .journey-timeline { display: none; }
  .journey-gallery-heading,.journey-social-heading { left: 18px; right: 18px; top: 74px; width: auto; }
  .journey-gallery-heading h2,.journey-social-heading h2 { font-size: clamp(30px,9vw,42px); }
  .journey-gallery figure:nth-child(1) { left: 4%; top: 23%; width: 43%; }
  .journey-gallery figure:nth-child(2) { left: 36%; top: 53%; width: 57%; }
  .journey-gallery figure:nth-child(3) { left: 48%; top: 18%; width: 47%; }
  .journey-gallery figure:nth-child(4) { left: 6%; right: auto; top: 57%; width: 38%; }
  .journey-gallery figure:nth-child(5) { left: 54%; right: auto; top: 45%; width: 41%; }
  .journey-gallery figure:nth-child(6) { left: 23%; top: 67%; width: 58%; }
  .journey-gallery figure:nth-child(7) { left: 5%; top: 48%; width: 47%; }
  .journey-gallery figure:nth-child(8) { left: 43%; right: auto; top: 22%; width: 52%; }
  .journey-gallery figure:nth-child(9) { left: 18%; top: 57%; width: 64%; }
  .journey-social-heading > p:last-child { display: none; }
  .journey-social .social-card { width: min(78vw,310px); top: var(--social-card-top,30%); }
  .journey-social .social-card:nth-child(1) { left: 7%; }
  .journey-social .social-card:nth-child(2) { left: 12%; top: calc(var(--social-card-top,30%) + 3vh); }
  .journey-social .social-card:nth-child(3) { left: 17%; right: auto; top: calc(var(--social-card-top,30%) + 6vh); }
  .journey-profiles { left: 18px; right: 18px; top: 40%; bottom: auto; margin-top: 0; grid-template-columns: 1fr; }
  .journey-profiles .profiles-brand { justify-content: center; padding: 12px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .journey-profiles a { padding: 11px 0; }
  .journey-profiles .profile-icon { width: 38px; height: 38px; flex-basis: 38px; }
  .journey-profiles .profile-link > b { font-size: 11px; }
  .journey-profiles a + a { padding-left: 0; border-left: 0; }
  .booking { padding-top: max(68px,8svh); }
}

@media (prefers-reduced-motion: reduce), (max-height: 560px) and (orientation: landscape) {
  .journey { height: auto !important; overflow: hidden; }
  .journey-anchor { position: relative; top: auto !important; }
  .journey-sticky { position: relative !important; height: auto !important; overflow: visible; }
  .journey-tone { position: fixed; }
  .journey-carrier { position: relative; height: 100svh; border: 0; border-radius: 0; }
  .carrier-next,.engineering-scan,.part-hotspots { display: none !important; }
  .journey-copy,.journey-gallery-heading,.journey-social-heading {
    position: relative;
    inset: auto;
    width: auto;
    max-width: 900px;
    max-height: none;
    margin: 0 auto;
    padding: 10vh var(--pad);
    opacity: 1 !important;
    transform: none !important;
    overflow: visible;
    pointer-events: auto;
  }
  .journey-copy-hero { position: absolute; left: var(--pad); right: var(--pad); bottom: 128px; padding: 0; margin: 0; }
  .journey-facts { opacity: 1 !important; pointer-events: auto; }
  .journey-copy-explosion { text-align: left; }
  .journey-timeline { position: relative; inset: auto; margin: 0 var(--pad) 10vh; opacity: 1 !important; }
  .journey-gallery { position: relative; inset: auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 0 var(--pad) 10vh; }
  .journey-gallery figure:nth-child(n) { position: relative; inset: auto; width: auto; aspect-ratio: 4 / 5; opacity: 1 !important; transform: none !important; }
  .journey-social { position: relative; inset: auto; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 0 var(--pad); }
  .journey-social .social-card:nth-child(n) { position: relative; inset: auto; width: auto; opacity: 1 !important; transform: none !important; pointer-events: auto; }
  .journey-profiles { position: relative; inset: auto; margin: 34px var(--pad) 10vh; opacity: 1 !important; pointer-events: auto; }
  .journey-motion .booking { opacity: 1; visibility: visible; }
  .submit-scan { display: none; }
  .submit[data-state="success"] { width: 100%; min-height: 52px; padding-inline: 22px; }
  .submit[data-state="success"] .submit-label { opacity: 1; transform: none; }
  .submit[data-state="success"] .submit-mark { position: static; width: 34px; height: 34px; opacity: 1; order: -1; transform: none; }
  .form-message.confirmation { opacity: 1; transform: none; animation: none !important; }
}

@media (prefers-reduced-motion: reduce) and (max-width: 760px) {
  .journey-social { grid-template-columns: 1fr; }
  .journey-gallery { grid-template-columns: 1fr 1fr; }
}
