:root{--cream:#e9e3d5;--paper:#f1ece1;--ink:#2a241c;--muted:#6c665a;--teal:#0a6e5f;--line:rgba(42,36,28,.16);font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);padding:12px 20px;font-size:12px;font-weight:600}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #b5904d;outline-offset:5px}button:hover{background:#fff9ef}button[hidden],[hidden]{display:none!important}.skip-link{position:absolute;top:-80px;z-index:20;background:var(--paper);padding:15px}.skip-link:focus{top:0}.gallery-header{height:90px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.gallery-brand img{display:block;max-width:150px;height:auto}.mode-switch{display:flex;padding:4px;background:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.65);border-radius:99px;gap:4px;box-shadow:0 5px 18px #46372009}.mode-switch button{border:0;background:none;min-width:88px}.mode-switch button[aria-pressed=true]{background:var(--teal);color:#fff;box-shadow:0 2px 8px #09372b20}.gallery-leave{font-size:12px;text-decoration:none}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.16em;font-weight:650;color:var(--teal)}.gallery-stage{height:min(70vh,780px);min-height:480px;position:relative;isolation:isolate;overflow:hidden;background:#d8d0bf}.gallery-stage canvas{display:block;width:100%;height:100%;touch-action:none}.gallery-stage:after{content:"";pointer-events:none;position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,#e9e3d5bd,transparent 48%),linear-gradient(90deg,#e9e3d545,transparent 60%)}.stage-label{position:absolute;top:28px;left:4vw;display:flex;gap:16px;align-items:center;font-size:10px;color:var(--muted);z-index:1}.stage-label .eyebrow{color:var(--ink)}.gallery-intro{position:absolute;left:4vw;bottom:100px;pointer-events:none;z-index:1;max-width:470px;text-shadow:0 1px 16px #eee5d5}.gallery-intro h1{font-size:clamp(30px,3.5vw,57px);font-weight:450;line-height:1.08;letter-spacing:-.05em;margin:14px 0}.gallery-intro p{max-width:320px;font-size:13px;line-height:1.6}.stage-tools{position:absolute;bottom:28px;left:4vw;display:flex;gap:9px;z-index:2}.stage-tools button{backdrop-filter:blur(16px);background:#faf6e6c9}.stage-tools #enter-immersive{background:var(--teal);color:white;border-color:transparent}.capability-note{position:absolute;right:4vw;bottom:27px;font-size:10px;line-height:1.5;max-width:220px;color:var(--muted);z-index:1;text-align:right}.stage-loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;background:#e9e3d5f7;z-index:3;font-size:12px}.loading-bead{width:20px;height:24px;border-radius:50%;background:radial-gradient(circle at 30% 20%,white,#0a6e5f80);box-shadow:0 5px 18px #0a6e5f22;animation:breathe 1.5s ease-in-out infinite}@keyframes breathe{50%{transform:translateY(-8px) scale(.9,1.1)}}.gallery-collection{padding:44px 4vw 22px;max-width:1600px;margin:auto}.collection-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}.collection-heading h2{font-size:25px;font-weight:450;letter-spacing:-.035em;margin:9px 0 0}.quiet-button{background:none;border:0;padding:12px 0}.exhibits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.exhibit{border-radius:0;padding:0;background:none;text-align:left;border:0;border-bottom:2px solid transparent;padding-bottom:15px}.exhibit:hover{background:none}.exhibit[aria-pressed=true]{border-bottom-color:var(--teal)}.exhibit img{width:100%;aspect-ratio:1.6;object-fit:cover;display:block;margin-bottom:15px;filter:saturate(.87);transition:filter .2s}.exhibit:hover img,.exhibit[aria-pressed=true] img{filter:saturate(1)}.exhibit .eyebrow{display:block;margin-bottom:8px}.exhibit strong{font-weight:500;font-size:13px;line-height:1.5}.selected-exhibit{display:flex;justify-content:space-between;align-items:center;padding:28px 0 18px;gap:35px}.selected-exhibit h3{font-size:22px;font-weight:450;letter-spacing:-.03em;margin:9px 0}.selected-exhibit p{font-size:12px;line-height:1.6;max-width:540px;color:var(--muted);margin:0}.exhibit-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.exhibit-actions button:not(.secondary){background:var(--teal);color:white;border-color:transparent}.secondary{background:transparent}.gallery-footer{padding:26px 4vw;border-top:1px solid var(--line);font-size:11px;display:flex;justify-content:space-between;color:var(--muted)}.gallery-footer a{text-decoration:none}.gallery-status{margin:0;padding:0 4vw 20px;font-size:11px;color:var(--muted);min-height:20px}.gallery-status:empty{padding:0;min-height:0}.recovery{padding:40px 4vw;background:var(--paper)}.recovery a{margin-left:20px}.recovery h2{font-weight:450}.browse-stage{height:calc(100dvh - 90px);position:relative;background:var(--cream)}.browse-stage iframe{border:0;width:100%;height:100%;display:block}.frame-loading{position:absolute;inset:0;display:grid;place-content:center;font-size:12px;background:var(--cream);pointer-events:none}.is-browse .gallery-stage,.is-browse .gallery-collection,.is-browse .gallery-footer{display:none}.is-browse .gallery-status{position:fixed;right:18px;bottom:18px;max-width:400px;z-index:5;background:var(--paper);border-radius:6px;padding:12px}.is-browse .gallery-status:empty{display:none}.browse-immersive-controls{display:flex;gap:7px;align-items:center}.browse-immersive-controls button{font-size:11px;padding:10px 12px}.is-qa .gallery-header:after{content:"Device testing";position:absolute;top:2px;right:10px;font-size:8px;color:var(--teal);letter-spacing:.1em;text-transform:uppercase}@media(max-width:760px){.gallery-header{height:76px;padding:0 20px;gap:8px}.gallery-brand img{width:105px}.mode-switch button{min-width:64px;padding:10px 12px;font-size:11px}.gallery-leave{display:none}.gallery-stage{height:63vh;min-height:460px}.gallery-intro{bottom:125px;left:22px;max-width:270px}.gallery-intro h1{font-size:34px}.gallery-intro p{font-size:12px;max-width:245px}.stage-label{left:22px;top:22px;gap:10px}.stage-tools{left:22px;bottom:58px;right:20px;flex-wrap:wrap}.stage-tools button{font-size:10px;padding:10px 14px}.capability-note{left:22px;right:auto;bottom:14px;max-width:90%;text-align:left}.gallery-collection{padding:30px 22px}.collection-heading{align-items:flex-end}.collection-heading h2{font-size:23px}.exhibits{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.exhibit strong{font-size:12px}.exhibit img{margin-bottom:11px}.selected-exhibit{display:block;padding-bottom:0}.exhibit-actions{margin-top:20px;justify-content:flex-start}.gallery-footer{padding:24px 22px;gap:20px;line-height:1.5}.gallery-footer span{max-width:160px}.browse-stage{height:calc(100dvh - 76px)}.browse-immersive-controls{position:fixed;bottom:10px;left:10px;z-index:5}.is-browse .gallery-status{bottom:60px;font-size:10px;max-width:calc(100vw - 36px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.gallery-intro.dismissed { opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; }
.stage-label { background: #f1ece1e8; color: #514a3e; border-radius: 20px; padding: 9px 13px; backdrop-filter: blur(12px); }
.browse-immersive-controls { position: static; }
.gallery-header { position: sticky; top: 0; z-index: 10; background: #e9e3d5f2; backdrop-filter: blur(16px); }
@media (max-width: 760px) { .browse-immersive-controls { position: fixed; } }
.platform-notice { padding: clamp(56px, 11vh, 132px) 4vw; max-width: 760px; margin: 0 auto; }
.platform-notice h1 { font-size: clamp(32px, 4.6vw, 60px); font-weight: 450; line-height: 1.06; letter-spacing: -.05em; margin: 16px 0 26px; text-wrap: balance; }
.platform-notice p { font-size: 14px; line-height: 1.75; color: var(--muted); max-width: 54ch; margin: 0 0 18px; }
.platform-notice .platform-hint { color: var(--ink); }
.platform-notice .platform-hint strong { font-weight: 600; }
.notice-actions { display: flex; flex-wrap: wrap; gap: 10px 26px; align-items: center; margin-top: 34px; }
.notice-actions a { text-decoration: none; font-size: 12px; font-weight: 600; }
.notice-actions a.primary { background: var(--teal); color: #fff; border-radius: 999px; padding: 13px 22px; }
.notice-actions a.primary:hover { background: #085b4e; }
.is-unsupported .gallery-stage, .is-unsupported .gallery-collection, .is-unsupported .browse-stage,
.is-unsupported .gallery-status, .is-unsupported .mode-switch, .is-unsupported .recovery { display: none !important; }
@media (max-width: 760px) { .platform-notice { padding: 52px 22px; } .notice-actions { gap: 10px 18px; } }
