@font-face{font-family:Anton;src:url('assets/anton-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--cream:#fcf9ef;--brown:#4b2319;--lilac:#e7dbed;--lilac-deep:#ceb9d7;--line:#4b231933;--page:1220px;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--brown);font:400 16px/1.55 Montserrat,Arial,sans-serif}
h1,h2,h3,p{margin:0}
h1,h2,h3{font:400 1em/1.05 Anton,Impact,sans-serif}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
[hidden]{display:none!important}
.page-width{width:min(var(--page),calc(100% - 96px));margin-inline:auto}
.skip-link{position:absolute;z-index:40;left:18px;top:10px;background:var(--brown);color:var(--cream);padding:12px 16px;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-header{border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:18px}
.museum-brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.museum-seal{background:var(--brown);color:var(--cream);border-radius:50%;width:60px;height:60px;padding:10px;font-size:10px;line-height:1.02;display:grid;place-content:center}
.museum-name{font-size:12px;line-height:1.65}
.museum-name strong{font-weight:650}
.header-actions{display:flex;align-items:center;gap:18px}
.project-tag{font-size:10px;font-weight:650;letter-spacing:.13em;white-space:nowrap}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;line-height:1.4}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icon-play{width:18px;height:18px;fill:currentColor;stroke:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 17px;border:0;border-radius:4px;font-size:12px;font-weight:650;line-height:1.35;text-align:center;transition:background .18s,transform .18s}
.button:hover:not(:disabled){transform:translateY(-2px)}
.button:disabled{opacity:.6;cursor:default}
.button-brown{background:var(--brown);color:var(--cream)}
.button-brown:hover:not(:disabled){background:#613526}
.button-cream{background:var(--cream);color:var(--brown)}
.button-quiet{background:var(--lilac);color:var(--brown)}
.button-quiet:hover:not(:disabled){background:var(--lilac-deep)}
.text-button{border:0;background:transparent;min-height:44px;padding:8px 0;font-size:12px;font-weight:650;text-align:left}
.text-button:hover{text-decoration:underline;text-underline-offset:5px}
.text-button span{margin-inline:4px}
.entry-layout{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:46px;padding-block:44px 32px;min-height:582px}
.entry-title{font-size:clamp(72px,8vw,116px);letter-spacing:-.026em;line-height:.99;margin:18px 0 20px}
.entry-description{max-width:315px;font-size:19px;line-height:1.45}
.entry-actions{display:flex;align-items:center;gap:21px;flex-wrap:wrap;margin-top:26px}
.door-world{position:relative;justify-self:center;width:min(100%,380px);padding:34px 34px 8px;text-align:center;isolation:isolate}
.door-world::before{content:'';position:absolute;inset:0 0 50px;background:var(--lilac);border-radius:50% 50% 0 0;z-index:-2}
.door-frame{position:relative;height:368px;border:7px solid var(--brown);background:var(--brown);border-radius:3px 3px 0 0;perspective:1050px}
.door-room{position:absolute;inset:0;background:var(--lilac);display:grid;place-items:center;overflow:hidden}
.door-room img{display:block;width:100%;height:auto}
.door-leaf{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--cream);transform-origin:0 50%;backface-visibility:hidden;transition:transform .92s cubic-bezier(.22,.61,.36,1);box-shadow:inset -3px 0 #4b231926}
.door-leaf:focus-visible{outline-offset:-7px}
.door-top-panel,.door-bottom-panel{position:absolute;left:19px;right:19px;border:1px solid var(--brown);pointer-events:none}
.door-top-panel{top:23px;height:43%}
.door-bottom-panel{bottom:23px;height:36%}
.door-sign{position:absolute;top:15%;inset-inline:0;font:400 35px/1.06 Anton,Impact,sans-serif;pointer-events:none}
.door-knob{position:absolute;top:54%;right:20px;width:21px;height:21px;background:var(--brown);border-radius:50%;transition:transform .2s;pointer-events:none}
.door-leaf:hover .door-knob{transform:scale(1.19)}
.door-world.is-opening .door-leaf{transform:rotateY(-104deg)}
.door-floor{height:7px;background:var(--brown);margin-inline:-15px}
.door-hint{margin-top:14px;font-size:11px;font-weight:600}
.door-hint span{margin-left:4px}
.faces-band{background:var(--lilac-deep);width:100%;overflow:hidden;line-height:0}
.faces-band img{display:block;width:min(100%,1500px);height:auto;max-height:138px;object-fit:contain;margin:auto}
.site-footer{display:flex;justify-content:space-between;gap:16px;padding-block:23px;font-size:10px;line-height:1.65}
.site-footer p:last-child{text-align:right}
.site-footer span{opacity:.82}
.exhibit-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.38fr);align-items:center;gap:52px;padding-block:39px 42px}
.back-door{margin-bottom:22px}
.back-door span{margin-left:0}
.exhibit-intro h1{font-size:clamp(58px,6.1vw,94px);letter-spacing:-.017em;margin:14px 0 15px}
.exhibit-lead{font-size:14px;line-height:1.65;margin-bottom:22px}
.conversation-card{min-width:0;background:var(--lilac);padding:20px clamp(18px,3vw,37px) 19px;border-radius:6px}
.conversation-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.conversation-mark{font-size:22px;line-height:1}
.face-pair:not(.ar-pair){display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,3.1vw,44px);padding-block:10px 5px}
.face-tile{background:none;border:0;min-width:0;padding:0 0 8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center}
.face-tile .face-art{display:block;width:min(100%,204px);height:auto;margin:12px auto 0;overflow:visible;transition:transform .22s}
.face-tile:hover .face-art,.face-tile:focus-visible .face-art{transform:translateY(-4px) rotate(-3deg)}
.face-tile:nth-child(2):hover .face-art,.face-tile:nth-child(2):focus-visible .face-art{transform:translateY(-4px) rotate(3deg)}
.speech-bubble{display:grid;place-items:center;position:relative;min-height:46px;padding:9px 14px;border-radius:18px;background:var(--cream);font-size:clamp(11px,1.3vw,15px);font-weight:650;line-height:1.3;transition:background .2s,color .2s}
.speech-bubble::after{content:'';position:absolute;width:11px;height:11px;bottom:-4px;left:25%;background:inherit;transform:rotate(40deg);border-radius:1px}
.face-tile:nth-child(2) .speech-bubble::after{left:auto;right:25%}
.face-tag{margin-top:12px;font-size:9px;font-weight:700;letter-spacing:.15em}
.mouth-open{opacity:0;transform-box:fill-box;transform-origin:50% 50%}
.face-actor.is-speaking .mouth-rest{opacity:0}
.face-actor.is-speaking .mouth-open{opacity:1;animation:talk-mouth .52s steps(1,end) infinite}
.face-actor.is-speaking .speech-bubble{background:var(--brown);color:var(--cream)}
.face-actor.is-speaking .face-art{animation:say-line 1s ease-in-out infinite alternate}
@keyframes talk-mouth{0%,100%{transform:scale(1,.28)} 16%{transform:scale(.94,.86)} 36%{transform:scale(.72,.42)} 54%{transform:scale(1.08,1.13)} 74%{transform:scale(.83,.53)} 88%{transform:scale(.97,.72)}}
@keyframes say-line{from{translate:0 0}to{translate:0 -4px}}
.conversation-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding-top:12px;border-top:1px solid var(--line)}
.conversation-hint{font-size:10px;font-weight:550}
.explore{padding-block:14px 48px}
.explore-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:17px}
.explore-heading h2{font-size:clamp(31px,4.2vw,52px)}
.scene-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.scene-card{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:18px;min-height:102px;border:0;border-radius:4px;background:var(--lilac);text-align:left;transition:background .18s,transform .18s}
.scene-card:hover{background:var(--lilac-deep);transform:translateY(-3px)}
.scene-num{font-size:10px;font-weight:700;padding-top:3px}
.scene-card>span:nth-child(2){font:400 clamp(19px,2.2vw,30px)/1.18 Anton,Impact,sans-serif}
.scene-arrow{font-size:17px;line-height:1.15}
.about-micro{margin-top:17px;border-block:1px solid var(--line);font-size:12px}
.about-micro summary{padding:13px 0;cursor:pointer;font-weight:650}
.about-micro p{padding:0 0 15px;max-width:58ch}
dialog{background:var(--cream);color:var(--brown);border:0;border-radius:6px;padding:22px 27px 24px;width:560px;max-width:calc(100% - 28px);max-height:calc(100dvh - 28px);overflow:auto;box-shadow:0 16px 64px #29140d55}
dialog::backdrop{background:#29140d9e;backdrop-filter:blur(2px)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.icon-button{min-width:44px;min-height:44px;border:0;border-radius:50%;padding:0;background:var(--lilac);font:400 29px/1 Arial,sans-serif}
dialog h2{font-size:clamp(29px,5vw,44px);line-height:1.13;margin-bottom:15px}
.scene-prompt{font-size:13px;margin-bottom:16px}
.response-choices{display:grid;gap:8px}
.response-choice{display:flex;align-items:center;gap:11px;min-height:50px;padding:10px 12px;background:var(--lilac);border:0;border-radius:4px;text-align:left;font-size:12px;font-weight:550}
.response-choice:hover{background:var(--lilac-deep)}
.response-choice[aria-pressed=true]{background:var(--brown);color:var(--cream)}
.choice-letter{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--cream);color:var(--brown);font-size:11px;font-weight:700}
.response-feedback{margin-top:13px;padding:13px 15px;border-radius:4px;background:var(--lilac);font-size:12px;line-height:1.6}
.scene-done{margin-top:10px}
html:has(.ar-dialog[open]){overflow:hidden;overscroll-behavior:none}
.ar-dialog{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--cream);box-shadow:none}
.ar-dialog::backdrop{background:#27141e}
.ar-viewer,.ar-space,.ar-viewer video{position:absolute;inset:0;width:100%;height:100%;display:block}
.ar-viewer{isolation:isolate;overflow:hidden;background:var(--cream)}
.ar-viewer[data-mode=camera]{background:#211520}
.ar-viewer[data-mode=camera][data-anchor=libre]{touch-action:none;cursor:grab}
.ar-viewer[data-mode=camera][data-anchor=libre]:active{cursor:grabbing}
.ar-viewer video{object-fit:cover;object-position:center}
.ar-viewer[data-mode=sample] video,.ar-viewer:not([data-anchor=folleto]) .ar-guide{display:none}
.ar-viewer[data-mode=opening] video{opacity:0}
.ar-space{pointer-events:none;overflow:hidden}
.ar-figure{position:absolute;transform:translate(-50%,-50%) rotate(var(--figure-angle,0rad));user-select:none}
.ar-figure .face-art{display:block;width:100%;height:auto;animation:ar-arrive .62s cubic-bezier(.18,.72,.32,1) both}
.ar-figure:nth-child(2) .face-art{animation-delay:.10s}
.ar-figure .mouth-rest{opacity:calc(1 - var(--mouth-mix,0))}
.ar-figure .mouth-open{opacity:var(--mouth-mix,0);transform:scale(1,var(--jaw,.19))}
.ar-figure .mouth-tongue{display:none}
@keyframes ar-arrive{from{opacity:0;transform:translateY(28px) scale(.91)}to{opacity:1;transform:none}}
.ar-viewer[data-anchor=folleto]:not(.has-target) .ar-space{opacity:.24}
.ar-guide{position:absolute;left:50%;top:49%;width:min(81vw,76vh);aspect-ratio:504/330;transform:translate(-50%,-50%);background:linear-gradient(var(--cream),var(--cream)) left top/26px 2px,linear-gradient(var(--cream),var(--cream)) left top/2px 26px,linear-gradient(var(--cream),var(--cream)) right top/26px 2px,linear-gradient(var(--cream),var(--cream)) right top/2px 26px,linear-gradient(var(--cream),var(--cream)) left bottom/26px 2px,linear-gradient(var(--cream),var(--cream)) left bottom/2px 26px,linear-gradient(var(--cream),var(--cream)) right bottom/26px 2px,linear-gradient(var(--cream),var(--cream)) right bottom/2px 26px;background-repeat:no-repeat;pointer-events:none}
.ar-viewer.has-target .ar-guide{visibility:hidden}
.ar-topbar{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:max(24px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) 38px max(22px,env(safe-area-inset-left));pointer-events:none}
.ar-topbar h2{margin:7px 0 0;font-size:clamp(28px,4.15vw,60px);letter-spacing:-.008em;line-height:1.06}
.ar-hint{margin-top:7px;font-size:clamp(11px,1.2vw,13px);font-weight:650}
.ar-topbar .icon-button{pointer-events:auto;flex:none;background:var(--cream);color:var(--brown);font-size:31px;box-shadow:0 1px 8px #43252b25}
.ar-dialog[data-view=camera] .ar-topbar{color:var(--cream);background:linear-gradient(#271720b3,#2717204c,transparent)}
.ar-footer{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:3;transform:translateX(-50%);width:min(620px,calc(100% - 26px));display:grid;gap:9px;pointer-events:none}
.ar-scan-status,.ar-captions{position:relative;padding:11px 13px;border-radius:8px;background:#fcf9efeb;color:var(--brown);font-size:13px;line-height:1.48;box-shadow:0 4px 20px #41272d20}
.ar-scan-status{display:flex;align-items:center;gap:11px}
.ar-scan-status>div{flex:1;min-width:0}
.ar-marker-ref{width:88px;height:auto;border-radius:4px;flex:none}
.ar-status{margin:0;font-weight:600}
.ar-captions{min-height:45px;padding-bottom:14px;font-weight:650;overflow:hidden}
.ar-voice-progress{position:absolute;inset:auto 0 0;height:3px;background:#4b23191b}
.ar-voice-progress span{display:block;width:0;height:100%;background:var(--brown)}
.ar-speaker-pause,.ar-speaker[data-playing=true] .ar-speaker-sound{display:none}
.ar-speaker[data-playing=true] .ar-speaker-pause{display:inline}
.ar-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.ar-actions .button{pointer-events:auto;min-height:44px;border-radius:7px;box-shadow:0 2px 12px #3e242b25}
.ar-actions .button-quiet{background:#fcf9efee}
.ar-dialog:not([data-view=camera]) #play-ar{color:var(--brown);background:var(--cream)}
.ar-anchor{pointer-events:auto;justify-self:center;min-height:36px;padding:4px 13px;border-radius:5px;background:#fcf9efee;text-underline-offset:3px}
.ar-progress{height:3px;background:var(--lilac);overflow:hidden;margin-top:7px}
.ar-progress span{display:block;height:100%;width:0;background:var(--brown);transition:width .2s}
@media(max-width:1000px){.page-width{width:calc(100% - 64px)}.entry-layout{min-height:520px;gap:32px}.door-world{width:min(100%,344px);padding-inline:27px}.door-frame{height:328px}.exhibit-layout{gap:30px}.conversation-card{padding-inline:19px}.face-tag{letter-spacing:.11em}.scene-card{padding:14px;gap:8px}}
@media(max-width:720px){.page-width{width:calc(100% - 36px)}.header-inner{padding-block:12px;gap:8px}.museum-seal{width:46px;height:46px;font-size:8px;padding:7px}.museum-brand{gap:8px}.museum-name{font-size:9px;line-height:1.45}.project-tag{display:none}.header-ar{font-size:0;min-width:44px;padding:10px}.header-ar span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.entry-layout{grid-template-columns:1fr;gap:24px;min-height:0;padding-block:28px}.entry-copy{text-align:center}.entry-title{font-size:clamp(66px,18vw,88px);margin:13px 0 12px}.entry-description{font-size:14px;max-width:255px;margin-inline:auto}.entry-actions{justify-content:center;gap:15px;margin-top:16px}.door-world{width:min(100%,251px);padding:23px 22px 5px}.door-frame{height:250px;border-width:6px}.door-sign{font-size:28px}.door-top-panel,.door-bottom-panel{inset-inline:16px}.door-top-panel{top:15px}.door-bottom-panel{bottom:15px}.door-knob{width:17px;height:17px;right:17px}.door-hint{font-size:10px;margin-top:10px}.faces-band img{width:710px;max-width:none;position:relative;left:50%;transform:translateX(-50%);height:86px}.site-footer{font-size:8px;padding-block:19px}.exhibit-layout{grid-template-columns:1fr;gap:17px;padding-block:12px 22px}.exhibit-intro{position:relative}.back-door{margin-bottom:7px}.exhibit-intro h1{font-size:clamp(50px,14vw,66px);margin:8px 0}.exhibit-intro h1 br{display:none}.exhibit-lead{font-size:12px;margin-bottom:13px}.exhibit-lead br{display:none}.exhibit-ar{min-height:42px;font-size:11px;padding:9px 11px}.exhibit-ar .icon{width:17px;height:17px}.conversation-card{padding:12px 13px}.conversation-top .eyebrow{font-size:8px}.face-pair:not(.ar-pair){gap:12px;padding-block:8px 0}.speech-bubble{min-height:37px;padding:7px 9px;font-size:10px}.face-tile .face-art{width:min(100%,158px);margin-top:10px}.face-tag{margin-top:8px;font-size:8px}.conversation-controls{gap:7px;margin-top:3px;padding-top:9px}.conversation-controls .button{min-height:40px;font-size:11px;padding:8px 10px}.conversation-hint{font-size:8px}.explore{padding-block:10px 32px}.explore-heading{display:block;margin-bottom:12px}.explore-heading h2{margin-top:7px}.scene-list{grid-template-columns:1fr;gap:8px}.scene-card{min-height:59px;padding:11px 13px;align-items:center}.scene-card>span:nth-child(2){font-size:22px}.scene-card br{display:none}.scene-num{padding-top:0}.scene-arrow{font-size:15px}dialog{padding:15px 15px 18px}.dialog-top .eyebrow{font-size:8px}.ar-topbar{padding: max(15px,env(safe-area-inset-top)) 13px 28px}.ar-topbar .eyebrow{font-size:8px}.ar-topbar h2{font-size:clamp(24px,7.2vw,36px)}.ar-footer{bottom:max(12px,env(safe-area-inset-bottom))}.ar-status,.ar-captions{font-size:12px}.ar-actions .button{font-size:11px;min-height:43px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
