:root {
  --atlas-ink: #101310;
  --atlas-ink-soft: #18201b;
  --atlas-paper: #f3f0e8;
  --atlas-paper-deep: #e4e0d6;
  --atlas-white: #fbfaf6;
  --atlas-cyan: #8adbea;
  --atlas-green: #284f42;
  --atlas-red: #c94f38;
  --atlas-gold: #b99b5f;
  --atlas-line: rgba(16, 19, 16, 0.18);
  --atlas-line-light: rgba(255, 255, 255, 0.22);
  --atlas-shadow: 0 28px 80px rgba(8, 14, 11, 0.18);
  --atlas-max: 1440px;
}

html {
  background: var(--atlas-paper);
}

body {
  color: var(--atlas-ink);
  background: var(--atlas-paper);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(16, 19, 16, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 19, 16, 0.022) 1px, transparent 1px);
  background-size: 64px 64px;
}

::selection {
  color: var(--atlas-ink);
  background: var(--atlas-cyan);
}

.site-grain {
  opacity: 0.026;
}

.page-progress {
  height: 2px;
  background: var(--atlas-cyan);
}

.preloader {
  color: var(--atlas-white);
  background: var(--atlas-ink);
}

.preloader-mark {
  display: grid;
  place-items: center;
}

.preloader-mark img {
  display: block;
  width: 150px;
  height: 194px;
  object-fit: contain;
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.22);
}

.preloader p {
  margin: 0;
  color: rgba(255, 255, 255, 0.54);
  font-size: 9px;
  text-align: center;
}

.site-header {
  min-height: 78px;
  padding: 0 48px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  transition:
    min-height 0.35s var(--ease),
    color 0.35s var(--ease),
    background 0.35s var(--ease),
    backdrop-filter 0.35s var(--ease);
}

.site-header.is-scrolled {
  min-height: 68px;
  color: var(--atlas-ink);
  background: rgba(243, 240, 232, 0.88);
  border-bottom-color: var(--atlas-line);
  backdrop-filter: blur(18px) saturate(120%);
}

.brand {
  gap: 0;
}

.brand img {
  width: 58px;
  height: 70px;
  object-fit: contain;
}

.brand b {
  font-size: 18px;
  font-weight: 600;
}

.brand small {
  color: currentColor;
  opacity: 0.58;
}

.footer-brand {
  align-items: flex-end;
  gap: 16px;
}

.footer-brand img {
  width: 86px;
  height: 112px;
  object-fit: contain;
}

.nav-links {
  gap: 34px;
}

.nav-links a {
  position: relative;
  padding: 8px 0;
  font-size: 11px;
}

.nav-links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.35s var(--ease);
}

.nav-links a:hover::after,
.nav-links a.is-active::after {
  transform: scaleX(1);
  transform-origin: left;
}

.header-cta {
  min-width: 138px;
  min-height: 44px;
  justify-content: space-between;
  padding: 0 16px;
  border-color: rgba(255, 255, 255, 0.44);
}

.site-header.is-scrolled .header-cta {
  color: var(--atlas-white);
  background: var(--atlas-ink);
  border-color: var(--atlas-ink);
}

.hero {
  min-height: 100svh;
  color: var(--atlas-white);
  background: var(--atlas-ink);
}

.hero-media,
.hero-media img,
.hero-wash,
#heroCanvas {
  min-height: 100svh;
}

.hero-media img {
  object-position: 54% 45%;
  filter: saturate(1.02) contrast(1.04) brightness(0.98);
}

.hero-media picture,
.signature-media picture,
.journey-image picture,
.about-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-media picture {
  position: absolute;
  inset: 0;
}

.hero-media .hero-base {
  z-index: 0;
  opacity: 1;
}

.hero-media .hero-traveler {
  z-index: 1;
  opacity: 0;
  clip-path: inset(0 0 0 0);
  will-change: opacity, transform, clip-path;
}

.hero-traveler img {
  object-position: 50% 48%;
  filter: saturate(1.02) contrast(1.03) brightness(0.98);
  transform: scale(1.04);
}

.hero-depth-stack {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  will-change: opacity;
}

.hero-depth {
  position: absolute;
  inset: -4%;
  background-image: url("assets/optimized-final/atlas-final-xinjiang-hero-1920.webp");
  background-position: 54% 45%;
  background-size: cover;
  will-change: transform;
}

.hero-depth-mid {
  opacity: 0.34;
  filter: saturate(0.76) contrast(1.08) blur(0.35px);
  -webkit-mask-image: linear-gradient(to bottom, transparent 8%, rgba(0, 0, 0, 0.08) 26%, #000 44%, #000 68%, transparent 86%);
  mask-image: linear-gradient(to bottom, transparent 8%, rgba(0, 0, 0, 0.08) 26%, #000 44%, #000 68%, transparent 86%);
}

.hero-depth-near {
  opacity: 0.66;
  filter: saturate(0.72) contrast(1.12) brightness(0.84);
  -webkit-mask-image: linear-gradient(to bottom, transparent 54%, rgba(0, 0, 0, 0.16) 66%, #000 78%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 54%, rgba(0, 0, 0, 0.16) 66%, #000 78%, #000 100%);
}

.hero-trajectory {
  position: absolute;
  z-index: 4;
  top: 50%;
  right: 4%;
  width: min(52vw, 760px);
  height: 220px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-50%) rotate(-8deg);
  transform-origin: right center;
  mix-blend-mode: screen;
  will-change: opacity, transform;
}

.hero-trajectory span {
  position: absolute;
  top: 50%;
  right: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(138, 219, 234, 0.08) 16%, rgba(138, 219, 234, 0.9) 72%, rgba(251, 250, 246, 0.82));
  transform-origin: right center;
  transform: scaleX(0);
}

.hero-trajectory i {
  position: absolute;
  top: calc(50% - 4px);
  right: 4%;
  width: 8px;
  height: 8px;
  border: 1px solid rgba(138, 219, 234, 0.9);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(138, 219, 234, 0.08), 0 0 24px rgba(138, 219, 234, 0.62);
  transform: scale(0);
}

.journey-image picture {
  position: absolute;
  inset: 0;
}

.hero-wash {
  background:
    linear-gradient(90deg, rgba(7, 12, 10, 0.78) 0%, rgba(7, 12, 10, 0.26) 52%, rgba(7, 12, 10, 0.36) 100%),
    linear-gradient(0deg, rgba(7, 12, 10, 0.62) 0%, transparent 48%, rgba(7, 12, 10, 0.22) 100%);
}

#heroCanvas {
  mix-blend-mode: screen;
  opacity: 0.76;
}

.hero-content {
  min-height: 100svh;
  max-width: var(--atlas-max);
  padding: 156px 64px 92px;
}

.hero-kicker {
  gap: 16px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 10px;
}

.hero-kicker span {
  width: 44px;
  background: var(--atlas-cyan);
}

.hero-kicker b {
  color: var(--atlas-cyan);
  font-weight: 500;
}

.hero h1 {
  max-width: 1140px;
  margin-top: 30px;
  font-size: clamp(112px, 8.4vw, 148px);
  font-weight: 500;
  line-height: 1.02;
}

.hero-line-offset {
  padding-left: clamp(112px, 8vw, 164px);
}

.hero-bottom {
  grid-template-columns: minmax(320px, 0.8fr) auto;
  align-items: end;
  gap: 92px;
  max-width: 940px;
  padding-left: clamp(112px, 8vw, 164px);
}

.hero-proposition {
  display: grid;
  gap: 12px;
}

.hero-proposition strong {
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 500;
}

.hero-proposition p {
  max-width: 520px;
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
}

.hero-actions {
  flex-wrap: nowrap;
}

.button-light {
  color: var(--atlas-ink);
  background: var(--atlas-white);
}

.hero-index {
  left: 24px;
  bottom: 132px;
  color: rgba(255, 255, 255, 0.5);
}

.hero-legend {
  position: absolute;
  z-index: 5;
  top: 124px;
  right: clamp(24px, 4vw, 64px);
  display: flex;
  align-items: center;
  gap: 14px;
  color: rgba(255, 255, 255, 0.52);
  font-size: 9px;
  letter-spacing: 0.16em;
  writing-mode: vertical-rl;
  text-transform: uppercase;
}

.hero-legend b {
  color: var(--atlas-cyan);
  font-weight: 500;
}

.hero-stamp {
  right: 6%;
  bottom: 14%;
  width: 128px;
  height: 128px;
  border-color: rgba(255, 255, 255, 0.34);
}

.hero-scroll {
  bottom: 24px;
}

.mood-finder.manifesto {
  min-height: 0;
  padding: 152px 64px 118px;
  color: var(--atlas-ink);
  background: var(--atlas-paper);
}

.mood-finder .manifesto-counter {
  top: 52px;
}

.mood-finder .manifesto-head {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
  align-items: end;
  gap: 70px;
  max-width: var(--atlas-max);
}

.mood-finder .manifesto-head .eyebrow {
  grid-column: 1 / -1;
}

.mood-finder .manifesto-head > p:last-child {
  max-width: 390px;
  margin: 0 0 10px;
  color: #505b54;
  font-size: 14px;
}

.mood-finder h2 {
  max-width: 980px;
  margin-top: 24px;
  font-size: 76px;
  line-height: 1.12;
}

.mood-finder h2 span {
  color: var(--atlas-red);
  -webkit-text-stroke: 0;
}

.mood-grid {
  max-width: var(--atlas-max);
  margin: 92px auto 0;
  border-top: 1px solid var(--atlas-line);
}

.mood-option {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 64px minmax(250px, 1fr) minmax(240px, 0.8fr) 40px;
  align-items: center;
  min-height: 128px;
  overflow: hidden;
  border-bottom: 1px solid var(--atlas-line);
  transition: color 0.45s var(--ease), padding 0.45s var(--ease);
}

.mood-option::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image:
    linear-gradient(90deg, rgba(8, 13, 11, 0.88), rgba(8, 13, 11, 0.52)),
    var(--mood-image, none);
  background-position: center;
  background-size: cover;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 0.45s ease, transform 1.1s var(--ease);
}

.mood-option::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 4px;
  background: var(--atlas-cyan);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.4s var(--ease);
}

.mood-option:hover,
.mood-option:focus-visible {
  padding: 0 22px;
  color: var(--atlas-white);
}

.mood-option:hover::before,
.mood-option:focus-visible::before {
  opacity: 1;
  transform: scale(1);
}

.mood-option:hover::after,
.mood-option:focus-visible::after {
  transform: scaleY(1);
}

.mood-option > span {
  color: var(--muted);
  font-size: 10px;
}

.mood-option strong {
  font-family: var(--serif);
  font-size: 34px;
  font-weight: 500;
}

.mood-option small {
  color: var(--muted);
  font-size: 13px;
}

.mood-option:hover > span,
.mood-option:hover small,
.mood-option:focus-visible > span,
.mood-option:focus-visible small {
  color: rgba(255, 255, 255, 0.68);
}

.mood-option svg {
  width: 20px;
  justify-self: end;
}

.mood-marquee {
  max-width: var(--atlas-max);
  margin: 72px auto 0;
  overflow: hidden;
  color: rgba(16, 19, 16, 0.08);
  font-family: var(--serif);
  font-size: 54px;
  line-height: 1.1;
  white-space: nowrap;
}

.mood-marquee span {
  display: block;
  width: max-content;
}

.journeys {
  overflow: hidden;
  color: var(--atlas-white);
  background: var(--atlas-ink);
}

.journey-intro {
  max-width: var(--atlas-max);
  padding-top: 146px;
  padding-bottom: 84px;
}

.journey-intro h2 {
  max-width: 900px;
  font-size: 66px;
}

.mobile-only {
  display: none;
}

.signature-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(440px, 0.75fr);
  max-width: var(--atlas-max);
  min-height: 720px;
  margin: 0 auto;
  border-top: 1px solid var(--atlas-line-light);
  border-bottom: 1px solid var(--atlas-line-light);
}

.signature-media {
  position: relative;
  min-height: 720px;
  overflow: hidden;
}

.signature-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 58%, rgba(16, 19, 16, 0.42));
  pointer-events: none;
}

.signature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% 48%;
  filter: saturate(1.01) contrast(1.02);
  transform: scale(1.025);
}

.signature-coordinate {
  position: absolute;
  bottom: 26px;
  left: 28px;
  z-index: 2;
  display: flex;
  gap: 18px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 9px;
}

.signature-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 54px;
  background: var(--atlas-ink-soft);
}

.signature-label {
  margin: 0;
  color: var(--atlas-cyan);
  font-size: 9px;
}

.signature-copy h3 {
  margin: 28px 0 24px;
  font-family: var(--serif);
  font-size: 46px;
  font-weight: 500;
  line-height: 1.18;
}

.signature-copy > p:not(.signature-label) {
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 13px;
}

.signature-copy dl {
  margin: 42px 0;
  border-top: 1px solid var(--atlas-line-light);
}

.signature-copy dl div {
  display: grid;
  grid-template-columns: 94px 1fr;
  gap: 18px;
  padding: 13px 0;
  border-bottom: 1px solid var(--atlas-line-light);
}

.signature-copy dt {
  color: rgba(255, 255, 255, 0.42);
  font-size: 10px;
}

.signature-copy dd {
  margin: 0;
  font-size: 11px;
}

.signature-copy button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 56px;
  padding: 0 18px;
  color: var(--atlas-ink);
  background: var(--atlas-cyan);
}

.signature-copy button svg {
  width: 18px;
}

.journey-subhead {
  display: flex;
  align-items: end;
  justify-content: space-between;
  max-width: var(--atlas-max);
  margin: 0 auto;
  padding: 100px 64px 30px;
}

.journey-subhead p {
  margin: 0;
}

.journey-subhead > span {
  color: rgba(255, 255, 255, 0.48);
  font-size: 11px;
}

.journey-stage {
  height: 760px;
  border-top: 1px solid var(--atlas-line-light);
}

.journey-image img {
  filter: saturate(1.02) contrast(1.03) brightness(0.99);
}

.journey-panel[data-journey="0"] .journey-image img { object-position: 50% 50%; }
.journey-panel[data-journey="1"] .journey-image img { object-position: 48% 50%; }
.journey-panel[data-journey="2"] .journey-image img { object-position: 50% 50%; }

.journey-shade {
  background:
    linear-gradient(90deg, rgba(7, 12, 10, 0.72), rgba(7, 12, 10, 0.18) 70%),
    linear-gradient(0deg, rgba(7, 12, 10, 0.58), transparent 55%);
}

.journey-copy h3 {
  font-size: 70px;
}

.journey-number {
  color: rgba(255, 255, 255, 0.14);
}

.destinations {
  padding-top: 156px;
  padding-bottom: 156px;
  background: var(--atlas-paper);
}

.destination-head {
  max-width: var(--atlas-max);
}

.destination-head h2 {
  max-width: 940px;
  font-size: 66px;
}

.destination-row {
  grid-template-columns: 70px minmax(220px, 0.7fr) minmax(300px, 1.3fr) 40px;
  min-height: 156px;
}

.destination-row::before {
  background: var(--atlas-cyan);
}

.destination-row strong {
  font-size: 52px;
}

.destination-row em {
  max-width: 480px;
  font-family: var(--serif);
  font-size: 15px;
}

.destination-preview {
  width: 310px;
  border: 8px solid var(--atlas-white);
  box-shadow: var(--atlas-shadow);
}

.method {
  position: relative;
  gap: 100px;
  max-width: none;
  padding-top: 156px;
  padding-bottom: 156px;
  background: var(--atlas-green);
}

.method::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 80px 80px;
}

.method > * {
  position: relative;
  z-index: 1;
}

.method-lead h2 {
  font-size: 64px;
}

.method-steps article {
  min-height: 210px;
}

.route-finder {
  padding-top: 156px;
  padding-bottom: 164px;
  background: #121614;
}

.route-finder-head,
.route-search-shell,
.destination-filters,
.public-route-grid {
  max-width: var(--atlas-max);
}

.route-finder-head h2 {
  font-size: 64px;
}

.route-search-shell {
  min-height: 90px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.route-search-shell:focus-within {
  border-color: var(--atlas-cyan);
  box-shadow: inset 0 -2px 0 var(--atlas-cyan);
}

.route-search-shell input {
  height: 88px;
  font-size: 24px;
}

.route-card {
  min-height: 420px;
  padding: 32px;
  background: #121614;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.route-card:hover {
  background: var(--atlas-paper);
}

.route-card h3 {
  font-size: 32px;
}

.public-route-grid {
  gap: 0;
  background: transparent;
}

.public-route-grid:has(.route-card:only-child) {
  grid-template-columns: 1fr;
}

.public-route-grid:has(.route-card:only-child) .route-card {
  min-height: 360px;
}

.about {
  grid-template-columns: minmax(0, 0.9fr) minmax(560px, 1.1fr);
  min-height: 980px;
  background: var(--atlas-paper);
}

.about-media {
  min-height: 980px;
}

.about-trust-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(7, 12, 10, 0.12), transparent 38%, rgba(7, 12, 10, 0.28)),
    linear-gradient(90deg, transparent 68%, rgba(7, 12, 10, 0.14));
}

.about-trust-media img {
  height: 108%;
  object-position: 50% 82%;
  filter: saturate(1.02) contrast(1.03) brightness(0.98);
}

.about-copy {
  padding-top: 108px;
  padding-bottom: 108px;
}

.about-copy h2 {
  max-width: 720px;
  font-size: 54px;
}

.about-copy > p:not(.eyebrow) {
  margin-bottom: 38px;
}

.trust-promises {
  margin-bottom: 42px;
  border-top: 1px solid var(--atlas-line);
}

.trust-promises article {
  display: grid;
  grid-template-columns: 42px minmax(120px, 0.45fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 18px 0;
  border-bottom: 1px solid var(--atlas-line);
}

.trust-promises span {
  color: var(--atlas-red);
  font-size: 9px;
}

.trust-promises strong {
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 500;
}

.trust-promises p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.about-type {
  left: calc(45% - 20px);
  font-size: 64px;
}

.consult {
  gap: 86px;
  padding-top: 152px;
  padding-bottom: 152px;
  background: var(--atlas-red);
}

.consult h2 {
  max-width: 640px;
  font-size: 60px;
}

.consult-form-shell {
  padding: 48px;
  background: var(--atlas-paper);
  box-shadow: var(--atlas-shadow);
}

.consult-form > .form-message {
  min-height: 1.5em;
  margin-top: 22px;
}

.wizard-step.is-active {
  border-bottom-color: var(--atlas-red);
}

.form-next,
.form-submit {
  background: var(--atlas-ink);
}

.faq {
  padding-top: 150px;
  padding-bottom: 150px;
  background: var(--atlas-paper);
}

.faq h2 {
  font-size: 58px;
}

.footer-callout {
  min-height: 640px;
}

.footer-callout h2 {
  max-width: 1080px;
  font-size: 78px;
}

.site-footer {
  background: var(--atlas-ink);
}

:focus-visible {
  outline-color: var(--atlas-cyan);
}

@media (max-width: 1200px) {
  .site-header { padding: 0 32px; }
  .hero-content { padding-right: 40px; padding-left: 40px; }
  .hero h1 { font-size: 88px; }
  .hero-line-offset { padding-left: 92px; }
  .hero-bottom { padding-left: 94px; }
  .mood-finder.manifesto { padding-right: 40px; padding-left: 40px; }
  .mood-finder h2 { font-size: 64px; }
  .journey-intro h2,
  .destination-head h2 { font-size: 58px; }
  .signature-feature { grid-template-columns: minmax(0, 1.1fr) minmax(420px, 0.9fr); }
  .signature-copy { padding: 48px 40px; }
  .signature-copy h3 { font-size: 44px; }
  .journey-subhead { padding-right: 40px; padding-left: 40px; }
  .about { grid-template-columns: minmax(0, 0.85fr) minmax(520px, 1.15fr); }
}

@media (max-width: 960px) {
  .site-header { min-height: 70px; padding: 0 28px; }
  .site-header.is-scrolled { min-height: 64px; }
  .site-header.menu-open {
    min-height: 70px;
    color: var(--atlas-ink);
    background: var(--atlas-paper);
    border-bottom-color: var(--atlas-line);
    backdrop-filter: none;
  }
  .site-header .brand,
  .site-header .menu-toggle {
    position: relative;
    z-index: 3;
  }
  .nav-links {
    z-index: 2;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    min-height: 100dvh;
    padding: 116px 28px 92px;
    overflow-y: auto;
    color: var(--atlas-ink);
    background: var(--atlas-paper);
    counter-reset: premium-nav;
  }
  .nav-links a {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    width: 100%;
    min-height: 76px;
    padding: 14px 0;
    font-family: var(--serif);
    font-size: 32px;
    font-weight: 500;
    line-height: 1.25;
    border-bottom: 1px solid var(--atlas-line);
    counter-increment: premium-nav;
  }
  .nav-links a:first-child { border-top: 1px solid var(--atlas-line); }
  .nav-links a::before {
    content: "0" counter(premium-nav);
    color: var(--muted);
    font-family: var(--sans);
    font-size: 9px;
  }
  .nav-links a::after { display: none; }
  .hero-content { padding-top: 126px; padding-bottom: 78px; }
  .hero h1 { font-size: 76px; }
  .hero-line-offset,
  .hero-bottom { padding-left: 0; }
  .hero-bottom { grid-template-columns: 1fr; gap: 28px; max-width: 620px; }
  .mood-finder .manifesto-head { grid-template-columns: 1fr; gap: 26px; }
  .mood-finder .manifesto-head > p:last-child { max-width: 520px; }
  .mood-option { grid-template-columns: 54px minmax(220px, 1fr) minmax(220px, 0.8fr) 36px; }
  .mood-option strong { font-size: 30px; }
  .signature-feature { grid-template-columns: 1fr; }
  .signature-media { min-height: 68svh; }
  .signature-copy { min-height: 540px; }
  .journey-stage { height: 700px; }
  .destination-row { grid-template-columns: 54px minmax(180px, 0.7fr) minmax(260px, 1.3fr) 34px; }
  .method::before { background-size: 64px 64px; }
  .about { grid-template-columns: 1fr; }
  .about-media { min-height: 68svh; }
  .about-copy { padding: 96px 28px 126px; }
  .about-type { right: 28px; left: auto; }
  .consult { gap: 64px; }
}

@media (max-width: 680px) {
  body::before { display: none; }
  .site-header { padding: 0 20px; }
  .brand img { width: 46px; height: 58px; }
  .hero,
  .hero-media,
  .hero-media img,
  .hero-wash,
  #heroCanvas,
  .hero-content { min-height: 90svh; }
  .hero-content { padding: 104px 20px 86px; }
  .hero-base img { object-position: 54% center; }
  .hero-traveler img { object-position: 50% 50%; }
  #heroCanvas { display: none; }
  .hero-depth-stack,
  .hero-trajectory { display: none; }
  .hero-legend { display: none; }
  .hero-kicker { font-size: 8px; }
  .hero-kicker span { width: 24px; }
  .hero h1 { margin-top: 26px; font-size: 54px; line-height: 1.08; }
  .hero-proposition strong { font-size: 19px; }
  .hero-proposition p { max-width: 310px; font-size: 12px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
  .hero-scroll { bottom: 18px; }
  .hero-stamp { display: none; }
  .mood-finder.manifesto { padding: 104px 20px 82px; }
  .mood-finder .manifesto-counter { top: 28px; }
  .mood-finder h2 { font-size: 44px; }
  .mood-finder .manifesto-head > p:last-child { font-size: 13px; }
  .mood-grid { margin-top: 60px; }
  .mood-option {
    grid-template-columns: 34px minmax(0, 1fr) 28px;
    min-height: 112px;
    padding: 16px 0;
  }
  .mood-option > span { grid-column: 1; grid-row: 1 / 3; align-self: start; padding-top: 8px; }
  .mood-option strong { grid-column: 2; font-size: 25px; }
  .mood-option small { grid-column: 2; font-size: 11px; }
  .mood-option svg { grid-column: 3; grid-row: 1 / 3; }
  .mood-option:hover,
  .mood-option:focus-visible { padding: 16px 12px; }
  .mood-option::before { background-image: linear-gradient(90deg, rgba(8, 13, 11, 0.9), rgba(8, 13, 11, 0.56)), var(--mood-image); }
  .mood-marquee { margin-top: 56px; font-size: 36px; }
  .journey-intro { padding-top: 100px; }
  .journey-intro h2 { font-size: 43px; }
  .mobile-only { display: block; }
  .signature-feature { min-height: 0; }
  .signature-media { min-height: 58svh; }
  .signature-media::after { background: linear-gradient(0deg, rgba(16, 19, 16, 0.5), transparent 45%); }
  .signature-copy { min-height: 0; padding: 52px 20px 62px; }
  .signature-copy h3 { font-size: 39px; }
  .signature-copy dl { margin: 34px 0; }
  .journey-subhead { align-items: flex-start; flex-direction: column; gap: 8px; padding: 76px 20px 24px; }
  .journey-stage { height: 660px; }
  .journey-copy h3 { font-size: 42px; }
  .destinations { padding-top: 104px; padding-bottom: 104px; }
  .destination-head h2 { font-size: 42px; }
  .destination-row {
    grid-template-columns: 34px minmax(0, 1fr) 28px;
    min-height: 126px;
    padding: 18px 0;
  }
  .destination-row > span { grid-column: 1; grid-row: 1 / 3; align-self: start; padding-top: 8px; }
  .destination-row strong { grid-column: 2; font-size: 31px; }
  .destination-row em { display: block; grid-column: 2; max-width: 280px; font-size: 11px; }
  .destination-row svg { grid-column: 3; grid-row: 1 / 3; }
  .method { padding-top: 104px; padding-bottom: 104px; }
  .method-lead h2 { font-size: 44px; }
  .route-finder { padding-top: 104px; padding-bottom: 112px; }
  .route-finder-head h2 { font-size: 42px; }
  .route-card { min-height: 360px; }
  .about-media { min-height: 58svh; }
  .about-copy { padding: 84px 20px 120px; }
  .about-copy h2 { font-size: 42px; }
  .trust-promises article { grid-template-columns: 34px 1fr; gap: 10px 12px; }
  .trust-promises p { grid-column: 2; }
  .consult { padding-top: 104px; padding-bottom: 104px; }
  .consult h2 { font-size: 42px; }
  .consult-form-shell { padding: 26px 18px; box-shadow: none; }
  .wizard-step { min-width: 0; padding: 10px 5px; overflow-wrap: anywhere; }
  .faq { padding-top: 104px; padding-bottom: 104px; }
  .faq h2 { font-size: 42px; }
  .footer-callout { min-height: 540px; }
  .footer-callout h2 { font-size: 44px; }
}

@media (max-width: 819px) {
  .hero-depth-stack,
  .hero-trajectory,
  #heroCanvas { display: none; }
}

@media (max-width: 380px) {
  .hero h1 { font-size: 47px; }
  .mood-finder h2,
  .journey-intro h2,
  .destination-head h2,
  .route-finder-head h2,
  .about-copy h2,
  .consult h2,
  .faq h2 { font-size: 39px; }
  .signature-copy h3 { font-size: 36px; }
  .journey-copy h3 { font-size: 38px; }
  .footer-callout h2 { font-size: 40px; }
}

@media (hover: none) {
  .mood-option::before { opacity: 0.14; transform: none; }
  .mood-option::after { transform: scaleY(1); }
}

@media (prefers-reduced-motion: reduce) {
  .mood-option,
  .mood-option::before,
  .mood-option::after,
  .signature-media img,
  .nav-links a::after {
    transition: none !important;
    transform: none !important;
  }
  #heroCanvas { display: none; }
}
