/* Grand-maket: editorial identity, rotating features and a lightweight gallery.
   ARIA reports completed stages; the visual bar interpolates within each stage. */
#museumLoading.preloader {
  --poster-paper:#f3f0e7;--poster-ink:#10242d;--poster-red:#f14e36;
  --pl-title:80px;--pl-title-line:1.08;--pl-feature:30px;--pl-feature-line:1.3;
  --pl-small:13px;--pl-small-line:20px;--pl-claim:11px;--pl-claim-line:18px;
  --pl-status:12px;--pl-status-line:18px;--pl-status-tracking:.08em;
  --pl-service:10px;--pl-service-line:14px;
  position:fixed;inset:0;z-index:1000;isolation:isolate;margin:0;padding:0;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  background:var(--poster-paper);color:var(--poster-ink);
  font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased;
  opacity:1;transition:opacity 460ms ease;
}
#museumLoading[hidden]{display:none!important}
#museumLoading *,#museumLoading *::before,#museumLoading *::after{box-sizing:border-box}
#museumLoading .preloader__frame{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:32px;width:min(100%,1800px);height:100vh;height:100dvh;min-height:560px;margin:0 auto;padding:48px 64px 32px}
#museumLoading .preloader__main{position:relative;display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);grid-template-rows:auto minmax(0,1fr) auto;gap:24px 48px;min-width:0;min-height:0}
#museumLoading .preloader__welcome{position:relative;z-index:2;grid-column:1;grid-row:1;min-width:0;text-align:left}
#museumLoading .preloader__greeting{margin:0 0 16px;font:600 13px/20px Montserrat,Arial,sans-serif;letter-spacing:.26em}
#museumLoading .preloader__destination{margin:0;max-width:100%;color:var(--poster-ink)}
#museumLoading .preloader__destination strong{display:block;max-width:100%;margin:0;font:650 var(--pl-title)/var(--pl-title-line) Bounded,Montserrat,Arial,sans-serif;letter-spacing:-.045em}
#museumLoading .preloader__tagline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 0;font:600 var(--pl-small)/var(--pl-small-line) Montserrat,Arial,sans-serif;letter-spacing:.12em}
#museumLoading .preloader__dimension{display:inline-flex;align-items:center;justify-content:center;padding:0 5px;background:var(--poster-red);color:var(--poster-paper);font-weight:700;letter-spacing:0}
#museumLoading .preloader__features{grid-column:1;grid-row:2;align-self:center;min-width:0;max-width:530px;padding:16px 0}
#museumLoading .preloader__feature-rule{display:block;width:48px;height:3px;margin:0 0 26px;background:var(--poster-red)}
#museumLoading .preloader__phrases{display:grid;position:relative;min-width:0;align-items:center}
#museumLoading .preloader__phrase{grid-area:1/1;min-width:0;margin:0;font:600 var(--pl-feature)/var(--pl-feature-line) Montserrat,Arial,sans-serif;letter-spacing:-.025em;text-wrap:balance;opacity:0;transform:translateY(14px);transition:opacity 320ms ease,transform 650ms cubic-bezier(.22,.61,.36,1);pointer-events:none}
#museumLoading .preloader__phrase.is-active{opacity:1;transform:translateY(0);transition-delay:160ms;pointer-events:auto}
#museumLoading .preloader__claim{grid-column:1;grid-row:3;align-self:end;min-width:0;margin:0;color:#54616a;font:600 var(--pl-claim)/var(--pl-claim-line) Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
#museumLoading .preloader__scene{position:relative;grid-column:2;grid-row:1 / span 3;align-self:stretch;min-width:0;min-height:0;overflow:hidden;background:var(--poster-paper)}
#museumLoading .preloader__gallery{position:absolute;inset:0;isolation:isolate;overflow:hidden}
#museumLoading .preloader__image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transition:opacity 700ms ease;pointer-events:none;color:transparent}
#museumLoading .preloader__image.is-active{opacity:1}
#museumLoading .preloader__header{position:absolute;z-index:2;top:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0;min-height:44px}
#museumLoading .preloader__mode{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#museumLoading[data-preview="true"] .preloader__mode{position:static;width:auto;height:auto;overflow:visible;clip-path:none;color:#54616a;font:600 var(--pl-service)/var(--pl-service-line) Montserrat,Arial,sans-serif;letter-spacing:.08em}
#museumLoading .preloader__actions{display:flex;align-items:center;gap:10px}
#museumLoading .preloader__motion,#museumLoading .preloader__preview-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 12px;margin:0;appearance:none;border:1px solid #c2c4ba;border-radius:0;background:var(--poster-paper);color:var(--poster-ink);text-decoration:none;font:600 var(--pl-service)/var(--pl-service-line) Montserrat,Arial,sans-serif;white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#museumLoading .preloader__motion{width:44px;padding:0}
#museumLoading #museumMotionLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#museumLoading .preloader__motion:hover,#museumLoading .preloader__preview-link:hover{background:var(--poster-ink);border-color:var(--poster-ink);color:var(--poster-paper)}
#museumLoading :is(button,a):focus-visible{outline:2px solid var(--poster-red);outline-offset:4px}
#museumLoading .preloader__motion svg{flex:0 0 auto}
#museumLoading .preloader__play-icon{display:none}
#museumLoading .preloader__motion[aria-pressed="true"] .preloader__pause-icon{display:none}
#museumLoading .preloader__motion[aria-pressed="true"] .preloader__play-icon{display:block}
#museumLoading .preloader__loading{position:relative;z-index:3;width:100%;min-width:0}
#museumLoading .preloader__progress{position:relative;width:100%;height:4px;overflow:hidden;background:#d2d7cc}
#museumLoading .preloader__progress-fill{display:block;width:100%;height:100%;background:var(--poster-red);transform:scaleX(0);transform-origin:left center}
#museumLoading .preloader__status-row{display:flex;align-items:flex-start;gap:24px;min-height:36px;margin-top:12px}
#museumLoading .preloader__launch-status{flex:1 1 auto;min-width:0;margin:0;font:600 var(--pl-status)/var(--pl-status-line) Montserrat,Arial,sans-serif;letter-spacing:var(--pl-status-tracking);text-transform:uppercase;white-space:normal}
#museumLoading .preloader__launch-step{flex:0 0 auto;margin:0;color:var(--poster-ink);font:600 var(--pl-status)/var(--pl-status-line) Montserrat,Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.03em;white-space:nowrap}
#museumLoadingMessage.preloader__actual-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
#museumLoading:is(.is-slow,.has-error,[data-state="error"]) #museumLoadingMessage{position:static;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;white-space:normal;overflow-wrap:anywhere;margin:12px 0 0;color:var(--poster-ink);font:500 12px/18px Montserrat,Arial,sans-serif}
#museumLoading:is(.has-error,[data-state="error"]) .preloader__status-row{display:none}
#museumLoading .preloader__retry{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;margin-top:12px;padding:10px 18px;border:0;border-radius:0;background:var(--poster-ink);color:var(--poster-paper);font:600 12px/18px Montserrat,Arial,sans-serif;cursor:pointer}
#museumLoading .preloader__retry:hover{background:var(--poster-red)}
#museumLoading .preloader__retry[hidden]{display:none!important}
#museumLoading .preloader__noscript{margin:12px 0 0;font-size:12px;line-height:18px}
#museumLoading.is-leaving{opacity:0;pointer-events:none}
#museumLoading:is(.is-paused,.is-stopped,.has-error,[data-state="error"]) :is(.preloader__phrase,.preloader__image){transition:none!important}
#museumLoading.is-reduced *,#museumLoading.is-reduced *::before,#museumLoading.is-reduced *::after{animation:none!important;transition:none!important}
@media(min-width:701px) and (max-width:1399px){
  #museumLoading.preloader{--pl-title:66px;--pl-feature:27px}
  #museumLoading .preloader__frame{padding-right:48px;padding-left:48px}
  #museumLoading .preloader__main{column-gap:40px}
}
@media(min-width:701px) and (max-width:1099px){
  #museumLoading.preloader{--pl-title:52px;--pl-feature:23px;--pl-small:11px;--pl-status:11px}
  #museumLoading .preloader__frame{padding:32px;gap:24px}
  #museumLoading .preloader__main{column-gap:28px}
  #museumLoading .preloader__greeting{font-size:11px;letter-spacing:.2em}
  #museumLoading .preloader__tagline{letter-spacing:.05em}
}
@media(min-width:701px) and (max-width:899px){
  #museumLoading.preloader{--pl-title:44px;--pl-feature:21px;--pl-small:10px;--pl-claim:9px}
  #museumLoading .preloader__frame{padding-right:24px;padding-left:24px}
  #museumLoading .preloader__main{column-gap:24px}
}
@media(max-width:700px){
  #museumLoading.preloader{--pl-title:48px;--pl-feature:20px;--pl-feature-line:1.3;--pl-small:10px;--pl-small-line:18px;--pl-claim:9px;--pl-claim-line:16px;--pl-status:10px;--pl-status-line:16px;--pl-service:9px;--pl-service-line:14px;--pl-status-tracking:.05em}
  #museumLoading .preloader__frame{min-height:600px;padding:28px 24px 24px;gap:20px}
  #museumLoading .preloader__main{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(160px,1fr) auto;row-gap:20px}
  #museumLoading .preloader__greeting{margin-bottom:10px;font-size:10px;line-height:16px;letter-spacing:.22em}
  #museumLoading .preloader__tagline{gap:7px;margin-top:10px;letter-spacing:.1em}
  #museumLoading .preloader__features{grid-column:1;grid-row:2;align-self:start;max-width:450px;padding:0}
  #museumLoading .preloader__feature-rule{width:32px;height:2px;margin-bottom:14px}
  #museumLoading .preloader__phrases{min-height:78px}
  #museumLoading .preloader__scene{grid-column:1;grid-row:3}
  #museumLoading .preloader__claim{grid-column:1;grid-row:4}
  #museumLoading .preloader__header{top:0;right:0}
  #museumLoading .preloader__actions{gap:8px}
  #museumLoading .preloader__preview-link{padding:0 8px;gap:5px}
  #museumLoading .preloader__status-row{min-height:48px;gap:12px}
}
@media(max-width:374px){
  #museumLoading.preloader{--pl-title:40px;--pl-feature:18px;--pl-small:9px}
  #museumLoading .preloader__frame{padding:24px 20px 20px}
  #museumLoading .preloader__main{row-gap:16px}
  #museumLoading .preloader__tagline{letter-spacing:.04em}
}
@media(min-width:701px) and (max-height:600px){
  #museumLoading.preloader{--pl-title:48px;--pl-feature:20px;--pl-small:10px;--pl-claim:9px}
  #museumLoading .preloader__frame{min-height:360px;padding-top:24px;padding-bottom:20px;gap:20px}
  #museumLoading .preloader__main{row-gap:16px}
  #museumLoading .preloader__greeting{margin-bottom:8px;font-size:10px;line-height:16px}
  #museumLoading .preloader__tagline{margin-top:10px}
  #museumLoading .preloader__features{padding:0}
  #museumLoading .preloader__feature-rule{margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){
  #museumLoading *,#museumLoading *::before,#museumLoading *::after{animation:none!important;transition:none!important}
}


/* v14: soft native crossfades. Motion stays compositor-only so the
   preloader remains fluid while Three.js parses and builds the museum. */
/* Eight phrases retain the 4-second cadence and the existing fade lengths. */
@keyframes preloaderPhraseCycleV15{
  0%{opacity:0;transform:translate3d(0,6px,0);animation-timing-function:cubic-bezier(.22,1,.36,1)}
  1.6625%{opacity:1;transform:translate3d(0,0,0);animation-timing-function:linear}
  10.5875%{opacity:1;transform:translate3d(0,0,0);animation-timing-function:cubic-bezier(.4,0,.2,1)}
  14%{opacity:0;transform:translate3d(0,-5px,0)}
  100%{opacity:0;transform:translate3d(0,-5px,0)}
}
@keyframes preloaderImageCycleV16{
  0%{opacity:0;transform:translate3d(0,0,0);animation-timing-function:cubic-bezier(.22,1,.36,1)}
  2.666667%{opacity:1;transform:translate3d(0,0,0);animation-timing-function:linear}
  13.666667%{opacity:1;transform:translate3d(0,0,0);animation-timing-function:cubic-bezier(.4,0,.2,1)}
  19.333333%{opacity:0;transform:translate3d(0,0,0)}
  100%{opacity:0;transform:translate3d(0,0,0)}
}
@keyframes preloaderProgressCruiseV14{
  0%{transform:scaleX(.015)}
  38%{transform:scaleX(.48)}
  72%{transform:scaleX(.76)}
  100%{transform:scaleX(.93)}
}
#museumLoading .preloader__features{container-type:inline-size}
#museumLoading .preloader__phrase-line{display:block;white-space:nowrap}
#museumLoading .preloader__phrase{
  font-size:min(var(--pl-feature),5.3cqw);
  opacity:0;transform:translate3d(0,6px,0);transition:none;
  will-change:opacity,transform;backface-visibility:hidden;
  animation:preloaderPhraseCycleV15 32s linear infinite;animation-fill-mode:none;
}
#museumLoading .preloader__phrase:nth-child(1){animation-delay:0s}
#museumLoading .preloader__phrase:nth-child(2){animation-delay:4s}
#museumLoading .preloader__phrase:nth-child(3){animation-delay:8s}
#museumLoading .preloader__phrase:nth-child(4){animation-delay:12s}
#museumLoading .preloader__phrase:nth-child(5){animation-delay:16s}
#museumLoading .preloader__phrase:nth-child(6){animation-delay:20s}
#museumLoading .preloader__phrase:nth-child(7){animation-delay:24s}
#museumLoading .preloader__phrase:nth-child(8){animation-delay:28s}
#museumLoading .preloader__image{
  opacity:0;transition:none;will-change:opacity;backface-visibility:hidden;
  transform:translate3d(0,0,0);
  animation:preloaderImageCycleV16 30s linear infinite;animation-fill-mode:none;
}
#museumLoading .preloader__image:nth-child(1){animation-delay:0s}
#museumLoading .preloader__image:nth-child(2){animation-delay:5s}
#museumLoading .preloader__image:nth-child(3){animation-delay:10s}
#museumLoading .preloader__image:nth-child(4){animation-delay:15s}
#museumLoading .preloader__image:nth-child(5){animation-delay:20s}
#museumLoading .preloader__image:nth-child(6){animation-delay:25s}
#museumLoading .preloader__progress-fill{
  transform:scaleX(.015);will-change:transform;
  transition:transform 160ms cubic-bezier(.2,.7,.2,1);
  animation:preloaderProgressCruiseV14 42s cubic-bezier(.16,.62,.24,1) forwards;
}
#museumLoading[data-preview="true"] .preloader__progress-fill{animation-duration:12s;animation-iteration-count:infinite}
#museumLoading.is-complete .preloader__progress-fill{animation:none!important;transform:scaleX(1)!important}
#museumLoading:is(.is-paused,.is-stopped,.has-error,[data-state="error"]) :is(.preloader__phrase,.preloader__image,.preloader__progress-fill){animation-play-state:paused!important}
#museumLoading.is-finishing .preloader__phrase{animation-play-state:paused!important}
#museumLoading.is-reduced .preloader__phrase,
#museumLoading.is-reduced .preloader__image{animation:none!important;opacity:0!important;transform:none!important}
#museumLoading.is-reduced .preloader__phrase:first-child,
#museumLoading.is-reduced .preloader__image:first-child{opacity:1!important}
#museumLoading.is-reduced .preloader__progress-fill{animation:none!important;transform:scaleX(.12)}
