
/* ── FONTS — the project's own self-hosted cuts (src/fonts), from the bucket ── */
@font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/assets/fonts/InstrumentSerif-Regular-latin.woff2") format("woff2"); }
@font-face { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("/assets/fonts/InstrumentSerif-Italic-latin.woff2") format("woff2"); }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("/assets/fonts/InterTight-Medium-latin.woff2") format("woff2"); }
@font-face { font-family: "Caveat"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/assets/fonts/Caveat-Regular-latin.woff2") format("woff2"); }
@font-face { font-family: "Caveat"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("/assets/fonts/Caveat-Bold-latin.woff2") format("woff2"); }

/* ── TOKENS (globals.css, verbatim values) ─────────────────────────────────── */
:root {
  --raw-color-white: #ffffff;
  --raw-color-neutral-100: #ededed;
  --raw-color-neutral-900: #171717;
  --raw-color-neutral-950: #0a0a0a;
  --raw-duration-fast: 150ms;
  --raw-duration-normal: 250ms;
  --raw-color-black: #000000;
  --raw-color-cream-100: #ffedc3;
  --raw-color-cream-100-alpha-40: rgb(255 237 195 / 0.4);
  --raw-color-cream-100-alpha-50: rgb(255 237 195 / 0.5);
  --raw-color-cream-100-alpha-80: rgb(255 237 195 / 0.8);
  --raw-color-black-alpha-50: rgb(0 0 0 / 0.5);
  --raw-color-black-alpha-40: rgb(0 0 0 / 0.4);
  --raw-color-black-alpha-15: rgb(0 0 0 / 0.15);
  --raw-color-signal-red: #ff3b30;
  --raw-color-ink-950: #0c0c0c;
  --raw-color-ink-950-alpha-10: rgb(12 12 12 / 0.1);
  --raw-radius-xs: 0.25rem;
  --raw-text-display: 5.625rem;
  --raw-text-wordmark: 1.5rem;
  --raw-text-body: 0.875rem;
  --raw-text-caption: 0.75rem;
  --raw-leading-title: 4.5rem;
  --raw-leading-wordmark: 1.35rem;
  --raw-leading-body: 0.7rem;
  --raw-leading-caption: 0.6rem;
  --raw-spacing-page: 1.5rem;
  --raw-spacing-md: 0.75rem;
  --raw-spacing-sm: 0.625rem;
  --raw-spacing-nav-links: 16.8px;
  --raw-spacing-xs: 0.375rem;

  --background: var(--raw-color-white);
  --foreground: var(--raw-color-neutral-900);
  --duration-fast: var(--raw-duration-fast);
  --duration-normal: var(--raw-duration-normal);
  --ease-entrance: cubic-bezier(0.2, 0, 0, 1);
  --surface-cinema: var(--raw-color-black);
  --surface-glass: var(--raw-color-ink-950-alpha-10);
  --surface-gallery: var(--raw-color-ink-950);
  --foreground-accent: var(--raw-color-cream-100);
  --foreground-accent-muted: var(--raw-color-cream-100-alpha-50);
  --foreground-accent-soft: var(--raw-color-cream-100-alpha-50);
  --foreground-accent-strong: var(--raw-color-cream-100-alpha-80);
  --foreground-ink: var(--raw-color-black);
  --foreground-ink-muted: var(--raw-color-black-alpha-40);
  --scrim-page: var(--raw-color-black-alpha-50);
  --scrim-media: var(--raw-color-black-alpha-40);
  --scrim-scene: var(--raw-color-black-alpha-40);
  --scrim-cta: var(--raw-color-black-alpha-15);
  --scrim-panel: var(--raw-color-black-alpha-50);
  --foreground-signal: var(--raw-color-signal-red);
  --radius-media: var(--raw-radius-xs);
  --font-display: "Instrument Serif", serif;
  --font-ui: "Inter Tight", sans-serif;
  --font-hand: "Caveat", cursive;
  --size-display: var(--raw-text-display);
  --size-wordmark: var(--raw-text-wordmark);
  --size-body: var(--raw-text-body);
  --size-caption: var(--raw-text-caption);
  --line-title: var(--raw-leading-title);
  --line-wordmark: var(--raw-leading-wordmark);
  --line-body: var(--raw-leading-body);
  --line-caption: var(--raw-leading-caption);
  --spacing-page: var(--raw-spacing-page);
  --spacing-md: var(--raw-spacing-md);
  --spacing-sm: var(--raw-spacing-sm);
  --spacing-xs: var(--raw-spacing-xs);
  --spacing-nav-links: var(--raw-spacing-nav-links);
}
@media (prefers-color-scheme: dark) {
  :root { --background: var(--raw-color-neutral-950); --foreground: var(--raw-color-neutral-100); }
}

/* ── PREFLIGHT (the parts of Tailwind v4's reset this page relies on) ──────── */
*, ::after, ::before, ::backdrop { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4;
  font-family: ui-sans-serif, system-ui, sans-serif; -webkit-tap-highlight-color: transparent; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: inherit; }
ol, ul, menu { list-style: none; }
img, svg, video { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
button, input { font: inherit; font-feature-settings: inherit; font-variation-settings: inherit;
  letter-spacing: inherit; color: inherit; border-radius: 0; background-color: transparent; opacity: 1; }
button { appearance: button; cursor: pointer; }
::placeholder { opacity: 1; }

/* ── ADAPTIVE GRID — rem = Figma px @1440 ÷ 16 ─────────────────────────────── */
html { font-size: 16px; }
@media (max-width: 1440px) { html { font-size: 1.111111vw; } }
@media (max-width: 1024px) { html { font-size: 1.5625vw; } }
@media (max-width: 640px)  { html { font-size: 4.444444vw; } }

body { background: var(--background); color: var(--foreground); min-height: 100vh; overflow-x: clip; }

/* ── SHARED UTILITIES ──────────────────────────────────────────────────────── */
.tt { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.fd { font-family: var(--font-display); }
.fu { font-family: var(--font-ui); }
.fh { font-family: var(--font-hand); }
.it { font-style: italic; }
.cream { color: var(--foreground-accent); }
.rv { display: inline; }
.rv-w { display: inline-block; white-space: nowrap; }
.rv-l { display: inline-block; }
.blk { display: block; }
.fill { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; color: transparent; }
.cover { object-fit: cover; }
.contain { object-fit: contain; }
.focusring:focus-visible { outline: 2px solid var(--foreground-accent); outline-offset: 4px; }
.only-lt-lg { display: none; }
.br-phone, .br-tablet { display: none; }
/* A touch device gets the press the pointer gets as a lift (TOUCH_TARGET / TOUCH_PRESS). */
@media (hover: none) {
  .tap { cursor: pointer; }
  .press { transition: translate var(--duration-normal) var(--ease-entrance), scale var(--duration-normal) var(--ease-entrance); }
  .tap:active .press, .tap.press:active { translate: 0 -6px; scale: 1.025; }
}
@media (hover: none) and (prefers-reduced-motion: reduce) { .press { transition: none; } }

/* ── ASSET FAILURE BANNER ─────────────────────────────────────────────────── */
#asset-error { position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; display: none;
  padding: .75rem 1rem; font: 500 13px/1.4 ui-monospace, monospace; background: #b3261e; color: #fff; text-align: center; }
#asset-error.on { display: block; }

/* ════════════════════════════════════════════════════════════════════════════
   PRELOADER
   ════════════════════════════════════════════════════════════════════════════ */
.pl { position: fixed; inset: 0; z-index: 50; overflow: hidden; background: var(--surface-cinema); }
.pl-mark { position: absolute; top: var(--spacing-page); left: var(--spacing-page); color: var(--foreground-accent);
  font-family: var(--font-display); font-size: var(--size-wordmark); line-height: var(--line-wordmark); }
.pl-center { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.pl-count { color: var(--foreground-accent); font-family: var(--font-display); font-size: var(--size-display);
  line-height: var(--line-title); font-variant-numeric: tabular-nums; }
.pl-track { position: absolute; bottom: var(--spacing-page); left: var(--spacing-page); right: var(--spacing-page);
  display: block; height: 1px; overflow: hidden; background: var(--foreground-accent-muted); }
.pl-fill { position: absolute; inset: 0; display: block; transform-origin: left; background: var(--foreground-accent); }
@media (width < 64.0625rem) {
  .pl-mark { font-size: 20px; line-height: 18px; }
  .pl-count { font-size: 72px; line-height: 57.6px; }
}
@media (width < 40.0625rem) { .pl-count { font-size: 56px; line-height: 44.8px; } }

/* ════════════════════════════════════════════════════════════════════════════
   BLOCK 1 — HERO
   ════════════════════════════════════════════════════════════════════════════ */
.hero { position: relative; }
.h-stage { position: relative; overflow: hidden; background: var(--surface-cinema); min-height: 100vh; min-height: 100dvh; }
.h-video { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }
.h-still { pointer-events: none; position: absolute; inset: 0; opacity: 0; }
.h-veil { background: var(--scrim-page); pointer-events: none; position: absolute; inset: 0; opacity: 0; }
.h-vignette { pointer-events: none; position: absolute; inset: 0; opacity: 0;
  background: radial-gradient(ellipse at 50% 50%, transparent 40%, black 125%); }
.h-grain { pointer-events: none; position: absolute; inset: -6rem; mix-blend-mode: overlay; opacity: 0.3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)' opacity='0.9'/%3E%3C/svg%3E");
  background-size: 200px 200px; will-change: transform; }

/* thumbnails */
.h-thumb { position: absolute; overflow: hidden; left: 37.9375rem; width: 14.1875rem; opacity: 0; }
.h-thumb--top { top: 0; height: 8.25rem; border-bottom-left-radius: var(--radius-media); border-bottom-right-radius: var(--radius-media); }
.h-thumb--bottom { bottom: 0; height: 8.3125rem; border-top-left-radius: var(--radius-media); border-top-right-radius: var(--radius-media); }
.h-thumb img { position: absolute; max-width: none; height: auto; }
.h-thumb-scrim { background: var(--scrim-media); position: absolute; inset: 0; }

/* overlay */
.h-overlay { pointer-events: none; position: absolute; inset: 0; }
.h-card { border-radius: var(--radius-media); position: absolute; left: 29.375rem; top: calc(50% - 9.84375rem);
  height: 19.6875rem; width: 31.25rem; opacity: 0;
  -webkit-backdrop-filter: brightness(2.36) saturate(1.25); backdrop-filter: brightness(2.36) saturate(1.25); }
.h-cross { pointer-events: none; position: absolute; left: 50%; top: 50%; width: 1.5rem; height: 1.5rem; translate: -50% -50%; opacity: .4; }
.h-cross-h, .h-cross-v { background: var(--foreground-accent); position: absolute; left: 50%; top: 50%; translate: -50% -50%; }
.h-cross-h { height: 1px; width: 100%; }
.h-cross-v { height: 100%; width: 1px; }
.h-rec { background: var(--foreground-signal); pointer-events: none; position: absolute; left: 1rem; top: 1rem;
  width: .5rem; height: .5rem; border-radius: 9999px; opacity: 0; }

.h-caption { font-family: var(--font-ui); font-size: var(--size-caption); line-height: var(--line-caption);
  color: var(--foreground-accent); display: flex; align-items: center; justify-content: space-between;
  position: absolute; left: 29.375rem; width: 31.25rem; opacity: 0; }
.h-caption--top { top: calc(50% - 11.15625rem); }
.h-caption--bottom { top: calc(50% + 10.59375rem); }
.h-body { font-family: var(--font-ui); font-size: var(--size-body); line-height: var(--line-body); color: var(--foreground-accent); }

.h-h1 { position: absolute; inset: 0; }
.h-title { color: var(--foreground-accent); font-family: var(--font-display); display: block; position: absolute;
  font-size: var(--size-display); line-height: var(--line-title); top: calc(50% - 4.3125rem); opacity: 0; }
.h-title--start { right: 62.125rem; width: 14.875rem; text-align: right; }
.h-title--end { left: 62.125rem; width: 21.258625rem; }
.h-title-line { display: block; }
.h-title-join { display: none; }

.h-wordmark { position: fixed; z-index: 50; left: var(--spacing-page); top: var(--spacing-page);
  color: var(--foreground-accent); font-family: var(--font-display); font-size: var(--size-wordmark);
  line-height: var(--line-wordmark); opacity: 0; }
.h-nav { position: fixed; z-index: 50; left: 62.125rem; top: var(--spacing-page); width: 5.75rem; opacity: 0; pointer-events: none; }
.h-menu { display: none; cursor: pointer; text-transform: uppercase;
  transition: color var(--duration-fast) var(--ease-entrance); }
.h-menu[aria-expanded="true"] { color: var(--foreground-accent-muted); }
.h-navlist { display: flex; flex-direction: column; gap: var(--spacing-nav-links); }
.h-navlink { position: relative; display: inline-block; }
.h-navrule { background: var(--foreground-accent); position: absolute; bottom: -0.25rem; left: 0; display: block;
  height: 1px; width: 100%; transform-origin: left; scale: 0 1;
  transition: scale var(--duration-fast) var(--ease-entrance); }
.h-navlink:hover .h-navrule, .h-navlink:focus-visible .h-navrule { scale: 1 1; }

.h-explore { position: absolute; left: 77.1875rem; top: var(--spacing-page); width: 11.3125rem; opacity: 0; pointer-events: none; }
.h-explore-link { border-bottom: 1px solid var(--foreground-accent); display: flex; flex-direction: column; padding-bottom: var(--spacing-xs); }
.h-explore-row { display: flex; align-items: center; gap: var(--spacing-md); }
.h-arrow-win { color: var(--foreground-accent); display: block; width: .75rem; height: .75rem; flex-shrink: 0; overflow: hidden; }
.h-arrow-track { display: flex; width: 1.5rem; align-items: center; transform: translateX(-50%); }
.h-arrow-track svg { width: .75rem; height: .75rem; flex-shrink: 0; }
.h-explore-label { flex-shrink: 0; text-transform: uppercase; }

.h-dest { position: absolute; left: 62.125rem; bottom: var(--spacing-page); display: flex; flex-direction: column;
  gap: var(--spacing-sm); opacity: 0; pointer-events: none; }
.h-dest-label { display: flex; align-items: center; gap: var(--spacing-xs); }
.h-dest-label svg { flex-shrink: 0; }
.h-dest-list { display: flex; flex-direction: column; gap: var(--spacing-nav-links); }
.h-dest-list li { font-family: var(--font-ui); font-size: var(--size-body); line-height: var(--line-body);
  color: var(--foreground-accent-muted); text-transform: uppercase; }
.h-dest-list a { transition: color var(--duration-fast) var(--ease-entrance); }
.h-dest-list a:hover, .h-dest-list a:focus-visible { color: var(--foreground-accent); }

.h-modes { position: absolute; left: var(--spacing-page); bottom: var(--spacing-page);
  font-family: var(--font-ui); font-size: var(--size-caption); line-height: var(--line-caption);
  color: var(--foreground-accent); opacity: 0; pointer-events: none; }
.h-modes button { cursor: pointer; transition: color var(--duration-fast) var(--ease-entrance); }
.h-modes button[aria-pressed="false"] { color: var(--foreground-accent-muted); }
.h-modes button[aria-pressed="false"]:hover { color: var(--foreground-accent); }

@media (width >= 64.0625rem) { .h-explore { position: fixed; z-index: 50; } }
@media (width < 64.0625rem) {
  .h-thumb { left: 50%; margin-left: -7rem; width: 14rem; height: 8.1rem; }
  .h-card { left: 0; right: 0; margin-inline: auto;
    width: min(100vw - 3rem, 78vw, (100vh - 36rem) / 0.63);
    height: calc(min(100vw - 3rem, 78vw, (100vh - 36rem) / 0.63) * 0.63);
    top: calc(50% - min(100vw - 3rem, 78vw, (100vh - 36rem) / 0.63) * 0.315); }
  .h-cross { width: 20px; height: 20px; }
  .h-rec { left: 12px; top: 12px; width: 7px; height: 7px; }
  .h-caption, .h-body { font-size: 14px; line-height: 11.2px; }
  .h-caption { left: 0; right: 0; margin-inline: auto; width: min(100vw - 3rem, 78vw, (100vh - 36rem) / 0.63); }
  .h-caption--top { top: calc(50% - min(100vw - 3rem, 78vw, (100vh - 36rem) / 0.63) * 0.315 - 23.2px); }
  .h-caption--bottom { top: calc(50% + min(100vw - 3rem, 78vw, (100vh - 36rem) / 0.63) * 0.315 + 12px); }
  .h-title { font-size: 56px; line-height: 44.8px; left: var(--spacing-page); right: var(--spacing-page); width: auto; text-align: center; }
  .h-title--start { top: calc(50% - min(100vw - 3rem, 78vw, (100vh - 36rem) / 0.63) * 0.315 - 9.5rem); }
  .h-title--end { top: calc(50% + min(100vw - 3rem, 78vw, (100vh - 36rem) / 0.63) * 0.315 + 5.75rem); }
  .h-title-line { display: inline; }
  .h-title-join { display: inline; }
  .h-nav { left: auto; right: var(--spacing-page); width: auto; text-align: right; }
  .h-menu { display: block; margin-left: auto; }
  .h-navlist { margin-top: 21px; align-items: flex-end; gap: 10.8px; }
  .h-nav:not(.open) .h-navlist { display: none; }
  .h-explore { left: auto; right: var(--spacing-page); top: auto; bottom: var(--spacing-page); width: fit-content; }
  .h-dest { left: var(--spacing-page); }
  .h-dest-list { display: none; }
  .h-dest-list li { font-size: 14px; line-height: 11.2px; }
  .h-modes { left: 0; right: 0; bottom: auto; top: var(--spacing-page); margin-inline: auto; width: fit-content;
    font-size: 14px; line-height: 11.2px; }
}
@media (width < 40.0625rem) {
  .h-thumb { display: none; }
  .h-card { width: min(100vw - 3rem, (100vh - 30rem) / 0.63);
    height: calc(min(100vw - 3rem, (100vh - 30rem) / 0.63) * 0.63);
    top: calc(50% - min(100vw - 3rem, (100vh - 30rem) / 0.63) * 0.315); }
  .h-caption { width: min(100vw - 3rem, (100vh - 30rem) / 0.63); }
  .h-caption--top { top: calc(50% - min(100vw - 3rem, (100vh - 30rem) / 0.63) * 0.315 - 23.2px); }
  .h-caption--bottom { top: calc(50% + min(100vw - 3rem, (100vh - 30rem) / 0.63) * 0.315 + 12px); }
  .h-title { font-size: 42px; line-height: 33.6px; }
  .h-title--start { top: calc(50% - min(100vw - 3rem, (100vh - 30rem) / 0.63) * 0.315 - 87px); }
  .h-title--end { top: calc(50% + min(100vw - 3rem, (100vh - 30rem) / 0.63) * 0.315 + 69px); }
  .h-wordmark { font-size: 18px; line-height: 16.2px; }
  .h-explore { left: 0; right: 0; margin-inline: auto; bottom: calc(24px + env(safe-area-inset-bottom)); }
  .h-explore-link { padding-top: 29px; }
  .h-dest, .h-modes { display: none; }
}

/* ════════════════════════════════════════════════════════════════════════════
   BLOCK 2 — DESTINATIONS (a 1440×687 container-query scene)
   ════════════════════════════════════════════════════════════════════════════ */
.d-section { background: var(--surface-gallery); position: relative; z-index: 10; display: grid; min-height: 100dvh;
  width: 100%; place-items: center; overflow-x: clip; padding-block: 40px; }
.d-scene { position: relative; width: min(100%, calc((100dvh - 80px) * 1440 / 687)); aspect-ratio: 1440/687;
  overflow: hidden; container-type: size; }
.d-heading { color: var(--foreground-accent); font-family: var(--font-display); position: absolute;
  left: 30.4167cqw; top: 6.9444cqw; width: 39.1667cqw; text-align: center; font-size: 4.4444cqw; line-height: 3.5556cqw; }
.d-cards { position: absolute; inset: 0; }
.d-card { position: absolute; translate: -50% -50%; }
.d-card-mid, .d-card-in { position: relative; height: 100%; width: 100%; }
.d-sticker { pointer-events: none; position: absolute; translate: -50% -50%; }
.d-row { display: contents; }
.d-card-tablet { position: relative; margin-inline: auto; display: none; aspect-ratio: 4/3; width: 100%; }
.d-card-mobile { position: relative; margin-inline: auto; display: none; aspect-ratio: 4/5; width: min(100%, 320px); }
.d-layer { position: absolute; inset: 0; }
.d-stack { position: absolute; translate: -50% -50%; }
.d-stack-in { position: relative; height: 100%; width: 100%; }
.d-pair { display: contents; }
.d-list { display: flex; flex-direction: column; gap: .9868cqw; font-family: var(--font-ui);
  font-size: 1.1111cqw; line-height: .8889cqw; }
.d-list--left { position: absolute; left: 1.6667cqw; top: 22.0139cqw; width: 10.2083cqw; align-items: flex-start; }
.d-list--right { position: absolute; left: 88.125cqw; top: 22.0139cqw; width: 10.2083cqw; align-items: flex-end; text-align: right; }
.d-btn { display: flex; align-items: flex-start; gap: .4167cqw; cursor: pointer; color: var(--foreground-accent-muted);
  transition: color var(--duration-fast) var(--ease-entrance); }
.d-list--left .d-btn { text-align: left; }
.d-list--right .d-btn { text-align: right; }
.d-btn:hover, .d-btn[aria-pressed="true"] { color: var(--foreground-accent); }
.d-btn:focus-visible { outline: 2px solid var(--foreground-accent); outline-offset: 4px; }
.d-num { display: block; width: 1.7361cqw; flex-shrink: 0; }
.d-name { display: block; min-width: 8.0556cqw; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .d-btn { transition: none; } }
@media (width < 64.0625rem) {
  .d-section { padding-top: 46px; }
  .d-scene { aspect-ratio: auto; width: 100%; overflow: visible; container-type: normal; display: flex;
    flex-direction: column; align-items: center; gap: 88px; padding-inline: var(--spacing-page); }
  .d-heading { position: static; width: 100%; font-size: 48px; line-height: 38.4px; }
  .d-cards { display: none; }
  .d-row { display: grid; width: 100%; grid-template-columns: auto minmax(0, 1fr) auto; align-items: stretch; gap: 24px; }
  .d-card-tablet { order: 2; display: block; align-self: start; margin-top: -44px; }
  .d-list { gap: 15.8px; font-size: 14px; line-height: 11.2px; }
  .d-list--left { position: static; order: 1; width: auto; flex-shrink: 0; }
  .d-list--right { position: static; order: 3; width: auto; flex-shrink: 0; }
  .d-btn { gap: 6px; padding-block: 16.4px; margin-block: -16.4px; }
  .d-num { width: 22px; }
  .d-name { min-width: 102px; }
}
@media (width >= 40.0625rem) and (width < 64.0625rem) { .d-section { padding-bottom: 46px; } }
@media (width < 40.0625rem) {
  .d-section { padding-top: 88px; }
  .d-scene { gap: 34px; }
  .d-heading { font-size: 36px; line-height: 28.8px; }
  .d-row { display: flex; grid-template-columns: none; flex-direction: column; align-items: center; gap: 24px; }
  .d-card-tablet { display: none; }
  .d-card-mobile { order: 1; display: block; aspect-ratio: 8/7; }
  .d-pair { order: 2; display: flex; width: 100%; justify-content: space-between; }
}

/* ════════════════════════════════════════════════════════════════════════════
   BLOCK 3 — PHILOSOPHY (pinned; uncovered from under block 2)
   ════════════════════════════════════════════════════════════════════════════ */
.p3-section { position: relative; z-index: 0; height: 460vh; margin-top: -100dvh; }
.p3-section.static { height: auto; margin-top: 0; z-index: auto; }
.p3-sticky { background: var(--surface-gallery); position: sticky; top: 0; display: grid; height: 100dvh; width: 100%;
  place-items: center; overflow: hidden; }
.p3-backdrop { position: absolute; left: 0; right: 0; top: 0; height: 200%; }
.p3-scrim { background: var(--scrim-scene); pointer-events: none; position: absolute; inset: 0; }
.p3-scene { position: relative; width: min(100%, calc(100dvh * 1440 / 800)); aspect-ratio: 1440/800;
  container-type: size; overflow: hidden; }
.p3-title { color: var(--foreground-accent); font-family: var(--font-display); position: absolute; left: 50%;
  top: 6.9444cqw; width: 30.9722cqw; translate: -50% 0; text-align: center; font-size: 4.4444cqw;
  line-height: 3.5556cqw; --b3-travel: 17.4306cqw; }
.p3-collage { position: absolute; left: 50%; top: 17.4306cqw; height: 28.0556cqw; width: 26.1111cqw; translate: -50% 0;
  --b3-travel: 1.3889cqw; opacity: 0; }
.p3-collage-in { position: relative; height: 100%; width: 100%; }
.p3-aside { font-family: var(--font-ui); color: var(--foreground-accent-soft); position: absolute; top: 29.2014cqw;
  font-size: 1.25cqw; line-height: 1.5cqw; text-transform: uppercase; --b3-travel: 1.3889cqw; }
.p3-aside--left { left: 16.25cqw; width: 17.9167cqw; text-align: right; }
.p3-aside--right { left: 65.8333cqw; width: 20.625cqw; text-align: left; }
.p3-sign { color: var(--foreground-accent); font-family: var(--font-hand); position: absolute; left: 50%; top: 49.1667cqw;
  width: 100%; translate: -50% 0; text-align: center; font-size: 1.3889cqw; line-height: 1.3889cqw;
  --b3-travel: 1.3889cqw; opacity: 0; }
@media (width < 64.0625rem) {
  .p3-scene { aspect-ratio: auto; height: 100%; width: 100%; container-type: normal; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 46px; padding-inline: var(--spacing-page); }
  .p3-title { position: static; order: 1; width: 100%; translate: 0 0; font-size: 48px; line-height: 38.4px; --b3-travel: 46px; }
  .p3-collage { position: static; order: 3; aspect-ratio: 376/404; height: min(404px, 40dvh); width: auto; translate: 0 0; --b3-travel: 20px; }
  .p3-aside { position: static; width: 100%; max-width: 60%; text-align: center; font-size: 16px; line-height: 19.2px; --b3-travel: 20px; }
  .p3-aside--left { order: 2; width: 100%; }
  .p3-aside--right { order: 4; width: 100%; }
  .p3-sign { top: auto; bottom: calc(var(--spacing-page) + 7px); font-size: 24px; line-height: 24px; --b3-travel: 20px; }
}
@media (width >= 40.0625rem) and (width < 64.0625rem) {
  .p3-scene { justify-content: flex-start; padding-top: min(100px, 10dvh); }
  .p3-title { margin-bottom: auto; }
  .p3-aside--right { margin-bottom: auto; }
  .p3-sign { bottom: 39px; }
  .br-tablet { display: inline; }
}
@media (width < 40.0625rem) {
  .p3-scene { gap: 34px; }
  .p3-title { margin-bottom: 12px; font-size: 36px; line-height: 28.8px; }
  .p3-collage { height: min(404px, 36dvh); }
  .p3-aside { max-width: 42ch; font-size: 14px; line-height: 16.8px; }
  .p3-sign { bottom: calc(29px + env(safe-area-inset-bottom)); font-size: 16px; line-height: 16px; }
  .br-phone { display: inline; }
}

/* ════════════════════════════════════════════════════════════════════════════
   BLOCK 4 — HOW WE TRAVEL (rises over block 3)
   ════════════════════════════════════════════════════════════════════════════ */
.t4-section { background: var(--surface-gallery); position: relative; z-index: 10; height: 100dvh; width: 100%;
  overflow: hidden; isolation: isolate; margin-top: -100dvh; }
.t4-strip { position: absolute; inset: 0; display: flex; }
.t4-panel { position: relative; flex-shrink: 1; align-self: stretch; min-width: 0; flex-basis: 0;
  flex-grow: var(--b4-share); cursor: pointer; overflow: hidden; isolation: isolate; outline: none; --b4-share: 25; }
.t4-panel::after { content: ""; pointer-events: none; position: absolute; inset: 0; z-index: 3;
  transition: box-shadow var(--duration-normal) var(--ease-entrance); box-shadow: inset 0 0 0 2px transparent; }
.t4-panel:focus-visible::after { box-shadow: inset 0 0 0 2px var(--foreground-accent); }
.t4-rest { position: absolute; inset: 0; z-index: 0; }
.t4-media { position: absolute; inset: 0; z-index: 1; will-change: transform; }
.t4-veil-top { pointer-events: none; position: absolute; inset: 0; mix-blend-mode: multiply;
  background-image: linear-gradient(to bottom, var(--scrim-panel), transparent); }
.t4-veil-foot { pointer-events: none; position: absolute; left: 0; right: 0; bottom: 0; height: 65.125%;
  mix-blend-mode: multiply; background-image: linear-gradient(to top, var(--scrim-panel), transparent); }
.t4-header { pointer-events: none; position: absolute; left: 50%; top: 6.25rem; z-index: 5; display: flex; width: max-content;
  translate: -50% 0; flex-direction: column; align-items: center; gap: 2rem; text-align: center; }
.t4-title { color: var(--foreground-accent); font-family: var(--font-display); font-size: 4rem; line-height: 3.2rem; white-space: nowrap; }
.t4-sub { color: var(--foreground-accent-muted); font-family: var(--font-hand); font-size: 1.5rem; line-height: 1.5rem; }
.t4-foot { position: absolute; left: var(--spacing-page); right: var(--spacing-page); bottom: var(--spacing-page); z-index: 2;
  text-align: center; --b4-open: 0; --b4-copy-height: 0px; --b4-heading-gap: 2rem; }
.t4-heading { color: var(--foreground-accent-muted); font-family: var(--font-display); position: absolute; left: 0; right: 0;
  bottom: 0; z-index: 1; white-space: nowrap; font-size: 1.75rem; line-height: 1.4rem;
  transition: color var(--duration-normal) var(--ease-entrance);
  transform: translate3d(0px, calc((var(--b4-copy-height) + var(--b4-heading-gap)) * -1 * var(--b4-open)), 0px); }
.t4-panel[aria-selected="true"] .t4-heading { color: var(--foreground-accent); }
.t4-clip { position: absolute; left: 0; right: 0; bottom: 0; isolation: isolate; height: calc(var(--b4-copy-height) + 1rem); overflow: hidden; }
.t4-copy { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: center;
  gap: 2.5rem; transform: translate3d(0px, calc((100% + 1rem) * (1 - var(--b4-open))), 0px); }
.t4-body { margin-inline: auto; font-family: var(--font-ui); color: var(--foreground-accent-soft); width: var(--b4-copy);
  font-size: 1rem; line-height: 1.2rem; text-transform: uppercase; }
.t4-sign { color: var(--foreground-accent); font-family: var(--font-hand); font-size: 1.125rem; line-height: 1.125rem; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .t4-panel::after, .t4-heading { transition: none; } }
/* below desktop: a different tree — a stacked column */
.t4-stack { background: var(--surface-gallery); position: relative; z-index: 10; width: 100%; margin-top: -100dvh; }
.t4s-header { padding: 104px var(--spacing-page) 48px; text-align: center; }
.t4s-cards { display: flex; flex-direction: column; }
.t4s-card { position: relative; isolation: isolate; height: 62dvh; min-height: 26rem; overflow: hidden; }
.t4s-photo { position: absolute; left: 0; right: 0; top: -10%; height: 120%; will-change: transform; }
.t4s-foot { position: absolute; left: var(--spacing-page); right: var(--spacing-page); top: 0; bottom: 0; z-index: 2;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px; text-align: center; }
.t4s-heading { color: var(--foreground-accent); font-family: var(--font-display); font-size: 28px; line-height: 22.4px; }
@media (width < 64.0625rem) {
  .t4-title { white-space: normal; font-size: 48px; line-height: 38.4px; }
  .t4-sub { font-size: 24px; line-height: 24px; }
  .t4-veil-foot { height: max(65.125%, 300px); }
  .t4-body { color: var(--foreground-accent-strong); width: auto; font-size: 16px; line-height: 19.2px; }
  .t4-sign { font-size: 20px; line-height: 20px; }
}
@media (width < 40.0625rem) {
  .t4-title { font-size: 36px; line-height: 28.8px; }
  .t4s-header { padding-top: 88px; }
  .t4s-card { height: 56dvh; min-height: 22rem; }
  .t4s-foot { gap: 24px; }
  .t4s-heading { font-size: 24px; line-height: 19.2px; }
  .t4-body { font-size: 14px; line-height: 16.8px; }
  .t4-sign { font-size: 16px; line-height: 16px; }
}

/* ════════════════════════════════════════════════════════════════════════════
   BLOCK 5 — PLAN A JOURNEY + FOOTER
   ════════════════════════════════════════════════════════════════════════════ */
.p5-section { background: var(--surface-gallery); position: relative; display: grid; height: 100dvh; width: 100%;
  place-items: center; overflow: hidden; }
.p5-svg { position: absolute; width: 0; height: 0; }
.p5-picture { background: var(--scrim-page); position: absolute; left: 50%; top: 50%; translate: -50% -50%;
  width: max(100%, calc(100dvh * 1440 / 1077)); aspect-ratio: 1440/1077; container-type: size; }
.p5-backdrop { position: absolute; inset: 0; }
.p5-far { position: absolute; left: -7.0139cqw; top: -1.5278cqw; height: 76.3194cqw; width: 114.0278cqw; will-change: transform; }
.p5-steam { position: absolute; left: 0; top: 0; height: 66.9444cqw; width: 100%; mix-blend-mode: screen; will-change: transform; }
.p5-steam-in { position: relative; height: 100%; width: 100%; will-change: transform; }
.p5-wisps { filter: url(#b5-steam-wisps); }
.p5-fore { position: absolute; left: 0; top: 7.8472cqw; height: 66.9444cqw; width: 100%; will-change: transform; }
.p5-wash { background: var(--scrim-cta); pointer-events: none; position: absolute; inset: 0; }
.p5-scene { position: relative; z-index: 1; width: min(100%, calc(100dvh * 1440 / 1077)); aspect-ratio: 1440/1077; container-type: size; }
.p5-title { color: var(--foreground-ink); font-family: var(--font-display); position: absolute; left: 38.9583cqw; top: 6.9444cqw;
  width: 22.0833cqw; text-align: center; font-size: 4.4444cqw; line-height: 3.5556cqw; }
.p5-note { position: absolute; left: 38.125cqw; top: 13.6111cqw; height: 25.4861cqw; width: 23.75cqw; container-type: size;
  transform-origin: 51% 10%; opacity: 0; transform: translate3d(0, 6.000%, 0) rotate(-9.000deg); }
.p5-paper { position: absolute; inset: 0; }
.p5-promise { color: var(--foreground-ink); font-family: var(--font-hand); position: absolute; left: 10.2339cqw; top: 50cqw;
  width: 79.8246cqw; text-align: center; font-size: 7.0175cqw; line-height: 8.4211cqw; font-weight: 700; text-transform: uppercase; }
.p5-line { display: block; }
.p5-u1 { pointer-events: none; position: absolute; left: 18.7054cqw; top: 55.6562cqw; height: 1.279cqw; width: 62.3737cqw; }
.p5-u1 img { position: absolute; inset: -27.17% -0.41% -27.03% -0.47%; display: block; max-width: none; }
.p5-u2 { pointer-events: none; position: absolute; left: 10.4664cqw; top: 63.8744cqw; height: .4925cqw; width: 37.7793cqw; }
.p5-u2 img { position: absolute; inset: -66.42% -0.77% -72.19% -0.77%; display: block; max-width: none; }
.p5-aside { color: var(--foreground-ink-muted); font-family: var(--font-hand); position: absolute; left: 33.0409cqw;
  top: 98.2456cqw; width: 34.2105cqw; text-align: center; font-size: 5.2632cqw; line-height: 5.2632cqw; }
.p5-action { position: absolute; left: 44.1667cqw; top: 41.875cqw; display: block; height: 2.6389cqw; width: 11.6667cqw; }
.p5-pill { border: 1px solid var(--foreground-accent); display: flex; height: 100%; width: 100%; align-items: center;
  justify-content: center; gap: .5556cqw; border-radius: 6.9444cqw; transform: translate3d(0px, 0px, 0px) scale(1); }
.p5-arrow-win { display: block; width: .8333cqw; height: .8333cqw; flex-shrink: 0; overflow: hidden; }
.p5-arrow-track { display: flex; width: 1.6667cqw; align-items: center; transform: translateX(-50%); }
.p5-arrow-mark { display: block; width: .8333cqw; height: .8333cqw; flex-shrink: 0; }
.p5-label { color: var(--foreground-accent); font-family: var(--font-ui); font-size: .9722cqw; line-height: .7778cqw; text-transform: uppercase; }

.ft { background: var(--surface-glass); position: absolute; left: var(--spacing-page); right: var(--spacing-page);
  bottom: var(--spacing-page); z-index: 2; aspect-ratio: 1392/262; container-type: inline-size;
  -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.ft-mark { color: var(--foreground-accent); font-family: var(--font-display); position: absolute; left: 1.7241cqw; top: 1.7241cqw;
  font-size: 1.7241cqw; line-height: 1.5517cqw; }
.ft-cols { position: absolute; left: 25.3592cqw; top: 1.7241cqw; display: flex; gap: 4.5977cqw; align-items: flex-start; }
.ft-col { display: flex; flex-direction: column; gap: 1.4368cqw; align-items: flex-start; width: var(--b5-col); }
.ft-col-title { color: var(--foreground-accent); font-family: var(--font-ui); font-size: 1.1494cqw; line-height: 1.1494cqw; }
.ft-list { display: flex; flex-direction: column; gap: max(1cqw, 7px); align-items: flex-start; }
.ft-link { color: var(--foreground-accent-muted); font-family: var(--font-ui); display: block; font-size: 1.0057cqw;
  line-height: 1.0057cqw; text-transform: uppercase; transition: opacity var(--duration-fast) var(--ease-entrance); }
.ft-link:hover { color: var(--foreground-accent); }
@media (hover: none) { .ft-link:active { color: var(--foreground-accent); } }
.ft-aside { position: absolute; left: 76.0776cqw; top: 1.7241cqw; display: flex; width: 22.2086cqw; flex-direction: column; gap: 3.4483cqw; }
.ft-copy { color: var(--foreground-accent); font-family: var(--font-ui); font-size: 1.1494cqw; line-height: 1.3793cqw; text-transform: uppercase; }
.ft-email { border-bottom: 1px solid var(--foreground-accent); display: flex; width: 100%; align-items: center;
  justify-content: space-between; padding-bottom: .7184cqw; opacity: .4;
  transition: opacity var(--duration-fast) var(--ease-entrance); }
.ft-email:hover, .ft-email:focus-within { opacity: 1; }
@media (hover: none) { .ft-email:active { opacity: 1; } }
.ft-input { color: var(--foreground-accent); font-family: var(--font-ui); min-width: 0; flex: 1 1 0%; background-color: transparent;
  font-size: 1.0057cqw; line-height: .8046cqw; text-transform: uppercase; outline: none; }
.ft-input::placeholder { color: var(--foreground-accent); }
.ft-send { display: block; width: .8621cqw; height: .8621cqw; flex-shrink: 0; overflow: hidden; }
.ft-send-win { display: block; width: 100%; height: 100%; overflow: hidden; }
.ft-social { position: absolute; left: 76.0776cqw; top: 15.3736cqw; display: flex; align-items: center; gap: .8621cqw; }
.ft-icon { position: relative; display: block; width: 1.7241cqw; height: 1.7241cqw; }
.ft-icon img { display: block; width: 100%; height: 100%; }
.ft-rule { border-top: 1px solid var(--foreground-accent-muted); position: absolute; left: 1.7241cqw; top: 13.6494cqw; width: 96.5517cqw; }
.ft-legal { color: var(--foreground-accent); font-family: var(--font-ui); position: absolute; left: 1.7241cqw; top: 16.3793cqw;
  font-size: 1.0057cqw; line-height: 1.0057cqw; }
@media (prefers-reduced-motion: reduce) { .ft-link, .ft-email { transition: none; } }

@media (width < 64.0625rem) {
  .p5-section { height: auto; min-height: 100dvh; }
  .p5-picture { inset: 0; left: 0; top: 0; height: 100%; width: 100%; translate: 0 0; aspect-ratio: auto; container-type: normal; }
  .p5-far { inset: 0; height: 100%; width: 100%; }
  .p5-steam { height: 55%; }
  .p5-fore { top: auto; bottom: 0; height: 64%; }
  .p5-scene { aspect-ratio: auto; width: 100%; container-type: normal; display: flex; flex-direction: column; align-items: center;
    gap: 46px; padding: 46px var(--spacing-page) var(--spacing-page); }
  .p5-title { position: static; width: 100%; font-size: 48px; line-height: 38.4px; }
  .p5-note { position: relative; left: auto; top: auto; height: auto; width: min(342px, 100%); aspect-ratio: 342/367; }
  .p5-action { position: relative; left: auto; top: auto; height: 38px; width: 168px; }
  .p5-pill { gap: 8px; border-radius: 100px; }
  .p5-arrow-win { width: 12px; height: 12px; }
  .p5-arrow-track { width: 24px; }
  .p5-arrow-mark { width: 12px; height: 12px; }
  .p5-label { font-size: 14px; line-height: 11.2px; }

  .ft { position: static; aspect-ratio: auto; container-type: normal; height: auto; width: 100%; padding: 24px; }
  .ft-mark { position: static; font-size: 24px; line-height: 21.6px; }
  .ft-cols { position: static; }
  .ft-col { gap: 20px; width: auto; }
  .ft-col-title { font-size: 14px; line-height: 14px; }
  .ft-list { gap: 14px; }
  .ft-link { font-size: 14px; line-height: 14px; }
  .ft-aside { position: static; width: 100%; gap: 24px; }
  .ft-copy { font-size: 14px; line-height: 16.8px; }
  .ft-email { padding-bottom: 10px; }
  .ft-input { font-size: 14px; line-height: 11.2px; }
  .ft-send { width: 12px; height: 12px; }
  .ft-social { position: static; gap: 12px; }
  .ft-icon { width: 24px; height: 24px; }
  .ft-rule { position: static; width: 100%; }
  .ft-legal { position: static; font-size: 14px; line-height: 14px; }
}
@media (width >= 40.0625rem) and (width < 64.0625rem) {
  .p5-scene { min-height: 100dvh; justify-content: center; }
  .p5-note { width: auto; min-height: 240px; max-height: 367px; flex: 1 1 0%; translate: 0 -40px; }
  .p5-action { flex-shrink: 0; translate: 0 -40px; }
  .ft { flex-shrink: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; row-gap: 46px; padding: 46px; }
  .ft-mark { grid-row-start: 1; grid-column: span 4 / span 4; }
  .ft-cols { grid-row-start: 2; grid-column: span 3 / span 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .ft-col { gap: 24px; }
  .ft-link { font-size: 13px; line-height: 13px; }
  .ft-aside { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(21.19px, auto) auto;
    grid-row-start: 2; grid-column-start: 4; row-gap: 13px; }
  .ft-copy { font-size: 13px; line-height: 15.6px; align-self: start; }
  .ft-email { align-self: end; }
  .ft-social { grid-row-start: 4; grid-column-start: 4; justify-self: end; align-self: center; margin-top: -24px; }
  .ft-rule { grid-row-start: 3; grid-column: span 4 / span 4; margin-top: -12px; align-self: start; }
  .ft-legal { grid-row-start: 4; grid-column-start: 1; grid-column: span 2 / span 2; align-self: center; margin-top: -24px;
    font-size: 13px; line-height: 13px; }
}
@media (width < 40.0625rem) {
  .p5-scene { gap: 34px; padding-top: 24px; }
  .p5-title { font-size: 36px; line-height: 28.8px; }
  .p5-note { margin-top: -24px; }
  .p5-action { margin-bottom: 46px; }
  .ft { display: flex; flex-direction: column; gap: 34px; }
  .ft-cols { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 34px; }
}

:root{--gl-bg:#0c0c0c;--gl-ink:#ffedc3;--gl-accent:#ff3b30}
body{background:var(--gl-bg)}
.skip-link{position:fixed;left:20px;top:-80px;padding:14px;background:#ffedc3;color:#0c0c0c;z-index:110;font:16px/1.4 "Inter Tight",sans-serif}.skip-link:focus{top:10px}
a:focus-visible,button:focus-visible{outline:2px solid #ffedc3;outline-offset:6px}
.h-stage{background:url('/assets/hero/hero-final-frame.webp') center/cover no-repeat #0c0c0c;min-height:max(720px,100svh)}
.h-still{opacity:1!important}.h-still.film-playing{opacity:0!important}.h-veil{opacity:1!important;background:rgba(0,0,0,.48)}
.h-title,.h-wordmark,.h-nav,.h-explore,.h-dest,.h-caption,.h-thumb{opacity:1!important}.h-title .rv-l{opacity:1!important;filter:none!important;transform:none!important}
.h-card{opacity:1!important;transform:scale(1)}.h-wordmark{font-size:max(1.5rem,20px);line-height:1.1;max-width:calc(100% - 90px)}
.h-wordmark,.h-nav,.h-explore{position:absolute!important}
.h-body{font-size:max(.875rem,13px);line-height:1.25}.h-caption{font-size:max(.75rem,11px);line-height:1.2}
.h-nav,.h-explore,.h-dest{pointer-events:auto!important}.h-title--start{width:17rem;right:62.125rem}.h-title--end{width:21rem}
.h-navlist{gap:15px}.h-navlink{display:inline-flex;align-items:center;min-height:30px}.h-title{pointer-events:none}
.film-controls{position:absolute;pointer-events:auto;z-index:10;left:24px;bottom:24px;display:flex;gap:20px;color:#ffedc3;font:12px/1.4 "Inter Tight",sans-serif;text-transform:uppercase;letter-spacing:.02em}.film-controls button{border-bottom:1px solid #ffedc366;padding:9px 0;min-height:40px;cursor:pointer}
.journal-section{position:relative;z-index:2;background:#0c0c0c;color:#ffedc3;padding:110px 40px 100px;scroll-margin-top:70px;font-family:"Inter Tight",sans-serif}
.journal-intro,.journal-grid,.journal-all{max-width:1280px;margin-inline:auto}.journal-intro{display:grid;grid-template-columns:1fr 2fr;gap:48px;margin-bottom:70px}
.journal-eyebrow{font-size:12px;line-height:1.8;letter-spacing:.08em}.journal-eyebrow span{color:#d8cba9;font-size:10px;letter-spacing:.06em}
.journal-intro h2{font:400 clamp(38px,4.5vw,66px)/1.04 "Instrument Serif",serif;max-width:800px;letter-spacing:-.02em}.journal-intro>div>p{font-size:16px;line-height:1.7;color:#d8cba9;max-width:580px;margin-top:28px}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 28px}.journal-picture{display:block;overflow:hidden;aspect-ratio:4/3;border-radius:4px}.journal-picture img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.journal-card:hover img{transform:scale(1.035)}
.journal-meta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding-top:20px;border-top:1px solid #ffedc344;margin-top:20px;color:#d8cba9}.journal-card h3{font:400 33px/1.1 "Instrument Serif",serif;margin:18px 0 16px;letter-spacing:-.01em}.journal-card>p{font-size:15px;line-height:1.65;color:#d8cba9}.journal-read,.journal-all{display:flex;justify-content:space-between;padding:20px 0 10px;border-bottom:1px solid #ffedc355;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.journal-all{margin-top:55px;font-size:14px;max-width:1280px}
.p3-section{margin-top:0;height:230vh}.p3-section.static{height:auto}.p3-aside{color:#ffedc3;font-size:max(.875rem,15px);line-height:1.5}.p3-title{font-size:clamp(50px,5.8vw,84px)}
.p5-title{line-height:1}.ft-mark{max-width:20cqw;line-height:1.1}.ft-cols{gap:4cqw}.ft-col{width:12cqw}.ft-link{color:#ead9b3;line-height:1.4;min-height:24px}.ft-copy{line-height:1.5}.footer-policy{font:14px/1.5 "Inter Tight",sans-serif;display:block;color:#ffedc3;text-decoration:underline}.ft-legal{line-height:1.4;font-size:max(1cqw,12px)}
.motion-off *, .motion-off *::before,.motion-off *::after{animation:none!important;transition:none!important}.motion-off .h-grain{display:none}.motion-off .journal-card:hover img{transform:none}
.motion-off [data-pen]{clip-path:none!important}
.p5-pill{background:rgba(12,12,12,.92);color:#ffedc3;border:1px solid #ffedc388}.ft{background:rgba(12,12,12,.78)}
@media(min-width:1025px){.film-controls{left:auto;right:24px}.h-explore{left:24px;top:90px;bottom:auto}.h-dest{bottom:24px}.p3-aside{width:23rem}.p5-title{font-size:6.1cqw}.ft-legal{max-width:60%}}
@media(max-width:1024px){.journal-section{padding:75px 28px}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 22px}.journal-intro{grid-template-columns:1fr 2fr;gap:24px}.h-title--start,.h-title--end{width:auto;left:24px;right:24px}.h-wordmark{font-size:24px}.h-nav.open{background:#0c0c0cf2;border:1px solid #ffedc344;padding:15px;border-radius:4px;top:12px;right:12px}.h-nav.open .h-navlist{gap:10px}.h-navlink{min-height:40px}.film-controls{bottom:75px}.p3-section{height:230vh}.p3-aside{line-height:1.6}.ft-mark{max-width:none}.ft-col{width:auto}.ft-legal{font-size:13px;max-width:100%}}
@media(max-width:640px){.h-stage{min-height:max(680px,100svh)}.h-wordmark{font-size:19px;left:20px;top:24px}.h-nav{top:20px;right:20px}.h-body{font-size:13px}.h-card{width:calc(100vw - 48px);height:190px;top:calc(50% - 95px)}.h-caption{width:calc(100vw - 48px);font-size:10px}.h-caption--top{top:calc(50% - 120px)}.h-caption--bottom{top:calc(50% + 108px)}.h-title{font-size:48px;line-height:.95}.h-title--start{top:calc(50% - 208px)}.h-title--end{top:calc(50% + 155px)}.film-controls{left:24px;right:24px;bottom:72px;justify-content:space-between;gap:14px;font-size:10px}.h-explore{bottom:20px}.journal-section{padding:65px 24px}.journal-intro{grid-template-columns:1fr;gap:30px;margin-bottom:45px}.journal-intro h2{font-size:43px}.journal-grid{grid-template-columns:1fr;gap:45px}.journal-card h3{font-size:34px}.journal-card>p{font-size:16px}.journal-meta{font-size:12px}.p3-section{height:250vh}.p3-title{font-size:46px!important;line-height:1.05!important}.p3-aside{font-size:16px!important;line-height:1.6!important}.p5-title{font-size:43px;line-height:1.05}.ft{padding:28px 24px}.ft-mark{font-size:26px}.ft-copy{font-size:14px}.ft-link{font-size:13px;min-height:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.h-grain{display:none}.journal-card:hover img{transform:none}[data-pen]{clip-path:none!important}}
.topic-section{position:relative;z-index:2;background:#0c0c0c;padding:100px 40px 0;color:#ffedc3;font-family:"Inter Tight",sans-serif}.topic-heading,.topic-grid,.topic-section>.editorial-image-credit{max-width:1280px;margin-inline:auto}.topic-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}.topic-heading .journal-eyebrow{margin:0 0 6px;color:#d8cba9}.topic-heading h2{font:400 clamp(40px,4.5vw,66px)/1.04 "Instrument Serif",serif;letter-spacing:-.02em;margin:0}.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.topic-card{display:block;text-decoration:none}.topic-picture{aspect-ratio:3/2;overflow:hidden;border-radius:3px;background:#20211b}.topic-picture img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.topic-card:hover img{transform:scale(1.035)}.topic-card-title{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #ffedc344;padding:18px 0 14px}.topic-card-title h3{font:400 34px/1.05 "Instrument Serif",serif;margin:0}.topic-card-title>span{font-size:18px}.topic-card>p{font-size:13px;line-height:1.65;color:#d8cba9;margin:14px 0 0}.editorial-image-credit{font-size:10px;line-height:1.7;color:#bfb394;margin:26px auto 0;max-width:1280px}.editorial-image-credit a{text-decoration:underline;text-underline-offset:3px}.journal-picture{aspect-ratio:3/2}
@media(max-width:1024px){.topic-section{padding:75px 28px 0}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}.topic-heading{display:block}.topic-heading .journal-eyebrow{margin-bottom:25px}.topic-heading h2{font-size:54px}}
@media(max-width:640px){.topic-section{padding:65px 24px 0}.topic-heading h2{font-size:43px}.topic-grid{grid-template-columns:1fr;gap:34px}.topic-card-title h3{font-size:35px}.topic-card>p{font-size:15px}.editorial-image-credit{font-size:11px}}
@media(prefers-reduced-motion:reduce){.topic-picture img{transition:none}.topic-card:hover img{transform:none}}.motion-off .topic-card:hover img{transform:none}
