:root {
  color-scheme: dark;
  --paper: #11111b;
  --paper-deep: #0d0d16;
  --surface: #1a1a29;
  --panel: #191925;
  --ink: #f6f1fb;
  --soft: #cec5db;
  --quiet: #aaa0bb;
  --line: #383448;
  --beam: #c5adff;
  --beam-wash: #312541;
  --solid: #ddd1ff;
  --button-ink: #24173c;
  --serif: Georgia, 'Times New Roman', serif;
  --mono: ui-monospace, 'Cascadia Mono', Consolas, monospace;
  font: 15px/1.55 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--paper);
  color: var(--ink);
}

[data-hue="iris"] { --beam: #c5adff; --beam-wash: #33254b; }
[data-hue="blue"] { --beam: #a0c6ff; --beam-wash: #1c324f; }
[data-hue="gold"] { --beam: #f1ce91; --beam-wash: #3d3020; }
[data-hue="mint"] { --beam: #a9eccb; --beam-wash: #1e3b35; }
[data-hue="rose"] { --beam: #f5b6d8; --beam-wash: #41253c; }
[data-hue="teal"] { --beam: #9de2e2; --beam-wash: #1d3a42; }
[data-hue="steel"] { --beam: #b4c4ff; --beam-wash: #28344d; }
[data-hue="copper"] { --beam: #ffbd92; --beam-wash: #432e32; }
[data-hue="sky"] { --beam: #9fdef5; --beam-wash: #1d354b; }
[data-hue="clay"] { --beam: #ffc3b8; --beam-wash: #3e2c39; }

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: radial-gradient(ellipse at 90% 9%, #211a32 0, transparent 43rem), var(--paper); }
img, svg { display: block; }
svg { width: 18px; height: 18px; flex: 0 0 auto; }
a { color: inherit; text-underline-offset: 4px; }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible, [tabindex="-1"]:focus-visible { outline: 2px solid #f8deab; outline-offset: 4px; }
h1, h2, h3, p, ul, ol { margin: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; text-wrap: balance; }
h1 { font-size: clamp(3.35rem, 6.3vw, 6.9rem); letter-spacing: -.069em; line-height: .95; }
h1 em { font-weight: inherit; color: #d4b9ff; }
h2 { font-size: clamp(2.1rem, 4vw, 3.35rem); letter-spacing: -.055em; line-height: 1.04; }
h3 { font-size: 1.17rem; line-height: 1.2; letter-spacing: -.025em; }
::selection { color: #20162d; background: #dfc8ff; }
.sr-only, .skip:not(:focus) { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip:focus { position: fixed; top: 8px; left: 10px; z-index: 5; background: #fff; color: #17101e; padding: 8px 14px; }
.frame { width: min(100% - clamp(32px, 8vw, 136px), 1280px); margin-inline: auto; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: var(--beam); font: 700 .72rem/1.5 var(--mono); letter-spacing: .115em; text-transform: uppercase; }
.eyebrow > span { width: 7px; height: 7px; border-radius: 50%; background: var(--beam); box-shadow: 0 0 12px var(--beam); }

.museum-header { border-bottom: 1px solid var(--line); background: #11111be8; position: relative; z-index: 1; }
.header-inner { min-height: 72px; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.museum-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; flex: 0 0 auto; }
.museum-logo svg { width: 40px; height: 40px; }
.museum-logo b { font-size: 1.27rem; line-height: 1.08; letter-spacing: -.042em; display: block; }
.museum-logo small { display: block; font: 650 .56rem/1.6 var(--mono); letter-spacing: .125em; color: var(--quiet); }
.header-inner nav { display: flex; align-items: center; gap: clamp(12px, 3vw, 32px); }
.header-inner nav a, .header-action { color: var(--soft); font-size: .82rem; text-decoration: none; }
.header-inner nav a:hover, .header-action:hover { color: var(--ink); }
.header-label, .header-action { border: 1px solid var(--line); border-radius: 6px; padding: 7px 10px; color: var(--soft); background: transparent; }
.header-label { font: 650 .68rem/1.5 var(--mono); text-transform: uppercase; letter-spacing: .12em; }
.gallery-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.gallery-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 13px; border: 1px solid transparent; border-radius: 7px; font-size: .84rem; font-weight: 720; line-height: 1.35; text-decoration: none; transition: background .2s, border-color .2s, color .2s; }
.gallery-button svg { width: 17px; height: 17px; }
.gallery-button.solid { background: var(--solid); color: var(--button-ink); }
.gallery-button.solid:hover { background: #f3eaff; }
.gallery-button.ghost { background: #ffffff06; border-color: var(--line); color: var(--ink); }
.gallery-button.ghost:hover { background: #ffffff0c; border-color: var(--beam); }
.glass-badge { border: 1px solid var(--line); border-radius: 999px; padding: 3px 9px; color: var(--soft); background: #ffffff08; font-size: .71rem; white-space: nowrap; }
.gallery-notice, .gallery-error { color: #cdf5e2; padding: 11px 14px; margin: 12px 0; background: #1d382f; border: 1px solid #46705d; border-radius: 8px; }
.gallery-error { color: #ffdbde; background: #3a2635; border-color: #8c5066; }

.hero { overflow: hidden; border-bottom: 1px solid var(--line); background: radial-gradient(ellipse at 68% 48%, #342653a3 0, transparent 59%); }
.hero-inner { min-height: 495px; display: grid; grid-template-columns: 1fr 1.14fr; align-items: center; position: relative; }
.hero-copy { padding: 51px 0 57px; position: relative; z-index: 1; }
.hero-copy h1, .gate-visual h1 { margin: 17px 0 20px; }
.hero-copy > p:not(.eyebrow), .gate-visual > p:not(.eyebrow) { max-width: 44ch; color: var(--soft); font-size: clamp(1rem, 1.35vw, 1.13rem); }
.hero-copy .gallery-actions { margin-top: 24px; }
.hero-art { min-width: 0; position: relative; margin: -14px -32px -18px -15px; }
.museum-art { width: 100%; height: auto; }
.museum-zone { cursor: pointer; }
.museum-zone:hover path:first-of-type, .museum-zone:focus-visible path:first-of-type { stroke: #f8e8ff; stroke-width: 2.4px; filter: brightness(1.55); }
.prism-float { animation: hover-prism 7s ease-in-out infinite; }
@keyframes hover-prism { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.visit-ledger { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 23px; border: 1px solid var(--line); border-radius: 12px; background: #181724; }
.visit-ledger div { padding: 14px 18px; display: flex; flex-direction: column; gap: 1px; }
.visit-ledger div + div { border-left: 1px solid var(--line); }
.visit-ledger b { color: var(--ink); font: 400 clamp(1.25rem, 3vw, 1.95rem)/1.14 var(--serif); letter-spacing: -.045em; }
.visit-ledger span { color: var(--quiet); font-size: .77rem; }
.gallery-section { margin-block: 54px; scroll-margin-top: 16px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 17px; margin-bottom: 18px; }
.section-head h2 { margin-top: 7px; }
.section-head > p { color: var(--soft); max-width: 43ch; font-size: .9rem; }
.gallery-filter { display: flex; align-items: center; justify-content: space-between; gap: 11px; margin-bottom: 15px; }
.filter-pills, .chart-switch { display: flex; flex-wrap: wrap; gap: 5px; }
.filter-pill { min-height: 31px; border-radius: 999px; border: 1px solid var(--line); background: #141421; color: var(--soft); padding: 5px 11px; font-size: .77rem; font-weight: 650; line-height: 1.3; }
.filter-pill:hover { border-color: var(--beam); }
.filter-pill[aria-pressed="true"] { border-color: var(--beam); background: var(--beam-wash); color: var(--ink); }
.gallery-search { display: flex; align-items: center; gap: 7px; width: min(100%, 250px); padding: 0 9px; border: 1px solid var(--line); border-radius: 7px; background: #121220; color: var(--quiet); }
.gallery-search input { width: 100%; min-width: 0; padding: 7px 0; background: transparent; border: 0; color: var(--ink); font-size: .82rem; }
.gallery-search input::placeholder { color: var(--quiet); }
.exhibit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.exhibit-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 11px; overflow: clip; background: var(--surface); text-decoration: none; transition: border-color .22s, translate .22s; }
.exhibit-card:hover { border-color: var(--beam); translate: 0 -3px; }
.exhibit-visual, .room-art { position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(ellipse at 50% 47%, var(--beam-wash), #171723 88%); color: var(--beam); }
.exhibit-visual { min-height: 137px; border-bottom: 1px solid var(--line); }
.tile-art { width: min(78%, 240px); height: auto; max-height: 140px; }
.art-glyph { transition: transform .25s ease; transform-origin: center; }
.exhibit-card:hover .art-glyph { transform: scale(1.08); }
.exhibit-number { position: absolute; top: 11px; left: 12px; font: 650 .61rem/1.4 var(--mono); letter-spacing: .12em; }
.exhibit-arrow { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #131322; border: 1px solid #ffffff20; }
.exhibit-arrow svg { width: 15px; height: 15px; transform: rotate(-32deg); }
.exhibit-copy { display: flex; flex: 1; flex-direction: column; padding: 13px 13px 11px; }
.exhibit-wing { color: var(--beam); font: 650 .62rem/1.4 var(--mono); letter-spacing: .09em; text-transform: uppercase; margin-bottom: 7px; }
.exhibit-copy p { font-size: .81rem; color: var(--soft); margin: 6px 0 12px; flex: 1; }
.exhibit-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 3px 7px; border-top: 1px solid var(--line); padding-top: 9px; font-size: .71rem; color: var(--quiet); }
.exhibit-foot span:last-child { color: var(--beam); font-weight: 650; }

.tour-callout { display: grid; grid-template-columns: 1fr .85fr; gap: 25px; align-items: center; padding: clamp(18px, 3vw, 32px); border: 1px solid #534566; border-radius: 13px; background: linear-gradient(120deg, #291f3d, #191827 68%); }
.tour-callout h2, .visit-end h2 { margin: 6px 0 7px; }
.tour-callout p:not(.eyebrow), .visit-end p:not(.eyebrow) { color: var(--soft); max-width: 51ch; font-size: .9rem; }
.tour-callout .gallery-button { margin-top: 14px; }
.tour-list { padding: 0; list-style: none; }
.tour-list li + li { margin-top: 7px; }
.tour-list a { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 11px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 7px; background: #10101b99; text-decoration: none; }
.tour-list a:hover { border-color: var(--beam); }
.tour-list span { color: var(--beam); font: 700 .73rem var(--mono); }
.tour-list b { font-size: .87rem; }
.cap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cap-card { display: flex; flex-direction: column; gap: 9px; padding: 15px; min-height: 175px; background: #181825; border: 1px solid var(--line); border-radius: 10px; }
.cap-index { color: var(--beam); font: 650 .69rem var(--mono); text-transform: uppercase; }
.cap-card p { flex: 1; color: var(--soft); font-size: .83rem; }
.cap-card a, .footer-links a, .room-crumb a { display: inline-flex; align-items: center; gap: 6px; color: var(--beam); font-size: .8rem; font-weight: 650; text-decoration: none; }
.cap-card a:hover, .footer-links a:hover, .room-crumb a:hover { text-decoration: underline; }
.cap-card svg, .footer-links svg, .room-crumb svg { width: 16px; height: 16px; }
.visit-end { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 22px 24px; margin: 40px 0 54px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.visit-end h2 { font-size: clamp(1.7rem, 3vw, 2.45rem); }
.visit-end .gallery-button { flex: 0 0 auto; }
.museum-footer { background: var(--paper-deep); border-top: 1px solid var(--line); }
.footer-inner { display: flex; justify-content: space-between; gap: 15px; align-items: center; min-height: 87px; padding-block: 12px; }
.footer-inner p { color: var(--quiet); font-size: .75rem; }
.footer-links { display: flex; gap: 9px 16px; flex-wrap: wrap; }
.footer-links a { color: var(--soft); }

.gate { min-height: calc(100vh - 73px); display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(310px, .72fr); gap: clamp(19px, 5vw, 70px); align-items: center; padding-block: 30px; }
.gate-visual { min-width: 0; position: relative; padding: 34px 20px 13px; border: 1px solid #413854; border-radius: 16px; overflow: hidden; background: radial-gradient(ellipse at 45% 61%, #302441, transparent 79%), #171623; }
.gate-visual > :not(svg) { position: relative; z-index: 1; margin-left: clamp(0px, 2.8vw, 33px); }
.gate-visual h1 { font-size: clamp(3.3rem, 6.1vw, 6.25rem); }
.gate-visual .museum-art { margin: -30px auto -18px; width: min(100%, 495px); }
.gate-caption { display: flex; justify-content: space-between; gap: 10px; margin: 8px clamp(0px, 2.8vw, 33px) 0; color: var(--quiet); font: 650 .61rem/1.45 var(--mono); letter-spacing: .12em; }
.gate-card { padding: clamp(21px, 3vw, 34px); border: 1px solid #504361; border-radius: 14px; background: linear-gradient(150deg, #252035, #191925); box-shadow: 0 20px 75px #08080f77; }
.gate-key { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 14px; border: 1px solid #584971; border-radius: 10px; background: #392c52; color: var(--beam); }
.gate-key svg { width: 23px; height: 23px; }
.gate-card h1, .gate-card h2 { font-size: clamp(2rem, 3.8vw, 2.8rem); margin: 7px 0 10px; }
.gate-card p:not(.eyebrow, .gallery-error) { color: var(--soft); font-size: .9rem; }
.gate-form { display: grid; gap: 7px; margin-top: 19px; }
.gate-form label { font-size: .82rem; font-weight: 670; }
.gate-form input { padding: 10px 11px; min-width: 0; border: 1px solid #625272; border-radius: 7px; color: var(--ink); background: #11111d; }
.gate-form button { margin-top: 6px; justify-content: space-between; }
.message-shell { min-height: 65vh; display: grid; place-items: center; padding: 24px 0; }
.message-shell .gate-card { width: min(100%, 550px); }
.message-shell .gallery-actions, .message-shell .gate-card > .gallery-button { margin-top: 16px; }

.room { padding-top: 19px; }
.room-crumb { display: flex; justify-content: space-between; align-items: center; gap: 9px; margin-bottom: 13px; }
.room-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(255px, .65fr); gap: 17px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: linear-gradient(130deg, #252033, #171725); }
.room-copy { padding: clamp(18px, 3.2vw, 42px); }
.room-copy h1 { font-size: clamp(2.65rem, 5.3vw, 5.25rem); line-height: .99; margin: 9px 0 14px; }
.room-copy > p:not(.eyebrow) { color: var(--soft); max-width: 54ch; }
.room-copy .gallery-actions { margin-top: 18px; }
.room-art { border-left: 1px solid var(--line); align-content: center; gap: 6px; padding: 16px; min-height: 232px; }
.room-art .tile-art { width: min(85%, 320px); max-height: 208px; }
.room-art > div { text-align: center; }
.room-art > div span { display: block; font: 650 .66rem/1.5 var(--mono); letter-spacing: .12em; margin-bottom: 3px; }
.room-art > div b { color: var(--ink); font-size: .98rem; }
.room-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 13px; }
.room-metrics article { min-width: 0; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; background: #191926; }
.room-metrics p { color: var(--soft); font-size: .82rem; font-weight: 700; }
.room-metrics b { display: block; margin: 3px 0; color: var(--beam); font: 400 clamp(1.55rem, 3.3vw, 2.25rem)/1.2 var(--serif); letter-spacing: -.05em; overflow-wrap: anywhere; }
.room-metrics small { color: var(--quiet); font-size: .74rem; }
.scenario-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.scene-card { display: flex; flex-direction: column; gap: 8px; padding: 14px; background: var(--panel); border: 1px solid var(--line); border-radius: 11px; scroll-margin-top: 14px; }
.scene-card.complete { border-color: #557569; }
.scene-meta { display: flex; justify-content: space-between; align-items: center; gap: 7px; color: var(--beam); }
.scene-meta > span:first-child { font: 650 .7rem/1.5 var(--mono); letter-spacing: .1em; }
.scene-card > p { color: var(--soft); font-size: .84rem; }
.scene-card > .scene-result { color: #b9ebd4; border-left: 2px solid #6ea98d; padding-left: 9px; }
.scene-diff { border: 1px solid var(--line); border-radius: 7px; padding: 7px 9px; background: #13131f; font-size: .76rem; }
.scene-diff summary { cursor: pointer; color: var(--beam); font-weight: 650; }
.scene-diff dl { margin: 6px 0 0; }
.scene-diff dl div { padding: 4px 0; border-top: 1px solid var(--line); }
.scene-diff dt { color: var(--quiet); }
.scene-diff dd { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; margin: 1px 0 0; color: var(--soft); }
.scene-diff svg { width: 13px; height: 13px; }
.scene-diff strong { color: var(--ink); }
.scene-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 5px; margin-top: auto; }
.scene-actions .gallery-button { min-height: 34px; padding: 6px 8px; font-size: .76rem; }
.room-data { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.activity-chart, .record-index { padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); }
.chart-head { display: flex; gap: 8px; align-items: center; justify-content: space-between; padding-bottom: 8px; }
.chart-head p, .record-index p { color: var(--quiet); font-size: .8rem; margin-top: 4px; }
.state-chart { padding: 4px 0; }
.state-chart > div { display: grid; grid-template-columns: minmax(102px, .6fr) minmax(24px, 1.15fr) 24px; align-items: center; gap: 9px; padding: 6px 0; color: var(--soft); font-size: .82rem; }
.state-chart b { color: var(--ink); text-align: right; }
.state-chart meter { appearance: none; width: 100%; height: 10px; }
.state-chart meter::-webkit-meter-bar { background: #2e2a42; border: 0; }
.state-chart meter::-webkit-meter-optimum-value { background: var(--beam); border-radius: 6px; }
.state-chart meter::-moz-meter-bar { background: var(--beam); }
.date-chart svg { width: 100%; height: auto; max-height: 190px; color: var(--quiet); }
.date-bar { fill: var(--beam); opacity: .8; }
.date-chart text { text-anchor: middle; fill: var(--quiet); font-size: 10px; }
.date-chart .bar-value { fill: var(--ink); font-size: 12px; }
.date-chart details { margin-top: 5px; color: var(--soft); font-size: .79rem; }
.date-chart summary { cursor: pointer; color: var(--beam); }
.horizon-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 15px; padding-top: 10px; }
.horizon-list ul { padding-left: 14px; }
.horizon-list li { margin: 3px 0; }
.horizon-list span { color: var(--quiet); }
.record-index ul { margin-top: 10px; padding: 0; list-style: none; }
.record-index li { border-top: 1px solid var(--line); }
.record-index a { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; padding: 7px 0; text-decoration: none; font-size: .86rem; }
.record-index a:hover { color: var(--beam); }
.record-index a b, .record-index svg { color: var(--beam); }

@media (max-width: 1080px) {
  .exhibit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero-inner { min-height: 400px; }
}
@media (min-width: 1280px) {
  .exhibit-grid, .cap-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .hero-inner { grid-template-columns: 1fr 1fr; }
  .hero-copy h1 { font-size: clamp(3.25rem, 7vw, 4.7rem); }
  .gallery-filter { align-items: flex-start; flex-direction: column; }
  .cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gate { grid-template-columns: minmax(0, 1fr) minmax(250px, .85fr); gap: 13px; }
  .gate-visual { padding: 22px 13px 12px; }
  .gate-visual .museum-art { margin: 0; }
  .gate-visual h1 { font-size: clamp(2.65rem, 6.9vw, 4.3rem); }
}
@media (max-width: 640px) {
  .header-inner { min-height: 60px; flex-wrap: wrap; gap: 8px; padding-block: 8px; }
  .header-inner nav { order: 3; width: 100%; }
  .museum-logo svg { width: 31px; height: 31px; }
  .hero-inner { grid-template-columns: minmax(0, 1fr); min-height: auto; }
  .hero-copy { padding: 30px 0 0; }
  .hero-art { margin: -12px auto -4px; width: min(100%, 420px); }
  .visit-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visit-ledger div { padding: 8px 10px; }
  .visit-ledger div:nth-child(3) { border-left: 0; }
  .visit-ledger div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .gallery-section { margin-block: 33px; }
  .section-head { align-items: flex-start; flex-direction: column; gap: 6px; }
  .exhibit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .exhibit-visual { min-height: 98px; }
  .exhibit-number { font-size: .53rem; top: 7px; left: 7px; }
  .exhibit-arrow { width: 22px; height: 22px; top: 5px; right: 5px; }
  .exhibit-arrow svg { width: 12px; height: 12px; }
  .exhibit-copy { padding: 9px 9px 8px; }
  .exhibit-copy h3 { font-size: .96rem; }
  .exhibit-copy p { font-size: .76rem; }
  .tour-callout, .room-hero, .scenario-grid, .room-data { grid-template-columns: minmax(0, 1fr); }
  .visit-end, .footer-inner { flex-direction: column; align-items: flex-start; }
  .room-hero { gap: 0; }
  .room-art { border-left: 0; border-top: 1px solid var(--line); min-height: 142px; }
  .room-art .tile-art { max-height: 117px; }
  .room-metrics { gap: 5px; }
  .room-metrics article { padding: 7px; }
  .room-metrics p { font-size: .73rem; }
  .room-metrics small { font-size: .68rem; }
  .gate { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; padding-block: 15px; min-height: auto; }
  .gate-visual { order: 2; }
  .gate-visual h1 { margin: 6px 0 8px; }
  .gate-visual .museum-art { max-height: 240px; }
}
@media (max-width: 380px) {
  .room-metrics { grid-template-columns: minmax(0, 1fr); }
  .room-metrics article { padding: 9px; }
  .room-crumb .glass-badge { white-space: normal; }
  .cap-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
