:root {
  color-scheme: dark;
  font-family: Inter, "Arial Narrow", Arial, sans-serif;
  background: #080909;
  color: #f4f2eb;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; overflow: hidden; background: #080909; }
button { color: inherit; font: inherit; }

.stage-viewport { position: fixed; inset: 0; overflow: hidden; background: #080909; }

.experience {
  --accent: #c09b61;
  --artifact-video-height: 51%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 620px;
  overflow: hidden;
  isolation: isolate;
  container-type: size;
  transform-origin: top left;
  user-select: none;
  touch-action: none;
  background:
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.06), transparent 27%),
    linear-gradient(180deg, #101212 0, #080909 56%, #030404 100%);
}

html[data-layout-profile="kiosk"] .experience,
html[data-layout-profile="tablet"] .experience { min-height: 0; will-change: transform; }

.ambient {
  position: absolute;
  inset: -20%;
  z-index: -1;
  opacity: .5;
  background: radial-gradient(ellipse at 52% 18%, rgba(255,255,255,.08), transparent 35%);
  animation: breathe 9s ease-in-out infinite alternate;
}

.artifact-background-video {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: var(--artifact-video-height);
  object-fit: cover;
  opacity: 0;
  filter: none;
  pointer-events: none;
  transition: opacity .7s ease;
}
.artifact-background-video.is-ready { opacity: 1; }

.museum-brand {
  position: absolute;
  z-index: 40;
  left: clamp(22px, 3.3cqw, 64px);
  top: clamp(20px, 2.5cqw, 48px);
  display: flex;
  align-items: center;
  gap: clamp(13px, 1.15cqw, 24px);
}
.museum-logo { display: block; width: clamp(140px, 11cqw, 220px); height: auto; max-height: 74px; object-fit: contain; object-position: left top; }
.museum-logo[hidden] { display: none; }
.museum-logo--secondary {
  width: auto;
  max-width: clamp(82px, 7.5cqw, 150px);
  max-height: 74px;
  object-position: left center;
}

.utility { position: absolute; z-index: 45; right: 25px; top: 22px; display: flex; align-items: center; gap: 8px; opacity: .72; }
.icon-button { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(0,0,0,.25); cursor: pointer; backdrop-filter: blur(8px); }
.icon-button[hidden] { display: none; }
.icon-button:hover, .icon-button:focus-visible { border-color: var(--accent); outline: 0; }
.audio-toggle { color: #fff; font: 600 18px/1 Arial,sans-serif; }
.audio-toggle[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); background: rgba(0,0,0,.5); }
.language-switch { display: flex; align-items: center; height: 40px; padding: 0 5px; border: 1px solid rgba(255,255,255,.2); border-radius: 21px; background: rgba(0,0,0,.25); backdrop-filter: blur(8px); }
.language-switch button { position: relative; min-width: 34px; height: 30px; padding: 0 8px; border: 0; border-radius: 15px; background: transparent; color: rgba(255,255,255,.48); cursor: pointer; font-size: 9px; font-weight: 700; letter-spacing: .08em; transition: color .25s ease, background .25s ease; }
.language-switch button:hover, .language-switch button:focus-visible { color: #fff; outline: 0; }
.language-switch button.is-active { background: rgba(255,255,255,.12); color: var(--accent); }

.artifact-stage { position: absolute; z-index: 16; left: 0; right: 0; top: 4%; height: 37%; pointer-events: none; }
.artifact-track { position: absolute; inset: 0; }
.artifact {
  position: absolute;
  left: 0;
  top: 1%;
  width: clamp(190px, 17cqw, 330px);
  height: 31cqh;
  transform-origin: 50% 50%;
  filter: grayscale(1);
  pointer-events: none;
  transition: transform .86s cubic-bezier(.18,1.11,.28,1), opacity .62s ease, filter .45s ease;
}
.experience.is-dragging .artifact { transition: none; }
.artifact.is-offstage { visibility: hidden; pointer-events: none; transition: none; }
.artifact img { width: 100%; height: 100%; object-fit: contain; opacity: var(--artifact-image-opacity,1); translate: var(--artifact-image-x,0cqw) var(--artifact-image-y,0cqh); scale: var(--artifact-image-size,1); filter: drop-shadow(0 24px 25px rgba(0,0,0,.7)); transition: translate .18s ease, scale .18s ease, opacity .18s ease; }
.artifact-label { position: absolute; left: 88%; top: 34%; width: min(24cqw, 310px); opacity: .48; translate: var(--artifact-text-x,0cqw) var(--artifact-text-y,0cqh); transform: scale(.76); transform-origin: left center; text-shadow: 0 2px 12px #000; transition: opacity .45s, transform .45s; }
.artifact-label p { margin: 0 0 6px; color: var(--accent); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; }
.artifact-label h1 { margin: 0; font-size: clamp(19px, 1.55cqw, 30px); line-height: 1.03; overflow-wrap: anywhere; }
.artifact.is-active { filter: none; }
.artifact.is-active .artifact-label { opacity: 1; transform: scale(1); }
.artifact.is-distant .artifact-label { opacity: 0; }
.artifact:not(.is-active) .learn-more { display: none; }

.learn-more { margin-top: 14px; padding: 8px 0 6px; border: 0; border-bottom: 1px solid rgba(255,255,255,.42); background: transparent; cursor: pointer; pointer-events: auto; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.learn-more:hover, .learn-more:focus-visible { border-color: var(--accent); outline: 0; }

.horizontal-timeline { position: absolute; z-index: 24; left: 0; right: 0; top: 39%; height: 13%; overflow: hidden; }
.timeline-line { position: absolute; left: 0; right: 0; top: 26px; height: 1px; background: linear-gradient(90deg, transparent, rgba(210,192,158,.36) 12% 88%, transparent); }
.timeline-track { position: absolute; inset: 0; }
.timeline-point { position: absolute; left: 0; top: 0; width: 110px; height: 90px; padding: 0; border: 0; background: transparent; text-align: center; cursor: default; pointer-events: none; transition: transform .86s cubic-bezier(.18,1.11,.28,1), opacity .5s; }
.experience.is-dragging .timeline-point { transition: none; }
.experience.is-dragging .timeline-point strong { transition: none; }
.timeline-point.is-offstage { visibility: hidden; pointer-events: none; transition: none; }
.timeline-point i { display: block; width: 1px; height: 20px; margin: 0 auto 7px; background: rgba(220,202,169,.55); }
.timeline-point strong { display: block; font: 400 20px/1 Georgia, serif; transform-origin: center center; will-change: transform; transition: transform .86s cubic-bezier(.18,1.11,.28,1); }
.timeline-point span { display: block; margin-top: 5px; font-size: 10px; color: rgba(255,255,255,.62); }
.timeline-point.is-active i { height: 27px; background: var(--accent); box-shadow: 0 0 14px var(--accent); }
.timeline-point.is-active strong { color: var(--accent); }
.event-stage { position: absolute; z-index: 25; left: 0; right: 0; bottom: 0; height: 49%; overflow: visible; }
.event-track { position: absolute; inset: 0; }
.event-group { position: absolute; inset: 0; pointer-events: none; }
.event-group.is-active { pointer-events: auto; }
.event-grid { position: absolute; inset: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(var(--scene-count), minmax(0, 1fr)); gap: 2px; }
.event-card { position: relative; min-width: 0; overflow: hidden; background-position: center; background-size: cover; border: 0; will-change: transform, opacity; backface-visibility: hidden; transition: transform calc(.86s + var(--line-delay, 0s)) cubic-bezier(.18,1.11,.28,1), opacity calc(.58s + var(--line-delay, 0s)) ease; }
.experience.is-dragging .event-card,
.experience.is-dragging .event-foreground-motion { transition: none; transition-delay: 0s; }
.event-card::before, .event-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.event-card::before { background: rgba(0,0,0,var(--background-overlay-opacity, 0)); }
.event-card::after { background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.68)); }
.event-overlays { position: absolute; z-index: 4; inset: 0; overflow: visible; pointer-events: none; }
.event-foreground-motion { position: absolute; top: var(--foreground-boundary, 50%); width: clamp(220px, 18cqw, 360px); aspect-ratio: 1; translate: var(--foreground-x, 0cqw) calc(var(--foreground-shift, -50%) + var(--foreground-y, 0cqh) + var(--foreground-overlap, 0%)); pointer-events: none; will-change: transform, opacity; backface-visibility: hidden; transform: translate3d(0,0,0); transition: transform calc(.86s + var(--line-delay, 0s)) cubic-bezier(.18,1.11,.28,1), opacity calc(.58s + var(--line-delay, 0s)) ease; }
.event-foreground-motion--right { right: calc(20% + var(--layer-offset, 0%)); }
.event-foreground-motion--left { left: calc(18% + var(--layer-offset, 0%)); }
.event-foreground-motion--bottom { top: auto; bottom: 0; translate: var(--foreground-x, 0cqw) calc(var(--foreground-y, 0cqh) + var(--foreground-overlap, 0%)); }
.event-foreground-motion--back { z-index: 1; }
.event-foreground-motion--front { z-index: 2; }
.event-foreground-layer { display: block; width: 100%; height: 100%; opacity: var(--foreground-opacity, 1); transform: scale(var(--foreground-size, 1)); transform-origin: center bottom; }
.event-foreground { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; backface-visibility: hidden; }

html[data-layout-profile="kiosk"] .event-foreground-motion { width: clamp(390px, 24cqw, 500px); }
html[data-layout-profile="tablet"] .event-foreground-motion { width: clamp(280px, 23cqw, 430px); }
html[data-layout-profile="tablet"] .experience *,
html[data-layout-profile="tablet"] .detail-dialog * { text-shadow: none; }
html[data-layout-profile="tablet"] .experience img,
html[data-layout-profile="tablet"] .detail-dialog img { filter: none; box-shadow: none; }
html[data-layout-profile="tablet"] .dialog-model { filter: none; box-shadow: none; }
html[data-layout-profile="tablet"] .event-foreground-layer { box-shadow: none !important; }
.experience:not(.is-visual-editor) .artifact.is-active > img,
.experience:not(.is-visual-editor) .event-group.is-active .event-foreground { pointer-events: auto; cursor: pointer; }
.stage-viewport:fullscreen #fullscreenButton,
.stage-viewport:-webkit-full-screen #fullscreenButton { display: none; }
.experience.is-visual-editor #fullscreenButton { display: none; }
.experience.is-visual-editor .artifact.is-active { pointer-events: auto; }
.experience.is-visual-editor .event-foreground-motion { pointer-events: auto; cursor: pointer; }
.experience.is-visual-editor .event-foreground-layer { border-radius: 3px; outline: 1px solid transparent; outline-offset: 5px; transition: outline-color .18s ease, box-shadow .18s ease, transform .12s ease; }
.experience.is-visual-editor .event-foreground-motion:hover .event-foreground-layer,
.experience.is-visual-editor .event-foreground-motion.is-editor-selected .event-foreground-layer { outline-color: var(--accent); box-shadow: 0 0 0 5px rgba(183,152,104,.14); }
.experience.is-visual-editor .artifact-label,
.experience.is-visual-editor .event-copy { cursor: pointer; outline: 1px solid transparent; outline-offset: 8px; transition: outline-color .18s ease, background-color .18s ease; }
.experience.is-visual-editor .artifact.is-active > img { cursor: pointer; outline: 1px solid transparent; outline-offset: 8px; }
.experience.is-visual-editor .artifact.is-active > img:hover,
.experience.is-visual-editor .artifact-label:hover,
.experience.is-visual-editor .event-copy:hover,
.experience.is-visual-editor .event-copy.is-editor-selected-context,
.experience.is-visual-editor .artifact.is-editor-selected-context > img,
.experience.is-visual-editor .artifact.is-editor-selected-context .artifact-label { outline-color: var(--accent); background: rgba(183,152,104,.07); }
.experience.is-visual-editor .event-card.is-editor-selected-context { outline: 2px solid var(--accent); outline-offset: -2px; }
.visual-asset-replace { position: absolute; z-index: 8; min-height: 34px; padding: 7px 14px; border: 1px solid rgba(232,211,174,.68); border-radius: 3px; background: rgba(8,9,9,.82); color: #f4ead9; box-shadow: 0 5px 18px rgba(0,0,0,.32); cursor: pointer; font: 600 clamp(11px,.58cqw,15px)/1.1 Arial,sans-serif; letter-spacing: .03em; white-space: nowrap; }
.visual-asset-replace:hover { border-color: var(--accent); background: rgba(35,30,22,.94); }
.event-foreground-replace { left: 50%; bottom: 7%; translate: -50% 0; }
.artifact-image-replace { left: 50%; bottom: 1%; translate: -50% 0; }
.event-background-replace { top: 12%; right: 3%; }
.experience.is-visual-editor .nav-button,
.experience.is-visual-editor .language-switch,
.experience.is-visual-editor .learn-more,
.experience.is-visual-editor .progress { pointer-events: none; }
.event-copy { position: absolute; z-index: 2; left: 50%; top: 50%; width: min(72%, 680px); translate: calc(-50% + var(--event-text-x,0cqw)) calc(-50% + var(--event-text-y,0cqh)); text-align: center; text-shadow: 0 2px 12px #000; }
.event-copy p { margin: 0 0 6px; color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.event-copy .event-date-subtext { display: block; margin: -2px 0 7px; color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; transform: translate(var(--date-subtext-x,0),var(--date-subtext-y,0)); transform-origin: center; }
.event-copy .event-date-subtext:empty { display: none; }
.event-copy h2 { margin: 0 0 6px; font: 400 clamp(18px, 1.45cqw, 28px)/1 Georgia, serif; }
.event-copy > span { display: block; color: rgba(255,255,255,.72); font-size: clamp(10px, .72cqw, 13px); line-height: 1.4; }
.event-copy .learn-more { margin-top: 9px; font-size: 8px; }

.experience.is-settling .artifact.is-active img { animation: micro-sway .68s ease-out; }
.experience.is-settling .timeline-point.is-active strong { animation: timeline-numeral-sway .68s ease-out; }
.experience.is-settling .event-group.is-active .event-copy,
.experience.is-settling .event-group.is-active .event-foreground { animation: micro-sway .74s var(--line-delay, 0s) ease-out both; }

.drag-hint { position: absolute; z-index: 42; left: 50%; top: 50%; translate: -50% -50%; scale: var(--drag-hint-scale,1.8); display: flex; align-items: center; gap: 8px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(0,0,0,.45); color: rgba(255,255,255,.62); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; pointer-events: none; transform-origin: center; transition: opacity .7s; }
.drag-hint span { color: var(--accent); font-size: 18px; animation: nudge 1.5s ease-in-out infinite; }
.drag-hint.is-hidden { opacity: 0; }

.nav-button { position: absolute; z-index: 45; top: 27%; width: 52px; height: 82px; translate: 0 -50%; border: 0; background: transparent; font: 200 42px/1 Georgia, serif; cursor: pointer; opacity: .55; }
.nav-button:hover, .nav-button:focus-visible { opacity: 1; color: var(--accent); outline: 0; }
.nav-button--previous { left: 5px; }
.nav-button--next { right: 5px; }

.progress { position: absolute; z-index: 45; left: 50%; bottom: 14px; translate: -50%; display: flex; gap: 9px; }
.progress button { width: 5px; height: 5px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.35); cursor: pointer; transition: transform .3s, background .3s; }
.progress button.is-active { background: var(--accent); transform: scale(1.7); }
.flow-signature { position: absolute; z-index: 45; right: 24px; bottom: 10px; margin: 0; font-size: 10px; letter-spacing: .17em; opacity: .48; }
.flow-signature span { margin-left: 6px; font-size: 8px; }

.detail-dialog { position: fixed; inset: 0; isolation: isolate; width: min(1400px, calc(100vw - 64px)); height: min(780px, calc(100vh - 48px)); max-width: none; max-height: none; margin: auto; padding: 0; border: 0; color: #f4f2eb; background: transparent; box-shadow: none; overflow: visible; }
.detail-dialog[open] { display: grid; grid-template-columns: minmax(0, 49%) minmax(0, 51%); animation: dialog-in .4s cubic-bezier(.2,.75,.15,1); }
html[data-layout-profile="kiosk"] .detail-dialog,
html[data-layout-profile="tablet"] .detail-dialog { width: 1400px; height: 780px; transform: scale(var(--flow-stage-scale,1)); }
html[data-layout-profile="kiosk"] .detail-dialog[open],
html[data-layout-profile="tablet"] .detail-dialog[open] { animation: dialog-in-fixed .4s cubic-bezier(.2,.75,.15,1); }
html[data-layout-profile="tablet"] .detail-dialog {
  inset: auto;
  top: 50%;
  left: 50%;
  margin: 0;
  transform: translate(-50%, -50%) scale(var(--flow-stage-scale,1));
  transform-origin: center center;
}
html[data-layout-profile="tablet"] .detail-dialog[open] { animation: dialog-in-tablet .4s cubic-bezier(.2,.75,.15,1); }
.detail-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.dialog-close { position: absolute; z-index: 3; right: 3%; top: 3%; width: 48px; height: 48px; border: 0; background: transparent; font-size: 34px; cursor: pointer; opacity: .72; }
.dialog-close:hover, .dialog-close:focus-visible { opacity: 1; color: var(--accent); outline: 0; }
.dialog-art { position: relative; z-index: 1; min-height: 100%; height: 100%; display: grid; place-items: center; background: transparent; transform: translate3d(3.5%, -3%, 0); }
.dialog-art img { grid-area: 1 / 1; width: 100%; height: 98%; object-fit: contain; filter: drop-shadow(0 30px 34px rgba(0,0,0,.82)); }
.dialog-media-frame { position: relative; grid-area: 1 / 1; display: grid; place-items: center; width: 100%; height: 100%; }
.dialog-media-frame > .dialog-static-image { width: 100%; height: 98%; }
.dialog-tilt { grid-area: 1 / 1; display: grid; width: 100%; height: 98%; place-items: center; touch-action: none; transform-style: preserve-3d; user-select: none; will-change: transform; }
.dialog-tilt img { width: 100%; height: 100%; }
.dialog-hotspot-layer { position: absolute; z-index: 4; }
.dialog-hotspot { position: absolute; left: var(--hotspot-x); top: var(--hotspot-y); translate: -50% -50%; width: 44px; height: 44px; padding: 7px; border: 0; border-radius: 50%; color: #171612; background: transparent; cursor: pointer; }
.dialog-hotspot > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; color: #171612; background: #f5f1e7; font: 500 22px/1 Arial,sans-serif; transition: transform .18s ease, color .18s ease, background-color .18s ease; }
.dialog-hotspot:hover > span, .dialog-hotspot:focus-visible > span { transform: scale(1.1); color: #fff; background: var(--accent); }
.dialog-hotspot:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.experience.is-visual-editor .dialog-hotspot.is-hidden > span { opacity: .55; border-style: dashed; }
.dialog-model { display:block; width:104%; height:100%; min-height:480px; background:transparent; --poster-color:transparent; filter:drop-shadow(0 30px 34px rgba(0,0,0,.82)); }
.dialog-copy { position: relative; z-index: 1; align-self: center; width: min(100%, 690px); max-height: 100%; padding: clamp(34px, 3.8vw, 68px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.dialog-copy .eyebrow { color: var(--accent); letter-spacing: .14em; text-transform: uppercase; font-size: 11px; }
.dialog-copy h2 { margin: 15px 0 24px; font: 400 clamp(42px, 3.9vw, 70px)/.96 Georgia, serif; overflow-wrap: anywhere; }
.detail-dialog.has-long-title .dialog-copy h2 { font-size: clamp(34px, 3.15vw, 54px); line-height: 1; }
.detail-dialog.has-very-long-title .dialog-copy h2 { margin-bottom: 18px; font-size: clamp(29px, 2.65vw, 45px); line-height: 1.02; }
.dialog-copy > p { max-width: 570px; color: rgba(255,255,255,.7); font-size: clamp(15px, 1.05vw, 19px); line-height: 1.65; }
.dialog-audio { display: grid; grid-template-columns: auto minmax(120px,1fr) auto; gap: 12px; align-items: center; max-width: 570px; margin-top: 24px; }
.dialog-audio[hidden] { display: none; }
.dialog-audio button { min-height: 42px; padding: 0 18px; border: 1px solid rgba(255,255,255,.42); border-radius: 3px; color: #fff; background: transparent; font: 700 11px/1 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.dialog-audio button:hover,.dialog-audio button:focus-visible { border-color: var(--accent); color: var(--accent); background: rgba(0,0,0,.24); outline: 0; }
.dialog-audio input { width: 100%; accent-color: var(--accent); cursor: pointer; }
.dialog-audio time { min-width: 38px; color: rgba(255,255,255,.62); font: 500 11px/1 Arial,sans-serif; text-align: right; }
html[data-layout-profile="tablet"] .dialog-audio,html[data-layout-profile="tablet"] .dialog-audio * { text-shadow: none; box-shadow: none; }
.detail-dialog.has-long-copy .dialog-copy > p { font-size: clamp(14px, .9vw, 17px); line-height: 1.55; }
.dialog-copy dl { margin: 30px 0 0; border-top: 1px solid rgba(255,255,255,.13); }
.detail-dialog.has-long-copy .dialog-copy dl { margin-top: 20px; }
.dialog-copy dl div { display: grid; grid-template-columns: 1fr 1.5fr; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.dialog-copy dt { color: rgba(255,255,255,.45); }
.dialog-copy dd { margin: 0; }
.dialog-hotspot-back { margin: 0 0 24px; padding: 0; border: 0; color: var(--accent); background: transparent; font: 700 12px/1.2 Arial,sans-serif; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.dialog-hotspot-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 26px; }
.dialog-hotspot-gallery figure { margin: 0; }
.dialog-hotspot-gallery img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; }
.dialog-hotspot-gallery figcaption { margin-top: 7px; color: rgba(255,255,255,.6); font-size: 12px; line-height: 1.4; }
html[data-layout-profile="tablet"] .dialog-hotspot-gallery img { filter: none; box-shadow: none; }

@keyframes breathe { to { opacity: .72; transform: translate3d(-1%, 1%, 0) scale(1.03); } }
@keyframes nudge { 0%,100% { transform: translateX(-5px); } 50% { transform: translateX(5px); } }
@keyframes dialog-in { from { opacity: 0; transform: translateY(22px) scale(.985); } }
@keyframes dialog-in-fixed {
  from { opacity: 0; transform: translateY(22px) scale(var(--flow-stage-scale,1)); }
  to { opacity: 1; transform: translateY(0) scale(var(--flow-stage-scale,1)); }
}
@keyframes dialog-in-tablet {
  from { opacity: 0; transform: translate(-50%, calc(-50% + 22px)) scale(var(--flow-stage-scale,1)); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(var(--flow-stage-scale,1)); }
}
@keyframes micro-sway {
  0% { transform: translateX(0); }
  64% { transform: translateX(4px); }
  82% { transform: translateX(-2px); }
  100% { transform: translateX(0); }
}
@keyframes timeline-numeral-sway {
  0% { translate: 0 0; }
  64% { translate: 4px 0; }
  82% { translate: -2px 0; }
  100% { translate: 0 0; }
}

@media (max-width: 760px) {
  html[data-layout-profile="web"] .experience { --artifact-video-height: 49%; min-height: 600px; }
  html[data-layout-profile="web"] .museum-brand { transform: scale(.82); transform-origin: left top; }
  html[data-layout-profile="web"] .utility { right: 10px; top: 10px; }
  html[data-layout-profile="web"] .artifact-stage { top: 7%; height: 31%; }
  html[data-layout-profile="web"] .artifact { width: 40cqw; height: 27cqh; }
  html[data-layout-profile="web"] .artifact-label { left: 72%; top: 42%; width: 42cqw; }
  html[data-layout-profile="web"] .artifact-label p { display: none; }
  html[data-layout-profile="web"] .artifact-label h1 { font-size: 18px; }
  html[data-layout-profile="web"] .horizontal-timeline { top: 37%; height: 13%; }
  html[data-layout-profile="web"] .event-stage { height: 51%; }
  html[data-layout-profile="web"] .event-copy { left: 50%; top: 50%; width: 82%; }
  html[data-layout-profile="web"] .event-copy h2 { font-size: 23px; margin-bottom: 5px; }
  html[data-layout-profile="web"] .event-copy > span { display: none; }
  html[data-layout-profile="web"] .event-copy .learn-more { margin-top: 7px; }
  html[data-layout-profile="web"] .event-foreground-motion { width: clamp(150px, 34cqw, 230px); }
  html[data-layout-profile="web"] .event-foreground-motion--right { right: 5%; }
  html[data-layout-profile="web"] .event-foreground-motion--left { left: 5%; }
  html[data-layout-profile="web"] .flow-signature { display: none; }
  html[data-layout-profile="web"] .detail-dialog { width: calc(100vw - 24px); height: calc(100vh - 24px); overflow: auto; }
  html[data-layout-profile="web"] .detail-dialog[open] { display: block; }
  html[data-layout-profile="web"] .dialog-art { min-height: 240px; height: 37vh; transform: none; }
  html[data-layout-profile="web"] .dialog-art img { width: 92%; height: 92%; }
  html[data-layout-profile="web"] .dialog-art .dialog-tilt { width: 90%; height: 90%; }
  html[data-layout-profile="web"] .dialog-art .dialog-tilt img { width: 100%; height: 100%; }
  html[data-layout-profile="web"] .dialog-model { width:100%; height:100%; min-height:260px; }
  html[data-layout-profile="web"] .dialog-copy { max-height: none; padding: 24px 27px 36px; overflow: visible; }
  html[data-layout-profile="web"] .dialog-copy h2 { font-size: clamp(34px, 11vw, 52px); }
  html[data-layout-profile="web"] .detail-dialog.has-long-title .dialog-copy h2 { font-size: clamp(30px, 9vw, 44px); }
  html[data-layout-profile="web"] .detail-dialog.has-very-long-title .dialog-copy h2 { font-size: clamp(26px, 8vw, 38px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
