@media (max-width: 1023px) {
  :root { --container: min(1280px, calc(100vw - 48px)); --header-height: 78px; }
  .desktop-nav { display: none; }
  .nav-toggle { display: flex; margin-left: auto; }
  .brand-link { flex-basis: 128px; width: 128px; }
  .brand-mark { width: 124px; }
  .page-hero-grid, .detail-layout, .trust-grid, .testimonial-feature { grid-template-columns: 1fr; }
  .coordination-strip { grid-template-columns: 1fr; }
  .package-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .package-grid > .package-list-card,
  .package-grid > .package-list-card--row-single,
  .package-grid > .package-list-card--row-pair { grid-column: span 2; }
  .package-grid > .package-list-card--tablet-last { grid-column: 1 / -1; }
  .package-grid > .package-list-card--tablet-last .card-media { aspect-ratio: 1.9 / 1; }
  .destination-grid, .story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-bar { grid-template-columns: repeat(2, 1fr); }
  .filter-bar .button { grid-column: span 2; }
  .trip-starter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trip-starter-grid .button { grid-column: 1 / -1; width: 100%; }
  .journey-editorial { grid-auto-rows: minmax(330px, 1fr); grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journey-editorial > .card { grid-column: auto; min-height: 330px; }
  .journey-editorial > .card--feature { grid-column: 1 / -1; grid-row: auto; min-height: 460px; }
  .mood-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mood-tile { min-height: 310px; }
  .home-rail { grid-auto-columns: clamp(280px, 39vw, 340px); }
  .story-editorial { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .card--story-equal { min-height: 440px; }
  .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .step:nth-child(3) { border-left: 0; }
  .footer-grid { grid-template-columns: 1.5fr repeat(2, 1fr); }
}

@media (max-width: 767px) {
  :root {
    --container: calc(100vw - 40px);
    --header-height: 72px;
    --mobile-dock-height: 64px;
    --mobile-dock-offset: 10px;
    --mobile-dock-page-clearance: calc(94px + env(safe-area-inset-bottom));
    --mobile-conversion-clearance: var(--mobile-dock-page-clearance);
    --reading: calc(100vw - 40px);
  }
  html { scroll-padding-bottom: var(--mobile-dock-page-clearance); }
  body { padding-bottom: var(--mobile-dock-page-clearance); }
  .section { padding: 4.25rem 0; }
  .site-header { height: var(--header-height); }
  .site-header--home { position: absolute; }
  .brand-link { padding: 0; }
  .brand-mark { width: 124px; }
  .nav-toggle { height: 44px; width: 44px; }
  .section-heading--split { align-items: start; grid-template-columns: 1fr; }
  .button-row .button { width: 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field--full { grid-column: auto; }
  .form-field input:not([type="checkbox"]):not([type="radio"]), .form-field select, .form-field textarea { font-size: 16px; min-height: 54px; }
  .cta-band { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
  .mobile-conversion-bar {
    align-items: stretch;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--line);
    border-radius: 999px;
    bottom: calc(var(--mobile-dock-offset) + env(safe-area-inset-bottom));
    box-shadow: 0 8px 24px rgba(10, 10, 10, 0.08);
    box-sizing: border-box;
    display: grid;
    gap: 4px;
    grid-template-columns: minmax(56px, 0.75fr) minmax(70px, 0.92fr) minmax(112px, 1.45fr);
    height: var(--mobile-dock-height);
    left: max(14px, env(safe-area-inset-left));
    min-height: 0;
    opacity: 1;
    overflow: visible;
    padding: 5px;
    right: max(14px, env(safe-area-inset-right));
    transform: translateY(0);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    visibility: visible;
  }
  .mobile-conversion-bar > .mobile-conversion-bar__action {
    -webkit-tap-highlight-color: transparent;
    align-items: center;
    border-radius: 999px;
    color: var(--soft-ink);
    display: flex;
    flex-direction: column;
    font-weight: 700;
    gap: 2px;
    justify-content: center;
    line-height: 1;
    min-height: 52px;
    min-width: 0;
    padding: 0.25rem;
    text-decoration: none;
    touch-action: manipulation;
    transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
  }
  .mobile-conversion-bar__icon {
    fill: none;
    flex: 0 0 auto;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 18px;
  }
  .mobile-conversion-bar__label { font-size: 0.7rem; white-space: nowrap; }
  .mobile-conversion-bar > .mobile-conversion-bar__action:hover { color: var(--soft-ink); }
  .mobile-conversion-bar > .mobile-conversion-bar__action.mobile-conversion-bar__action--primary {
    background: var(--blue);
    color: var(--paper);
    flex-direction: row;
    gap: 0.36rem;
    padding-inline: 0.55rem;
  }
  .mobile-conversion-bar > .mobile-conversion-bar__action.mobile-conversion-bar__action--primary:hover { color: var(--paper); }
  .mobile-conversion-bar__action--primary .mobile-conversion-bar__label { font-size: 0.72rem; }
  .mobile-conversion-bar > .mobile-conversion-bar__action:active { background: rgba(10, 10, 10, 0.06); transform: translateY(1px); }
  .mobile-conversion-bar > .mobile-conversion-bar__action.mobile-conversion-bar__action--primary:active { background: var(--blue-deep); color: var(--paper); }
  .mobile-conversion-bar > .mobile-conversion-bar__action:focus-visible { outline: 2px solid var(--blue); outline-offset: 1px; }
  .mobile-conversion-bar > .mobile-conversion-bar__action.mobile-conversion-bar__action--primary:focus-visible { box-shadow: 0 0 0 3px var(--blue); outline-color: var(--paper); }
  .mobile-conversion-bar.is-form-focus,
  .menu-open .mobile-conversion-bar {
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 24px));
    visibility: hidden;
  }
  .form-field,
  .form-card .button-row,
  .form-field--choices input[type="checkbox"],
  .form-card button[type="submit"] { scroll-margin-bottom: var(--mobile-dock-page-clearance); }
  .page-hero { padding: 3.2rem 0 3rem; }
  .page-hero--image { min-height: 360px; }
  .package-grid, .destination-grid, .story-grid { grid-template-columns: 1fr; }
  .package-grid > .package-list-card,
  .package-grid > .package-list-card--row-single,
  .package-grid > .package-list-card--row-pair,
  .package-grid > .package-list-card--tablet-last { grid-column: auto; }
  .package-grid > .package-list-card .card-media { aspect-ratio: 1.28 / 1; }
  .filter-bar { grid-template-columns: 1fr; }
  .filter-bar .button { grid-column: auto; }
  .quick-facts, .inclusion-grid, .experience-grid { grid-template-columns: 1fr; }
  .coordination-comparison { grid-template-columns: 1fr; }
  .practical-notes > div { gap: 0.35rem; grid-template-columns: 1fr; }
  .list-columns { columns: 1; }
  .gallery-grid { grid-template-columns: 1fr; }

  .home-hero { min-height: 520svh; }
  .home-hero-stage { height: 100svh; }
  .home-hero:not(.has-real-3d) .home-hero-stage { position: relative; }
  .home-hero-content { width: var(--container); }
  .hero-copy { left: 50%; max-width: 100%; text-align: center; top: calc(var(--header-height) + ((100svh - var(--header-height)) / 2)); transform: translate(-50%, -50%); width: 100%; }
  .hero-copy h1 { font-size: clamp(2.45rem, 11.5vw, 3.05rem); margin: 0.3rem 0 0.75rem; }
  .hero-copy .intro { font-size: 0.94rem; line-height: 1.5; margin: 0 auto 1rem; max-width: 38ch; }
  .hero-copy .button-row { display: grid; gap: 0.65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-copy .button { font-size: 0.78rem; min-height: 44px; padding: 0.65rem 0.45rem; white-space: nowrap; }
  .plane-scene { background: radial-gradient(ellipse at center, rgba(197, 210, 212, 0.48), rgba(247, 244, 238, 0) 72%); bottom: calc(var(--mobile-conversion-clearance) + 1rem); clip-path: none; height: clamp(140px, 22svh, 180px); left: 0; right: 0; top: auto; }
  .home-hero.has-real-3d .plane-scene { bottom: calc(var(--mobile-conversion-clearance) + 9.5rem); height: auto; top: var(--header-height); }
  .plane-scene canvas { transition: none; }
  .plane-poster { inset: 0 4%; }
  .plane-hover-zone { display: none; }
  .model-progress { bottom: 0.25rem; }
  .hero-beat,
  .hero-closing { background: rgba(255, 255, 255, 0.96); border: 1px solid var(--line); border-radius: 14px; bottom: calc(var(--mobile-conversion-clearance) + 0.75rem); left: 0; max-width: 100%; padding: 0.85rem 1rem; right: 0; text-align: left; }
  .hero-beat { display: flex; flex-direction: column; justify-content: center; min-height: 132px; }
  .hero-beat h2 { font-size: 1.22rem; margin-bottom: 0.28rem; }
  .hero-beat p { font-size: 0.79rem; line-height: 1.42; max-width: 42ch; }
  .hero-beat .eyebrow { margin-bottom: 0.22rem; }
  .hero-closing { align-items: center; display: grid; gap: 0.65rem; grid-template-columns: minmax(0, 1fr) clamp(92px, 28vw, 112px); min-height: clamp(148px, 27svh, 180px); }
  .hero-closing-copy { min-width: 0; }
  .hero-closing h2 { color: var(--muted); font-size: clamp(1.25rem, 6vw, 1.48rem); line-height: 1.06; margin-bottom: 0.4rem; }
  .hero-trust { color: var(--muted); font-size: 0.56rem; letter-spacing: 0.045em; line-height: 1.4; margin-bottom: 0; }
  .hero-closing-visual { align-items: center; display: flex; justify-content: flex-end; min-width: 0; }
  .hero-closing-visual img { aspect-ratio: 1 / 1; display: block; height: auto; object-fit: contain; opacity: 0.57; width: 100%; }

  .trip-starter { padding: 4.25rem 0 5.25rem; }
  .trip-starter-heading { margin-bottom: 1.6rem; }
  .trip-starter-heading h2 { font-size: 2.25rem; }
  .trip-starter .form-card { border-radius: var(--radius-card); box-shadow: var(--shadow-soft); }
  .trip-starter-grid { grid-template-columns: 1fr; }
  .trip-starter-grid .button { grid-column: auto; width: 100%; }

  .journey-editorial { grid-auto-rows: auto; grid-template-columns: 1fr; }
  .journey-editorial > .card,
  .journey-editorial > .card--feature { grid-column: auto; min-height: 355px; }
  .journey-editorial > .card--feature { min-height: 420px; }
  .card--journey-overlay .card-content { padding: 1.25rem; }
  .card--journey-overlay .card-copy { -webkit-line-clamp: 3; }
  .card--journey-overlay .card-footer { align-items: flex-start; flex-direction: column; }
  .card--journey-overlay .card-actions { justify-content: flex-start; }

  .mood-grid { grid-template-columns: 1fr; }
  .mood-tile { aspect-ratio: 1.28 / 1; min-height: 265px; }
  .mood-tile-content { padding: 1.25rem; }

  .home-rail { grid-auto-columns: 82vw; margin-right: calc((100vw - var(--container)) / -2); padding-right: calc((100vw - var(--container)) / 2); }
  .card--destination-overlay { height: 440px; }
  .rail-cue { justify-content: flex-start; }

  .trust-photo, .trust-photo img { min-height: 310px; }
  .home-process { padding: 3.4rem 0 4.4rem; }
  .home-process-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: 0 10px 26px rgba(10, 10, 10, 0.045); padding: 1.2rem; }
  .home-process .section-heading { margin-bottom: 0.95rem; }
  .home-process .section-heading h2 { font-size: clamp(2rem, 9vw, 2.5rem); }
  .home-process .steps-grid { border-top: 1px solid var(--line); grid-template-columns: 1fr; }
  .home-process .step,
  .home-process .step:nth-child(3) { align-items: start; border-left: 0; border-top: 1px solid var(--line); display: grid; gap: 0.28rem 0.7rem; grid-template-columns: 2.15rem minmax(0, 1fr); min-height: 0; padding: 1rem 0; }
  .home-process .step:first-child { border-top: 0; }
  .home-process .step-number { grid-column: 1; grid-row: 1 / span 2; margin: 0; }
  .home-process .step h3 { grid-column: 2; margin: 0; }
  .home-process .step > p:last-child { color: var(--muted); grid-column: 2; margin: 0; }
  .service-row { grid-template-columns: 0.4fr 1fr auto; }
  .service-row p { grid-column: 2 / -1; }
  .story-editorial { grid-template-columns: 1fr; }
  .card--story-equal { min-height: 430px; }
  .home-final-cta { padding-bottom: 5.5rem; }
  .cta-band--home .button-row { display: grid; grid-template-columns: 1fr; width: 100%; }

}

@media (max-width: 390px) {
  :root { --container: calc(100vw - 36px); --reading: calc(100vw - 36px); }
  .hero-copy h1 { font-size: clamp(2.32rem, 11.4vw, 2.75rem); }
  .hero-copy .intro { font-size: 0.9rem; }
  .hero-copy .button { font-size: 0.73rem; }
  .plane-scene { top: clamp(385px, 61svh, 515px); }
  .mood-tile { min-height: 250px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > :first-child { grid-column: auto; }
}

@media (max-width: 360px) {
  .hero-copy h1 { font-size: 2.32rem; }
  .hero-copy .button-row { gap: 0.5rem; }
  .hero-copy .button { padding-inline: 0.3rem; }
  .mood-tile { min-height: 220px; min-width: 0; width: 100%; }
  .card--journey-overlay .card-actions { gap: 0.5rem 0.75rem; }
}

@media (max-width: 767px) and (hover: hover) and (pointer: fine) {
  .mobile-conversion-bar > .mobile-conversion-bar__action:hover { background: rgba(10, 10, 10, 0.05); color: var(--soft-ink); }
  .mobile-conversion-bar > .mobile-conversion-bar__action.mobile-conversion-bar__action--primary:hover { background: var(--blue-deep); color: var(--paper); }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .mobile-conversion-bar,
  .mobile-conversion-bar__action { transition: none; }
}
