/* The interface belongs to the room: engraved brass, wall labels and paper tags.
   No labels are painted over the three tabletop objects. */
:root{--brass-ink:#483922;--brass-edge:#9c8359;--brass-face:linear-gradient(112deg,#d2bd91,#e6d6b4 34%,#c6ad7c 77%,#d9c49b)}
.header{color:#433521;text-shadow:0 1px 0 #f7e5c377}
.languages{gap:4px;background:var(--brass-face);border:1px solid #92764d88;border-radius:2px;padding:1px 7px;box-shadow:inset 0 0 0 2px #eddbb833,1px 2px 3px #35230e26}
.languages button{font-size:10px;min-width:22px;padding:7px 0}.languages span{font-size:9px;color:#766345}
.menu-toggle{width:34px;height:34px;border:1px solid #91754c88;border-radius:2px;background:var(--brass-face);box-shadow:inset 0 0 0 2px #eddbb833,1px 2px 3px #35230e26;gap:5px;padding:8px}
.menu-toggle span{height:1px}.menu{background:#eee2c9;border:1px solid #b69a6a;box-shadow:inset 0 0 0 5px #e0ceaa,3px 5px 15px #39261044;font:15px Playfair;transform:rotate(.5deg)}
.menu a{border-bottom:1px solid #bba47e55}.menu a:last-child{border:0}
.hero-caption{top:20.5cqw;left:15%;width:70%}
.hero-caption summary{position:relative;min-height:29px;padding:5px 24px;background:var(--brass-face);border:1px solid #99805a;border-radius:50% / 18%;box-shadow:inset 0 0 0 2px #f3e3c033,0 2px 3px #38281230;gap:8px;color:var(--brass-ink);text-shadow:0 1px #f2dfb9}
.hero-caption summary::before{content:'';position:absolute;left:8px;top:50%;width:3px;height:3px;border-radius:50%;background:#6e5736;box-shadow:0 1px #f5e5c6}
.hero-caption summary::after{font-size:10px;color:#77603d}.hero-caption h1{font-size:clamp(10px,1.7cqw,19px);letter-spacing:.12em}
.intention-note{background:#efe4cf;border:1px solid #bba37b;box-shadow:2px 5px 12px #39281433;transform:translateX(-50%) rotate(-.5deg);padding:20px 25px}
.intention-note::before{content:'';position:absolute;left:50%;top:7px;width:4px;height:4px;background:#876942;border-radius:50%;box-shadow:0 1px #fff0ca}
.carousel-controls{left:22%;width:56%;top:78.6cqw;gap:0;min-height:29px;border:1px solid #8f744c88;border-radius:30px;background:var(--brass-face);box-shadow:inset 0 0 0 2px #ecdbb944,0 2px 3px #39271122}
.carousel-controls button{height:30px;min-width:28px;font-size:13px;color:#61492c;padding:0}.dots{flex:1;justify-content:space-evenly}.dots button{min-width:11px;width:auto;flex:1}.dots button::after{width:3px;height:3px;background:#99815d;box-shadow:0 1px #f5e4c3}.dots button[aria-current=true]::after{background:#49351e;box-shadow:0 0 0 1px #7f6438}
.rituel-heading{top:88.3cqw;left:23%;width:53%;padding:1.15cqw 2cqw;background:linear-gradient(105deg,#e2d4babb,#efdfc3cc,#dfceb1c4);border:1px solid #bca78399;box-shadow:0 2px 3px #3b29101a,inset 0 0 0 2px #f5e9d355}
.rituel-heading::before,.rituel-heading::after,.exhibit-plaque::before,.exhibit-plaque::after{content:'';position:absolute;top:50%;width:3px;height:3px;border-radius:50%;background:#987b52;box-shadow:0 1px 1px #fff0d3}
.rituel-heading::before,.exhibit-plaque::before{left:8px}.rituel-heading::after,.exhibit-plaque::after{right:8px}
.rituel-heading h2{font-size:clamp(13px,2.3cqw,25px);letter-spacing:.14em;color:#57452c}.rituel-heading p{font-size:clamp(8px,1.4cqw,15px);margin-top:.4cqw;color:#67543b}
.rituel-actions{top:104cqw;left:80%;width:17.5%;height:32cqw;display:flex;flex-direction:column;gap:0;border:1px solid #9b825c;background:var(--brass-face);box-shadow:inset 0 0 0 2px #f0dfbd55,2px 3px 5px #3b291028;border-radius:1px;padding:0 .9cqw}
.rituel-actions .button,.rituel-actions .button.dark{flex:1;min-height:0;padding:5px 1px;border:0;border-bottom:1px solid #957a5055;background:none;color:#4a3822;box-shadow:none;border-radius:0;font-family:Playfair;font-weight:400;font-size:clamp(8px,1.1cqw,12px);line-height:1.5;letter-spacing:.035em;text-shadow:0 1px #f2e1bc66}
.rituel-actions .button:not(.dark){text-decoration:none}.rituel-actions .button:last-child{border-bottom:0}.rituel-actions .button:hover,.rituel-actions .button.dark:hover{background:#fff0c830;color:#261c0e}
.rituel-actions .button,.rituel-actions .button.dark{text-transform:none;font-size:clamp(10px,1.4cqw,15px);letter-spacing:0}
.univers-heading{top:143.5cqw;left:13%;width:74%;height:12.3cqw;min-height:0;padding:1cqw 2.2cqw .6cqw;background:linear-gradient(108deg,#e6d9bfee,#eee2caee,#d7c4a1ef);border:1px solid #ad9570;box-shadow:inset 0 0 0 2px #f7ead355,1px 3px 4px #42301824;text-align:center}
.univers-heading h2{font-size:clamp(10px,1.75cqw,19px);letter-spacing:.2em;line-height:1.1;color:#655136;text-shadow:0 1px #f5e7cc}
.exhibit-directory{display:grid;grid-template-columns:repeat(3,1fr);height:7.7cqw;margin-top:.5cqw;align-items:stretch}
.exhibit-directory button{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0 2px;color:#4e3c24;font-size:clamp(9px,1.6cqw,17px);line-height:1.25;text-shadow:0 1px #f6e8ce;border-right:1px solid #b8a17b77}
.exhibit-directory button:last-child{border:0}.exhibit-directory i{font-size:.87em;font-style:italic;color:#746045}.exhibit-directory button:hover{background:#fff4d64d}.exhibit-directory button:focus-visible{outline-offset:-1px}
.objects{top:162.5cqw;left:4%;right:4%;height:27cqw;gap:1.5cqw}.object{border:0;border-radius:0}.object:hover{background:radial-gradient(ellipse,#f7e3b312,transparent 70%);box-shadow:none}.object:active{background:#f7e3b31a}.object:focus-visible{outline:1px solid #e8c890;outline-offset:1px}
/* A paper tag tied beside the drawer handle, not a floating web CTA. */
.shop-button{top:14cqw;left:55%;width:29%;min-height:36px;padding:8px 12px 8px 19px!important;transform:rotate(-3deg);background:linear-gradient(110deg,#e1cdaa,#f0e3c8 65%,#d9c4a0)!important;border:1px solid #bca27a!important;border-radius:1px!important;box-shadow:2px 3px 3px #30200f44,inset 0 0 0 3px #efe1c477;color:#4c3a23!important;font:clamp(9px,1.45cqw,16px) Playfair;letter-spacing:.08em;text-shadow:0 1px #fff0d5}
.shop-button b{display:none}.shop-button::before{content:'';width:3.8cqw;height:6cqw;border-left:1px solid #a08862;border-bottom:1px solid #a08862;border-radius:0 0 0 70%;left:-2.8cqw;top:-5.1cqw;background:none;transform:rotate(-18deg)}
.shop-button::after{content:'';left:7px;right:auto;top:50%;width:4px;height:4px;border:1px solid #a18a65;background:#745735;border-radius:50%;box-shadow:0 1px #fff1d0;transform:translateY(-50%)}
.shop-button:hover{filter:brightness(1.035);box-shadow:2px 4px 5px #30200f55,inset 0 0 0 3px #efe1c477}
/* Geometry is sampled from the supplied OPEN photograph. A single rigid,
   uniformly scaled front approaches the viewer; the tray translates on rails.
   At the endpoint both layers share the exact original image coordinates. */
.drawer-tray-viewport{height:29.1cqw;clip-path:polygon(11% 0,89% 0,89% 0,11% 0);transition:clip-path 1.15s cubic-bezier(.32,.05,.24,1);overflow:hidden}
.drawer-tray{transform:translateY(-29.1cqw);transition:transform 1.15s cubic-bezier(.32,.05,.24,1);overflow:visible}
.drawer-tray img{top:-191.5cqw}
.drawer-front{top:29.1cqw;height:15cqw;clip-path:polygon(2.7% 0,97% 0,96.3% 94%,3.5% 94%);transform:translateY(-29.1cqw) scale(.9);transform-origin:50% 0;opacity:0;transition:transform 1.15s cubic-bezier(.32,.05,.24,1),opacity .08s linear}
.drawer-front img{top:-220.6cqw}
.drawer.opening .drawer-tray-viewport,.drawer.open .drawer-tray-viewport{clip-path:polygon(11% 0,89% 0,97% 100%,2.7% 100%)}
.drawer.opening .drawer-front,.drawer.open .drawer-front{transform:translateY(0) scale(1);opacity:1}
.drawer-status{top:46cqw;left:25%;right:25%;padding:1cqw 2cqw;background:linear-gradient(110deg,#e2cfad,#f2e5cb);border:1px solid #b7a080;box-shadow:1px 3px 4px #30210e30;transform:rotate(-1deg);font:clamp(10px,1.4cqw,15px) Playfair;color:#58452d}
.drawer-status button{font:inherit;font-style:italic;min-height:28px;text-underline-offset:3px}
footer{position:relative;background:linear-gradient(100deg,#e4d5bc,#f0e5d0 46%,#e5d4b8);color:#67553e;border:1px solid #ae9673;box-shadow:inset 0 0 0 9px #e0cfb1,inset 0 0 0 10px #bda685;font-family:Playfair;padding:40px 8%;gap:22px}
.visitor-motto{width:min(100%,1100px);margin:auto;padding:22px 20px;background:linear-gradient(100deg,#e4d5bc,#f0e5d0 46%,#e5d4b8);color:#796041;text-align:center;font:italic 14px Playfair;border:1px solid #ae9673;border-bottom:0}
footer h3{color:#695030;font:11px DM;letter-spacing:.2em;border-bottom:1px solid #bca58266;padding-bottom:10px;margin-bottom:10px}footer a{font-size:13px;padding:5px 0}footer a:hover{color:#342511}.footer-bottom{border-color:#b7a08066;font:10px DM;gap:14px;padding-top:16px}.footer-bottom a{font-size:10px}
dialog{background:#e6d7bd;border:1px solid #b49972;box-shadow:inset 0 0 0 5px #d5c1a0,0 20px 100px #130b0599}.dialog-bar{background:linear-gradient(105deg,#dfccac,#eddfc5);border-bottom:1px solid #b79c70;padding:8px 18px}.dialog-bar h2{font-family:Playfair;letter-spacing:.05em;color:#635037}.dialog-bar button{border:1px solid #ab926a;background:var(--brass-face);border-radius:50%;width:32px;height:32px;font:22px Playfair;color:#655033;box-shadow:inset 0 0 0 2px #f2e2c055,0 1px 2px #412c1922}dialog>.button{font-family:Playfair}
@media(max-width:480px){.hero-caption{top:20.5cqw}.hero-caption summary{padding:3px 19px;min-height:25px}.hero-caption h1{font-size:10px}.carousel-controls{left:20%;width:60%;top:78.8cqw;min-height:26px}.carousel-controls button{height:26px;min-width:23px;font-size:12px}.dots button{min-width:9px}.rituel-heading{top:88.3cqw;left:23%;width:53%;padding:1.15cqw 1.5cqw}.rituel-heading h2{font-size:13px}.rituel-heading p{font-size:8px}.rituel-actions{top:104cqw;left:80%;width:17.5%;height:32cqw;gap:0}.rituel-actions .button{font-size:8px;min-height:0}.univers-heading{top:143.5cqw;left:13%;width:74%;height:12.3cqw;padding:1cqw 2.2cqw .6cqw}.univers-heading h2{font-size:clamp(10px,2.7vw,13px)}.exhibit-directory button{font-size:clamp(9px,2.8vw,13px)}.objects{top:162.5cqw}.shop-button{left:55%;width:29%;font-size:9px;min-height:36px}.drawer-status{top:46cqw;padding:5px 7px;left:22%;right:22%;font-size:10px}.drawer-status button{margin-top:3px}footer{padding:28px 8%;gap:20px}}
@media(prefers-reduced-motion:reduce){.drawer-tray-viewport,.drawer-front,.drawer-tray{transition:none}}
@media(max-width:480px){.rituel-actions .button,.rituel-actions .button.dark{font-size:clamp(9px,2.55vw,11px);text-transform:none}.visitor-motto{font-size:12px;padding:18px 12px}}

/* Natural-material palette; the final wall-object treatment awaits selection. */
:root{--brass-ink:#49463e;--brass-edge:#9b9487;--brass-face:linear-gradient(112deg,#d7d1c5,#e4dfd3 42%,#d0c9bc)}
.header{color:#49463e;text-shadow:none}.languages,.menu-toggle{border-color:#a29a8a;box-shadow:inset 0 0 0 2px #eee9df44,1px 2px 3px #352e2326}.languages span{color:#6f6a60}
.hero-caption summary{border-color:#a69d8d;text-shadow:none;box-shadow:inset 0 0 0 2px #eee9df55,0 2px 3px #382f2530}.hero-caption summary::before{background:#6b675f;box-shadow:0 1px #e8e3d9}.hero-caption summary::after{color:#6d675b}
.carousel-controls{border-color:#9e9686;box-shadow:inset 0 0 0 2px #eee9df44,0 2px 3px #392f2222}.carousel-controls button{color:#575349}.dots button::after{background:#999184;box-shadow:0 1px #e6e0d4}.dots button[aria-current=true]::after{background:#565044;box-shadow:0 0 0 1px #777061}
.rituel-heading,.univers-heading{background:linear-gradient(108deg,#dfd9cfee,#e9e4daee,#d6cfc2ef);border-color:#aaa191;box-shadow:inset 0 0 0 2px #f3eee455,1px 3px 4px #42382a24}.rituel-heading h2,.univers-heading h2{color:#555047;text-shadow:none}.rituel-heading p{color:#666055}.rituel-heading::before,.rituel-heading::after,.exhibit-plaque::before,.exhibit-plaque::after{background:#787268;box-shadow:0 1px #ebe6dd}
.rituel-actions{border-color:#a49b8b;box-shadow:inset 0 0 0 2px #eee9df55,2px 3px 5px #3b302428}.rituel-actions .button,.rituel-actions .button.dark{color:#504a40;text-shadow:none;border-bottom-color:#a69d8e66}.rituel-actions .button:hover,.rituel-actions .button.dark:hover{background:#f1eee533;color:#29261f}
.exhibit-directory button{color:#514b40;border-right-color:#b0a79788;text-shadow:none}.exhibit-directory i{color:#70685b}.exhibit-directory button:hover{background:#f4f0e844}
.menu,.intention-note{background:#e7e1d5;border-color:#aea494;box-shadow:2px 5px 12px #352c2133}.menu a{border-bottom-color:#b3aa9b55}
footer,.visitor-motto{background:linear-gradient(100deg,#dcd5c8,#ebe5d9 46%,#dfd7c9);color:#625c51;border-color:#aaa08e}footer{box-shadow:inset 0 0 0 9px #ddd5c7,inset 0 0 0 10px #b4a997}footer h3{color:#676051;border-bottom-color:#b3a99766}.footer-bottom{border-color:#b3a99766}
dialog{background:#e2dacb;border-color:#a99f8d}.dialog-bar{background:linear-gradient(105deg,#d6cdbd,#e5ded0);border-bottom-color:#aaa08d}.dialog-bar h2,.dialog-bar button{color:#645e51}.dialog-bar button{border-color:#a79d8a}
/* Keep the CLOSED photograph's handle for the entire pull, so its silhouette
   never morphs into the different handle in the open-state photograph. */
.drawer-front{height:13cqw;clip-path:polygon(8% 0,92% 0,91.4% 97%,8.6% 97%);transform:translateY(-29.1cqw) scale(1);opacity:1;transition:transform 1.15s cubic-bezier(.32,.05,.24,1)}
.drawer-front img{top:-191.5cqw}
.drawer.opening .drawer-front,.drawer.open .drawer-front{transform:translateY(0) scale(1.12)}
.drawer-pull{position:absolute;top:29.1cqw;left:0;width:100%;height:28cqw;transform:translateY(-29.1cqw) scale(1);transform-origin:50% 0;transition:transform 1.15s cubic-bezier(.32,.05,.24,1);pointer-events:none}
.drawer.opening .drawer-pull,.drawer.open .drawer-pull{transform:translateY(0) scale(1.12)}
.tag-cord{position:absolute;left:46%;top:8cqw;width:20cqw;height:9cqw;overflow:visible;pointer-events:none;filter:drop-shadow(.4px 1px .4px #1d160c66)}.tag-cord path{fill:none;stroke:#a39b89;stroke-width:1.05;vector-effect:non-scaling-stroke}
.drawer .shop-button{top:14cqw;left:52%;width:18%;height:11cqw;min-height:34px;padding:13px 5px 5px!important;transform:rotate(-5deg);transform-origin:50% 10%;background:linear-gradient(105deg,#d6cebe,#e6e0d4 72%,#d7d0c2)!important;color:#514c42!important;border:1px solid #aba292!important;border-radius:5px 5px 1px 1px!important;box-shadow:2px 3px 3px #251c1244;text-shadow:none;font:italic clamp(12px,2cqw,21px) Playfair;letter-spacing:.025em;text-transform:none;pointer-events:auto}
.drawer .shop-button::before{display:none}.drawer .shop-button::after{left:50%;top:1.4cqw;right:auto;transform:translate(-50%,-50%);width:3px;height:3px;background:#766c5a;border:1px solid #aea28e;box-shadow:0 1px #f0e9dc}
.drawer .shop-button:hover{filter:brightness(1.035);box-shadow:2px 4px 4px #251c1255}
.drawer.opening .shop-button,.drawer.open .shop-button{visibility:visible;pointer-events:none;cursor:default}
.drawer-status{top:45.5cqw;left:4%;right:auto;width:35%;background:#e3dccf;border-color:#aaa08d;box-shadow:1px 3px 4px #30271b30;color:#625b4e}
@media(prefers-reduced-motion:reduce){.drawer-front,.drawer-pull{transition:none}}
.drawer:not(.opening):not(.open) .drawer-front,.drawer:not(.opening):not(.open) .drawer-pull,.drawer:not(.opening):not(.open) .drawer-tray,.drawer:not(.opening):not(.open) .drawer-tray-viewport{transition:none}

/* The cord and pendant swing together from the point tied to the pull.
   A short, damped sway is followed by a long rest, rather than constant motion. */
.pendant{position:absolute;inset:0;transform-origin:50% 9cqw;transform:rotate(0)}
.drawer .shop-button{left:54%;width:14%;height:9cqw;min-height:30px;font-size:clamp(11px,1.9cqw,19px);padding:10px 3px 3px!important;border-radius:8px 8px 4px 4px!important;box-shadow:1px 2px 3px #251c1240}
.drawer[data-in-view=true]:not(.opening):not(.open) .pendant{animation:pendant-invitation 9s ease-in-out infinite}
.pendant:hover,.pendant:focus-within{animation-play-state:paused!important}
.drawer.opening .pendant,.drawer.open .pendant{animation:none;transform:rotate(0)}
@keyframes pendant-invitation{0%,36%,100%{transform:rotate(0)}7%{transform:rotate(3deg)}15%{transform:rotate(-2.3deg)}23%{transform:rotate(1.4deg)}30%{transform:rotate(-.6deg)}}
@media(prefers-reduced-motion:reduce){.drawer[data-in-view=true] .pendant{animation:none!important;transform:none}}
