/* Interactive exhibit. All artwork and official branding stay in the source images. */
.insp-museum__label{background:transparent;backdrop-filter:none;border:0;padding:0;display:block;min-height:0;transition:background-color .18s ease}
.insp-museum__label>.insp-museum__plaque{position:absolute;bottom:0;left:5%;display:grid;width:max-content;max-width:100%;gap:.25rem;border-left:2px solid #d9b96e;padding:.4rem .75rem;background:rgba(12,10,8,.83);backdrop-filter:blur(8px);color:#f4eee3}
.insp-museum__plaque>span{display:flex;gap:.6rem;align-items:center;font:500 .8rem/1.5 var(--o-sans);color:#e4bf73}
.insp-museum__label--squares{left:22%;top:34%;width:18%;height:45%}
.insp-museum__label--hexagon{left:40%;top:24%;width:22%;height:65%}
.insp-museum__label--pinwheel{left:62%;top:2%;bottom:auto;width:36%;height:95%}
.insp-museum__label--pinwheel>.insp-museum__plaque{left:35%}
.insp-museum__label:hover{background:rgba(228,191,115,.045)}
.insp-museum__label:hover>.insp-museum__plaque,.insp-museum__label:focus-visible>.insp-museum__plaque{background:#2b2113;border-color:#f4d48b}
.insp-detail{--o-text:#f4eee3;--o-text-2:#d1c6b5;--o-gold-ink:#e4bf73;--o-rule-soft:rgba(217,185,110,.23);position:fixed;inset:0 0 0 auto;width:min(94vw,72rem);height:100dvh;max-width:none;max-height:none;margin:0 0 0 auto;padding:0;border:0;border-left:1px solid #65502e;background:#15110d;color:#f4eee3;overflow:hidden;box-shadow:-1rem 0 4rem rgba(0,0,0,.35);opacity:0;transform:translateX(1.25rem);transition:opacity .2s ease,transform .2s ease}
.insp-detail[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.insp-detail.is-ready{opacity:1;transform:translateX(0)}
.insp-detail::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}
.insp-detail button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:44px;min-height:44px;padding:.6rem .85rem;border:1px solid #736040;border-radius:4px;background:transparent;color:#f4eee3;font:500 .85rem/1.25 var(--o-sans);cursor:pointer;touch-action:manipulation}
.insp-detail button:hover:not(:disabled){background:#302518;border-color:#d9b96e}
.insp-detail button:disabled{opacity:.4;cursor:default}
.insp-detail :focus-visible{outline:3px solid #edcf91;outline-offset:3px}
.insp-detail .icon{width:1.05rem;height:1.05rem;flex-shrink:0}
.insp-detail__bar{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.25rem clamp(1rem,2.5vw,2rem);border-bottom:1px solid var(--o-rule-soft)}
.insp-detail .o2-eyebrow{color:#e4bf73;font-size:.62rem;margin:0 0 .35rem}
.insp-detail__bar h2{margin:0;font:500 clamp(1.5rem,2.6vw,2rem)/1.15 var(--o-display);color:#f4eee3}
.insp-detail__close{flex-shrink:0}
.insp-detail__body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(15rem,.8fr);gap:clamp(1.5rem,3vw,2.5rem);overflow:auto;overscroll-behavior:contain;padding:1.5rem clamp(1rem,2.5vw,2rem) 2rem;align-items:start;scrollbar-color:#7f663b #15110d}
.insp-detail__photograph{min-width:0}
.insp-detail__tools{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}
.insp-detail__tools span{min-width:3.1rem;text-align:center;font:500 .8rem/1.2 var(--o-sans);font-variant-numeric:tabular-nums;color:#e4bf73}
.insp-detail__tools button:last-child{margin-left:auto}
.insp-detail__viewport{height:clamp(18rem,55dvh,42rem);position:relative;overflow:hidden;background:#090807;border:1px solid #463923;touch-action:pan-y;isolation:isolate}
.insp-detail__viewport.is-zoomed{touch-action:none;cursor:grab}
.insp-detail__viewport.is-dragging{cursor:grabbing}
.insp-detail__image{display:block;width:100%;height:100%;object-fit:contain;user-select:none;transform-origin:center;transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),0) scale(var(--photo-scale,1));will-change:transform}
.insp-detail__image[hidden]{display:none}
.insp-detail__loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;background:#15110d;color:#d1c6b5;font:400 .85rem/1.5 var(--o-sans);pointer-events:none;padding:2rem;text-align:center}
.insp-detail__loading[hidden],.insp-detail__error[hidden]{display:none}
.insp-detail__hint,.insp-detail__credit{font:400 .75rem/1.6 var(--o-sans);color:#bfb29d;margin:.8rem 0 0}
.insp-detail__credit{color:#e0d4c1;padding-top:.75rem;border-top:1px solid var(--o-rule-soft)}
.insp-detail__error{font:400 .85rem/1.7 var(--o-sans);color:#f3ce9d}
.insp-detail a:not(.o2-btn){color:#e4bf73;text-underline-offset:4px}
.insp-detail__story{padding-top:.15rem}
.insp-detail__description{font:400 clamp(1.2rem,1.7vw,1.5rem)/1.45 var(--o-display);margin:.8rem 0 1rem;color:#f4eee3}
.insp-detail__collection-note{font:400 .88rem/1.8 var(--o-sans);color:#d1c6b5;margin:0 0 .75rem}
.insp-detail__read{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;margin-bottom:1rem;font:500 .8rem/1.4 var(--o-sans)}
.insp-museum__intro>p.insp-museum__hint{font:400 .75rem/1.5 var(--o-sans);color:#e0d3bf;margin:.85rem 0 0;max-width:39ch}
.insp-museum__canvas{position:absolute;inset:0;z-index:0}
.insp-detail__story details{border-block:1px solid var(--o-rule-soft);font:400 .85rem/1.8 var(--o-sans);color:#d1c6b5}
.insp-detail__story summary{min-height:48px;align-content:center;cursor:pointer;color:#e4bf73;font-weight:500}
.insp-detail__story details p{margin:0 0 1rem}
.insp-detail__reflection{padding-top:2rem}
.insp-detail__reflection h3{font:500 clamp(1.4rem,2.3vw,2rem)/1.2 var(--o-display);margin:.7rem 0 1rem;color:#f4eee3}
.insp-detail__reflection>p:not(.o2-eyebrow){font:400 .88rem/1.8 var(--o-sans);color:#d1c6b5}
.insp-detail__reflection .o2-btn{margin-top:.5rem;width:100%;font-size:.85rem}
.insp-detail__reflection .insp-detail__review-note{font-size:.72rem;margin-top:1rem;line-height:1.65;color:#bfb29d}
.insp-detail__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem clamp(1rem,2.5vw,2rem) calc(1rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--o-rule-soft);background:#15110d}
.insp-detail__footer p{font:400 .78rem/1.5 var(--o-sans);text-align:center;margin:0;color:#d1c6b5}
.insp-detail__footer button{min-width:0;max-width:18rem;flex:1;justify-content:flex-start}
.insp-detail__footer button:last-child{justify-content:flex-end;text-align:right}
.insp-detail__footer button>span{display:grid;gap:.18rem;min-width:0}
.insp-detail__footer button small{font:400 .66rem/1.3 var(--o-sans);color:#d1c6b5}
.insp-detail__footer button b{font:500 .82rem/1.35 var(--o-sans);white-space:normal}
@media(min-width:62rem){.insp-detail__viewport{height:clamp(20rem,62dvh,45rem)}}
@media(max-width:61.99rem){.insp-museum__stage{padding-top:0}.insp-museum__intro{position:relative;top:auto;padding-bottom:1.5rem}.insp-museum__canvas{position:relative;inset:auto}.insp-museum__canvas .insp-museum__labels{top:0}}
@media(max-width:40rem){.insp-museum__canvas .insp-museum__labels{position:relative;inset:auto}}
@media(max-width:61.99rem){.insp-museum__label--squares{left:22%;top:34%;height:46%}.insp-museum__label--hexagon{left:40%;top:24%;height:65%}.insp-museum__label--pinwheel{left:62%;top:2%;height:95%}}
@media(max-width:48rem){.insp-detail{inset:0;width:100%;border-left:0}.insp-detail__body{display:block;padding-top:1rem}.insp-detail__viewport{height:52dvh;min-height:17rem;max-height:35rem}.insp-detail__story{padding-top:2rem}.insp-detail__bar{padding-top:max(1rem,env(safe-area-inset-top,0px))}.insp-detail__footer{padding-block:.75rem calc(.75rem + env(safe-area-inset-bottom,0px))}.insp-detail__footer button{font-size:.78rem;padding-inline:.65rem}.insp-detail__footer p{font-size:.7rem}.insp-detail__reflection .o2-btn{width:auto;min-width:15rem}}
@media(max-width:40rem){.insp-museum__label{position:static;width:auto;height:auto;display:block;min-height:44px;border-bottom:1px solid var(--o-rule-soft);padding:0}.insp-museum__label>.insp-museum__plaque{position:static;display:flex;justify-content:space-between;align-items:center;gap:.5rem;width:100%;max-width:none;padding:1rem 0;border:0;background:transparent;backdrop-filter:none}.insp-museum__label:hover>.insp-museum__plaque,.insp-museum__label:focus-visible>.insp-museum__plaque{background:transparent}.insp-museum__plaque>span{font-size:.72rem;gap:.35rem}.insp-museum__plaque b{font-size:1.2rem}.insp-museum__label--pinwheel>.insp-museum__plaque{left:auto}}
@media(max-width:23rem){.insp-museum__label>.insp-museum__plaque{flex-wrap:wrap}.insp-detail__bar .o2-eyebrow{font-size:.56rem}.insp-detail__close{padding-inline:.6rem}.insp-detail__close .icon{display:none}}
@media(prefers-reduced-motion:reduce){.insp-detail,.insp-museum__label{transition:none;transform:none}.insp-detail__image{will-change:auto}}
