:root {
  --bg: #050911;
  --bg-2: #08101c;
  --panel: rgba(12, 18, 29, 0.78);
  --panel-strong: rgba(15, 22, 34, 0.92);
  --panel-soft: rgba(255, 255, 255, 0.045);
  --line: rgba(255, 255, 255, 0.11);
  --line-soft: rgba(255, 255, 255, 0.065);
  --line-strong: rgba(232, 192, 109, 0.34);
  --text: #f7f4ed;
  --muted: rgba(247, 244, 237, 0.74);
  --soft: rgba(247, 244, 237, 0.56);
  --accent: #e8c06d;
  --accent-deep: #c99737;
  --accent-soft: rgba(232, 192, 109, 0.13);
  --cool: #8fd9ff;
  --shadow: 0 34px 110px rgba(0, 0, 0, 0.54);
  --header-height: 84px;
  --header-offset: 118px;
  --stage-w: min(1560px, calc(100vw - clamp(32px, 7vw, 160px)));
  --stage-radius: clamp(26px, 2.2vw, 42px);
  --stage-pad-x: clamp(24px, 4.8vw, 78px);
  --stage-pad-y: clamp(30px, 5.4vw, 84px);
  --font: "IBM Plex Sans", "Be Vietnam Pro", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { min-height: 100%; }
body {
  margin: 0;
  color: var(--text);
  font-family: var(--font);
  font-feature-settings: "kern" 1, "liga" 1;
  background:
    linear-gradient(180deg, rgba(255,255,255,.016), transparent 18%, rgba(255,255,255,.012) 56%, transparent 100%),
    radial-gradient(ellipse at 74% 7%, rgba(143, 217, 255, .12), transparent 34%),
    radial-gradient(ellipse at 12% 6%, rgba(232, 192, 109, .11), transparent 32%),
    linear-gradient(145deg, #050911 0%, #07101c 42%, #04070d 100%);
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;
}

body::before {
  opacity: .075;
  background-image:
    linear-gradient(rgba(255,255,255,.024) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.020) 1px, transparent 1px);
  background-size: clamp(72px, 8vw, 128px) clamp(72px, 8vw, 128px);
  mask-image: linear-gradient(180deg, transparent 0, black 18%, black 58%, transparent 84%);
}

body::after {
  z-index: -1;
  opacity: .42;
  background:
    linear-gradient(90deg, transparent 0 10%, rgba(232,192,109,.018) 10.08%, transparent 10.24%, transparent 90%, rgba(143,217,255,.016) 90.08%, transparent 90.24%),
    radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.030), transparent 46%);
  mask-image: linear-gradient(180deg, black 0 38%, transparent 78%);
}

img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }

#liquidCursorCanvas { display: none !important; }

.page-shell {
  width: 100%;
  min-height: 100vh;
  padding: max(18px, env(safe-area-inset-top)) 0 64px;
}

.site-header {
  position: sticky;
  top: max(14px, env(safe-area-inset-top));
  z-index: 60;
  width: min(1500px, calc(100vw - clamp(28px, 7vw, 160px)));
  margin: 0 auto clamp(34px, 5vh, 72px);
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 18px 12px 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(5,9,16,.82), rgba(10,17,28,.72));
  box-shadow: 0 20px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(22px) saturate(116%);
  -webkit-backdrop-filter: blur(22px) saturate(116%);
}

.site-header::after {
  content: "";
  position: absolute;
  left: clamp(28px, 6vw, 120px);
  right: clamp(28px, 6vw, 120px);
  bottom: -18px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,192,109,.28), rgba(143,217,255,.14), transparent);
  opacity: .72;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.brand-logo-wrap {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: rgba(255,255,255,.92);
  box-shadow: 0 0 0 1px rgba(232,192,109,.22), 0 12px 28px rgba(0,0,0,.28);
}

.brand-logo { width: 38px; height: 38px; object-fit: contain; }
.brand-copy { min-width: 0; display: grid; gap: 2px; }
.brand-copy strong {
  font-size: 17px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.015em;
  white-space: nowrap;
}
.brand-copy small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.site-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  color: rgba(247,244,237,.84);
  font-size: 14px;
  font-weight: 800;
  border: 1px solid transparent;
  transition: border-color .22s ease, background .22s ease, color .22s ease, transform .22s ease;
  white-space: nowrap;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a.is-active {
  color: var(--text);
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  outline: none;
}

.site-nav .nav-cta {
  color: #221805;
  background: linear-gradient(135deg, #f5d684, #d49d2f);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 14px 34px rgba(201,151,55,.24);
}

.site-nav .nav-cta:hover,
.site-nav .nav-cta:focus-visible {
  transform: translateY(-1px);
  color: #201604;
  background: linear-gradient(135deg, #ffe3a0, #d7a034);
}


/* INDEX VISUAL SYSTEM — V6.11.11
   Controlled reset of the index stage layer. This replaces the accumulated
   V6.11.9/V6.11.10 stage-panel overrides instead of adding another hotfix layer. */
:root {
  --stage-w: min(1520px, calc(100vw - clamp(32px, 8vw, 176px)));
  --stage-pad-x: clamp(22px, 4.8vw, 76px);
  --stage-pad-y: clamp(32px, 5.2vw, 74px);
  --section-gap: clamp(132px, 16vh, 226px);
  --section-cut: clamp(36px, 6vh, 82px);
}

.site-header {
  width: min(1460px, calc(100vw - clamp(32px, 8vw, 176px)));
  margin-bottom: clamp(70px, 8.8vh, 118px);
  min-height: 62px;
  padding: 9px 14px 9px 10px;
  border-color: rgba(255,255,255,.075);
  background:
    linear-gradient(90deg, rgba(3, 7, 13, .96), rgba(7, 13, 23, .86));
  box-shadow: 0 22px 72px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.025), inset 0 1px 0 rgba(255,255,255,.055);
  transition: background .24s ease, border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}
body.is-header-scrolled .site-header {
  border-color: rgba(232,192,109,.12);
  background: linear-gradient(90deg, rgba(2, 5, 10, .985), rgba(6, 12, 22, .94));
  box-shadow: 0 26px 86px rgba(0,0,0,.58), 0 0 0 1px rgba(232,192,109,.04), inset 0 1px 0 rgba(255,255,255,.06);
}
.site-header::after { display: none; }
.site-nav a { min-height: 38px; padding-inline: 16px; font-size: 13px; }
.brand-logo-wrap { width: 42px; height: 42px; }
.brand-logo { width: 34px; height: 34px; }
.brand-copy strong { font-size: 16px; }
.brand-copy small { font-size: 11.5px; }

.museum-lobby-flow {
  width: 100%;
  display: grid;
  gap: var(--section-gap);
  padding-bottom: clamp(90px, 11vh, 150px);
  position: relative;
}

.museum-lobby-flow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--header-offset) + 18px);
  height: clamp(360px, 50vh, 560px);
  z-index: -3;
  pointer-events: none;
  opacity: .46;
  background:
    linear-gradient(90deg, transparent 0 19%, rgba(232,192,109,.030) 19.08%, transparent 19.22%, transparent 51%, rgba(143,217,255,.030) 51.08%, transparent 51.22%, transparent),
    linear-gradient(180deg, rgba(255,255,255,.014), transparent 48%, rgba(5,9,16,.58));
  mask-image: linear-gradient(180deg, transparent 0, black 16%, black 58%, transparent 100%);
}

.stage-section {
  position: relative;
  width: var(--stage-w);
  margin-inline: auto;
  scroll-margin-top: calc(var(--header-offset) + 72px);
  isolation: isolate;
}

.stage-section::before,
.stage-section::after { content: none; }
.stage-section + .stage-section { margin-top: 0; }

/* V6.11.15: section rails are scoped; do not let scroll-state/pseudo backgrounds bridge stages. */
.stage-section.is-stage-near { --stage-depth: 0; }

.section-boundary {
  position: absolute;
  left: clamp(20px, 4vw, 64px);
  top: -18px;
  width: min(300px, 34vw);
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(232,192,109,.75), rgba(232,192,109,.16), transparent);
  opacity: .82;
}
.section-boundary span { display: none; }

[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .58s ease, transform .58s ease;
}
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

.eyebrow,
.section-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 0 13px;
  margin: 0 0 18px;
  border: 1px solid rgba(232,192,109,.32);
  border-radius: 999px;
  color: rgba(232,192,109,.95);
  background: rgba(232,192,109,.062);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 850;
}

h1, h2, h3, h4, p { margin-top: 0; }
p { color: var(--muted); line-height: 1.62; }

/* Hero: lobby stage without the giant rounded card. */
.stage-section--intro {
  min-height: min(760px, calc(100svh - var(--header-offset) - 32px));
  display: grid;
  align-items: center;
  padding: clamp(8px, 2vh, 28px) 0 clamp(20px, 4vh, 48px);
}
.stage-section--intro::before {
  content: "";
  position: absolute;
  inset: -28px 0 -24px;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 78% 45%, rgba(143,217,255,.13), transparent 37%),
    radial-gradient(ellipse at 20% 8%, rgba(232,192,109,.11), transparent 32%),
    linear-gradient(180deg, transparent 0 78%, rgba(5,9,16,.72) 96%);
  mask-image: linear-gradient(180deg, black 0 68%, transparent 100%);
}
.stage-section--intro::after {
  content: "";
  position: absolute;
  left: clamp(22px, 6vw, 120px);
  right: clamp(22px, 6vw, 120px);
  bottom: calc(var(--section-gap) * -0.26);
  height: clamp(26px, 4vh, 52px);
  z-index: -1;
  background:
    linear-gradient(180deg, transparent, rgba(5,9,16,.88) 52%, transparent),
    linear-gradient(90deg, transparent 0 14%, rgba(232,192,109,.34), rgba(143,217,255,.12), transparent 86%);
  opacity: .76;
}

.lobby-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, .83fr) minmax(480px, 1.17fr);
  gap: clamp(40px, 7vw, 128px);
  align-items: center;
}

.hero-content { max-width: 720px; }
.hero h1 {
  max-width: 680px;
  margin-bottom: 22px;
  font-size: clamp(54px, 5.8vw, 94px);
  line-height: 1.07;
  letter-spacing: -.028em;
  font-weight: 740;
  text-wrap: balance;
}
.hero-lead {
  max-width: 700px;
  margin-bottom: 0;
  font-size: clamp(17px, 1.18vw, 21px);
  line-height: 1.62;
  color: rgba(247,244,237,.80);
}
.desktop-break { display: block; }

.hero-proof-grid.hero-proof-strip {
  width: fit-content;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 28px 0 28px;
}
.hero-proof-grid.hero-proof-strip span {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px 0 28px;
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
  color: rgba(247,244,237,.82);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
  overflow: hidden;
  transition: border-color .22s ease, color .22s ease, background .22s ease;
}
.hero-proof-grid.hero-proof-strip span::before {
  content: "";
  position: absolute;
  left: 12px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(232,192,109,.86);
  box-shadow: 0 0 10px rgba(232,192,109,.26);
}
.hero-proof-grid.hero-proof-strip span::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-110%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transition: transform .44s ease;
}
.hero-proof-grid.hero-proof-strip span:hover {
  color: #fff;
  border-color: rgba(232,192,109,.30);
  background: rgba(232,192,109,.055);
}
.hero-proof-grid.hero-proof-strip span:hover::after { transform: translateX(110%); }
.hero-proof-grid.hero-proof-strip strong { font-size: 12.5px; font-weight: 760; letter-spacing: .01em; }

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
}
.hero-action {
  position: relative;
  isolation: isolate;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(247,244,237,.90);
  text-decoration: none;
  font-size: 14px;
  font-weight: 780;
  letter-spacing: .01em;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 34px rgba(0,0,0,.20);
  transition: transform .24s ease, border-color .24s ease, background .24s ease, color .24s ease, box-shadow .24s ease;
}
.hero-action::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  transform: translateX(-108%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transition: transform .46s ease;
}
.hero-action:hover,
.hero-action:focus-visible {
  transform: translateY(-2px);
  outline: none;
}
.hero-action:hover::before,
.hero-action:focus-visible::before { transform: translateX(108%); }
.hero-action--primary {
  border-color: rgba(232,192,109,.42);
  color: #17120a;
  background: linear-gradient(135deg, #f3d689, #d8a94e 52%, #f7e3ac);
  box-shadow: 0 16px 44px rgba(232,192,109,.18), inset 0 1px 0 rgba(255,255,255,.38);
}
.hero-action--primary:hover,
.hero-action--primary:focus-visible {
  border-color: rgba(255,231,166,.72);
  box-shadow: 0 20px 54px rgba(232,192,109,.24), inset 0 1px 0 rgba(255,255,255,.46);
}
.hero-action--secondary {
  background: rgba(255,255,255,.045);
  color: rgba(247,244,237,.86);
}
.hero-action--secondary:hover,
.hero-action--secondary:focus-visible {
  border-color: rgba(232,192,109,.32);
  background: rgba(232,192,109,.075);
  color: #fff;
  box-shadow: 0 16px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.10);
}

.experience-note {
  max-width: 640px;
  margin-top: 0;
  padding: 15px 18px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 14px;
  color: rgba(247,244,237,.70);
  background: rgba(5, 9, 16, .42);
  line-height: 1.55;
}

.hero-visual {
  position: relative;
  isolation: isolate;
  perspective: 1200px;
}
.hero-visual::before {
  content: "";
  position: absolute;
  inset: clamp(18px, 2.8vw, 42px) 0 clamp(-18px, -2vw, -8px);
  z-index: -1;
  border-radius: clamp(28px, 3vw, 42px);
  background:
    radial-gradient(circle at 18% 20%, rgba(232,192,109,.26), transparent 34%),
    radial-gradient(circle at 82% 78%, rgba(108,171,222,.18), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 52%);
  filter: blur(22px);
  opacity: .68;
  pointer-events: none;
}
.museum-display-case {
  --case-radius: clamp(22px, 2.4vw, 34px);
  position: relative;
  display: block;
  min-height: clamp(320px, 33vw, 500px);
  border-radius: var(--case-radius);
  overflow: hidden;
  border: 1px solid rgba(232,192,109,.30);
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018) 34%, rgba(0,0,0,.48)),
    rgba(4, 8, 15, .58);
  box-shadow:
    0 36px 108px rgba(0,0,0,.54),
    0 0 0 10px rgba(255,255,255,.018),
    0 0 58px rgba(232,192,109,.10),
    inset 0 0 0 1px rgba(255,255,255,.09),
    inset 0 -52px 110px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transform: translateY(0) rotateY(var(--tilt-y, 0deg)) rotateX(var(--tilt-x, 0deg));
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, filter .28s ease;
}
.museum-display-case::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 4;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(232,192,109,.55), transparent 13%, transparent 87%, rgba(143,217,255,.24)),
    linear-gradient(180deg, rgba(255,255,255,.22), transparent 22%, transparent 74%, rgba(232,192,109,.16));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  padding: 1px;
  mask-composite: exclude;
  -webkit-mask-composite: xor;
  opacity: .82;
}
.museum-display-case:hover,
.museum-display-case:focus-visible {
  transform: translateY(-4px) rotateY(var(--tilt-y, 0deg)) rotateX(var(--tilt-x, 0deg));
  border-color: rgba(232,192,109,.54);
  box-shadow:
    0 48px 132px rgba(0,0,0,.62),
    0 0 0 10px rgba(232,192,109,.032),
    0 0 74px rgba(232,192,109,.16),
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset 0 -56px 120px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.22);
  outline: none;
}
.display-case-frame {
  position: absolute;
  inset: 13px;
  z-index: 3;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: calc(var(--case-radius) - 10px);
  box-shadow:
    inset 0 0 46px rgba(0,0,0,.46),
    inset 0 0 0 1px rgba(232,192,109,.10),
    0 0 0 1px rgba(232,192,109,.10);
}
.display-case-frame::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.46), transparent);
}
.hero-media-corner {
  position: absolute;
  z-index: 6;
  width: clamp(36px, 4vw, 56px);
  height: clamp(36px, 4vw, 56px);
  border-color: rgba(232,192,109,.48);
  opacity: .72;
  pointer-events: none;
  transition: opacity .28s ease, transform .28s ease, border-color .28s ease;
}
.hero-media-corner--top {
  top: 18px;
  left: 18px;
  border-top: 1px solid;
  border-left: 1px solid;
}
.hero-media-corner--bottom {
  right: 18px;
  bottom: 18px;
  border-right: 1px solid;
  border-bottom: 1px solid;
}
.museum-display-case:hover .hero-media-corner,
.museum-display-case:focus-visible .hero-media-corner {
  opacity: .94;
  border-color: rgba(255,225,154,.66);
}
.museum-display-case:hover .hero-media-corner--top,
.museum-display-case:focus-visible .hero-media-corner--top { transform: translate(-2px, -2px); }
.museum-display-case:hover .hero-media-corner--bottom,
.museum-display-case:focus-visible .hero-media-corner--bottom { transform: translate(2px, 2px); }
.display-case-frame::before {
  content: "";
  position: absolute;
  inset: -40% auto -40% -32%;
  width: 34%;
  transform: skewX(-18deg) translateX(-120%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.20), transparent);
  opacity: 0;
  transition: transform .72s ease, opacity .28s ease;
}
.museum-display-case:hover .display-case-frame::before,
.museum-display-case:focus-visible .display-case-frame::before {
  transform: skewX(-18deg) translateX(460%);
  opacity: .78;
}
.hero-video,
.video-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-video { z-index: 1; filter: contrast(1.07) saturate(.96) brightness(.84); }
.video-fallback {
  z-index: 0;
  display: grid;
  place-items: center;
  color: rgba(247,244,237,.64);
  background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(143,217,255,.045));
}
.hero-video-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(255,255,255,.18), transparent 20%, transparent 75%, rgba(232,192,109,.10)),
    linear-gradient(0deg, rgba(0,0,0,.22), transparent 40%);
  mix-blend-mode: screen;
  opacity: .45;
}
.display-case-caption {
  position: absolute;
  left: 22px;
  bottom: 18px;
  z-index: 5;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border-radius: 999px;
  color: rgba(247,244,237,.92);
  background: rgba(0,0,0,.36);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: 10px;
  font-weight: 850;
}

/* Experience: split route band; no parent mega panel. */
.stage-section--experience {
  width: min(1480px, calc(100vw - clamp(32px, 8vw, 176px)));
  padding: clamp(42px, 6vh, 86px) 0 clamp(42px, 6vh, 84px);
}
.stage-section--experience::before {
  content: "";
  position: absolute;
  left: calc(clamp(28px, 6vw, 108px) * -1);
  right: calc(clamp(28px, 6vw, 108px) * -1);
  top: -14px;
  bottom: -18px;
  z-index: -1;
  border-top: 1px solid rgba(232,192,109,.11);
  border-bottom: 1px solid rgba(143,217,255,.075);
  background:
    linear-gradient(90deg, rgba(232,192,109,.032), transparent 18%, transparent 82%, rgba(143,217,255,.030)),
    radial-gradient(ellipse at 18% 52%, rgba(232,192,109,.070), transparent 32%),
    radial-gradient(ellipse at 82% 48%, rgba(143,217,255,.055), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(5,9,16,.10) 44%, rgba(255,255,255,.012));
  mask-image: linear-gradient(180deg, transparent 0, black 18%, black 82%, transparent 100%);
}
.stage-section--experience::after {
  content: "";
  position: absolute;
  left: clamp(20px, 4vw, 76px);
  right: clamp(20px, 4vw, 76px);
  bottom: calc(var(--section-gap) * -0.18);
  height: clamp(24px, 4vh, 46px);
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent, rgba(5,9,16,.82) 54%, transparent),
    linear-gradient(90deg, transparent 0 18%, rgba(143,217,255,.060), rgba(232,192,109,.18), transparent 82%);
  opacity: .70;
}
.section-header,
.guide-detail-heading {
  position: relative;
  z-index: 1;
  max-width: 1040px;
  margin-bottom: clamp(28px, 4.2vw, 54px);
}
.section-header h2,
.guide-detail-heading h2 {
  max-width: 980px;
  margin-bottom: 14px;
  font-size: clamp(42px, 4.6vw, 76px);
  line-height: 1.08;
  letter-spacing: -.030em;
  font-weight: 740;
  text-wrap: balance;
}
.section-header p,
.guide-detail-heading p {
  max-width: 960px;
  font-size: clamp(16px, 1.08vw, 19px);
  color: rgba(247,244,237,.72);
}
.gate-public-summary {
  position: relative;
  z-index: 1;
  max-width: 920px;
  margin: clamp(-10px, -1vw, -4px) 0 clamp(24px, 3vw, 38px);
  padding: clamp(18px, 2.2vw, 28px);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: clamp(18px, 1.6vw, 26px);
  background: linear-gradient(135deg, rgba(255,255,255,.060), rgba(143,217,255,.026)), rgba(6, 11, 20, .54);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.052), 0 18px 70px rgba(0,0,0,.18);
}
.gate-public-summary[hidden] { display: none; }
.gate-public-eyebrow {
  margin: 0 0 10px;
  color: rgba(232,192,109,.92);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 900;
}
.gate-public-summary h3 {
  margin: 0;
  max-width: 820px;
  font-size: clamp(28px, 2.8vw, 46px);
  line-height: 1.10;
  letter-spacing: -.028em;
  font-weight: 740;
}
.gate-public-description {
  max-width: 820px;
  margin: 12px 0 0;
  color: rgba(247,244,237,.72);
  font-size: clamp(15px, 1vw, 18px);
}

.route-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 42px);
}
.route-card {
  position: relative;
  min-height: clamp(310px, 34vh, 440px);
  display: flex;
  flex-direction: column;
  padding: clamp(26px, 3.4vw, 48px);
  border: 1px solid rgba(255,255,255,.105);
  border-radius: clamp(18px, 1.7vw, 28px);
  background:
    linear-gradient(140deg, rgba(255,255,255,.072), rgba(255,255,255,.020) 44%, rgba(143,217,255,.045)),
    rgba(6, 11, 20, .72);
  overflow: hidden;
  box-shadow: 0 26px 90px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.055);
  transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease, background-position .38s ease;
  background-size: 160% 160%;
}
.route-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, rgba(232,192,109,.84), rgba(143,217,255,.18), transparent);
  opacity: .84;
}
.route-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent, rgba(255,255,255,.105), transparent 55%);
  transform: translateX(-120%);
  transition: transform .52s ease;
}
.route-card:hover,
.route-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(232,192,109,.38);
  background-position: 100% 50%;
  box-shadow: 0 38px 112px rgba(0,0,0,.42), 0 0 0 1px rgba(232,192,109,.08), inset 0 1px 0 rgba(255,255,255,.08);
  outline: none;
}
.route-card:hover::after,
.route-card:focus-visible::after { transform: translateX(120%); }
.route-card-topline {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: auto;
  min-height: 42px;
  color: rgba(232,192,109,.92);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 900;
}
.route-card-topline strong { color: rgba(247,244,237,.52); font-size: 12px; transition: color .22s ease, opacity .22s ease; }
.route-card-topline span { transition: color .22s ease, opacity .22s ease; }
.route-card:hover .route-card-topline span,
.route-card:focus-visible .route-card-topline span { color: rgba(255,226,160,.98); }
.route-card:hover .route-card-topline strong,
.route-card:focus-visible .route-card-topline strong { color: rgba(247,244,237,.78); }
.route-card h3 {
  position: relative;
  z-index: 1;
  max-width: 620px;
  margin: clamp(34px, 8vh, 76px) 0 16px;
  font-size: clamp(38px, 3.6vw, 60px);
  line-height: 1.08;
  letter-spacing: -.032em;
  font-weight: 740;
}
.route-card p {
  position: relative;
  z-index: 1;
  max-width: 620px;
  margin-bottom: 26px;
  font-size: clamp(15px, 1vw, 17px);
  color: rgba(247,244,237,.72);
}
.route-card ul { display: none; }
.room-link {
  position: relative;
  z-index: 1;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  color: #201604;
  background: linear-gradient(135deg, #f0cf7d, #c99632);
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 16px 34px rgba(201,151,55,.18);
  overflow: hidden;
}
.room-link em {
  font-style: normal;
  transform: translateX(0);
  transition: transform .22s ease;
}
.room-link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: translateX(-120%);
  transition: transform .42s ease;
}
.route-card:hover .room-link em,
.route-card:focus-visible .room-link em { transform: translateX(4px); }
.route-card:hover .room-link::after,
.route-card:focus-visible .room-link::after { transform: translateX(120%); }

/* Guide: keep the working structure, reduce visual weight. */
.stage-section--guide {
  width: min(1420px, calc(100vw - clamp(32px, 8vw, 176px)));
  padding: clamp(32px, 4vw, 56px) clamp(24px, 4.5vw, 64px);
  border: 1px solid rgba(255,255,255,.070);
  border-radius: clamp(18px, 1.6vw, 28px);
  background:
    linear-gradient(120deg, rgba(255,255,255,.040), rgba(255,255,255,.014) 54%, rgba(232,192,109,.030)),
    rgba(6, 11, 20, .46);
  box-shadow: 0 22px 76px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.040);
}
.stage-section--guide::before {
  content: "";
  position: absolute;
  left: clamp(24px, 4vw, 72px);
  right: clamp(24px, 4vw, 72px);
  top: -28px;
  height: 1px;
  z-index: -1;
  background: linear-gradient(90deg, transparent 0 12%, rgba(143,217,255,.10), rgba(232,192,109,.18), transparent 88%);
}
.stage-section--guide .section-boundary { top: 18px; }
.guide-journey-rail {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: clamp(18px, 2.6vw, 30px);
}
.guide-journey-rail article {
  min-height: 96px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 14px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.070);
  border-radius: 18px;
  background: rgba(3, 7, 13, .40);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.guide-journey-rail span {
  grid-row: 1 / span 2;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--text);
  background: linear-gradient(135deg, rgba(232,192,109,.22), rgba(255,255,255,.045));
  font-size: 11px;
  font-weight: 850;
  transition: background .22s ease, box-shadow .22s ease;
}
.guide-journey-rail article:hover {
  transform: translateY(-2px);
  border-color: rgba(232,192,109,.18);
  background: rgba(3, 7, 13, .48);
}
.guide-journey-rail article:hover span {
  background: linear-gradient(135deg, rgba(232,192,109,.34), rgba(255,255,255,.070));
  box-shadow: 0 0 18px rgba(232,192,109,.12);
}
.guide-journey-rail strong { color: var(--text); font-weight: 790; }
.guide-journey-rail p { margin: 5px 0 0; font-size: 13.5px; line-height: 1.50; }
.guide-platform-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 26px);
}
.guide-platform-card {
  padding: clamp(20px, 2.4vw, 30px);
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 20px;
  background: rgba(3, 7, 13, .36);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.guide-platform-card:hover {
  transform: translateY(-2px);
  border-color: rgba(232,192,109,.17);
  background: rgba(3, 7, 13, .43);
}
.guide-platform-card:hover .guide-device-icon {
  color: #ffe2a0;
  border-color: rgba(232,192,109,.28);
}
.guide-platform-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.guide-device-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 16px;
  color: var(--accent);
  background: linear-gradient(135deg, rgba(232,192,109,.15), rgba(143,217,255,.045));
  border: 1px solid rgba(232,192,109,.16);
}
.guide-device-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.guide-platform-heading small { display: block; color: rgba(232,192,109,.88); letter-spacing: .16em; text-transform: uppercase; font-size: 10px; font-weight: 850; }
.guide-platform-heading h3 { margin: 2px 0 0; font-size: clamp(24px, 2.3vw, 34px); line-height: 1.08; letter-spacing: -.025em; }
.guide-action-list { list-style: none; display: grid; gap: 10px; margin: 0; padding: 0; }
.guide-action-list li { position: relative; padding-left: 18px; color: rgba(247,244,237,.76); font-size: 14.5px; line-height: 1.55; }
.guide-action-list li::before { content: ""; position: absolute; left: 0; top: .68em; width: 4px; height: 4px; border-radius: 999px; background: rgba(232,192,109,.82); }
kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 20px;
  margin: 0 2px;
  padding: 0 7px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 7px;
  color: var(--text);
  background: rgba(255,255,255,.055);
  font-size: 11px;
  font-weight: 800;
}
.guide-contact-strip {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(210px, .72fr) minmax(320px, 1.1fr) minmax(260px, .72fr);
  gap: 10px 18px;
  margin-top: clamp(18px, 2.6vw, 30px);
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(232,192,109,.12);
  background: linear-gradient(110deg, rgba(232,192,109,.055), rgba(255,255,255,.022), rgba(143,217,255,.035));
}
.guide-contact-strip p { margin: 0; min-width: 0; }
.guide-contact-strip span { display: block; margin-bottom: 4px; color: rgba(232,192,109,.88); text-transform: uppercase; letter-spacing: .14em; font-size: 10px; font-weight: 850; }
.guide-contact-strip strong { display: block; color: var(--text); font-size: 14px; line-height: 1.35; font-weight: 720; }
.guide-contact-strip p:first-child strong { font-size: clamp(15px, 1.05vw, 17px); }


/* PORTAL TRANSITION — V6.11.12
   Ported selectively from V6.10.1: backdrop + frame + horizontal slit + grid + scan + click pulse. */
.portal-transition {
  position: fixed;
  inset: 0;
  z-index: 140;
  pointer-events: none;
  opacity: 0;
  overflow: hidden;
  isolation: isolate;
  transition: opacity .12s ease;
}

.portal-transition > * {
  position: absolute;
  pointer-events: none;
}

.portal-backdrop {
  inset: 0;
  background:
    radial-gradient(circle at 62% 48%, rgba(232,192,109,.11), transparent 34%),
    rgba(5, 10, 18, 0);
  backdrop-filter: blur(0px) saturate(100%);
  -webkit-backdrop-filter: blur(0px) saturate(100%);
}

.portal-frame {
  left: 50%;
  top: 50%;
  width: min(68vw, 860px);
  height: min(58vh, 520px);
  opacity: 0;
  border: 1px solid rgba(232,192,109,.38);
  border-radius: 32px;
  transform: translate(-50%, -50%) scale(.58, .82);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    inset 0 0 64px rgba(143,217,255,.05),
    0 0 80px rgba(232,192,109,.12);
}

.portal-frame::before,
.portal-frame::after {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 24px;
  opacity: .58;
  background:
    linear-gradient(90deg, rgba(232,192,109,.26), transparent 16%, transparent 84%, rgba(232,192,109,.26)),
    linear-gradient(180deg, rgba(255,255,255,.16), transparent 14%, transparent 86%, rgba(255,255,255,.12));
  mask-image: linear-gradient(#000 0 0);
  pointer-events: none;
}

.portal-frame::after {
  inset: 48px 16%;
  border-radius: 999px 999px 20px 20px;
  border: 1px solid rgba(232,192,109,.20);
  background:
    radial-gradient(ellipse at 50% 0%, transparent 0 44%, rgba(232,192,109,.18) 45%, transparent 48%),
    linear-gradient(90deg, transparent, rgba(143,217,255,.10), transparent);
}

.portal-slit {
  left: 50%;
  top: 50%;
  width: 2px;
  height: 70vh;
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(.16);
  transform-origin: 50% 50%;
  background: linear-gradient(180deg, transparent, rgba(255,250,232,.96) 18%, rgba(232,192,109,.96) 50%, rgba(143,217,255,.54) 76%, transparent);
  box-shadow:
    0 0 18px rgba(255,246,222,.56),
    0 0 48px rgba(232,192,109,.32),
    0 0 120px rgba(143,217,255,.12);
}

.portal-grid {
  inset: 0;
  opacity: 0;
  background-image:
    linear-gradient(rgba(232,192,109,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,192,109,.04) 1px, transparent 1px),
    radial-gradient(ellipse at 50% 52%, transparent 0 38%, rgba(232,192,109,.085) 39%, transparent 41%);
  background-size: 70px 70px, 70px 70px, 820px 460px;
  mask-image: radial-gradient(ellipse at center, black 0 54%, transparent 78%);
}

.portal-scan {
  left: -28vw;
  top: 43%;
  width: 42vw;
  height: 16vh;
  opacity: 0;
  transform: rotate(-8deg) translateX(0);
  background: linear-gradient(90deg, transparent, rgba(255,250,232,.16), rgba(232,192,109,.22), transparent);
  filter: blur(10px);
  mix-blend-mode: screen;
}

body.is-entering-gallery {
  cursor: progress;
  overflow: hidden;
}

body.is-entering-gallery .portal-transition { opacity: 1; }
body.is-entering-gallery .portal-backdrop { animation: portalBackdrop 1.16s cubic-bezier(.16,.84,.24,1) both; }
body.is-entering-gallery .portal-frame { animation: portalFrame 1.16s cubic-bezier(.16,.84,.24,1) both; }
body.is-entering-gallery .portal-slit { animation: portalSlit 1.16s cubic-bezier(.16,.84,.24,1) both; }
body.is-entering-gallery .portal-grid { animation: portalGrid 1.16s cubic-bezier(.16,.84,.24,1) both; }
body.is-entering-gallery .portal-scan { animation: portalScan 1.16s cubic-bezier(.16,.84,.24,1) both; }
body.is-entering-gallery .hero-video-card,
body.is-entering-gallery .route-card.is-click-pulsing,
body.is-entering-gallery .nav-cta.is-click-pulsing {
  animation: portalVideoPulse .52s cubic-bezier(.16,.84,.24,1) both;
}

@keyframes portalBackdrop {
  0% { background: rgba(5,10,18,0); backdrop-filter: blur(0px) saturate(100%); -webkit-backdrop-filter: blur(0px) saturate(100%); }
  42% { background: rgba(6,11,18,.20); backdrop-filter: blur(3px) saturate(112%); -webkit-backdrop-filter: blur(3px) saturate(112%); }
  100% { background: rgba(6,11,18,.30); backdrop-filter: blur(5px) saturate(118%); -webkit-backdrop-filter: blur(5px) saturate(118%); }
}

@keyframes portalFrame {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.46, .82); filter: blur(2px); }
  24% { opacity: .82; transform: translate(-50%, -50%) scale(.72, .96); filter: blur(0px); }
  62% { opacity: .70; transform: translate(-50%, -50%) scale(1.10, 1.04); }
  100% { opacity: .16; transform: translate(-50%, -50%) scale(1.56, 1.12); filter: blur(1px); }
}

@keyframes portalSlit {
  0% { opacity: 0; width: 1px; transform: translate(-50%, -50%) scaleY(.10); }
  18% { opacity: 1; width: 2px; transform: translate(-50%, -50%) scaleY(.96); }
  52% { opacity: .95; width: min(18vw, 260px); transform: translate(-50%, -50%) scaleY(1.04); }
  100% { opacity: 0; width: 118vw; transform: translate(-50%, -50%) scaleY(1.15); }
}

@keyframes portalGrid {
  0% { opacity: 0; transform: scale(.98); }
  36% { opacity: .42; transform: scale(1); }
  100% { opacity: .10; transform: scale(1.04); }
}

@keyframes portalScan {
  0% { opacity: 0; transform: rotate(-8deg) translateX(0); }
  20% { opacity: .9; }
  78% { opacity: .42; transform: rotate(-8deg) translateX(158vw); }
  100% { opacity: 0; transform: rotate(-8deg) translateX(190vw); }
}

@keyframes portalVideoPulse {
  0% { filter: brightness(1); }
  55% { filter: brightness(1.14) saturate(1.08); box-shadow: var(--shadow), 0 0 52px rgba(232,192,109,.20); }
  100% { filter: brightness(.92) saturate(.98); }
}

.intro-video-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease;
}
.intro-video-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.intro-video-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.76); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.intro-video-dialog {
  position: relative;
  width: min(1120px, 92vw);
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(6,10,18,.92);
  box-shadow: 0 40px 130px rgba(0,0,0,.58);
  overflow: hidden;
}
.intro-video-player { width: 100%; aspect-ratio: 16 / 9; background: #000; }
.intro-video-close {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: #fff;
  background: rgba(0,0,0,.46);
  cursor: pointer;
}

#premiumCursor { position: fixed; left: 0; top: 0; z-index: 80; width: 0; height: 0; pointer-events: none; opacity: 0; transform: translate3d(50vw, 50vh, 0); transition: opacity .18s ease; }
body.has-premium-cursor #premiumCursor { opacity: 1; }
body.has-premium-cursor, body.has-premium-cursor a, body.has-premium-cursor button { cursor: none; }
#premiumCursor.is-hidden { opacity: 0; }
.cursor-dot, .cursor-ring { position: absolute; left: 0; top: 0; display: block; border-radius: 999px; transform: translate(-50%, -50%); pointer-events: none; }
.cursor-dot { width: 4px; height: 4px; background: rgba(255,246,222,.86); box-shadow: 0 0 10px rgba(232,192,109,.24); }
.cursor-ring { width: 28px; height: 28px; border: 1px solid rgba(255,246,222,.48); background: radial-gradient(circle, rgba(255,255,255,.045), transparent 64%); box-shadow: 0 0 14px rgba(232,192,109,.07); transition: width .22s ease, height .22s ease, border-color .22s ease, background .22s ease; }
body.is-cursor-active .cursor-ring { width: 36px; height: 36px; border-color: rgba(232,192,109,.58); background: radial-gradient(circle, rgba(232,192,109,.075), transparent 66%); }
body.is-cursor-video .cursor-ring { width: 44px; height: 44px; border-color: rgba(255,246,222,.62); background: radial-gradient(circle, rgba(143,217,255,.075), rgba(232,192,109,.035) 46%, transparent 70%); }
#premiumCursorTrail { position: fixed; inset: 0; z-index: 79; width: 100vw; height: 100vh; pointer-events: none; opacity: 0; transition: opacity .22s ease; }
body.has-premium-cursor #premiumCursorTrail { opacity: .60; }

/* K_O_F_B — restore native cursor inside the intro video modal.
   Premium cursor remains active on the index page, but video controls need native cursor. */
body.has-premium-cursor.is-video-modal-open,
body.has-premium-cursor.is-video-modal-open .intro-video-modal,
body.has-premium-cursor.is-video-modal-open .intro-video-modal *,
body.has-premium-cursor.is-video-modal-open video,
body.has-premium-cursor.is-video-modal-open [controls] {
  cursor: auto !important;
}

body.has-premium-cursor.is-video-modal-open .intro-video-close,
body.has-premium-cursor.is-video-modal-open .intro-video-backdrop,
body.has-premium-cursor.is-video-modal-open button,
body.has-premium-cursor.is-video-modal-open [data-close-intro-video] {
  cursor: pointer !important;
}

body.has-premium-cursor.is-video-modal-open #premiumCursor,
body.has-premium-cursor.is-video-modal-open #premiumCursorTrail {
  opacity: 0 !important;
}



/* INDEX RESPONSIVE PROFILES — V6.11.11 */
@media (min-aspect-ratio: 21 / 9) {
  :root { --stage-w: min(1740px, calc(100vw - 15vw)); --section-gap: clamp(120px, 12vh, 210px); }
  .site-header { width: min(1740px, calc(100vw - 15vw)); }
  .lobby-grid { grid-template-columns: minmax(440px, .80fr) minmax(640px, 1.20fr); }
  .stage-section--experience { width: min(1660px, calc(100vw - 16vw)); }
  .stage-section--guide { width: min(1580px, calc(100vw - 18vw)); }
}

@media (max-height: 820px) and (min-width: 900px) {
  :root { --section-gap: clamp(86px, 11vh, 126px); --stage-pad-y: 28px; --section-cut: clamp(28px, 5vh, 52px); }
  .page-shell { padding-top: 10px; }
  .site-header { margin-bottom: 42px; min-height: 58px; }
  .stage-section--intro { min-height: 530px; }
  .hero h1 { font-size: clamp(44px, 4.9vw, 70px); margin-bottom: 14px; }
  .hero-lead { font-size: 16px; line-height: 1.54; }
  .hero-proof-grid.hero-proof-strip { margin: 20px 0; }
  .experience-note { padding: 12px 14px; font-size: 13.5px; }
  .museum-display-case { min-height: 292px; }
  .section-header h2, .guide-detail-heading h2 { font-size: clamp(34px, 4vw, 56px); }
  .route-card { min-height: 270px; }
  .route-card h3 { margin-top: clamp(22px, 5vh, 44px); font-size: clamp(30px, 3.2vw, 46px); }
  .guide-journey-rail article { min-height: 86px; }
  .guide-platform-card { padding: 20px; }
}

@media (max-height: 690px) and (min-width: 900px) {
  :root { --stage-w: min(1240px, calc(100vw - 52px)); --section-gap: 70px; --section-cut: 32px; }
  .site-header { width: min(1240px, calc(100vw - 52px)); }
  .stage-section--intro { min-height: 500px; }
  .lobby-grid { gap: 32px; }
  .hero h1 { font-size: clamp(38px, 4.1vw, 58px); }
  .desktop-break { display: none; }
  .museum-display-case { min-height: 250px; }
  .route-card { min-height: 238px; }
  .guide-contact-strip { padding: 13px 14px; }
}

@media (max-width: 1180px) {
  :root { --stage-w: min(1000px, calc(100vw - 34px)); --section-gap: clamp(86px, 11vh, 132px); }
  .site-header { width: min(1000px, calc(100vw - 34px)); }
  .lobby-grid { grid-template-columns: 1fr; }
  .hero-visual { max-width: 820px; width: 100%; }
  .route-grid,
  .guide-platform-grid { grid-template-columns: 1fr; }
  .guide-journey-rail { grid-template-columns: 1fr; }
  .guide-contact-strip { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  :root { --stage-w: min(100vw - 24px, 760px); --section-gap: 68px; --section-cut: 30px; }
  .page-shell { padding-top: 10px; }
  .site-header {
    position: sticky;
    top: 8px;
    align-items: flex-start;
    flex-direction: column;
    border-radius: 24px;
    padding: 12px;
    gap: 12px;
  }
  .site-nav { width: 100%; overflow-x: auto; justify-content: flex-start; padding-bottom: 2px; scrollbar-width: none; }
  .site-nav::-webkit-scrollbar { display: none; }
  .brand-copy strong, .brand-copy small { white-space: normal; }
  .stage-section--intro { min-height: auto; }
  .hero h1 { font-size: clamp(42px, 10vw, 62px); }
  .desktop-break { display: none; }
  .museum-display-case { min-height: 255px; }
  .stage-section--guide { padding: 28px 20px; }
  .route-card { min-height: 260px; }
}

@media (max-width: 640px) {
  :root { --stage-w: calc(100vw - 18px); --section-gap: 58px; }
  .brand { gap: 9px; }
  .brand-logo-wrap { width: 38px; height: 38px; }
  .brand-logo { width: 31px; height: 31px; }
  .brand-copy strong { font-size: 14px; }
  .brand-copy small { font-size: 11px; }
  .site-nav a { min-height: 36px; padding-inline: 12px; font-size: 12px; }
  .hero h1 { font-size: clamp(38px, 12.2vw, 52px); }
  .hero-lead, .section-header p, .guide-detail-heading p { font-size: 15px; line-height: 1.55; }
  .hero-proof-grid.hero-proof-strip { gap: 8px; }
  .hero-proof-grid.hero-proof-strip span { min-height: 32px; padding-inline: 12px 12px; padding-left: 26px; }
  .hero-actions { gap: 10px; margin-bottom: 16px; }
  .hero-action { width: 100%; min-height: 44px; }
  .hero-visual::before { inset-inline: 8px; filter: blur(16px); opacity: .52; }
  .hero-media-corner { width: 34px; height: 34px; }
  .hero-media-corner--top { top: 14px; left: 14px; }
  .hero-media-corner--bottom { right: 14px; bottom: 14px; }
  .experience-note { font-size: 13px; }
  .section-header h2, .guide-detail-heading h2 { font-size: clamp(32px, 10vw, 44px); }
  .route-card { padding: 22px; border-radius: 20px; }
  .route-card h3 { font-size: clamp(31px, 10vw, 42px); }
  .room-link { width: 100%; }
  .guide-platform-heading { align-items: flex-start; }
  .guide-device-icon { width: 44px; height: 44px; border-radius: 14px; }
  .guide-device-icon svg { width: 26px; height: 26px; }
  .intro-video-modal { padding: 12px; }
}

@media (max-width: 820px), (max-height: 680px) {
  body::before { opacity: .22; }
  [data-reveal] { transform: translateY(12px); }
}

@media (max-width: 800px) and (max-height: 650px) {
  :root { --stage-w: calc(100vw - 14px); --section-gap: 40px; }
  .site-header { width: calc(100vw - 14px); }
  .experience-note { display: none; }
  .museum-display-case { min-height: 220px; }
  .route-card { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  #premiumCursor, #premiumCursorTrail { display: none !important; }
  body.has-premium-cursor, body.has-premium-cursor a, body.has-premium-cursor button { cursor: auto; }
}


/* K_O_B — Mobile intro header: prevent CTA clipping on narrow browsers. */
@media (max-width: 900px) {
  .site-header {
    overflow: hidden;
  }

  .site-nav {
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
    justify-content: stretch;
    gap: 8px;
  }

  .site-nav a {
    flex: 1 1 calc(50% - 8px);
    min-width: 0;
    text-align: center;
  }
}

@media (max-width: 640px) {
  .site-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .site-nav a {
    width: 100%;
    min-width: 0;
    padding-inline: 8px;
    letter-spacing: -.01em;
  }

  .site-nav .nav-cta {
    grid-column: 1 / -1;
    min-height: 42px;
  }
}

/* K_O_C_B — Mobile landscape / low-height intro compaction.
   Keeps portrait branding intact while preventing the header/nav/CTA from
   consuming most of the viewport on iPhone Safari/Cốc Cốc landscape. */
@media (max-width: 920px) and (orientation: landscape), (max-height: 480px) and (max-width: 920px) {
  :root {
    --stage-w: calc(100vw - 18px);
    --stage-pad-x: clamp(14px, 3.2vw, 24px);
    --stage-pad-y: clamp(16px, 4vh, 24px);
    --section-gap: 34px;
    --section-cut: 18px;
  }

  .page-shell {
    padding-top: max(6px, env(safe-area-inset-top));
    padding-bottom: 26px;
  }

  .site-header {
    position: sticky;
    top: max(4px, env(safe-area-inset-top));
    width: calc(100vw - 14px);
    min-height: 48px;
    margin-bottom: 18px;
    padding: 7px 9px;
    border-radius: 18px;
    gap: 8px;
    flex-direction: row;
    align-items: center;
    overflow: visible;
  }

  .brand {
    flex: 0 1 34%;
    gap: 7px;
  }

  .brand-logo-wrap {
    width: 32px;
    height: 32px;
  }

  .brand-logo {
    width: 26px;
    height: 26px;
  }

  .brand-copy strong {
    font-size: 12.5px;
    line-height: 1.05;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .brand-copy small {
    display: none;
  }

  .site-nav {
    flex: 1 1 auto;
    width: auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 5px;
    overflow-x: auto;
    padding-bottom: 0;
  }

  .site-nav a {
    flex: 0 0 auto;
    min-height: 32px;
    padding-inline: 8px;
    font-size: 11px;
    letter-spacing: -.015em;
    border-radius: 999px;
  }

  .site-nav .nav-cta {
    min-height: 34px;
    padding-inline: 10px;
  }

  .stage-section--intro {
    min-height: auto;
  }

  .lobby-grid {
    gap: 18px;
  }

  .hero h1 {
    font-size: clamp(30px, 7.4vw, 42px);
    line-height: .95;
    margin-bottom: 10px;
  }

  .hero-lead {
    font-size: 13px;
    line-height: 1.42;
    margin-bottom: 10px;
  }

  .hero-proof-grid.hero-proof-strip {
    margin: 10px 0 12px;
    gap: 6px;
  }

  .hero-proof-grid.hero-proof-strip span {
    min-height: 28px;
    padding-inline: 9px;
    padding-left: 22px;
  }

  .hero-actions {
    gap: 8px;
    margin-bottom: 10px;
  }

  .hero-action {
    min-height: 38px;
    padding-inline: 14px;
    font-size: 12px;
  }

  .museum-display-case {
    min-height: 188px;
  }

  .experience-note {
    display: none;
  }
}

/* K_O_D_B — Mobile UX / Intro Layout / Video Fallback Hotfix.
   Scope: CSS-only layout clamp. Keeps desktop branding, colors and content unchanged. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }

  body.is-entering-gallery {
    overflow: hidden;
  }
}

.page-shell,
.intro-shell,
.museum-lobby-flow,
.stage-section,
.site-header,
.lobby-grid,
.hero-content,
.hero-visual,
.museum-display-case,
.route-grid,
.guide-platform-grid,
.guide-contact-strip {
  max-width: 100%;
}

.portal-transition {
  max-width: 100vw;
  overflow: hidden;
}

.portal-scan {
  left: 0;
  width: min(42vw, 360px);
  max-width: 100vw;
  transform: rotate(-8deg) translateX(-120%);
}

.hero-video-card.is-video-loading .hero-video {
  opacity: .18;
}

.hero-video-card.is-video-fallback .hero-video,
.hero-video-card.is-video-missing .hero-video {
  opacity: 0;
  visibility: hidden;
}

.hero-video-card.is-video-loading .video-fallback,
.hero-video-card.is-video-fallback .video-fallback,
.hero-video-card.is-video-missing .video-fallback {
  z-index: 2;
  padding: 22px;
  text-align: center;
}

.hero-video-card.is-video-fallback .video-fallback span,
.hero-video-card.is-video-missing .video-fallback span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  color: rgba(247,244,237,.88);
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.10);
}

@keyframes portalSlit {
  0% { opacity: 0; width: 1px; transform: translate(-50%, -50%) scaleY(.10); }
  18% { opacity: 1; width: 2px; transform: translate(-50%, -50%) scaleY(.96); }
  52% { opacity: .95; width: min(18vw, 260px); transform: translate(-50%, -50%) scaleY(1.04); }
  100% { opacity: 0; width: 100vw; transform: translate(-50%, -50%) scaleY(1.15); }
}

@keyframes portalScan {
  0% { opacity: 0; transform: rotate(-8deg) translateX(-120%); }
  20% { opacity: .9; }
  78% { opacity: .42; transform: rotate(-8deg) translateX(calc(100vw + 60px)); }
  100% { opacity: 0; transform: rotate(-8deg) translateX(calc(100vw + 180px)); }
}

@media (max-width: 900px) {
  body::after {
    opacity: .24;
    background: radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.028), transparent 46%);
  }

  .page-shell {
    width: 100%;
    padding-inline: 0;
  }

  .site-header {
    width: min(calc(100vw - 24px), 760px);
    max-width: calc(100vw - 24px);
    margin-inline: auto;
  }

  .stage-section {
    width: var(--stage-w);
    max-width: calc(100vw - 20px);
    overflow-x: clip;
  }

  .lobby-grid {
    min-width: 0;
  }

  .hero-content,
  .hero-visual {
    width: 100%;
    min-width: 0;
  }

  .hero h1,
  .section-header h2,
  .guide-detail-heading h2,
  .route-card h3 {
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .museum-display-case,
  .display-case-frame {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  :root {
    --stage-w: min(calc(100vw - 20px), 100%);
    --section-gap: 48px;
  }

  .page-shell {
    padding-top: max(8px, env(safe-area-inset-top));
    padding-bottom: 48px;
  }

  .site-header {
    top: max(8px, env(safe-area-inset-top));
    padding: 10px;
    border-radius: 22px;
    margin-bottom: 28px;
  }

  .site-nav {
    gap: 7px;
  }

  .site-nav a {
    min-height: 34px;
    padding-inline: 8px;
  }

  .site-nav .nav-cta {
    min-height: 40px;
  }

  .stage-section--intro {
    padding-top: 0;
  }

  .lobby-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .hero h1 {
    font-size: clamp(32px, 10.4vw, 46px);
    line-height: 1.02;
    margin-bottom: 12px;
  }

  .hero-lead,
  .section-header p,
  .guide-detail-heading p {
    font-size: 14.5px;
    line-height: 1.50;
  }

  .hero-proof-grid.hero-proof-strip {
    margin: 18px 0 20px;
    gap: 7px;
  }

  .hero-proof-grid.hero-proof-strip span {
    min-width: 0;
  }

  .hero-actions {
    gap: 9px;
    margin-bottom: 14px;
  }

  .experience-note {
    padding: 12px 14px;
    font-size: 12.5px;
    line-height: 1.48;
  }

  .museum-display-case {
    min-height: min(54svh, 300px);
  }
}

@media (max-width: 420px) {
  :root {
    --stage-w: calc(100vw - 18px);
  }

  .site-header {
    width: calc(100vw - 18px);
    max-width: calc(100vw - 18px);
  }

  .brand-copy strong {
    font-size: 13.5px;
  }

  .brand-copy small {
    font-size: 10.5px;
  }

  .hero h1 {
    font-size: clamp(30px, 10vw, 42px);
  }
}

@media (max-width: 920px) and (orientation: landscape), (max-height: 520px) and (max-width: 920px) {
  :root {
    --stage-w: min(calc(100vw - 18px), 900px);
    --section-gap: 30px;
  }

  body::after {
    opacity: 0;
    background: none;
  }

  .page-shell {
    padding-top: max(5px, env(safe-area-inset-top));
    padding-bottom: 24px;
  }

  .site-header {
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    overflow: hidden;
  }

  .stage-section {
    width: var(--stage-w);
    max-width: calc(100vw - 18px);
  }

  .lobby-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .95fr);
    gap: 16px;
  }

  .hero h1 {
    line-height: 1.02;
  }

  .hero-proof-grid.hero-proof-strip {
    max-height: 62px;
    overflow: hidden;
  }

  .hero-action {
    min-height: 36px;
  }

  .museum-display-case {
    min-height: min(46svh, 186px);
  }
}

/* K_O_E_B — Intro Video / Mobile Landscape White Rail Hotfix.
   Scope: index-only CSS guard for iPhone/Safari/Cốc Cốc mobile. */
html {
  background:
    linear-gradient(180deg, rgba(255,255,255,.016), transparent 18%, rgba(255,255,255,.012) 56%, transparent 100%),
    radial-gradient(ellipse at 74% 7%, rgba(143, 217, 255, .12), transparent 34%),
    radial-gradient(ellipse at 12% 6%, rgba(232, 192, 109, .11), transparent 32%),
    linear-gradient(145deg, #050911 0%, #07101c 42%, #04070d 100%);
}

.intro-video-dialog {
  isolation: isolate;
}

.intro-video-message {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: none;
  place-items: center;
  padding: clamp(22px, 5vw, 46px);
  text-align: center;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(0,0,0,.58), rgba(6,10,18,.86));
}

.intro-video-message span {
  display: inline-flex;
  max-width: min(680px, 82vw);
  padding: 14px 18px;
  border-radius: 16px;
  color: rgba(247,244,237,.92);
  background: rgba(0,0,0,.40);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 16px 50px rgba(0,0,0,.34);
  line-height: 1.55;
}

.intro-video-dialog.has-video-message .intro-video-message {
  display: grid;
}

.intro-video-dialog.has-video-message .intro-video-player {
  opacity: .48;
}

.intro-video-dialog[data-video-message-mode="error"] .intro-video-message span {
  border-color: rgba(232,192,109,.36);
  background: rgba(8,8,10,.58);
}

.intro-video-close {
  z-index: 3;
}

.hero-video-card.is-video-unsupported .hero-video {
  opacity: 0;
  visibility: hidden;
}

.hero-video-card.is-video-unsupported .video-fallback {
  z-index: 2;
}

@media (hover: none), (pointer: coarse), (max-width: 1024px) {
  html,
  body {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    background-color: #050911;
  }

  @supports (overflow: clip) {
    html,
    body {
      overflow-x: clip;
    }
  }

  body::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    background: none !important;
    mask-image: none !important;
  }

  .page-shell,
  .intro-shell,
  .museum-lobby-flow,
  .stage-section,
  .stage-section--intro,
  .lobby-grid,
  .hero-content,
  .hero-visual,
  .museum-display-case,
  .portal-transition {
    max-width: 100vw;
    overflow-x: clip;
  }

  .portal-scan {
    left: 0;
    width: min(42vw, 320px);
    max-width: 100vw;
    transform: rotate(-8deg) translateX(-120%);
  }

  @keyframes portalSlit {
    0% { opacity: 0; width: 1px; transform: translate(-50%, -50%) scaleY(.10); }
    18% { opacity: 1; width: 2px; transform: translate(-50%, -50%) scaleY(.96); }
    52% { opacity: .95; width: min(18vw, 220px); transform: translate(-50%, -50%) scaleY(1.04); }
    100% { opacity: 0; width: 100vw; transform: translate(-50%, -50%) scaleY(1.15); }
  }

  @keyframes portalScan {
    0% { opacity: 0; transform: rotate(-8deg) translateX(-120%); }
    20% { opacity: .9; }
    78% { opacity: .42; transform: rotate(-8deg) translateX(calc(100vw + 44px)); }
    100% { opacity: 0; transform: rotate(-8deg) translateX(calc(100vw + 120px)); }
  }
}

@media (orientation: landscape) and (max-height: 560px) {
  body::before,
  body::after {
    content: none !important;
    display: none !important;
  }

  .page-shell {
    width: 100vw;
    max-width: 100vw;
    overflow-x: clip;
  }

  .site-header {
    width: min(calc(100vw - 18px), 100%);
    max-width: calc(100vw - 18px);
    margin-inline: auto;
  }

  .stage-section {
    width: min(calc(100vw - 18px), 900px);
    max-width: calc(100vw - 18px);
    margin-inline: auto;
  }
}


/* K_O_F_C — index mobile landscape video height guard.
   Scope: low-height mobile only; keeps K_O_E_B overflow/white-rail fixes intact. */
@media (max-width: 920px) and (orientation: landscape), (max-height: 560px) and (max-width: 920px) {
  .stage-section--intro .museum-display-case {
    min-height: clamp(220px, 56svh, 320px);
  }

  .stage-section--intro .display-case-frame {
    inset: clamp(9px, 2.2svh, 13px);
  }
}

/* v6.14.012 — Mobile portrait/landscape orbit polish.
   Scoped to the featured section; controlled rAF owns orbit transforms. */
.infinity-gate[hidden] {
  display: none !important;
}

.stage-section--featured {
  width: min(1680px, calc(100vw - clamp(28px, 6vw, 148px)));
  padding: clamp(42px, 6vh, 78px) 0 clamp(48px, 7vh, 94px);
  isolation: isolate;
}

.stage-section--featured::before {
  content: "";
  position: absolute;
  inset: -28px calc(clamp(22px, 5vw, 94px) * -1) -34px;
  z-index: -3;
  pointer-events: none;
  border-block: 1px solid rgba(232, 192, 109, .105);
  background:
    radial-gradient(ellipse at 50% 45%, rgba(232, 192, 109, .105), transparent 36%),
    radial-gradient(ellipse at 16% 66%, rgba(117, 198, 238, .052), transparent 30%),
    radial-gradient(ellipse at 84% 31%, rgba(117, 198, 238, .045), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.016), rgba(3,8,15,.24) 56%, rgba(255,255,255,.01));
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 11%, #000 90%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 11%, #000 90%, transparent);
}

.stage-section--featured::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: calc(var(--section-gap) * -0.18);
  height: clamp(30px, 4.5vh, 56px);
  z-index: -2;
  pointer-events: none;
  opacity: .65;
  background:
    linear-gradient(180deg, transparent, rgba(3,7,13,.86) 52%, transparent),
    linear-gradient(90deg, transparent, rgba(232,192,109,.18), rgba(117,198,238,.05), transparent);
}

.infinity-gate-header {
  position: relative;
  z-index: 3;
  display: grid;
  justify-items: center;
  max-width: 1040px;
  margin: 0 auto clamp(24px, 3.2vw, 44px);
  text-align: center;
}

.infinity-gate-header .section-kicker {
  margin-bottom: 12px;
}

.infinity-gate-header h2 {
  max-width: 1000px;
  margin: 0;
  font-size: clamp(42px, 4.8vw, 78px);
  line-height: 1.04;
  letter-spacing: -.032em;
  font-weight: 740;
  text-wrap: balance;
}

.infinity-gate-header p {
  position: relative;
  max-width: 820px;
  margin: clamp(14px, 1.8vw, 22px) 0 0;
  padding-inline: clamp(24px, 5vw, 70px);
  color: rgba(247,244,237,.72);
  font-size: clamp(15px, 1.15vw, 19px);
  line-height: 1.5;
  letter-spacing: .015em;
  text-wrap: balance;
}

.infinity-gate-header p::before,
.infinity-gate-header p::after {
  content: "";
  position: absolute;
  top: 50%;
  width: clamp(16px, 3vw, 44px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,192,109,.62));
}

.infinity-gate-header p::before { left: 0; }
.infinity-gate-header p::after { right: 0; transform: rotate(180deg); }

.infinity-gate-stage {
  --orbit-radius: clamp(190px, 19vw, 330px);
  --orbit-transition: 0ms linear;
  position: relative;
  z-index: 2;
  min-height: clamp(520px, 51vw, 760px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: clamp(26px, 2.4vw, 42px);
  outline: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), transparent 19%, rgba(0,0,0,.28) 88%),
    radial-gradient(ellipse at 50% 43%, rgba(232,192,109,.09), transparent 34%),
    radial-gradient(ellipse at 50% 84%, rgba(117,198,238,.05), transparent 42%),
    repeating-linear-gradient(90deg, transparent 0 12.4%, rgba(232,192,109,.018) 12.5%, transparent 12.6%),
    rgba(3, 8, 16, .93);
  box-shadow:
    0 42px 126px rgba(0,0,0,.44),
    inset 0 1px 0 rgba(255,255,255,.052),
    inset 0 -52px 100px rgba(0,0,0,.25);
  perspective: 1500px;
  transform-style: preserve-3d;
}

.infinity-gate-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .62;
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(232,192,109,.038) 8.1%, transparent 8.25%, transparent 91.75%, rgba(117,198,238,.03) 91.9%, transparent 92%),
    linear-gradient(180deg, rgba(255,255,255,.026), transparent 17%);
}

.infinity-gate-stage::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: -1px;
  z-index: 12;
  height: 18%;
  pointer-events: none;
  opacity: .72;
  background: radial-gradient(ellipse at 50% 100%, rgba(232,192,109,.13), transparent 70%);
}

.infinity-gate-stage:focus-visible {
  outline: 2px solid rgba(232,192,109,.78);
  outline-offset: 5px;
}

.infinity-gate-core {
  position: absolute;
  left: 50%;
  top: 48%;
  z-index: 2;
  width: min(62%, 850px);
  height: 82%;
  pointer-events: none;
  border-radius: 50% 50% 45% 45% / 48% 48% 44% 44%;
  transform: translate3d(-50%, -50%, -110px);
  transform-style: preserve-3d;
  background:
    radial-gradient(ellipse at 50% 48%, rgba(12,27,45,.24) 0 24%, rgba(5,12,22,.76) 58%, rgba(2,6,12,.96) 100%),
    linear-gradient(180deg, rgba(117,198,238,.035), transparent 36%, rgba(232,192,109,.035));
  box-shadow:
    0 0 124px rgba(232,192,109,.14),
    inset 0 0 96px rgba(0,0,0,.62),
    inset 0 0 0 1px rgba(232,192,109,.12);
}

.infinity-gate-core::before,
.infinity-gate-core::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(232,192,109,.12);
  border-radius: inherit;
  inset: 7%;
}

.infinity-gate-core::after {
  inset: 15%;
  border-color: rgba(117,198,238,.075);
  box-shadow: inset 0 0 54px rgba(117,198,238,.035);
}

.infinity-gate-depth {
  position: absolute;
  inset: 24% 18% 17%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(117,198,238,.075), rgba(4,10,19,.64) 48%, rgba(1,4,9,.94) 74%);
  box-shadow:
    0 0 58px rgba(117,198,238,.08),
    inset 0 0 72px rgba(0,0,0,.72);
}

.infinity-gate-light {
  position: absolute;
  left: 17%;
  right: 17%;
  bottom: 7%;
  height: 18%;
  border-radius: 50%;
  opacity: .7;
  background: radial-gradient(ellipse, rgba(232,192,109,.20), rgba(232,192,109,.035) 44%, transparent 72%);
}

.infinity-gate-orbit {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  transform-style: preserve-3d;
}

.infinity-gate-orbit-line,
.infinity-gate-orbit-glow {
  position: absolute;
  left: 50%;
  top: 49%;
  width: min(86%, 1280px);
  aspect-ratio: 2.6 / 1;
  border-radius: 50%;
  transform: translate3d(-50%, -50%, -40px) rotateX(66deg) rotateZ(-3deg);
}

.infinity-gate-orbit-line {
  border: 1px solid rgba(232,192,109,.34);
  box-shadow:
    0 0 28px rgba(232,192,109,.13),
    inset 0 0 30px rgba(117,198,238,.035);
}

.infinity-gate-orbit-line::before,
.infinity-gate-orbit-line::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,223,157,.72);
  box-shadow: 0 0 14px rgba(232,192,109,.45);
  transform: translateY(-50%);
}

.infinity-gate-orbit-line::before { left: -3px; }
.infinity-gate-orbit-line::after { right: -3px; }

.infinity-gate-orbit-glow {
  border: 20px solid transparent;
  box-shadow: 0 0 52px rgba(117,198,238,.045), inset 0 0 48px rgba(232,192,109,.035);
  opacity: .82;
}

.infinity-gate-slides {
  position: absolute;
  inset: 0;
  z-index: 4;
  overflow: visible;
  transform-style: preserve-3d;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}

.infinity-gate-card {
  --orbit-angle: 0deg;
  --orbit-counter-angle: 0deg;
  --orbit-y: 0px;
  --orbit-scale: 1;
  --orbit-opacity: 1;
  --orbit-yaw: 0deg;
  --orbit-layer: 10;
  --orbit-frontness: 0;
  --orbit-prominence: 0;
  --orbit-frame-opacity: .28;
  --orbit-glass-opacity: .44;
  --media-ratio: 1.3333;
  position: absolute;
  left: 50%;
  top: 47%;
  z-index: var(--orbit-layer);
  width: min(54%, 820px);
  aspect-ratio: var(--media-ratio);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: clamp(15px, 1.5vw, 25px);
  opacity: var(--orbit-opacity);
  background: #07101c;
  box-shadow:
    0 30px 86px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.055);
  transform:
    translate3d(-50%, -50%, 0)
    rotateY(var(--orbit-angle))
    translateZ(var(--orbit-radius))
    rotateY(var(--orbit-counter-angle))
    translateY(var(--orbit-y))
    rotateY(var(--orbit-yaw))
    scale(var(--orbit-scale));
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  transition:
    width 520ms cubic-bezier(.22,.74,.22,1),
    aspect-ratio 520ms cubic-bezier(.22,.74,.22,1),
    border-color 260ms ease,
    box-shadow 420ms ease;
  pointer-events: none;
}

.infinity-gate-card.is-wide { width: min(65%, 930px); }
.infinity-gate-card.is-landscape { width: min(54%, 820px); }
.infinity-gate-card.is-square { width: min(43%, 650px); }
.infinity-gate-card.is-portrait { width: min(32%, 480px); }

.infinity-gate-card.is-active {
  pointer-events: auto;
}

.infinity-gate-card::before {
  content: "";
  position: absolute;
  inset: clamp(7px, .75vw, 11px);
  z-index: 4;
  pointer-events: none;
  border: 1px solid rgba(232,192,109,.24);
  border-radius: calc(clamp(15px, 1.5vw, 25px) - 6px);
  opacity: var(--orbit-frame-opacity);
}

.infinity-gate-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.02), transparent 53%, rgba(0,0,0,.34)),
    linear-gradient(116deg, rgba(255,255,255,.095), transparent 18%, transparent 77%, rgba(232,192,109,.06));
}

.infinity-gate-media-matte {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse at 50% 46%, rgba(117,198,238,.07), transparent 48%),
    linear-gradient(145deg, rgba(232,192,109,.08), rgba(5,12,22,.94) 52%, rgba(117,198,238,.035));
}

.infinity-gate-media-matte::after {
  content: "";
  position: absolute;
  inset: 10%;
  border: 1px solid rgba(232,192,109,.075);
  border-radius: 18px;
}

.infinity-gate-image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-position: center;
  opacity: 0;
  transform: scale(1.008);
  transition: opacity 420ms ease, transform 420ms cubic-bezier(.22,.74,.22,1);
}

.infinity-gate-card.is-landscape .infinity-gate-image,
.infinity-gate-card.is-square .infinity-gate-image {
  object-fit: cover;
}

.infinity-gate-card.is-wide .infinity-gate-image,
.infinity-gate-card.is-portrait .infinity-gate-image {
  object-fit: contain;
}

.infinity-gate-card.is-loaded .infinity-gate-image {
  opacity: 1;
  transform: scale(1);
}

.infinity-gate-card.has-media-error {
  opacity: 0;
}

.infinity-gate-card-glass {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 3%, rgba(255,231,176,.10), transparent 43%);
  opacity: var(--orbit-glass-opacity);
  mix-blend-mode: screen;
}

.infinity-gate-front-rim {
  position: absolute;
  left: 50%;
  top: 48%;
  z-index: 9;
  width: min(65%, 900px);
  height: 86%;
  pointer-events: none;
  border: 1px solid rgba(232,192,109,.46);
  border-radius: 50% 50% 45% 45% / 48% 48% 43% 43%;
  box-shadow:
    0 0 0 9px rgba(232,192,109,.014),
    0 0 0 10px rgba(255,255,255,.026),
    0 0 74px rgba(232,192,109,.16),
    inset 0 0 54px rgba(232,192,109,.028);
  transform: translate3d(-50%, -50%, 105px);
  transition: border-color 420ms ease, box-shadow 680ms ease;
}

.infinity-gate-front-rim::before,
.infinity-gate-front-rim::after,
.infinity-gate-front-rim span::before,
.infinity-gate-front-rim span::after {
  content: "";
  position: absolute;
  width: clamp(30px, 4vw, 64px);
  height: clamp(30px, 4vw, 64px);
  border-color: rgba(232,192,109,.72);
  border-style: solid;
  filter: drop-shadow(0 0 10px rgba(232,192,109,.16));
}

.infinity-gate-front-rim::before {
  left: 4%; top: 5%; border-width: 2px 0 0 2px; border-radius: 48px 0 0 0;
}
.infinity-gate-front-rim::after {
  right: 4%; top: 5%; border-width: 2px 2px 0 0; border-radius: 0 48px 0 0;
}
.infinity-gate-front-rim span::before {
  left: 4%; bottom: 5%; border-width: 0 0 2px 2px; border-radius: 0 0 0 36px;
}
.infinity-gate-front-rim span::after {
  right: 4%; bottom: 5%; border-width: 0 2px 2px 0; border-radius: 0 0 36px 0;
}

.infinity-gate-plaque {
  position: absolute;
  left: 50%;
  bottom: clamp(16px, 2vw, 28px);
  z-index: 14;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: clamp(9px, 1.3vw, 18px);
  width: min(58%, 790px);
  min-height: 52px;
  padding: 8px 10px 8px 15px;
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 999px;
  color: var(--text);
  background: rgba(3,8,15,.83);
  box-shadow: 0 16px 42px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
  transform: translateX(-50%);
}

.infinity-gate-counter {
  color: rgba(232,192,109,.92);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  white-space: nowrap;
}

.infinity-gate-plaque strong {
  min-width: 0;
  overflow: hidden;
  color: rgba(247,244,237,.92);
  font-size: clamp(14px, 1.15vw, 18px);
  font-weight: 680;
  letter-spacing: -.012em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.infinity-gate-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(232,192,109,.35);
  border-radius: 999px;
  color: rgba(255,226,164,.94);
  background: rgba(232,192,109,.055);
  font-size: 11px;
  font-weight: 760;
  text-decoration: none;
  white-space: nowrap;
  transition: color .22s ease, border-color .22s ease, background .22s ease;
}

.infinity-gate-quick-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(247,244,237,.16);
  border-radius: 999px;
  color: rgba(247,244,237,.88);
  background: rgba(255,255,255,.045);
  font: inherit;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .018em;
  white-space: nowrap;
  cursor: pointer;
  transition: color .22s ease, border-color .22s ease, background .22s ease, transform .22s ease;
}

.infinity-gate-cta[hidden],
.infinity-gate-quick-view[hidden],
.infinity-gate-controls[hidden],
.infinity-gate-dots[hidden] {
  display: none !important;
}

.infinity-gate-quick-view:hover,
.infinity-gate-quick-view:focus-visible,
.infinity-gate-cta:hover,
.infinity-gate-cta:focus-visible {
  color: #fff1c8;
  border-color: rgba(232,192,109,.62);
  background: rgba(232,192,109,.10);
  outline: none;
}

.infinity-gate-quick-view:focus-visible,
.infinity-gate-cta:focus-visible {
  box-shadow: 0 0 0 3px rgba(232,192,109,.18);
}

.infinity-gate-card.is-active {
  border-color: rgba(255,226,164,.38);
  box-shadow:
    0 36px 110px rgba(0,0,0,.48),
    0 0 0 1px rgba(232,192,109,.18),
    0 0 60px rgba(232,192,109,.16),
    inset 0 1px 0 rgba(255,255,255,.075);
  cursor: zoom-in;
}

.infinity-gate-card.is-active:focus-visible {
  outline: 2px solid rgba(255,226,164,.94);
  outline-offset: 8px;
  box-shadow:
    0 36px 110px rgba(0,0,0,.50),
    0 0 0 1px rgba(232,192,109,.36),
    0 0 0 7px rgba(232,192,109,.13),
    0 0 72px rgba(232,192,109,.21),
    inset 0 1px 0 rgba(255,255,255,.08);
}

@media (hover: hover) and (pointer: fine) {
  .infinity-gate-card.is-active:hover {
    border-color: rgba(255,226,164,.50);
    box-shadow:
      0 42px 126px rgba(0,0,0,.52),
      0 0 0 1px rgba(232,192,109,.24),
      0 0 74px rgba(232,192,109,.20),
      inset 0 1px 0 rgba(255,255,255,.085);
  }
}

.is-featured-quick-view-open {
  overflow: hidden;
}

.featured-quick-view[hidden] {
  display: none !important;
}

.featured-quick-view {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: clamp(18px, 3vw, 44px);
  color: var(--text);
}

.featured-quick-view__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 22%, rgba(232,192,109,.12), transparent 42%),
    rgba(1, 5, 11, .78);
  cursor: pointer;
}

.featured-quick-view__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, .92fr) minmax(300px, 1fr);
  gap: clamp(20px, 3vw, 36px);
  width: min(980px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 32px));
  overflow: auto;
  padding: clamp(16px, 2.4vw, 26px);
  border: 1px solid rgba(232,192,109,.26);
  border-radius: clamp(22px, 2.2vw, 34px);
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), transparent 30%),
    radial-gradient(ellipse at 12% 12%, rgba(232,192,109,.12), transparent 38%),
    rgba(4, 10, 18, .96);
  box-shadow:
    0 46px 132px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.07);
  outline: none;
}

.featured-quick-view__dialog:focus-visible {
  outline: 2px solid rgba(232,192,109,.78);
  outline-offset: 5px;
}

.featured-quick-view__close {
  position: absolute;
  top: clamp(12px, 1.7vw, 18px);
  right: clamp(12px, 1.7vw, 18px);
  z-index: 3;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: rgba(247,244,237,.9);
  background: rgba(3,8,15,.74);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transition: color .22s ease, border-color .22s ease, background .22s ease, transform .22s ease;
}

.featured-quick-view__close:hover,
.featured-quick-view__close:focus-visible {
  color: #fff1c8;
  border-color: rgba(232,192,109,.58);
  background: rgba(232,192,109,.12);
  outline: none;
  transform: translateY(-1px);
}

.featured-quick-view__media {
  position: relative;
  min-height: clamp(260px, 44vw, 520px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: clamp(18px, 1.8vw, 26px);
  background: #07101c;
  box-shadow: 0 26px 68px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.05);
}

.featured-quick-view__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 28%, rgba(0,0,0,.18)),
    radial-gradient(ellipse at 50% 0%, rgba(232,192,109,.13), transparent 45%);
}

.featured-quick-view__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.featured-quick-view__content {
  align-self: center;
  min-width: 0;
  padding: clamp(12px, 2vw, 24px) clamp(4px, 1vw, 12px);
}

.featured-quick-view__eyebrow {
  margin: 0 0 12px;
  color: rgba(232,192,109,.92);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.featured-quick-view__content h3 {
  margin: 0;
  color: rgba(255,252,245,.98);
  font-size: clamp(34px, 4vw, 62px);
  line-height: 1.04;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.featured-quick-view__subtitle {
  margin: 12px 0 0;
  color: rgba(255,226,164,.82);
  font-size: clamp(15px, 1.4vw, 20px);
  font-weight: 680;
  line-height: 1.45;
}

.featured-quick-view__description {
  max-width: 62ch;
  margin: clamp(15px, 2vw, 22px) 0 0;
  color: rgba(247,244,237,.77);
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.65;
}

.featured-quick-view__meta {
  display: grid;
  grid-template-columns: minmax(110px, auto) minmax(0, 1fr);
  gap: 9px 14px;
  margin: clamp(18px, 2.4vw, 28px) 0 0;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
}

.featured-quick-view__meta[hidden] {
  display: none !important;
}

.featured-quick-view__meta dt {
  color: rgba(247,244,237,.52);
  font-size: 11px;
  font-weight: 780;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.featured-quick-view__meta dd {
  margin: 0;
  color: rgba(247,244,237,.86);
  font-size: 13px;
  line-height: 1.45;
}

.featured-quick-view__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: clamp(20px, 2.8vw, 34px);
}

.featured-quick-view__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: clamp(16px, 2vw, 24px);
}

.featured-quick-view__nav[hidden] {
  display: none;
}

.featured-quick-view__nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 168px);
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(232,192,109,.24);
  border-radius: 999px;
  color: rgba(255,250,238,.88);
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
  font: inherit;
  font-size: 12px;
  font-weight: 780;
  letter-spacing: .01em;
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.featured-quick-view__nav-button:hover,
.featured-quick-view__nav-button:focus-visible {
  outline: none;
  color: #fff7e2;
  border-color: rgba(232,192,109,.52);
  background: rgba(232,192,109,.10);
  transform: translateY(-2px);
}

.featured-quick-view__nav-button:disabled {
  opacity: .48;
  cursor: not-allowed;
  transform: none;
}

.featured-quick-view__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border: 1px solid rgba(232,192,109,.42);
  border-radius: 999px;
  color: #1b1405;
  background: linear-gradient(135deg, #ffe3a3, #c8962c);
  box-shadow: 0 18px 48px rgba(201,150,44,.20);
  font-size: 13px;
  font-weight: 820;
  letter-spacing: .01em;
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.featured-quick-view__cta:hover,
.featured-quick-view__cta:focus-visible {
  outline: none;
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 22px 58px rgba(201,150,44,.26);
}

.featured-quick-view__share {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(232,192,109,.28);
  border-radius: 999px;
  color: rgba(255,250,238,.92);
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  font: inherit;
  font-size: 13px;
  font-weight: 780;
  letter-spacing: .01em;
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.featured-quick-view__share:hover,
.featured-quick-view__share:focus-visible {
  outline: none;
  color: #fff7e2;
  border-color: rgba(232,192,109,.54);
  background: rgba(232,192,109,.12);
  transform: translateY(-2px);
}

.featured-quick-view__share[aria-busy="true"] {
  cursor: wait;
  opacity: .82;
}

.featured-quick-view__share-status {
  flex-basis: 100%;
  min-height: 18px;
  margin: 0;
  color: rgba(247,244,237,.78);
  font-size: 12px;
  line-height: 1.45;
}

.featured-quick-view__share-status[data-state="success"] {
  color: rgba(251,224,158,.95);
}

.featured-quick-view__share-status[data-state="error"] {
  color: rgba(255,196,178,.95);
}

.featured-quick-view__share-status[hidden] {
  display: none;
}

@media (hover: none), (pointer: coarse) {
  .infinity-gate-card.is-active {
    cursor: default;
  }
}

@media (max-width: 920px) {
  .infinity-gate-plaque {
    grid-template-columns: auto minmax(0, 1fr);
    width: min(76%, 720px);
  }

  .infinity-gate-quick-view,
  .infinity-gate-cta {
    grid-column: span 1;
    min-height: 38px;
  }

  .featured-quick-view {
    align-items: end;
    padding: 12px;
  }

  .featured-quick-view__dialog {
    grid-template-columns: 1fr;
    gap: 16px;
    width: min(720px, calc(100vw - 24px));
    max-height: min(86vh, 760px);
    padding: 14px;
    border-radius: 24px 24px 18px 18px;
  }

  .featured-quick-view__media {
    min-height: clamp(210px, 52vw, 390px);
  }

  .featured-quick-view__content {
    padding: 4px 4px 10px;
  }

  .featured-quick-view__content h3 {
    font-size: clamp(30px, 8vw, 48px);
  }
}

@media (max-width: 620px) {
  .infinity-gate-plaque {
    left: 50%;
    bottom: 14px;
    grid-template-columns: auto minmax(0, 1fr);
    width: min(92%, 420px);
    padding: 9px 10px;
    border-radius: 20px;
  }

  .infinity-gate-plaque strong {
    white-space: normal;
  }

  .infinity-gate-quick-view,
  .infinity-gate-cta {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 42px;
  }

  .featured-quick-view__close {
    width: 46px;
    height: 46px;
  }

  .featured-quick-view__meta {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 14px;
  }

  .featured-quick-view__actions,
  .featured-quick-view__nav,
  .featured-quick-view__nav-button,
  .featured-quick-view__cta,
  .featured-quick-view__share {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .infinity-gate-quick-view,
  .featured-quick-view__close,
  .featured-quick-view__nav-button,
  .featured-quick-view__cta,
  .featured-quick-view__share {
    transition: none !important;
  }

  .featured-quick-view__close:hover,
  .featured-quick-view__close:focus-visible,
  .featured-quick-view__nav-button:hover,
  .featured-quick-view__nav-button:focus-visible,
  .featured-quick-view__cta:hover,
  .featured-quick-view__cta:focus-visible,
  .featured-quick-view__share:hover,
  .featured-quick-view__share:focus-visible {
    transform: none;
  }
}

.infinity-gate-controls {
  position: absolute;
  left: clamp(12px, 2vw, 30px);
  right: clamp(12px, 2vw, 30px);
  top: 48%;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
  transform: translateY(-50%);
}

.infinity-gate-controls button {
  width: 50px;
  height: 50px;
  border: 1px solid rgba(232,192,109,.20);
  border-radius: 50%;
  color: rgba(247,244,237,.88);
  background:
    radial-gradient(circle at 42% 30%, rgba(255,226,164,.14), transparent 54%),
    rgba(3,8,15,.82);
  box-shadow:
    0 16px 38px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.035),
    inset 0 1px 0 rgba(255,255,255,.055);
  cursor: pointer;
  pointer-events: auto;
  transition: color .22s ease, border-color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease;
}

.infinity-gate-controls button:hover,
.infinity-gate-controls button:focus-visible {
  color: rgba(255,226,164,.98);
  border-color: rgba(232,192,109,.70);
  background:
    radial-gradient(circle at 42% 30%, rgba(255,226,164,.22), transparent 56%),
    rgba(232,192,109,.12);
  box-shadow:
    0 18px 46px rgba(0,0,0,.38),
    0 0 0 6px rgba(232,192,109,.09),
    0 0 34px rgba(232,192,109,.18),
    inset 0 1px 0 rgba(255,255,255,.07);
  outline: none;
  transform: scale(1.055);
}

.infinity-gate-dots {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2px;
  min-height: 48px;
  margin-top: clamp(12px, 1.7vw, 22px);
}

.infinity-gate-dot {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.infinity-gate-dot span {
  width: 7px;
  height: 7px;
  border: 1px solid rgba(247,244,237,.42);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  box-shadow: 0 0 0 0 rgba(232,192,109,0);
  transition: width .25s ease, height .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.infinity-gate-dot:hover span,
.infinity-gate-dot:focus-visible span,
.infinity-gate-dot.is-active span {
  width: 20px;
  height: 8px;
  border-color: rgba(255,226,164,.92);
  background: linear-gradient(90deg, rgba(255,226,164,.92), rgba(201,150,44,.76));
  box-shadow: 0 0 0 5px rgba(232,192,109,.08), 0 0 18px rgba(232,192,109,.18);
}

.infinity-gate-dot:focus-visible {
  outline: 2px solid rgba(255,226,164,.76);
  outline-offset: -4px;
}

.infinity-gate-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.featured-runtime-debug {
  position: fixed;
  top: max(8px, env(safe-area-inset-top));
  right: max(8px, env(safe-area-inset-right));
  z-index: 99999;
  width: min(268px, calc(100vw - 16px));
  max-height: min(48vh, 480px);
  overflow: auto;
  padding: 9px 11px 10px;
  border: 1px solid rgba(232,192,109,.42);
  border-radius: 12px;
  color: rgba(247,244,237,.94);
  background: rgba(2,7,13,.93);
  box-shadow: 0 12px 38px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.055);
  font: 500 10px/1.38 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0;
  pointer-events: none;
  user-select: text;
}

.featured-runtime-debug strong {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,220,145,.96);
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.featured-runtime-debug pre {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  .featured-runtime-debug {
    width: min(218px, 56vw);
    max-height: 44vh;
    padding: 7px 8px 8px;
    border-radius: 10px;
    font-size: 8.5px;
    line-height: 1.32;
  }
}

.infinity-gate.is-orbit-running .infinity-gate-card.is-active,
.infinity-gate.is-orbit-running .infinity-gate-card.is-near {
  will-change: transform, opacity;
}

.infinity-gate-orbit-glow,
.infinity-gate-light,
.infinity-gate-front-rim {
  transition: opacity 320ms ease, border-color 320ms ease, box-shadow 420ms ease;
}

.infinity-gate.is-orbit-running .infinity-gate-orbit-glow {
  opacity: .94;
  box-shadow: 0 0 58px rgba(117,198,238,.055), inset 0 0 54px rgba(232,192,109,.048);
}

.infinity-gate.is-orbit-running .infinity-gate-light {
  opacity: .80;
}

.infinity-gate.is-orbit-running .infinity-gate-front-rim {
  border-color: rgba(232,192,109,.54);
  box-shadow:
    0 0 0 9px rgba(232,192,109,.018),
    0 0 0 10px rgba(255,255,255,.030),
    0 0 82px rgba(232,192,109,.20),
    inset 0 0 56px rgba(232,192,109,.040);
}

.infinity-gate.is-orbit-paused .infinity-gate-orbit-glow {
  opacity: .72;
}

.infinity-gate.is-manual-snap .infinity-gate-card {
  transition:
    transform 320ms cubic-bezier(.22,.74,.22,1),
    opacity 240ms ease,
    width 320ms cubic-bezier(.22,.74,.22,1),
    aspect-ratio 320ms cubic-bezier(.22,.74,.22,1),
    border-color 220ms ease,
    box-shadow 320ms ease;
}

.infinity-gate[data-featured-layout="static-single"] .infinity-gate-orbit,
.infinity-gate[data-featured-layout="reduced-motion"] .infinity-gate-orbit {
  opacity: .42;
}

.infinity-gate[data-featured-layout="shuttle-two"] .infinity-gate-stage {
  --orbit-radius: clamp(150px, 15vw, 250px);
}

@media (min-width: 1900px) {
  .stage-section--featured {
    width: min(1780px, calc(100vw - 13vw));
  }

  .infinity-gate-stage {
    min-height: 760px;
    --orbit-radius: 350px;
  }
}

@media (max-height: 820px) and (min-width: 1025px) {
  .stage-section--featured {
    padding-block: 28px 38px;
  }

  .infinity-gate-header {
    margin-bottom: 18px;
  }

  .infinity-gate-header h2 {
    font-size: clamp(38px, 4vw, 58px);
  }

  .infinity-gate-stage {
    min-height: 470px;
    --orbit-radius: clamp(160px, 16vw, 250px);
  }

  .infinity-gate-card.is-wide { width: min(56%, 720px); }
  .infinity-gate-card.is-landscape { width: min(47%, 650px); }
  .infinity-gate-card.is-square { width: min(38%, 520px); }
  .infinity-gate-card.is-portrait { width: min(28%, 390px); }

  .infinity-gate-plaque {
    bottom: 12px;
  }
}

@media (max-width: 1180px) {
  .infinity-gate-stage {
    --orbit-radius: clamp(165px, 18vw, 260px);
  }

  .infinity-gate-front-rim { width: min(70%, 820px); }
  .infinity-gate-plaque { width: min(65%, 750px); }
}

@media (max-width: 1024px) {
  .stage-section--featured {
    width: var(--stage-w);
    max-width: calc(100vw - 20px);
    padding: 34px 0 42px;
    overflow-x: clip;
  }

  .infinity-gate-header {
    margin-bottom: 22px;
  }

  .infinity-gate-header h2 {
    font-size: clamp(36px, 7vw, 56px);
  }

  .infinity-gate-stage {
    min-height: clamp(500px, 72vw, 650px);
    border-radius: 28px;
    perspective: 1250px;
    --orbit-radius: clamp(145px, 19vw, 220px);
  }

  .infinity-gate-core { width: 70%; height: 84%; }
  .infinity-gate-front-rim { width: 73%; height: 87%; }
  .infinity-gate-orbit-line,
  .infinity-gate-orbit-glow { width: 94%; }

  .infinity-gate-card.is-wide { width: min(70%, 760px); }
  .infinity-gate-card.is-landscape { width: min(61%, 680px); }
  .infinity-gate-card.is-square { width: min(49%, 550px); }
  .infinity-gate-card.is-portrait { width: min(37%, 410px); }

  .infinity-gate-plaque {
    width: min(72%, 690px);
    grid-template-columns: auto minmax(0, 1fr);
  }

  .infinity-gate-cta {
    grid-column: 1 / -1;
    justify-self: center;
  }
}

@media (max-width: 700px) {
  .stage-section--featured {
    padding: 24px 0 30px;
  }

  .infinity-gate-header {
    margin-bottom: 15px;
  }

  .infinity-gate-header .section-kicker {
    margin-bottom: 8px;
  }

  .infinity-gate-header h2 {
    font-size: clamp(31px, 9.6vw, 42px);
  }

  .infinity-gate-header p {
    margin-top: 10px;
    padding-inline: 22px;
    font-size: 13.5px;
  }

  .infinity-gate-header p::before,
  .infinity-gate-header p::after {
    width: 14px;
  }

  .infinity-gate-stage {
    min-height: clamp(430px, 108vw, 530px);
    border-radius: 22px;
    perspective: 1120px;
    --orbit-radius: clamp(145px, 39vw, 182px);
  }

  .infinity-gate-core { width: 84%; height: 74%; top: 45%; opacity: .88; }
  .infinity-gate-front-rim { width: 87%; height: 78%; top: 45%; }
  .infinity-gate-orbit-line,
  .infinity-gate-orbit-glow { top: 45%; width: 110%; }

  .infinity-gate-card { top: 43.5%; }
  .infinity-gate-card.is-wide { width: 72%; }
  .infinity-gate-card.is-landscape { width: 66%; }
  .infinity-gate-card.is-square { width: 56%; }
  .infinity-gate-card.is-portrait { width: 45%; }

  .infinity-gate-controls {
    left: 10px;
    right: 10px;
    top: 43.5%;
  }

  .infinity-gate-controls button {
    width: 44px;
    height: 44px;
  }

  .infinity-gate-plaque {
    bottom: 9px;
    width: calc(100% - 18px);
    min-height: 48px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 6px 9px;
    padding: 4px 7px 4px 12px;
  }

  .infinity-gate-plaque strong {
    font-size: 13.5px;
  }

  .infinity-gate-cta {
    grid-column: auto;
    min-height: 44px;
    max-width: 154px;
    padding-inline: 10px;
    overflow: hidden;
    font-size: 9.75px;
    text-overflow: ellipsis;
  }

  .infinity-gate-dots {
    min-height: 44px;
    margin-top: 2px;
    gap: 0;
  }
}

@media (max-width: 390px) {
  .infinity-gate-stage {
    min-height: clamp(420px, 110vw, 480px);
    --orbit-radius: clamp(142px, 39vw, 158px);
  }

  .infinity-gate-card.is-wide { width: 74%; }
  .infinity-gate-card.is-landscape { width: 68%; }
  .infinity-gate-card.is-square { width: 58%; }
  .infinity-gate-card.is-portrait { width: 47%; }

  .infinity-gate-plaque {
    width: calc(100% - 14px);
    gap: 5px 7px;
    padding-left: 10px;
  }

  .infinity-gate-counter {
    font-size: 9.5px;
  }

  .infinity-gate-cta {
    max-width: 136px;
    padding-inline: 8px;
    font-size: 9.25px;
  }
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 920px) {
  .stage-section--featured {
    padding: 12px 0 16px;
  }

  .infinity-gate-header {
    margin-bottom: 7px;
  }

  .infinity-gate-header .section-kicker {
    display: none;
  }

  .infinity-gate-header h2 {
    font-size: clamp(24px, 4.4vw, 34px);
    line-height: 1;
  }

  .infinity-gate-header p {
    max-width: 72vw;
    margin-top: 5px;
    padding-inline: 20px;
    overflow: hidden;
    font-size: 11.5px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .infinity-gate-stage {
    min-height: 250px;
    min-height: clamp(250px, 68svh, 330px);
    border-radius: 20px;
    --orbit-radius: clamp(135px, 20vw, 190px);
  }

  .infinity-gate-core { width: 54%; height: 76%; top: 46%; opacity: .84; }
  .infinity-gate-front-rim { width: 58%; height: 81%; top: 46%; }
  .infinity-gate-orbit-line,
  .infinity-gate-orbit-glow { top: 46%; width: 92%; }

  .infinity-gate-card { top: 44%; }
  .infinity-gate-card.is-wide { width: min(46%, 390px); }
  .infinity-gate-card.is-landscape { width: min(40%, 350px); }
  .infinity-gate-card.is-square { width: min(30%, 260px); }
  .infinity-gate-card.is-portrait { width: min(22%, 195px); }

  .infinity-gate-plaque {
    bottom: 5px;
    width: min(57%, 500px);
    min-height: 44px;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 7px;
    padding: 4px 10px 4px 12px;
  }

  .infinity-gate-plaque strong {
    font-size: 12px;
  }

  .infinity-gate-cta {
    display: none;
  }

  .infinity-gate-controls {
    left: 12px;
    right: 12px;
    top: 45%;
  }

  .infinity-gate-controls button {
    width: 44px;
    height: 44px;
  }

  .infinity-gate-dots {
    min-height: 44px;
    margin-top: 0;
    gap: 0;
  }
}

@media (orientation: landscape) and (max-height: 410px) and (max-width: 920px) {
  .infinity-gate-header p {
    display: none;
  }

  .infinity-gate-stage {
    min-height: clamp(236px, 66svh, 280px);
  }

  .infinity-gate-plaque {
    width: min(54%, 460px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .infinity-gate-card,
  .infinity-gate-orbit-glow,
  .infinity-gate-light,
  .infinity-gate-image,
  .infinity-gate-controls button,
  .infinity-gate-cta,
  .infinity-gate-dot span {
    transition: none !important;
  }

  .infinity-gate-stage {
    perspective: none;
  }

  .infinity-gate-card:not(.is-active) {
    display: none;
  }

  .infinity-gate-card.is-active {
    transform: translate3d(-50%, -50%, 0) !important;
  }

  .infinity-gate-orbit-line,
  .infinity-gate-orbit-glow {
    transform: translate3d(-50%, -50%, 0) rotateX(68deg);
  }
}

/* v6.14.014 — Featured nav CTA/link integration.
   Scope: header navigation only. Featured orbit/CMS contracts remain untouched. */
.site-nav [data-featured-nav-link][hidden] {
  display: none !important;
}

@media (max-width: 900px) {
  .site-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 6px;
    overflow: visible;
    padding-bottom: 0;
  }

  .site-nav.has-featured-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .site-nav a:not(.nav-cta) {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding-inline: 6px;
    text-align: center;
  }

  .site-nav .nav-cta {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 44px;
  }
}

@media (max-width: 640px) {
  .site-nav {
    gap: 6px;
  }

  .site-nav a:not(.nav-cta) {
    min-height: 40px;
    padding-inline: 4px;
    font-size: 11.25px;
    letter-spacing: -.018em;
  }

  .site-nav .nav-cta {
    min-height: 44px;
  }
}

@media (max-width: 920px) and (orientation: landscape),
       (max-height: 560px) and (max-width: 920px) {
  .site-header {
    flex-direction: row;
    align-items: center;
    gap: 6px;
    overflow: hidden;
  }

  .brand {
    flex: 0 1 27%;
    min-width: 112px;
    max-width: 180px;
  }

  .site-nav,
  .site-nav.has-featured-nav {
    flex: 1 1 auto;
    width: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(92px, 1.15fr);
    gap: 4px;
    overflow: visible;
  }

  .site-nav.has-featured-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(92px, 1.15fr);
  }

  .site-nav a:not(.nav-cta),
  .site-nav .nav-cta {
    grid-column: auto;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    min-height: 36px;
    padding-inline: 3px;
    font-size: clamp(9.75px, 1.45vw, 10.75px);
    letter-spacing: -.02em;
  }
}


/* v6.14.019 — Cultural Material System.
   Scope: CSS-only material tokens and selector allowlist.
   Layout, rhythm, navigation logic, cursor lifecycle and Featured orbit geometry remain unchanged. */
:root {
  --material-bg-deep: #050911;
  --material-bg-stage: #07101c;
  --material-surface-subtle: rgba(7, 12, 20, .44);
  --material-surface-card: rgba(7, 12, 20, .70);
  --material-surface-elevated: rgba(5, 10, 18, .88);
  --material-glass-header: linear-gradient(90deg, rgba(3, 7, 13, .965), rgba(7, 13, 23, .89));
  --material-text-primary: #f7f4ed;
  --material-text-secondary: rgba(247, 244, 237, .76);
  --material-text-tertiary: rgba(247, 244, 237, .60);
  --material-gold-primary: #e8c06d;
  --material-gold-highlight: #f5d684;
  --material-gold-deep: #c99737;
  --material-gold-ink: #211705;
  --material-gold-subtle: rgba(232, 192, 109, .065);
  --material-cool-subtle: rgba(143, 217, 255, .040);
  --material-border-subtle: rgba(255, 255, 255, .075);
  --material-border-default: rgba(255, 255, 255, .105);
  --material-border-warm: rgba(232, 192, 109, .28);
  --material-border-active: rgba(232, 192, 109, .46);
  --material-shadow-surface: 0 22px 72px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .045);
  --material-shadow-elevated: 0 30px 94px rgba(0, 0, 0, .40), inset 0 1px 0 rgba(255, 255, 255, .055);
  --material-shadow-elevated-hover: 0 36px 108px rgba(0, 0, 0, .46), 0 0 0 1px rgba(232, 192, 109, .055), inset 0 1px 0 rgba(255, 255, 255, .075);
  --material-shadow-hero: 0 38px 112px rgba(0, 0, 0, .50), 0 0 0 8px rgba(255, 255, 255, .015), 0 0 44px rgba(232, 192, 109, .075), inset 0 1px 0 rgba(255, 255, 255, .14);
  --material-shadow-hero-hover: 0 44px 126px rgba(0, 0, 0, .56), 0 0 0 8px rgba(232, 192, 109, .022), 0 0 54px rgba(232, 192, 109, .105), inset 0 1px 0 rgba(255, 255, 255, .17);
  --material-shadow-portal: 0 38px 118px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .045), inset 0 -46px 92px rgba(0, 0, 0, .22);
  --material-radius-compact: 14px;
  --material-radius-card: 20px;
  --material-radius-panel: 28px;
  --material-radius-pill: 999px;
  --material-focus-ring: rgba(232, 192, 109, .72);
}

/* Foundation and header surfaces. */
.site-header {
  border-color: var(--material-border-subtle);
  background: var(--material-glass-header);
  box-shadow: var(--material-shadow-surface);
  backdrop-filter: blur(18px) saturate(112%);
  -webkit-backdrop-filter: blur(18px) saturate(112%);
}

body.is-header-scrolled .site-header {
  border-color: rgba(232, 192, 109, .12);
  background: linear-gradient(90deg, rgba(2, 5, 10, .98), rgba(6, 12, 22, .94));
  box-shadow: var(--material-shadow-elevated);
}

.brand-logo-wrap {
  box-shadow: 0 0 0 1px rgba(232, 192, 109, .20), 0 12px 28px rgba(0, 0, 0, .26);
}

.site-nav a {
  color: rgba(247, 244, 237, .84);
}

.site-nav a:hover,
.site-nav a:focus-visible {
  border-color: var(--material-border-default);
  background: rgba(255, 255, 255, .055);
}

.site-nav a.is-active {
  border-color: rgba(232, 192, 109, .18);
  background: linear-gradient(180deg, rgba(232, 192, 109, .050), rgba(255, 255, 255, .035));
}

.site-nav .nav-cta,
.hero-action--primary {
  color: var(--material-gold-ink);
  border-color: rgba(255, 255, 255, .18);
  background: linear-gradient(135deg, var(--material-gold-highlight), var(--material-gold-deep));
}

.site-nav .nav-cta {
  box-shadow: 0 14px 34px rgba(201, 151, 55, .21), inset 0 1px 0 rgba(255, 255, 255, .28);
}

.site-nav .nav-cta:hover,
.site-nav .nav-cta:focus-visible,
.hero-action--primary:hover,
.hero-action--primary:focus-visible {
  color: #201604;
  background: linear-gradient(135deg, #f9dfa0, #d2a03c);
}

/* Shared cultural accents, labels and compact surfaces. */
.eyebrow,
.section-kicker {
  color: rgba(232, 192, 109, .94);
  border-color: var(--material-border-warm);
  background: var(--material-gold-subtle);
}

.section-boundary {
  background: linear-gradient(90deg, rgba(232, 192, 109, .68), rgba(232, 192, 109, .13), transparent);
}

.hero-lead,
.section-header p,
.guide-detail-heading p,
.infinity-gate-header p,
.route-card p {
  color: var(--material-text-secondary);
}

.hero-proof-grid.hero-proof-strip span {
  color: var(--material-text-secondary);
  border-color: var(--material-border-default);
  background: rgba(255, 255, 255, .022);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

.hero-proof-grid.hero-proof-strip span::before {
  background: rgba(232, 192, 109, .82);
  box-shadow: 0 0 9px rgba(232, 192, 109, .20);
}

.hero-proof-grid.hero-proof-strip span:hover {
  border-color: var(--material-border-warm);
  background: var(--material-gold-subtle);
}

.hero-action {
  border-color: var(--material-border-default);
  color: rgba(247, 244, 237, .90);
  box-shadow: var(--material-shadow-surface);
}

.hero-action--primary {
  box-shadow: 0 16px 42px rgba(201, 151, 55, .17), inset 0 1px 0 rgba(255, 255, 255, .36);
}

.hero-action--primary:hover,
.hero-action--primary:focus-visible {
  border-color: rgba(255, 231, 166, .66);
  box-shadow: 0 19px 50px rgba(201, 151, 55, .22), inset 0 1px 0 rgba(255, 255, 255, .42);
}

.hero-action--secondary {
  color: rgba(247, 244, 237, .86);
  background: var(--material-surface-subtle);
}

.hero-action--secondary:hover,
.hero-action--secondary:focus-visible {
  border-color: var(--material-border-warm);
  background: rgba(232, 192, 109, .070);
  box-shadow: var(--material-shadow-surface);
}

.experience-note {
  border-color: var(--material-border-subtle);
  border-radius: var(--material-radius-compact);
  color: var(--material-text-secondary);
  background: var(--material-surface-subtle);
}

/* Hero display case and modal surfaces. */
.museum-display-case {
  border-color: var(--material-border-warm);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .060), rgba(255, 255, 255, .014) 34%, rgba(0, 0, 0, .42)),
    var(--material-surface-card);
  box-shadow: var(--material-shadow-hero);
}

.museum-display-case::before {
  background:
    linear-gradient(90deg, rgba(232, 192, 109, .44), transparent 13%, transparent 87%, rgba(143, 217, 255, .16)),
    linear-gradient(180deg, rgba(255, 255, 255, .17), transparent 22%, transparent 74%, rgba(232, 192, 109, .11));
  opacity: .72;
}

.museum-display-case:hover,
.museum-display-case:focus-visible {
  border-color: var(--material-border-active);
  box-shadow: var(--material-shadow-hero-hover);
}

.display-case-frame {
  border-color: rgba(255, 255, 255, .12);
}

.display-case-caption {
  color: rgba(247, 244, 237, .92);
  border-color: var(--material-border-default);
  background: rgba(4, 9, 16, .72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.intro-video-dialog {
  border-color: var(--material-border-default);
  border-radius: var(--material-radius-panel);
  background: rgba(5, 10, 18, .94);
  box-shadow: 0 40px 126px rgba(0, 0, 0, .56), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.intro-video-close,
.intro-video-message span {
  border-color: var(--material-border-default);
  background: rgba(3, 8, 15, .72);
}

/* Experience and guide surfaces. */
.route-card {
  border-color: var(--material-border-default);
  background:
    linear-gradient(140deg, rgba(255, 255, 255, .052), rgba(255, 255, 255, .014) 44%, var(--material-cool-subtle)),
    var(--material-surface-card);
  box-shadow: var(--material-shadow-surface);
}

.route-card::before {
  background: linear-gradient(180deg, rgba(232, 192, 109, .74), rgba(143, 217, 255, .12), transparent);
  opacity: .76;
}

.route-card:hover,
.route-card:focus-visible {
  border-color: rgba(232, 192, 109, .34);
  box-shadow: var(--material-shadow-elevated-hover);
}

.route-card-topline,
.guide-platform-heading small,
.guide-contact-strip span,
.infinity-gate-counter {
  color: rgba(232, 192, 109, .88);
}

.room-link {
  color: var(--material-gold-ink);
  background: linear-gradient(135deg, var(--material-gold-primary), var(--material-gold-deep));
  box-shadow: 0 15px 32px rgba(201, 151, 55, .16);
}

.stage-section--guide {
  border-color: var(--material-border-subtle);
  background:
    linear-gradient(120deg, rgba(255, 255, 255, .032), rgba(255, 255, 255, .010) 54%, rgba(232, 192, 109, .022)),
    rgba(6, 11, 20, .48);
  box-shadow: var(--material-shadow-surface);
}

.guide-journey-rail article,
.guide-platform-card {
  border-color: var(--material-border-subtle);
  border-radius: var(--material-radius-card);
  background: rgba(4, 9, 16, .46);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .032);
}

.guide-journey-rail article:hover,
.guide-platform-card:hover {
  border-color: rgba(232, 192, 109, .17);
  background: rgba(5, 10, 18, .54);
}

.guide-journey-rail span,
.guide-device-icon {
  border-color: rgba(232, 192, 109, .15);
  background: linear-gradient(135deg, rgba(232, 192, 109, .17), rgba(255, 255, 255, .035));
}

.guide-contact-strip {
  border-color: rgba(232, 192, 109, .13);
  border-radius: var(--material-radius-card);
  background: linear-gradient(110deg, rgba(232, 192, 109, .045), rgba(255, 255, 255, .018), rgba(143, 217, 255, .022));
}

kbd {
  border-color: var(--material-border-default);
  background: rgba(255, 255, 255, .045);
}

/* Featured portal: preserve topology, reduce technical glow density. */
.stage-section--featured::before {
  border-block-color: rgba(232, 192, 109, .085);
  background:
    radial-gradient(ellipse at 50% 45%, rgba(232, 192, 109, .075), transparent 38%),
    radial-gradient(ellipse at 16% 66%, rgba(143, 217, 255, .028), transparent 31%),
    radial-gradient(ellipse at 84% 31%, rgba(143, 217, 255, .024), transparent 29%),
    linear-gradient(180deg, rgba(255, 255, 255, .012), rgba(3, 8, 15, .22) 56%, rgba(255, 255, 255, .008));
}

.stage-section--featured::after {
  opacity: .54;
  background:
    linear-gradient(180deg, transparent, rgba(3, 7, 13, .82) 52%, transparent),
    linear-gradient(90deg, transparent, rgba(232, 192, 109, .12), rgba(143, 217, 255, .028), transparent);
}

.infinity-gate-header p::before,
.infinity-gate-header p::after {
  background: linear-gradient(90deg, transparent, rgba(232, 192, 109, .48));
}

.infinity-gate-stage {
  border-color: var(--material-border-default);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .022), transparent 21%, rgba(0, 0, 0, .24) 88%),
    radial-gradient(ellipse at 50% 43%, rgba(232, 192, 109, .062), transparent 36%),
    radial-gradient(ellipse at 50% 84%, rgba(143, 217, 255, .026), transparent 44%),
    rgba(3, 8, 16, .94);
  box-shadow: var(--material-shadow-portal);
}

.infinity-gate-stage::before {
  opacity: .46;
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(232, 192, 109, .026) 8.1%, transparent 8.25%, transparent 91.75%, rgba(143, 217, 255, .018) 91.9%, transparent 92%),
    linear-gradient(180deg, rgba(255, 255, 255, .020), transparent 18%);
}

.infinity-gate-stage::after {
  opacity: .54;
  background: radial-gradient(ellipse at 50% 100%, rgba(232, 192, 109, .090), transparent 72%);
}

.infinity-gate-stage:focus-visible {
  outline-color: var(--material-focus-ring);
}

.infinity-gate-core {
  background:
    radial-gradient(ellipse at 50% 48%, rgba(12, 24, 39, .20) 0 24%, rgba(5, 12, 22, .78) 58%, rgba(2, 6, 12, .97) 100%),
    linear-gradient(180deg, rgba(143, 217, 255, .020), transparent 38%, rgba(232, 192, 109, .025));
  box-shadow:
    0 0 88px rgba(232, 192, 109, .09),
    inset 0 0 86px rgba(0, 0, 0, .64),
    inset 0 0 0 1px rgba(232, 192, 109, .09);
}

.infinity-gate-core::before,
.infinity-gate-core::after {
  border-color: rgba(232, 192, 109, .085);
}

.infinity-gate-core::after {
  border-color: rgba(143, 217, 255, .045);
  box-shadow: inset 0 0 42px rgba(143, 217, 255, .022);
}

.infinity-gate-depth {
  background: radial-gradient(ellipse, rgba(143, 217, 255, .045), rgba(4, 10, 19, .66) 48%, rgba(1, 4, 9, .95) 74%);
  box-shadow: 0 0 42px rgba(143, 217, 255, .045), inset 0 0 68px rgba(0, 0, 0, .74);
}

.infinity-gate-light {
  opacity: .56;
  background: radial-gradient(ellipse, rgba(232, 192, 109, .15), rgba(232, 192, 109, .025) 46%, transparent 72%);
}

.infinity-gate-orbit-line {
  border-color: rgba(232, 192, 109, .25);
  box-shadow: 0 0 20px rgba(232, 192, 109, .085), inset 0 0 22px rgba(143, 217, 255, .020);
}

.infinity-gate-orbit-line::before,
.infinity-gate-orbit-line::after {
  background: rgba(255, 223, 157, .58);
  box-shadow: 0 0 10px rgba(232, 192, 109, .28);
}

.infinity-gate-orbit-glow {
  box-shadow: 0 0 34px rgba(143, 217, 255, .026), inset 0 0 34px rgba(232, 192, 109, .022);
  opacity: .68;
}

.infinity-gate-card {
  border-color: var(--material-border-default);
  background: var(--material-bg-stage);
  box-shadow: var(--material-shadow-elevated);
}

.infinity-gate-card::before {
  border-color: rgba(232, 192, 109, .19);
}

.infinity-gate-card::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .02), transparent 53%, rgba(0, 0, 0, .32)),
    linear-gradient(116deg, rgba(255, 255, 255, .078), transparent 18%, transparent 77%, rgba(232, 192, 109, .045));
}

.infinity-gate-media-matte {
  background:
    radial-gradient(ellipse at 50% 46%, rgba(143, 217, 255, .040), transparent 50%),
    linear-gradient(145deg, rgba(232, 192, 109, .055), rgba(5, 12, 22, .95) 52%, rgba(143, 217, 255, .020));
}

.infinity-gate-media-matte::after {
  border-color: rgba(232, 192, 109, .055);
  border-radius: var(--material-radius-card);
}

.infinity-gate-card-glass {
  background: radial-gradient(ellipse at 50% 3%, rgba(255, 231, 176, .075), transparent 44%);
}

.infinity-gate-front-rim {
  border-color: rgba(232, 192, 109, .34);
  box-shadow:
    0 0 0 7px rgba(232, 192, 109, .010),
    0 0 0 8px rgba(255, 255, 255, .018),
    0 0 48px rgba(232, 192, 109, .10),
    inset 0 0 42px rgba(232, 192, 109, .020);
}

.infinity-gate-front-rim::before,
.infinity-gate-front-rim::after,
.infinity-gate-front-rim span::before,
.infinity-gate-front-rim span::after {
  border-color: rgba(232, 192, 109, .52);
  filter: drop-shadow(0 0 8px rgba(232, 192, 109, .10));
}

.infinity-gate.is-orbit-running .infinity-gate-orbit-glow {
  opacity: .76;
  box-shadow: 0 0 38px rgba(143, 217, 255, .030), inset 0 0 38px rgba(232, 192, 109, .026);
}

.infinity-gate.is-orbit-running .infinity-gate-light {
  opacity: .62;
}

.infinity-gate.is-orbit-running .infinity-gate-front-rim {
  border-color: rgba(232, 192, 109, .38);
  box-shadow:
    0 0 0 7px rgba(232, 192, 109, .011),
    0 0 0 8px rgba(255, 255, 255, .020),
    0 0 54px rgba(232, 192, 109, .115),
    inset 0 0 44px rgba(232, 192, 109, .022);
}

.infinity-gate.is-orbit-paused .infinity-gate-orbit-glow {
  opacity: .58;
}

.infinity-gate-plaque {
  border-color: var(--material-border-default);
  color: var(--material-text-primary);
  background: rgba(4, 9, 16, .86);
  box-shadow: var(--material-shadow-surface);
}

.infinity-gate-plaque strong {
  color: rgba(247, 244, 237, .92);
}

.infinity-gate-cta {
  color: rgba(245, 214, 132, .94);
  border-color: var(--material-border-warm);
  background: var(--material-gold-subtle);
}

.infinity-gate-cta:hover,
.infinity-gate-cta:focus-visible {
  color: #f8e3ad;
  border-color: var(--material-border-active);
  background: rgba(232, 192, 109, .09);
}

.infinity-gate-controls button {
  color: rgba(247, 244, 237, .84);
  border-color: var(--material-border-default);
  background: rgba(4, 9, 16, .80);
  box-shadow: var(--material-shadow-surface);
}

.infinity-gate-controls button:hover,
.infinity-gate-controls button:focus-visible {
  color: rgba(245, 214, 132, .98);
  border-color: var(--material-border-active);
  background: rgba(232, 192, 109, .085);
}

.infinity-gate-dot span {
  border-color: rgba(247, 244, 237, .38);
  background: rgba(255, 255, 255, .035);
}

.infinity-gate-dot:hover span,
.infinity-gate-dot:focus-visible span,
.infinity-gate-dot.is-active span {
  border-color: rgba(245, 214, 132, .80);
  background: rgba(232, 192, 109, .62);
  box-shadow: 0 0 0 5px rgba(232, 192, 109, .060), 0 0 14px rgba(232, 192, 109, .12);
}

.infinity-gate-dot:focus-visible {
  outline-color: var(--material-focus-ring);
}

/* Keyboard focus material: visible without becoming a second CTA. */
.site-nav a:focus-visible,
.hero-action:focus-visible,
.museum-display-case:focus-visible,
.route-card:focus-visible,
.infinity-gate-stage:focus-visible,
.infinity-gate-cta:focus-visible,
.infinity-gate-controls button:focus-visible {
  outline: 2px solid var(--material-focus-ring);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .site-header {
    box-shadow: 0 16px 48px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .04);
    backdrop-filter: blur(14px) saturate(108%);
    -webkit-backdrop-filter: blur(14px) saturate(108%);
  }

  .museum-display-case {
    box-shadow: 0 24px 72px rgba(0, 0, 0, .42), 0 0 32px rgba(232, 192, 109, .055), inset 0 1px 0 rgba(255, 255, 255, .10);
  }

  .route-card,
  .stage-section--guide,
  .infinity-gate-card {
    box-shadow: 0 20px 62px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .035);
  }

  .infinity-gate-stage {
    box-shadow: 0 26px 78px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .038), inset 0 -36px 72px rgba(0, 0, 0, .20);
  }

  .infinity-gate-front-rim {
    box-shadow: 0 0 0 6px rgba(232, 192, 109, .008), 0 0 36px rgba(232, 192, 109, .075), inset 0 0 32px rgba(232, 192, 109, .016);
  }
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 920px) {
  .site-header {
    backdrop-filter: blur(12px) saturate(106%);
    -webkit-backdrop-filter: blur(12px) saturate(106%);
  }

  .infinity-gate-stage {
    box-shadow: 0 18px 54px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .034), inset 0 -28px 56px rgba(0, 0, 0, .18);
  }

  .infinity-gate-front-rim {
    box-shadow: 0 0 0 5px rgba(232, 192, 109, .007), 0 0 28px rgba(232, 192, 109, .06), inset 0 0 24px rgba(232, 192, 109, .014);
  }
}

/* v6.14.017 — Smart Section Rhythm.
   Scope: index spacing, section cadence and anchor offset only.
   Visual materials, cursor, navigation logic and Featured orbit geometry remain unchanged. */
:root {
  --header-offset: 96px;
  --section-gap: clamp(104px, 10vh, 152px);
  --section-header-gap: clamp(26px, 3.2vw, 44px);
}

.site-header {
  margin-bottom: clamp(48px, 6vh, 76px);
}

.museum-lobby-flow {
  padding-bottom: clamp(64px, 8vh, 108px);
}

.stage-section {
  scroll-margin-top: var(--header-offset);
}

.section-header,
.guide-detail-heading {
  margin-bottom: var(--section-header-gap);
}

.stage-section--featured {
  padding-block: clamp(38px, 5vh, 62px) clamp(44px, 6vh, 76px);
}

.stage-section--experience {
  padding-block: clamp(38px, 5vh, 70px);
}

.stage-section--guide {
  padding-block: clamp(30px, 3.6vw, 50px);
}

@media (min-width: 1900px) {
  :root {
    --section-gap: clamp(112px, 9vh, 148px);
  }

  .site-header {
    margin-bottom: clamp(52px, 5.5vh, 72px);
  }
}

@media (max-height: 820px) and (min-width: 901px) {
  :root {
    --section-gap: clamp(72px, 9vh, 88px);
    --section-header-gap: clamp(24px, 2.8vw, 36px);
  }

  .site-header {
    margin-bottom: clamp(28px, 4vh, 36px);
  }

  .stage-section--intro {
    min-height: min(510px, calc(100svh - var(--header-offset) - 24px));
  }

  .stage-section--featured {
    padding-block: 24px 32px;
  }

  .stage-section--experience {
    padding-block: 36px;
  }

  .stage-section--guide {
    padding-block: 38px;
  }
}

@media (max-width: 1180px) and (min-width: 901px) {
  :root {
    --section-gap: clamp(68px, 8vh, 84px);
    --section-header-gap: clamp(24px, 3vw, 34px);
  }

  .site-header {
    margin-bottom: clamp(34px, 5vh, 46px);
  }

  .stage-section--featured {
    padding-block: 30px 38px;
  }

  .stage-section--experience {
    padding-block: 38px;
  }

  .stage-section--guide {
    padding-block: 32px;
  }
}

@media (max-width: 900px) {
  :root {
    --header-offset: 204px;
    --section-gap: 52px;
    --section-header-gap: 26px;
  }

  .site-header {
    margin-bottom: 24px;
  }

  .stage-section--featured {
    padding-block: 28px 34px;
  }

  .stage-section--experience {
    padding-block: clamp(36px, 5vh, 48px);
  }

  .stage-section--guide {
    padding-block: 26px;
  }
}

@media (max-width: 640px) {
  :root {
    --header-offset: 187px;
    --section-gap: 42px;
    --section-header-gap: 22px;
  }

  .page-shell {
    padding-bottom: 40px;
  }

  .site-header {
    padding: 8px 10px;
    gap: 8px;
    margin-bottom: 20px;
  }

  .site-nav {
    gap: 5px;
  }

  .stage-section--intro {
    padding-bottom: 28px;
  }

  .stage-section--featured {
    padding-block: 22px 28px;
  }

  .stage-section--experience {
    padding-block: 38px;
  }

  .stage-section--guide {
    padding: 24px 18px;
  }
}

@media (max-width: 920px) and (orientation: landscape),
       (max-height: 560px) and (max-width: 920px) {
  :root {
    --header-offset: 70px;
    --section-gap: 24px;
    --section-header-gap: 18px;
  }

  .page-shell {
    padding-bottom: 20px;
  }

  .site-header {
    margin-bottom: 14px;
  }

  .stage-section--featured {
    padding-block: 10px 14px;
  }

  .stage-section--experience {
    padding-block: 30px;
  }

  .stage-section--guide {
    padding: 22px 18px;
  }
}

/* v6.14.021 — Cultural Entrance Signal / Institutional Light Axis.
   Scope: static CSS-only Hero-to-Featured entrance cue.
   Layout, rhythm, navigation, cursor, video and Featured orbit geometry remain unchanged. */
:root {
  --entrance-axis-gold: rgba(232, 192, 109, .17);
  --entrance-axis-cool: rgba(143, 217, 255, .070);
  --entrance-threshold-line: rgba(232, 192, 109, .40);
  --entrance-depth-glow: rgba(247, 244, 237, .050);
  --entrance-axis-opacity: .82;
}

/* Give the Hero a quiet central depth without changing its geometry. */
.stage-section--intro::before {
  background:
    radial-gradient(ellipse at 50% 92%, rgba(232, 192, 109, .075), transparent 27%),
    linear-gradient(90deg, transparent 49.76%, rgba(232, 192, 109, .070) 50%, transparent 50.24%) center bottom / 100% 42% no-repeat,
    radial-gradient(ellipse at 78% 45%, rgba(143, 217, 255, .13), transparent 37%),
    radial-gradient(ellipse at 20% 8%, rgba(232, 192, 109, .11), transparent 32%),
    linear-gradient(180deg, transparent 0 78%, rgba(5, 9, 16, .72) 96%);
}

/* The exhibition threshold: one ceremonial line and two restrained perspective rays. */
.stage-section--intro::after {
  left: 50%;
  right: auto;
  bottom: calc(var(--section-gap) * -.48);
  width: min(1080px, calc(100% - clamp(44px, 10vw, 180px)));
  height: clamp(104px, 9vw, 148px);
  transform: translateX(-50%);
  z-index: -1;
  pointer-events: none;
  opacity: var(--entrance-axis-opacity);
  background:
    radial-gradient(ellipse at 50% 64%,
      rgba(232, 192, 109, .17) 0%,
      rgba(143, 217, 255, .038) 28%,
      transparent 68%),
    linear-gradient(90deg,
      transparent 0%,
      rgba(232, 192, 109, .045) 12%,
      var(--entrance-threshold-line) 48%,
      rgba(247, 244, 237, .17) 50%,
      var(--entrance-threshold-line) 52%,
      rgba(232, 192, 109, .045) 88%,
      transparent 100%) center 64% / 100% 1px no-repeat,
    linear-gradient(102deg,
      transparent 0% 46.8%,
      rgba(232, 192, 109, .050) 49.2%,
      var(--entrance-depth-glow) 50%,
      transparent 53.2%),
    linear-gradient(78deg,
      transparent 0% 46.8%,
      rgba(143, 217, 255, .032) 49.2%,
      rgba(232, 192, 109, .035) 50%,
      transparent 53.2%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 20%, #000 78%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 20%, #000 78%, transparent 100%);
}

/* Ground the display case into the light axis without touching its frame or media. */
.hero-visual::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: -34px;
  height: clamp(34px, 4vw, 54px);
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 42%,
    rgba(232, 192, 109, .12),
    rgba(143, 217, 255, .038) 38%,
    transparent 72%);
  filter: blur(9px);
  opacity: .58;
}

@media (max-height: 820px) and (min-width: 901px) {
  :root {
    --entrance-axis-opacity: .64;
  }

  .stage-section--intro::after {
    bottom: calc(var(--section-gap) * -.38);
    width: min(900px, calc(100% - 96px));
    height: 90px;
  }

  .hero-visual::after {
    bottom: -26px;
    opacity: .48;
  }
}

@media (max-width: 900px) {
  :root {
    --entrance-axis-opacity: .48;
  }

  .stage-section--intro::before {
    background:
      radial-gradient(ellipse at 50% 94%, rgba(232, 192, 109, .050), transparent 24%),
      radial-gradient(ellipse at 78% 45%, rgba(143, 217, 255, .10), transparent 37%),
      radial-gradient(ellipse at 20% 8%, rgba(232, 192, 109, .085), transparent 32%),
      linear-gradient(180deg, transparent 0 78%, rgba(5, 9, 16, .72) 96%);
  }

  .stage-section--intro::after {
    bottom: calc(var(--section-gap) * -.32);
    width: min(720px, calc(100% - 38px));
    height: 72px;
  }

  .hero-visual::after {
    left: 16%;
    right: 16%;
    bottom: -24px;
    opacity: .42;
  }
}

@media (max-width: 640px) {
  :root {
    --entrance-axis-opacity: .34;
  }

  .stage-section--intro::after {
    bottom: calc(var(--section-gap) * -.24);
    width: calc(100% - 30px);
    height: 52px;
    background:
      radial-gradient(ellipse at 50% 64%, rgba(232, 192, 109, .12), transparent 58%),
      linear-gradient(90deg,
        transparent 0%,
        rgba(232, 192, 109, .035) 16%,
        rgba(232, 192, 109, .30) 48%,
        rgba(247, 244, 237, .12) 50%,
        rgba(232, 192, 109, .30) 52%,
        rgba(232, 192, 109, .035) 84%,
        transparent 100%) center 64% / 100% 1px no-repeat;
  }

  .hero-visual::after {
    bottom: -18px;
    height: 30px;
    opacity: .30;
    filter: blur(7px);
  }
}

@media (max-width: 920px) and (orientation: landscape),
       (max-height: 560px) and (max-width: 920px) {
  .hero-visual::after {
    content: none;
  }

  .stage-section--intro::before {
    background:
      radial-gradient(ellipse at 78% 45%, rgba(143, 217, 255, .07), transparent 37%),
      radial-gradient(ellipse at 20% 8%, rgba(232, 192, 109, .06), transparent 32%),
      linear-gradient(180deg, transparent 0 78%, rgba(5, 9, 16, .72) 96%);
  }

  .stage-section--intro::after {
    bottom: calc(var(--section-gap) * -.34);
    width: min(560px, calc(100% - 44px));
    height: 24px;
    opacity: .46;
    background:
      linear-gradient(90deg,
        transparent 0%,
        rgba(232, 192, 109, .04) 18%,
        rgba(232, 192, 109, .30) 48%,
        rgba(247, 244, 237, .11) 50%,
        rgba(232, 192, 109, .30) 52%,
        rgba(232, 192, 109, .04) 82%,
        transparent 100%) center / 100% 1px no-repeat;
  }
}

/* v6.14.024 — Micro Interaction Premium Layer.
   Scope: CSS-only press, focus and pointer-capability polish.
   Layout, rhythm, material, entrance, cursor and Featured orbit logic remain unchanged. */

/* Shared focus material for focusable elements that previously relied on browser defaults. */
.brand:focus-visible,
.intro-video-close:focus-visible {
  outline: 2px solid var(--material-focus-ring);
  outline-offset: 4px;
}

.brand:focus-visible {
  border-radius: var(--material-radius-pill);
}

.intro-video-close:focus-visible {
  border-color: var(--material-border-active);
  box-shadow: 0 0 0 4px rgba(232, 192, 109, .075), 0 12px 30px rgba(0, 0, 0, .30);
}

/* Keep static information surfaces visually calm; they are not controls. */
.hero-proof-grid.hero-proof-strip span:hover {
  color: var(--material-text-secondary);
  border-color: var(--material-border-default);
  background: rgba(255, 255, 255, .022);
}

.hero-proof-grid.hero-proof-strip span:hover::after {
  transform: translateX(-110%);
}

.guide-journey-rail article:hover,
.guide-platform-card:hover {
  transform: none;
  border-color: var(--material-border-subtle);
  background: rgba(4, 9, 16, .46);
}

.guide-journey-rail article:hover span {
  border-color: rgba(232, 192, 109, .15);
  background: linear-gradient(135deg, rgba(232, 192, 109, .17), rgba(255, 255, 255, .035));
  box-shadow: none;
}

.guide-platform-card:hover .guide-device-icon {
  color: var(--accent);
  border-color: rgba(232, 192, 109, .15);
  background: linear-gradient(135deg, rgba(232, 192, 109, .17), rgba(255, 255, 255, .035));
}

/* Limit elevated hover feedback to devices that genuinely support precise hover. */
@media (hover: hover) and (pointer: fine) {
  .intro-video-close {
    transition: transform .18s ease, color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
  }

  .intro-video-close:not(:focus-visible):not(:active):hover {
    transform: translateY(-1px);
    color: #fff1c8;
    border-color: var(--material-border-active);
    background: rgba(232, 192, 109, .11);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .30);
  }
}

/* Neutralize persistent hover states on touch and hybrid coarse-pointer input. */
@media (hover: none), (pointer: coarse) {
  .site-nav a:not(.nav-cta):not(.is-active):not(:focus-visible):not(:active):hover {
    color: rgba(247, 244, 237, .84);
    border-color: transparent;
    background: transparent;
    transform: none;
  }

  .site-nav a.is-active:not(:focus-visible):not(:active):hover {
    color: var(--text);
    border-color: rgba(232, 192, 109, .18);
    background: linear-gradient(180deg, rgba(232, 192, 109, .050), rgba(255, 255, 255, .035));
    transform: none;
  }

  .site-nav .nav-cta:not(:focus-visible):not(:active):hover {
    color: var(--material-gold-ink);
    border-color: rgba(255, 255, 255, .18);
    background: linear-gradient(135deg, var(--material-gold-highlight), var(--material-gold-deep));
    box-shadow: 0 14px 34px rgba(201, 151, 55, .21), inset 0 1px 0 rgba(255, 255, 255, .28);
    transform: none;
  }

  .hero-action:not(:focus-visible):not(:active):hover {
    transform: none;
  }

  .hero-action:not(:focus-visible):not(:active):hover::before {
    transform: translateX(-108%);
  }

  .hero-action--primary:not(:focus-visible):not(:active):hover {
    color: var(--material-gold-ink);
    border-color: rgba(255, 255, 255, .18);
    background: linear-gradient(135deg, var(--material-gold-highlight), var(--material-gold-deep));
    box-shadow: 0 16px 42px rgba(201, 151, 55, .17), inset 0 1px 0 rgba(255, 255, 255, .36);
  }

  .hero-action--secondary:not(:focus-visible):not(:active):hover {
    color: rgba(247, 244, 237, .86);
    border-color: var(--material-border-default);
    background: var(--material-surface-subtle);
    box-shadow: var(--material-shadow-surface);
  }

  .museum-display-case:not(:focus-visible):not(:active):hover {
    transform: translateY(0) rotateY(var(--tilt-y, 0deg)) rotateX(var(--tilt-x, 0deg));
    border-color: var(--material-border-warm);
    box-shadow: var(--material-shadow-hero);
  }

  .museum-display-case:not(:focus-visible):not(:active):hover .hero-media-corner {
    opacity: .72;
    border-color: rgba(232, 192, 109, .48);
  }

  .museum-display-case:not(:focus-visible):not(:active):hover .hero-media-corner--top,
  .museum-display-case:not(:focus-visible):not(:active):hover .hero-media-corner--bottom {
    transform: none;
  }

  .museum-display-case:not(:focus-visible):not(:active):hover .display-case-frame::before {
    transform: skewX(-18deg) translateX(-120%);
    opacity: 0;
  }

  .route-card:not(:focus-visible):not(:active):hover {
    transform: none;
    border-color: var(--material-border-default);
    background-position: 0 0;
    box-shadow: var(--material-shadow-surface);
  }

  .route-card:not(:focus-visible):not(:active):hover::after {
    transform: translateX(-120%);
  }

  .route-card:not(:focus-visible):not(:active):hover .route-card-topline span {
    color: rgba(232, 192, 109, .88);
  }

  .route-card:not(:focus-visible):not(:active):hover .route-card-topline strong {
    color: rgba(247, 244, 237, .52);
  }

  .route-card:not(:focus-visible):not(:active):hover .room-link em {
    transform: none;
  }

  .route-card:not(:focus-visible):not(:active):hover .room-link::after {
    transform: translateX(-120%);
  }

  .infinity-gate-cta:not(:focus-visible):not(:active):hover {
    color: rgba(245, 214, 132, .94);
    border-color: var(--material-border-warm);
    background: var(--material-gold-subtle);
    transform: none;
  }

  .infinity-gate-controls button:not(:focus-visible):not(:active):hover {
    color: rgba(247, 244, 237, .84);
    border-color: var(--material-border-default);
    background: rgba(4, 9, 16, .80);
    box-shadow: var(--material-shadow-surface);
    transform: none;
  }

  .infinity-gate-dot:not(.is-active):not(:focus-visible):not(:active):hover span {
    width: 6px;
    height: 6px;
    border-color: rgba(247, 244, 237, .38);
    background: rgba(255, 255, 255, .035);
    box-shadow: none;
  }

  .intro-video-close:not(:focus-visible):not(:active):hover {
    transform: none;
  }
}

/* Tactile press feedback for genuine links and controls only. */
.brand,
.infinity-gate-cta,
.infinity-gate-dot,
.intro-video-close {
  transition: transform .18s ease, color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.brand:active {
  transform: translateY(1px) scale(.992);
}

.site-nav a:active,
.site-nav .nav-cta:active,
.hero-action:active {
  transform: translateY(1px) scale(.985);
}

.route-card:active {
  transform: translateY(-1px) scale(.996);
  box-shadow: 0 22px 66px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .055);
}

.infinity-gate-cta:active {
  transform: translateY(1px) scale(.98);
}

.infinity-gate-controls button:active,
.infinity-gate-dot:active,
.intro-video-close:active {
  transform: scale(.94);
}

.museum-display-case:active {
  filter: brightness(.97);
}

@media (prefers-reduced-motion: reduce) {
  .brand,
  .site-nav a,
  .hero-action,
  .museum-display-case,
  .route-card,
  .infinity-gate-cta,
  .infinity-gate-controls button,
  .infinity-gate-dot,
  .intro-video-close {
    transition: none;
  }

  .brand:active,
  .site-nav a:active,
  .site-nav .nav-cta:active,
  .hero-action:active,
  .route-card:active,
  .infinity-gate-cta:active,
  .infinity-gate-controls button:active,
  .infinity-gate-dot:active,
  .intro-video-close:active {
    transform: none;
  }

  .museum-display-case:active {
    filter: none;
  }
}

/* v6.14.033 — Transparent WebGL composition + opt-in runtime diagnostics. */
.webgl-liquid-cursor {
  position: fixed;
  inset: 0;
  z-index: 79;
  width: 100vw;
  height: 100vh;
  display: block;
  visibility: hidden;
  opacity: 1;
  background: transparent;
  pointer-events: none;
  user-select: none;
  contain: strict;
}

body.has-webgl-liquid-cursor .webgl-liquid-cursor.is-ready {
  visibility: visible;
  opacity: 1;
}

.liquid-cursor-debug-overlay {
  position: fixed;
  left: 12px;
  bottom: 12px;
  z-index: 98;
  width: min(360px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  margin: 0;
  padding: 10px 12px;
  overflow: hidden;
  border: 1px solid rgba(232, 192, 109, .28);
  border-radius: 10px;
  background: rgba(5, 10, 17, .86);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .34);
  color: rgba(255, 246, 222, .90);
  font: 10px/1.42 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  letter-spacing: .01em;
  white-space: pre-wrap;
  pointer-events: none;
  user-select: none;
}

body.has-webgl-liquid-cursor,
body.has-webgl-liquid-cursor a,
body.has-webgl-liquid-cursor button,
body.has-webgl-liquid-cursor [role="button"],
body.has-webgl-liquid-cursor input,
body.has-webgl-liquid-cursor select,
body.has-webgl-liquid-cursor textarea,
body.has-webgl-liquid-cursor [data-featured-interactive] {
  cursor: none;
}

body.has-webgl-liquid-cursor.is-video-modal-open,
body.has-webgl-liquid-cursor.is-video-modal-open .intro-video-modal,
body.has-webgl-liquid-cursor.is-video-modal-open .intro-video-modal *,
body.has-webgl-liquid-cursor.is-video-modal-open video,
body.has-webgl-liquid-cursor.is-video-modal-open [controls] {
  cursor: auto;
}

body.has-webgl-liquid-cursor.is-video-modal-open .intro-video-close,
body.has-webgl-liquid-cursor.is-video-modal-open .intro-video-backdrop,
body.has-webgl-liquid-cursor.is-video-modal-open button,
body.has-webgl-liquid-cursor.is-video-modal-open [data-close-intro-video] {
  cursor: pointer;
}

body.is-video-modal-open .webgl-liquid-cursor {
  visibility: hidden;
}

@media (max-width: 819px), (hover: none), (pointer: coarse) {
  .webgl-liquid-cursor {
    display: none;
  }

  body.has-webgl-liquid-cursor,
  body.has-webgl-liquid-cursor a,
  body.has-webgl-liquid-cursor button,
  body.has-webgl-liquid-cursor [role="button"],
  body.has-webgl-liquid-cursor input,
  body.has-webgl-liquid-cursor select,
  body.has-webgl-liquid-cursor textarea,
  body.has-webgl-liquid-cursor [data-featured-interactive] {
    cursor: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .webgl-liquid-cursor {
    display: none;
    transition: none;
  }

  body.has-webgl-liquid-cursor,
  body.has-webgl-liquid-cursor a,
  body.has-webgl-liquid-cursor button,
  body.has-webgl-liquid-cursor [role="button"],
  body.has-webgl-liquid-cursor input,
  body.has-webgl-liquid-cursor select,
  body.has-webgl-liquid-cursor textarea,
  body.has-webgl-liquid-cursor [data-featured-interactive] {
    cursor: auto;
  }
}

/* v6.14.066.036.28 — Home public field contract text bindings */
.hero-subtitle {
  max-width: 660px;
  margin: -10px 0 16px;
  color: rgba(232,192,109,.90);
  font-size: clamp(18px, 1.26vw, 23px);
  line-height: 1.48;
  font-weight: 650;
  text-wrap: balance;
}

.section-subtitle,
.section-body {
  max-width: 940px;
  color: rgba(247,244,237,.70);
  line-height: 1.62;
}

.section-subtitle {
  margin: -2px 0 12px;
  color: rgba(232,192,109,.86);
  font-size: clamp(17px, 1.12vw, 20px);
  font-weight: 680;
  text-wrap: balance;
}

.section-body {
  margin: 12px 0 0;
  font-size: clamp(15px, 1vw, 18px);
}

@media (max-width: 760px) {
  .hero-subtitle {
    margin: -6px 0 14px;
    font-size: 17px;
  }

  .section-subtitle,
  .section-body {
    font-size: 15px;
    line-height: 1.58;
  }
}

/* v6.14.066.037.27 — CSS-only homepage visual polish.
   Scope: existing index.html selectors only; no HTML/JS/assets/runtime behavior change. */
:root {
  --museum-gold-rgb: 232, 192, 109;
  --museum-ice-rgb: 143, 217, 255;
  --museum-focus-ring: 0 0 0 3px rgba(var(--museum-gold-rgb), .18), 0 0 0 1px rgba(var(--museum-gold-rgb), .58);
  --museum-premium-shadow: 0 30px 100px rgba(0, 0, 0, .34);
}

.site-header {
  border-color: rgba(255, 255, 255, .105);
  background:
    linear-gradient(90deg, rgba(2, 6, 12, .975), rgba(8, 15, 27, .905)),
    radial-gradient(circle at 12% 50%, rgba(var(--museum-gold-rgb), .10), transparent 32%),
    radial-gradient(circle at 84% 50%, rgba(var(--museum-ice-rgb), .075), transparent 36%);
  box-shadow: 0 24px 84px rgba(0, 0, 0, .48), 0 0 0 1px rgba(var(--museum-gold-rgb), .045), inset 0 1px 0 rgba(255, 255, 255, .07);
}

.brand-logo-wrap {
  box-shadow: 0 0 0 1px rgba(var(--museum-gold-rgb), .26), 0 12px 30px rgba(0, 0, 0, .32), 0 0 28px rgba(var(--museum-gold-rgb), .09);
}

.site-nav a:focus-visible,
.site-nav .nav-cta:focus-visible,
.hero-action:focus-visible,
.route-card:focus-visible,
.infinity-gate-stage:focus-visible,
.infinity-gate-cta:focus-visible,
.infinity-gate-controls button:focus-visible,
.infinity-gate-dot:focus-visible,
.museum-display-case:focus-visible {
  outline: none;
  box-shadow: var(--museum-focus-ring);
}

.site-nav .nav-cta,
.hero-action--primary,
.room-link,
.infinity-gate-cta {
  background: linear-gradient(135deg, #ffe6aa 0%, #e7bd62 46%, #c89531 100%);
  color: #1b1306;
}

.stage-section--intro::before {
  background:
    radial-gradient(ellipse at 76% 43%, rgba(var(--museum-ice-rgb), .15), transparent 38%),
    radial-gradient(ellipse at 18% 10%, rgba(var(--museum-gold-rgb), .14), transparent 34%),
    radial-gradient(ellipse at 50% 96%, rgba(255, 255, 255, .035), transparent 48%),
    linear-gradient(180deg, transparent 0 76%, rgba(5, 9, 16, .75) 96%);
}

.hero-content {
  position: relative;
}

.hero-content::before {
  content: "";
  position: absolute;
  left: clamp(-18px, -1.4vw, -10px);
  top: clamp(40px, 7vh, 86px);
  bottom: clamp(18px, 4vh, 52px);
  width: 1px;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(var(--museum-gold-rgb), .42), rgba(var(--museum-ice-rgb), .14), transparent);
  opacity: .72;
}

.eyebrow,
.section-kicker {
  border-color: rgba(var(--museum-gold-rgb), .38);
  background: linear-gradient(90deg, rgba(var(--museum-gold-rgb), .11), rgba(255, 255, 255, .025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

.hero h1,
.section-header h2,
.guide-detail-heading h2,
.infinity-gate-header h2 {
  color: #fffaf0;
  text-shadow: 0 20px 70px rgba(0, 0, 0, .42);
}

.hero h1 {
  max-width: 720px;
  letter-spacing: -.036em;
}

.hero-lead,
.section-header p,
.guide-detail-heading p {
  color: rgba(247, 244, 237, .78);
}

.hero-proof-grid.hero-proof-strip span,
.hero-action--secondary,
.experience-note {
  border-color: rgba(255, 255, 255, .12);
  background: linear-gradient(135deg, rgba(255, 255, 255, .050), rgba(255, 255, 255, .018));
}

.hero-action {
  min-height: 48px;
  padding-inline: 22px;
}

.hero-action--primary {
  border-color: rgba(var(--museum-gold-rgb), .52);
  box-shadow: 0 18px 48px rgba(var(--museum-gold-rgb), .20), inset 0 1px 0 rgba(255, 255, 255, .46);
}

.hero-visual::before {
  opacity: .74;
  filter: blur(20px);
}

.museum-display-case {
  border-color: rgba(var(--museum-gold-rgb), .36);
  box-shadow: 0 40px 118px rgba(0, 0, 0, .58), 0 0 0 10px rgba(255, 255, 255, .018), 0 0 72px rgba(var(--museum-gold-rgb), .12), inset 0 0 0 1px rgba(255, 255, 255, .10), inset 0 -54px 112px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .20);
}

.display-case-caption {
  background: rgba(0, 0, 0, .42);
  border-color: rgba(255, 255, 255, .16);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .28);
}

.infinity-gate-stage,
.route-card,
.stage-section--guide,
.guide-journey-rail article,
.guide-platform-card,
.guide-contact-strip {
  border-color: rgba(255, 255, 255, .115);
  box-shadow: var(--museum-premium-shadow), inset 0 1px 0 rgba(255, 255, 255, .06);
}

.infinity-gate-plaque {
  border-color: rgba(255, 255, 255, .13);
  background: linear-gradient(135deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .036)), rgba(5, 9, 16, .70);
}

.stage-section--experience::before {
  border-top-color: rgba(var(--museum-gold-rgb), .14);
  border-bottom-color: rgba(var(--museum-ice-rgb), .095);
  background:
    linear-gradient(90deg, rgba(var(--museum-gold-rgb), .042), transparent 18%, transparent 82%, rgba(var(--museum-ice-rgb), .036)),
    radial-gradient(ellipse at 18% 52%, rgba(var(--museum-gold-rgb), .082), transparent 34%),
    radial-gradient(ellipse at 82% 48%, rgba(var(--museum-ice-rgb), .066), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.022), rgba(5,9,16,.12) 44%, rgba(255,255,255,.014));
}

.route-card {
  background: linear-gradient(142deg, rgba(255,255,255,.086), rgba(255,255,255,.024) 43%, rgba(var(--museum-ice-rgb), .052)), rgba(7, 12, 21, .72);
}

.route-card--outdoor {
  background: linear-gradient(142deg, rgba(var(--museum-gold-rgb), .10), rgba(255,255,255,.026) 45%, rgba(255,255,255,.020)), rgba(7, 12, 21, .72);
}

.route-card--indoor {
  background: linear-gradient(142deg, rgba(255,255,255,.072), rgba(255,255,255,.022) 44%, rgba(var(--museum-ice-rgb), .075)), rgba(7, 12, 21, .72);
}

.route-card h3 {
  color: #fffaf0;
}

.route-card-topline strong {
  padding: 5px 9px;
  border: 1px solid rgba(255, 255, 255, .105);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
}

.room-link {
  min-height: 42px;
  box-shadow: 0 16px 38px rgba(var(--museum-gold-rgb), .18);
}

.stage-section--guide,
.guide-journey-rail article,
.guide-platform-card,
.guide-contact-strip {
  background: linear-gradient(135deg, rgba(255, 255, 255, .052), rgba(255, 255, 255, .018)), rgba(5, 9, 16, .36);
}

@media (hover: hover) and (pointer: fine) {
  .hero-action:hover,
  .site-nav .nav-cta:hover,
  .infinity-gate-cta:hover {
    transform: translateY(-2px);
  }

  .route-card:hover {
    transform: translateY(-5px);
  }

  .guide-journey-rail article:hover,
  .guide-platform-card:hover {
    transform: translateY(-3px);
  }
}

@media (max-width: 900px) {
  .hero-content::before {
    display: none;
  }

  .route-card,
  .stage-section--guide,
  .infinity-gate-stage {
    box-shadow: 0 20px 62px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .052);
  }
}

@media (hover: none), (pointer: coarse) {
  .hero-action:hover,
  .site-nav .nav-cta:hover,
  .route-card:hover,
  .museum-display-case:hover,
  .infinity-gate-cta:hover,
  .guide-journey-rail article:hover,
  .guide-platform-card:hover {
    transform: none;
  }
}

@media (max-width: 640px) {
  .site-header {
    background: linear-gradient(180deg, rgba(2, 6, 12, .985), rgba(8, 15, 27, .93));
  }

  .hero h1,
  .section-header h2,
  .guide-detail-heading h2,
  .infinity-gate-header h2 {
    text-shadow: 0 16px 48px rgba(0, 0, 0, .34);
  }

  .hero-action,
  .room-link,
  .infinity-gate-cta {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-action,
  .site-nav a,
  .route-card,
  .museum-display-case,
  .infinity-gate-cta,
  .infinity-gate-controls button,
  .guide-journey-rail article,
  .guide-platform-card {
    transition-duration: .01ms !important;
  }

  .hero-action:hover,
  .site-nav .nav-cta:hover,
  .route-card:hover,
  .museum-display-case:hover,
  .infinity-gate-cta:hover,
  .guide-journey-rail article:hover,
  .guide-platform-card:hover {
    transform: none !important;
  }
}

/* v7.01.01 — Featured Artwork Quick View integration.
   Scope: static homepage Featured section only; no route, asset or CMS contract changes. */
.infinity-gate-plaque {
  grid-template-columns: auto minmax(0, 1fr) auto auto;
}

.infinity-gate-quick-view {
  color: rgba(247, 244, 237, .88);
  border-color: rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .045);
}

.infinity-gate-quick-view:hover,
.infinity-gate-quick-view:focus-visible {
  color: #f8e3ad;
  border-color: var(--material-border-active, rgba(232, 192, 109, .58));
  background: rgba(232, 192, 109, .09);
}

.site-nav a:focus-visible,
.hero-action:focus-visible,
.museum-display-case:focus-visible,
.route-card:focus-visible,
.infinity-gate-stage:focus-visible,
.infinity-gate-cta:focus-visible,
.infinity-gate-quick-view:focus-visible,
.featured-quick-view__close:focus-visible,
.featured-quick-view__nav-button:focus-visible,
.featured-quick-view__cta:focus-visible,
.featured-quick-view__share:focus-visible,
.infinity-gate-controls button:focus-visible {
  outline: 2px solid var(--material-focus-ring, rgba(232, 192, 109, .72));
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .infinity-gate-quick-view:hover,
  .featured-quick-view__cta:hover,
  .featured-quick-view__share:hover {
    transform: translateY(-2px);
  }
}

@media (max-width: 1024px) {
  .infinity-gate-plaque {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .infinity-gate-quick-view,
  .infinity-gate-cta {
    grid-column: 1 / -1;
    justify-self: center;
  }
}

@media (max-width: 640px) {
  .infinity-gate-quick-view,
  .infinity-gate-cta,
  .featured-quick-view__cta,
  .featured-quick-view__share {
    min-height: 44px;
  }

  .infinity-gate-quick-view,
  .infinity-gate-cta {
    width: 100%;
  }
}

@media (hover: none), (pointer: coarse) {
  .infinity-gate-quick-view:hover,
  .featured-quick-view__cta:hover,
  .featured-quick-view__share:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .infinity-gate-quick-view,
  .featured-quick-view__close,
  .featured-quick-view__cta,
  .featured-quick-view__share {
    transition-duration: .01ms !important;
  }
}


/* v7.01.09 — Homepage section progress + back-to-top.
   Index-only navigation affordance; no Gallery/Viewer/CMS behavior change. */
.homepage-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 59;
  width: 100%;
  height: 3px;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(232, 192, 109, .06), rgba(143, 217, 255, .04));
  opacity: .86;
  transform: translateZ(0);
}

.homepage-progress__bar {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(var(--homepage-scroll-progress, 0));
  transform-origin: left center;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(232, 192, 109, .92), rgba(247, 244, 237, .74), rgba(143, 217, 255, .70));
  box-shadow: 0 0 18px rgba(232, 192, 109, .22);
  will-change: transform;
}

.homepage-back-top {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 70;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(232, 192, 109, .28);
  border-radius: 999px;
  color: rgba(247, 244, 237, .92);
  background:
    radial-gradient(circle at 50% 0%, rgba(232, 192, 109, .16), transparent 58%),
    rgba(7, 12, 20, .78);
  box-shadow: 0 18px 54px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(16px) saturate(118%);
  -webkit-backdrop-filter: blur(16px) saturate(118%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 10px, 0) scale(.96);
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease, border-color .22s ease, color .22s ease, background .22s ease;
}

.homepage-back-top span {
  display: block;
  font-size: 20px;
  line-height: 1;
  transform: translateY(-1px);
}

body.is-homepage-backtop-visible .homepage-back-top {
  opacity: .94;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0) scale(1);
}

.homepage-back-top:hover,
.homepage-back-top:focus-visible {
  color: #f8e3ad;
  border-color: rgba(232, 192, 109, .58);
  background:
    radial-gradient(circle at 50% 0%, rgba(232, 192, 109, .22), transparent 58%),
    rgba(10, 16, 27, .86);
}

.homepage-back-top:focus-visible {
  outline: 2px solid var(--material-focus-ring, rgba(232, 192, 109, .72));
  outline-offset: 4px;
}

body.is-featured-quick-view-open .homepage-back-top,
body.is-video-modal-open .homepage-back-top,
body.is-entering-gallery .homepage-back-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 10px, 0) scale(.96);
}

@media (hover: none), (pointer: coarse) {
  .homepage-back-top:hover {
    color: rgba(247, 244, 237, .92);
    border-color: rgba(232, 192, 109, .28);
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@media (max-width: 720px) {
  .homepage-progress {
    height: 2px;
  }

  .homepage-back-top {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    width: 46px;
    height: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .homepage-progress__bar,
  .homepage-back-top {
    transition-duration: .01ms !important;
  }
}

/* Layered Canvas Ambient Light prototype — v7.01.07
   Query-flagged only: ?ambientCanvas=1. Decorative layer, no content dependency. */
.ambient-canvas-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  opacity: .72;
  mix-blend-mode: screen;
  contain: strict;
}

.ambient-canvas-layer__canvas {
  width: 100%;
  height: 100%;
  display: block;
  opacity: .88;
}

body.has-ambient-canvas .page-shell {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

@media (hover: none), (pointer: coarse), (max-width: 920px) {
  .ambient-canvas-layer {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ambient-canvas-layer {
    display: none !important;
  }
}

/* v7.01.11 — Featured room filter + Quick View cursor restore.
   Homepage Featured-only; no Gallery/Viewer/CMS/Supabase behavior change. */
.infinity-gate-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: min(100%, 520px);
  margin: clamp(16px, 2.2vw, 26px) auto clamp(4px, .8vw, 10px);
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055), 0 16px 46px rgba(0, 0, 0, .18);
}

.infinity-gate-filter[hidden] {
  display: none !important;
}

.infinity-gate-filter__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: rgba(247, 244, 237, .70);
  background: transparent;
  font: inherit;
  font-size: 12px;
  font-weight: 820;
  letter-spacing: .035em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease;
}

.infinity-gate-filter__button.is-active,
.infinity-gate-filter__button[aria-pressed="true"] {
  color: #ffe3a3;
  border-color: rgba(232, 192, 109, .42);
  background: rgba(232, 192, 109, .10);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 10px 28px rgba(201, 150, 44, .14);
}

.infinity-gate-filter__button:hover,
.infinity-gate-filter__button:focus-visible {
  color: #fff7df;
  border-color: rgba(232, 192, 109, .50);
  background: rgba(255, 255, 255, .055);
  outline: none;
}

.infinity-gate-filter__button:focus-visible {
  outline: 2px solid var(--material-focus-ring, rgba(232, 192, 109, .72));
  outline-offset: 3px;
}

.infinity-gate-filter__button:disabled {
  opacity: .46;
  cursor: not-allowed;
}

body.has-premium-cursor.is-featured-quick-view-open,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view *,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view__dialog,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view__media,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view__content {
  cursor: auto !important;
}

body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view__backdrop,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view__close,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view__cta,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view__share,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view__nav-button,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view button,
body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view a {
  cursor: pointer !important;
}

body.has-premium-cursor.is-featured-quick-view-open .featured-quick-view__share[aria-busy="true"] {
  cursor: wait !important;
}

body.has-premium-cursor.is-featured-quick-view-open #premiumCursor,
body.has-premium-cursor.is-featured-quick-view-open #premiumCursorTrail {
  opacity: 0 !important;
}

body.has-webgl-liquid-cursor.is-featured-quick-view-open,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view *,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view__dialog,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view__media,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view__content {
  cursor: auto !important;
}

body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view__backdrop,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view__close,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view__cta,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view__share,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view__nav-button,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view button,
body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view a {
  cursor: pointer !important;
}

body.has-webgl-liquid-cursor.is-featured-quick-view-open .featured-quick-view__share[aria-busy="true"] {
  cursor: wait !important;
}

body.is-featured-quick-view-open .webgl-liquid-cursor {
  visibility: hidden;
}

@media (hover: hover) and (pointer: fine) {
  .infinity-gate-filter__button:hover {
    transform: translateY(-1px);
  }
}

@media (max-width: 720px) {
  .infinity-gate-filter {
    width: min(100%, 430px);
    gap: 6px;
    padding: 5px;
    border-radius: 24px;
  }

  .infinity-gate-filter__button {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 10px;
    font-size: 11px;
  }
}

@media (hover: none), (pointer: coarse) {
  .infinity-gate-filter__button:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .infinity-gate-filter__button {
    transition-duration: .01ms !important;
  }
}

/* v8.03.005 — Intro navigation practical hit-area refinement.
   Preserve visual typography/layout; normalize the actual interactive boxes. */
.brand,
.site-nav a:not(.nav-cta),
.site-nav .nav-cta {
  min-height: 44px;
}

@media (max-height: 480px) and (min-width: 921px) and (max-width: 1180px) {
  .site-nav {
    gap: 4px;
  }
}


/* v8.03.017 — P0816-R2 coarse-pointer touch-target truth. */
@media (hover: none) and (pointer: coarse),
       (max-width: 920px) and (pointer: coarse) {
  .site-nav a,
  .site-nav .nav-cta,
  .hero-action,
  .infinity-gate-quick-view,
  .infinity-gate-cta,
  .featured-quick-view__close,
  .featured-quick-view__cta,
  .featured-quick-view__share,
  .intro-video-close {
    min-height: 44px;
  }

  .featured-quick-view__close,
  .intro-video-close {
    min-width: 44px;
    width: 44px;
    height: 44px;
  }
}
