@charset "UTF-8";
:root{color-scheme:dark;font-family:Arial,sans-serif;color:#f8e4b7;background:#071126}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #ffe5a0;outline-offset:4px}[hidden]{display:none!important}.sr-only,.gate span,.project-cta span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;top:-80px;z-index:20;padding:12px;background:#071126}.skip-link:focus{top:8px}
#castle{position:relative;width:100%;height:100svh;isolation:isolate;overflow:clip;background:#09152b}.backdrop{position:absolute;inset:-3%;background:url('./assets/hall-v5.webp') center/cover;background-image:image-set(url('./assets/hall-v6-q90.avif') type('image/avif'),url('./assets/hall-v5.webp') type('image/webp'));filter:blur(14px) brightness(.42);transform:scale(1.03);pointer-events:none}.viewport{position:absolute;inset:0;overflow:clip;perspective:1800px;touch-action:none}.camera{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}.scene{position:absolute;left:50%;top:50%;width:var(--scene-w);height:var(--scene-h);transform:translate(-50%,-50%);user-select:none;transform-style:preserve-3d}.hall,canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hall{object-fit:fill}.hall-picture{position:absolute;inset:0;display:block}#world{opacity:0}#castle[data-renderer="webgl"] #world{opacity:1}#actors{z-index:3}#effects,#dust,#effects-top{z-index:2}.fallback-hero{position:absolute;left:15%;top:52%;width:26%;height:46%;background:url('./assets/adventurer-v2.webp') 0 0/400% 200%;pointer-events:none}#castle[data-renderer="webgl"] .fallback-hero{display:none}
#destinations{position:absolute;inset:0;z-index:2;pointer-events:none}.gate{position:absolute;pointer-events:auto;border-radius:42% 42% 7% 7%;transition:box-shadow .7s ease;background:transparent}.gate:after{content:"";position:absolute;inset:2%;border-radius:inherit;background:radial-gradient(ellipse at 50% 90%,#ffd78624,transparent 70%);opacity:var(--lit,0);pointer-events:none}.works{left:13.6%;top:24%;width:15%;height:39%}.price{left:34.3%;top:28%;width:12.5%;height:34%}.about{left:53.5%;top:28%;width:13%;height:34%}.reviews{left:72%;top:24%;width:13.5%;height:39%}.project-cta{position:absolute;z-index:4;left:78.6%;top:86%;width:18.6%;height:8%;border-radius:8px;transition:box-shadow .7s}.project-cta:hover,.project-cta:focus-visible{box-shadow:0 0 20px #e9bd6f55,inset 0 0 20px #e9bd6f11}.cabinet{position:absolute;z-index:7;right:14px;top:12px;padding:7px 10px;font-size:10px;background:#07112688;border:1px solid #d0ad603d;backdrop-filter:blur(4px)}.cursor-light{position:absolute;z-index:6;left:0;top:0;width:24px;height:24px;border:1px solid #ffe2a44d;border-radius:50%;pointer-events:none;opacity:0;will-change:transform;transition:opacity .6s}#castle.pointer-inside .cursor-light{opacity:.65}.mobile-brand{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.mobile-nav{display:none}.veil{position:absolute;inset:0;background:#081226;opacity:0;pointer-events:none;z-index:9;transition:opacity .65s}.entering .veil{opacity:1;transition-delay:1.25s}.entering .cabinet,.entering .mobile-nav{opacity:0;transition:opacity .35s}
#room-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:24px;background:#081226;color:#f4dfb8;overflow:auto}#room-dialog::backdrop{background:#081226}.room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-toolbar button{color:inherit;border:1px solid #ab894c;background:#101e34;padding:12px 18px}.room-toolbar span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#bea779}#room-title{font:normal clamp(28px,3vw,44px) Georgia;text-align:center;margin:24px 0 10px}.room-note{text-align:center;font-size:12px;color:#aeb8c9;margin-bottom:24px}#room-art{display:block;max-width:1400px;width:100%;height:auto;margin:auto}.noscript{position:fixed;bottom:0;background:#081226;padding:12px;z-index:10}
@media(max-width:900px){.cabinet{font-size:9px;top:10px;right:10px}.mobile-brand{clip-path:none;overflow:visible;width:100%;height:auto;top:58px;left:0;text-align:center;z-index:5;pointer-events:none;text-shadow:0 2px 12px #000;background:linear-gradient(transparent,#08122688,transparent)}.mobile-brand h1{font:normal 27px Georgia;margin:0 0 8px}.mobile-brand p{font-size:10px;letter-spacing:.24em;text-transform:uppercase;margin:0}.mobile-nav{position:absolute;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;bottom:16px;left:12px;right:12px;z-index:7}.mobile-nav a{font-size:11px;text-align:center;padding:12px 2px;border:1px solid #c5a26888;background:#081226df;backdrop-filter:blur(8px)}.mobile-nav .mobile-contact{grid-column:1/-1;font:18px Georgia;padding:14px}.cursor-light{display:none}.room-toolbar span{font-size:9px}.room-note{line-height:1.6}#room-dialog{padding:16px}.project-cta{pointer-events:none}}

@media(max-width:900px){.mobile-brand{clip-path:inset(50%);width:1px;height:1px;overflow:hidden}}

.fallback-mark{position:absolute;left:45.5%;top:1.5%;width:9.1%;height:13.3%;filter:invert(1) sepia(1);mix-blend-mode:screen;pointer-events:none}#castle[data-renderer="webgl"] .fallback-mark{display:none}

/* v6: no decorative cursor; stronger local doorway light, never moving screen edges. */
.cursor-light{display:block}.gate:after{background:radial-gradient(ellipse at 50% 80%,#ffd78655,transparent 74%);box-shadow:inset 0 0 22px #ffce792b,0 0 26px #ffce7924}.backdrop{display:none}

#room-life{z-index:1}.entering .veil{transition-delay:1.30s}@media(max-width:900px){.cursor-light{display:none}}

#foreground{z-index:3;pointer-events:none}

/* v8: observer and foreground stay fixed; the distant hall carries the projection. */
.hall-depth{position:absolute;inset:0;transform-origin:0 0;will-change:transform}#destinations{transform-origin:0 0}

#castle[data-renderer="webgl"] #room-life{opacity:0}

#throw-hand{z-index:5;pointer-events:none}.entering .veil{transition-delay:2.10s;transition-duration:.55s}

/* Rooms: the visitor looks into the room; no avatar or hand layer exists here. */
#room-dialog{padding:0;overflow:hidden;background:#09152b}#room-title{margin:0}.chamber-stage{position:absolute;inset:0;container-type:size;overflow:hidden;background:#09152b}#room-art{position:absolute;inset:0;max-width:none;width:100%;height:100%;object-fit:fill}#room-art[hidden]{display:none!important}#chamber-world{opacity:0}.chamber-stage[data-ready=true] #chamber-world{opacity:1}.chamber-stage[data-ready=false] #chamber-content,.chamber-stage[data-ready=false] .chamber-atmosphere{opacity:0}#chamber-content,.chamber-atmosphere{transition:opacity .2s ease}
.chamber-toolbar{position:absolute;inset:0;pointer-events:none;z-index:5}.chamber-toolbar button,.chamber-brand{pointer-events:auto;position:absolute;background:#08172cf5;border:2px solid #bb9452;box-shadow:0 0 0 4px #071225,0 0 0 5px #b39458;color:#ffe0a2}.chamber-toolbar button{right:3%;top:4.5%;padding:1.1% 2%;font:clamp(14px,1.7vw,27px) Georgia}.chamber-brand{left:2.8%;top:2%;width:21%;height:10.5%;display:flex;align-items:center;gap:4%;border:0;box-shadow:none;font:clamp(13px,1.55vw,26px) Georgia}.chamber-brand svg{width:27%;height:95%;filter:invert(1) sepia(1);mix-blend-mode:screen}
#chamber-content{position:absolute;inset:0;pointer-events:none;font:clamp(14px,1.5vw,25px) Georgia}#chamber-content section,#chamber-content form,#chamber-content button{pointer-events:auto}#chamber-content h2{font:normal 3.6cqw Georgia;margin:0 0 1.2cqh}#chamber-content h3{font:normal 2cqw Georgia;margin:2cqh 0}#chamber-content p{line-height:1.45}.parchment{color:#35200d;background:radial-gradient(ellipse at 35% 30%,#f4dba9,#dcb675);box-shadow:inset 0 0 25px #86572040}.room-action{color:#ffe4b2;background:linear-gradient(#14294b,#09162d);border:2px solid #c79b51;padding:1.3cqh 2cqw;font:1.8cqw Georgia;box-shadow:0 0 0 3px #182239,0 0 0 4px #cda15e;transition:filter .35s,box-shadow .35s}.room-action:hover{filter:brightness(1.25);box-shadow:0 0 18px #ffcd7255}.fine{font:1.05cqw/1.5 Arial!important}.price-content{position:absolute;left:19%;top:16%;width:54%;height:65%;padding:1.4cqh 3cqw;text-align:center}.site-types,.site-extras{display:flex;gap:1cqw;justify-content:center}.type-choice{background:#f0d19a;border:1px solid #906331;color:#3a250e;font:1.3cqw Georgia;padding:2cqh 1cqw;flex:1}.type-choice[aria-pressed=true]{background:#143151;color:#ffe3ad;box-shadow:0 0 0 2px #b17f3a}.site-extras{flex-wrap:wrap;font:1.1cqw Arial}.site-extras label{display:flex;align-items:center;gap:.5cqw;padding:1cqh 0}.site-extras input{accent-color:#173754;width:1.2cqw;height:1.2cqw}.estimate{font-size:1.3cqw;min-height:6cqh;border-block:1px solid #9e773d;padding:1.5cqh}.about-content{position:absolute;left:48%;top:9%;width:34%;height:67%;background:#071426;padding:2cqh 2cqw;text-align:center}.about-content h3{font-size:2.7cqw!important}.subtitle{letter-spacing:.35em;font-size:1.3cqw}.principles{display:flex;justify-content:space-between;margin:6cqh 0;font-size:1.4cqw}.steps{font-size:1cqw;margin:4cqh 0}.reviews-content{position:absolute;left:33%;top:34%;width:33%;height:31%;padding:2cqh 1cqw;text-align:center}.reviews-content h2{font-size:2.1cqw!important}.reviews-content p{font-size:1.35cqw}.quote{font-size:5cqw;line-height:.8;color:#92602c}.reviews-content .room-action{position:absolute;top:151%;left:6%;width:88%}
.contact-content{position:absolute;left:54%;top:17%;width:31%;height:62%;padding:2cqh 2cqw;text-align:center}.contact-content h2{font-size:2.8cqw!important}.contact-content>p{font-size:1.3cqw;margin:1.5cqh 0}.contact-content label{display:block}.contact-content input,.contact-content textarea{width:100%;color:#38250f;border:1px solid #987444;background:#f6ddb044;padding:1.4cqh 1cqw;margin:.7cqh 0;font:1.2cqw Georgia}.contact-content textarea{height:10cqh;resize:none}.contact-content .room-action{width:100%;font-size:1.5cqw;margin:1.5cqh 0}.contact-content .form-status{font-size:1cqw;margin:0}.chamber-stage[data-room=contact]~.chamber-toolbar .chamber-brand{left:auto;right:2.8%;width:20%}.chamber-stage[data-room=contact]~.chamber-toolbar button{right:auto;left:3%}.chamber-stage[data-room=about]~.chamber-toolbar button{right:auto;left:3%;top:auto;bottom:6%}
.gallery-tabs{position:absolute;left:29%;top:24%;width:42%;height:5.8%;display:grid;place-items:center;background:#0a1c34;color:#ffe4ae;border:1px solid #b98c44;font-size:1.55cqw}.gallery-preview{position:absolute;left:29%;top:34%;width:42%;height:36%;background:#081226;transition:opacity .5s}.gallery-label{position:absolute;left:39%;top:70.9%;width:22%;height:4%;background:#0a192e;text-align:center;font-size:1.8cqw;margin:0}.gallery-caption{position:absolute;left:39%;top:75%;width:22%;height:3.6%;background:#0a192e;text-align:center;font: .85cqw Arial!important;margin:0}.gallery-prev,.gallery-next{position:absolute;top:48.8%;width:3.2%;height:7%;font:2.5cqw Georgia;color:#ffd889;background:#0b1b31;border:1px solid #c9a15f}.gallery-prev{left:23.2%}.gallery-next{left:73.8%}.gallery-cta{position:absolute;left:40.5%;top:82%;width:19%;font-size:1.3cqw}#room-error{position:absolute;bottom:10%;left:15%;right:15%;background:#081226;padding:20px;z-index:8}
@media(max-width:900px){#room-dialog{overflow-y:auto}.chamber-stage{position:relative;width:100%;height:100svh;min-height:700px}#room-art,#chamber-world{height:100%;object-fit:cover}.chamber-toolbar button{position:fixed;top:16px!important;bottom:auto!important;left:16px!important;right:auto!important;font-size:14px;padding:10px 12px}.chamber-brand{display:none}.price-content,.about-content,.reviews-content,.contact-content{left:5%;top:19%;width:90%;height:auto;min-height:56%;padding:24px 20px;border:2px solid #b99152}#chamber-content h2,.contact-content h2,.reviews-content h2{font-size:30px!important}#chamber-content h3,.about-content h3{font-size:23px!important}#chamber-content p,.contact-content>p,.reviews-content p{font-size:16px}.room-action,.contact-content .room-action{font-size:18px;padding:14px 12px}.fine{font-size:12px!important}.site-types{flex-direction:column}.type-choice{font-size:17px;padding:12px}.site-extras{font-size:14px;justify-content:flex-start}.site-extras input{width:18px;height:18px}.contact-content input,.contact-content textarea{font-size:17px;padding:13px}.contact-content textarea{height:110px}.contact-content .form-status{font-size:13px}.principles{font-size:16px;margin:28px 0}.subtitle{letter-spacing:.1em}.steps{margin:28px 0}.reviews-content .room-action{position:static;width:95%;margin-top:25px}.quote{font-size:80px}.gallery-tabs{left:5%;top:19%;width:90%;font-size:16px}.gallery-preview{left:5%;top:29%;width:90%;height:30%}.gallery-label{left:10%;top:62%;width:80%;height:6%;font-size:23px}.gallery-caption{left:10%;top:68%;width:80%;height:6%;font-size:13px!important}.gallery-prev,.gallery-next{top:44%;width:10%;height:7%;font-size:30px}.gallery-prev{left:5%}.gallery-next{left:85%}.gallery-cta{left:10%;top:79%;width:80%;font-size:18px}}

/* Clean plates retain the approved material and frames underneath live text. */
.parchment,.about-content{background:transparent;box-shadow:none}.chamber-brand{background:#09182b;border:0;border-radius:3px}.chamber-brand svg{filter:invert(.88) sepia(.8) saturate(1.6)}
.price-content{height:65%;padding-top:1cqh}.price-content>.room-action{position:absolute;left:36%;top:102%;width:38%;font-size:1.65cqw;padding:.9cqh 0;background:transparent;border:0;box-shadow:none}
.gallery-controls>h2{position:absolute;left:29%;top:10%;width:42%;height:12%;overflow:visible;clip-path:none;text-align:center;background:linear-gradient(90deg,#08172baa,#08172bee,#08172baa);padding:2cqh 0;color:#ffe0a0}
.gallery-label,.gallery-caption{background:#09182bf5}.gallery-cta{left:38%;width:24%}.gallery-tabs{background:#09182bef}
.contact-content{height:64%}.contact-content .fine{font-size:1cqw!important}.about-content{padding-top:4cqh}.principles span{border-top:1px solid #b99b5c;padding-top:2cqh}
@media(max-width:900px){.parchment{background:radial-gradient(ellipse at 35% 30%,#f4dba9,#dcb675)}.about-content{background:#09172bea}.price-content>.room-action{position:static;width:100%;font-size:18px;background:#10233f;border:1px solid #bd9656;padding:14px;margin-top:20px}.gallery-controls>h2{left:5%;top:11%;width:90%;height:7%;font-size:28px!important;padding:8px}.gallery-cta{left:10%;width:80%}.contact-content .fine{font-size:12px!important}.contact-content{height:auto}}

.contact-content .room-action{position:absolute;top:71%;left:10%;width:80%;height:10%;background:transparent;box-shadow:none;border:0;margin:0}.contact-content>.fine{position:absolute;top:84%;left:8%;width:84%}.contact-content .form-status{position:absolute;top:94%;left:8%;width:84%}
@media(max-width:900px){.contact-content .room-action{position:static;height:auto;background:#0c213a;border:1px solid #b58c49;width:100%;margin:15px 0}.contact-content>.fine,.contact-content .form-status{position:static;width:100%}}

.chamber-brand svg{filter:none;mix-blend-mode:normal}.chamber-brand{background:linear-gradient(90deg,#09182bf5,#09182be8);padding:4px 8px}.room-action,.chamber-toolbar button,.gallery-prev,.gallery-next,.type-choice{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}
.gallery-controls>h2{border-block:1px solid #b48d4c66;border-radius:0 0 18% 18%}.gallery-label{width:28%;left:36%;font-size:1.7cqw}.gallery-caption{left:36%;width:28%;padding-top:.4cqh}.gallery-preview{top:34.2%;height:36.3%;background-position:50% 51%;}
@media(max-width:900px){.gallery-label{left:10%;width:80%;font-size:23px}.gallery-caption{left:10%;width:80%}.gallery-preview{top:29%;height:30%}}

.reviews-heading{position:absolute;left:38%;top:9%;width:23%;text-align:center;font:5cqw Georgia;color:#ffe3ad;text-shadow:0 3px 8px #0009}
@media(max-width:900px){.reviews-heading{display:none}.price-content{padding-bottom:28px}.chamber-stage #chamber-world{object-fit:cover}}

/* v13: fixed rooms and a shared navy/gold stepped frame matching the hall CTA. */
.room-action,.chamber-toolbar button,.gallery-prev,.gallery-next{border:0;clip-path:none;border-radius:0;background:transparent url('./assets/ui-frame.svg') center/100% 100% no-repeat;box-shadow:none;color:#ffe4b3;font-weight:normal;text-shadow:0 2px 2px #020a19;padding:1.8cqh 2cqw;transition:filter .35s ease;}
.room-action:hover,.chamber-toolbar button:hover,.gallery-prev:hover,.gallery-next:hover{filter:brightness(1.2);box-shadow:none}.room-action:focus-visible,.chamber-toolbar button:focus-visible{outline:2px solid #ffe4ad;outline-offset:5px}
.chamber-toolbar button{font:normal clamp(14px,1.65vw,28px) Georgia;min-height:7.8%;width:16.4%;padding:1% 1.2%;right:2.8%;top:4%}
.chamber-brand{background:transparent;padding:0;width:21%;height:10.5%;text-shadow:0 2px 6px #030a17}.chamber-brand svg{width:24%}
.price-content{left:21%;top:17%;width:50%;height:63%;padding:0 1cqw;text-align:left}.price-content h2{text-align:center;font-size:3.7cqw!important;margin-bottom:3cqh!important}.price-content h3{font-size:2cqw!important;margin:2.5cqh 0!important}.site-types{gap:1.1cqw}.type-choice{min-height:15cqh;background:#edcd9433;border:1px solid #926733;box-shadow:inset 0 0 0 4px #e9c89155;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);font:1.5cqw Georgia;}
.type-choice[aria-pressed=true]{background:#102744;color:#ffe1a2;box-shadow:inset 0 0 0 2px #ba924e,inset 0 0 0 5px #102744,inset 0 0 0 6px #a88144}.site-extras{justify-content:space-between;gap:.6cqw}.site-extras label{border:1px solid #a88042;padding:1.3cqh .6cqw;font:1cqw Georgia;background:#f8e4b32b}.site-extras input{appearance:none;background:transparent;border:1px solid #76542c;width:1.15cqw;height:1.15cqw;margin:0;display:grid;place-items:center}.site-extras input:checked:after{content:'✓';font:bold 1cqw Arial;color:#30210e}.estimate{font-size:1.25cqw;min-height:7cqh;display:flex;align-items:center;border:1px solid #a5804c;padding:1cqh 1cqw;margin-top:3cqh}.price-content>.fine{text-align:center}.price-content>.room-action{left:35%;top:102%;width:43%;height:10%;padding:0;background:none;border:0;box-shadow:none;font-size:1.7cqw}
.about-content{left:48%;top:10%;width:34%;height:66%;padding:1cqh 2cqw}.about-content h2{font-size:2cqw!important;margin:1cqh 0 5cqh!important}.about-content h3{font-size:2.9cqw!important;margin:0!important}.about-content>.subtitle{font-size:1.5cqw;margin:1cqh 0 5cqh}.about-content>p:not(.subtitle):not(.steps){font-size:1.9cqw}.principles{margin:4cqh 0 3cqh;font-size:1.4cqw;gap:1cqw}.principles span{flex:1;border-top:0;padding:0}.principles span:before{display:block;margin:0 auto 1.5cqh;font-size:2.4cqw;color:#f4c779;line-height:1.7;width:4.6cqw;height:4.6cqw;background:url('./assets/ui-frame.svg') center/100% 100% no-repeat}.principles span:nth-child(1):before{content:'▤'}.principles span:nth-child(2):before{content:'…'}.principles span:nth-child(3):before{content:'⚙'}.steps{font:1cqw Georgia;border-block:1px solid #b5904e55;padding:1.1cqh 0;margin:2cqh 0!important}.about-content>.room-action{width:70%;font-size:1.7cqw;margin-top:1.5cqh;min-height:8cqh}
.reviews-content{left:33%;top:35%;width:33%;height:30%;padding:1cqh 1cqw}.reviews-content .room-action{top:150%;left:7%;width:86%;height:9cqh;padding:1cqh;font-size:1.8cqw}.reviews-heading{font-size:5.2cqw;top:9%;left:38%;width:24%}
.gallery-controls>h2{background:linear-gradient(90deg,transparent,#081b36ee 15%,#081b36ee 85%,transparent);border:0;border-bottom:1px solid #d0a75d80;border-radius:0;top:10%;height:12%;font-size:3.9cqw!important}.gallery-tabs{background:transparent;border:0;font:1.2cqw Georgia;letter-spacing:.12em;top:24.5%;height:4%}.gallery-label{left:36%;top:72%;width:28%;height:4.5%;font-size:1.9cqw;background:#0a1b33f5}.gallery-caption{left:36%;top:76.5%;width:28%;height:3.5%;background:#0a1b33f5;font-size:.8cqw!important;letter-spacing:.06em}.gallery-prev,.gallery-next{font-size:2.5cqw;width:4%;height:8%;padding:0;top:48%}.gallery-prev{left:22.7%}.gallery-next{left:73.4%}.gallery-cta{top:83%;left:39%;width:22%;height:7.2%;padding:0;font-size:1.3cqw}
.contact-content{left:54.5%;top:18.5%;width:30%;height:61%;padding:0 1.5cqw}.contact-content h2{font-size:2.7cqw!important;margin:1cqh 0 1.5cqh!important}.contact-content>p{font-size:1.5cqw;margin-bottom:3cqh}.contact-content input,.contact-content textarea{border:1px solid #a0804c;background:#fae8bc18;box-shadow:inset 0 0 0 3px #ecd09c55;font:1.25cqw Georgia;padding:1.5cqh 1cqw;margin:1cqh 0}.contact-content textarea{height:11cqh}.contact-content .room-action{top:73%;height:10%;left:10%;width:80%;background:none;box-shadow:none;border:0;padding:0;font-size:1.55cqw}.contact-content>.fine{top:88%;font-size:.95cqw!important}.contact-content .form-status{top:96%}
@media(max-width:900px){.chamber-toolbar button{width:auto;min-height:44px;padding:12px 20px;font-size:14px}.price-content,.about-content,.reviews-content,.contact-content{left:5%;top:17%;width:90%;height:auto;padding:24px 20px}.price-content h2,.about-content h2,.contact-content h2{font-size:29px!important;margin:0 0 20px!important}.price-content h3{font-size:21px!important;margin:18px 0!important}.type-choice{font-size:18px;min-height:58px}.site-extras{justify-content:flex-start;gap:8px}.site-extras label{font-size:14px;padding:10px}.site-extras input{width:17px;height:17px}.site-extras input:checked:after{font-size:15px}.estimate{font-size:15px;min-height:75px;padding:10px;margin-top:18px}.price-content>.room-action,.contact-content .room-action{position:static;width:100%;height:auto;min-height:60px;background:transparent url('./assets/ui-frame.svg') center/100% 100% no-repeat;font-size:18px;padding:14px;margin:15px 0}.about-content h3{font-size:26px!important}.about-content>.subtitle{font-size:15px;margin:10px 0 24px}.about-content>p:not(.subtitle):not(.steps){font-size:19px}.principles{font-size:14px;margin:25px 0}.principles span:before{font-size:25px;width:46px;height:46px;margin:0 auto 12px}.steps{font-size:13px;padding:12px 0}.about-content>.room-action{width:100%;font-size:18px;min-height:60px}.reviews-content .room-action{position:static;height:auto;width:100%;font-size:18px;padding:18px}.gallery-controls>h2{font-size:29px!important;left:5%;top:11%;width:90%;height:8%}.gallery-tabs{left:5%;width:90%;top:22%;font-size:12px}.gallery-label{left:10%;width:80%;top:62%;height:6%;font-size:23px}.gallery-caption{left:10%;width:80%;top:68%;height:7%;font-size:12px!important}.gallery-prev,.gallery-next{top:43%;width:12%;height:8%;font-size:30px}.gallery-prev{left:4%}.gallery-next{left:84%}.gallery-cta{left:10%;width:80%;top:80%;height:8%;font-size:18px}.contact-content>p{font-size:16px;margin-bottom:20px}.contact-content input,.contact-content textarea{font-size:16px;padding:14px;margin:8px 0}.contact-content textarea{height:110px}.contact-content>.fine{font-size:12px!important}}

.about-content>.room-action{position:absolute;left:24%;top:88%;width:62%;height:10%;min-height:0;margin:0;padding:0}.about-content>.subtitle{margin-bottom:3cqh}.principles{margin-top:3cqh;margin-bottom:2cqh}
@media(max-width:900px){.about-content>.room-action{position:static;width:100%;height:auto;min-height:60px;margin-top:20px}.about-content>.subtitle{margin-bottom:24px}.principles{margin:24px 0}}

.principles span:before,.gallery-prev,.gallery-next{background-image:url('./assets/ui-square.svg')}.gallery-label{height:8.5%;padding-top:.6cqh;background:transparent url('./assets/ui-frame.svg') center/100% 100% no-repeat}.gallery-caption{background:transparent}
@media(max-width:900px){.gallery-label{height:13%;padding-top:12px}.gallery-caption{top:68.5%}}

@media(max-width:900px){.chamber-stage[data-room=price]{min-height:900px}}

/* Portrait layout shows the complete hall, with readable navigation below it. */
@media(max-width:900px){
 #castle{min-height:100svh;height:auto;background:radial-gradient(ellipse at 50% 20%,#233951,#09152b 75%);padding:108px 0 30px;display:flex;flex-direction:column}
 .viewport{position:relative;inset:auto;width:100%;height:56.28vw;flex:none;touch-action:pan-y}
 .mobile-brand{position:absolute;clip-path:none;width:100%;height:auto;overflow:visible;top:51px;background:none}
 .mobile-brand h1{font-size:23px;margin-bottom:6px}.mobile-brand p{font-size:9px}
 .mobile-nav{position:relative;inset:auto;margin:24px 18px 0;grid-template-columns:repeat(2,1fr);gap:12px}
 .mobile-nav a{min-height:58px;display:grid;place-items:center;font:17px Georgia;background:#0b1c32 url('./assets/ui-frame.svg') center/100% 100% no-repeat;border:0;padding:15px 7px}
 .mobile-nav .mobile-contact{min-height:60px;font-size:19px}
}

/* Pointer glow and a short, shader-based air wake. */
.cursor-light{border-color:#ffe3a9b8;box-shadow:0 0 9px #ffdf9b66,inset 0 0 7px #fff1cb35;background:radial-gradient(circle,#fff3d514,transparent 70%)}
#castle.pointer-inside .cursor-light{opacity:.92}


#room-dialog .room-cursor{position:fixed;z-index:20;left:0;top:0;pointer-events:none}
@media(pointer:coarse){#room-dialog .room-cursor{display:none}}

/* A room and its controls become visible together only after the new frame is painted. */
.chamber-stage[data-ready=false]~.chamber-toolbar{opacity:0;pointer-events:none}
.chamber-stage[data-ready=error] #chamber-content,.chamber-stage[data-ready=error] .chamber-atmosphere{opacity:0;pointer-events:none}

/* On portrait screens, the approved hall stays whole and the arches remain the navigation. */
@media(max-width:900px){
 #castle{height:100svh;min-height:0;padding:0;display:block;background:#09152b}
 .backdrop{display:none}
 .viewport{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
 .mobile-nav{display:none}
 .project-cta{pointer-events:auto;top:77%;height:23%}
 .gate.price{left:33.6%;width:14%}
 .gate.about{left:52.9%;width:14%}
 .gate.reviews{left:71.3%;width:15%}
 .principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px}
 .principles span{min-width:0;line-height:1.2}
}

.chamber-stage[data-ready=false] #chamber-content,.chamber-stage[data-ready=false] #chamber-world,.chamber-stage[data-ready=false] .chamber-atmosphere,.chamber-stage[data-ready=false]~.chamber-toolbar{visibility:hidden}

/* Only the finished renderer or a real fallback may show the character and emblem. */
#castle[data-renderer="loading"] .fallback-hero,#castle[data-renderer="loading"] .fallback-mark{display:none}

/* The name is already painted into the hall; keep the semantic heading without a duplicate mobile banner. */
@media(max-width:900px){.mobile-brand{clip-path:inset(50%);width:1px;height:1px;overflow:hidden}}

/* Full viewport scene; projected typography follows the same image coordinates. */
#room-dialog{background:#09152b;background-image:none}
.chamber-stage{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;aspect-ratio:auto;container-type:size}
.chamber-toolbar{width:100%;height:100%;aspect-ratio:auto;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%)}
.chamber-toolbar button{font-size:clamp(14px,1.55vw,26px)}
.chamber-atmosphere{z-index:1}#chamber-content{z-index:2}
/* Ink belongs to two separate pages, never the gutter or book frame. */
.reviews-content{left:30%;top:33%;width:40%;height:34%;padding:0;min-height:0;text-align:center;background:none;border:0;box-shadow:none}
.book-page{position:absolute;top:8%;width:37%;height:80%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#523217;mix-blend-mode:multiply}
.book-left{left:9%;transform:rotate(-2deg)}.book-right{right:9%;transform:rotate(2deg)}
#chamber-content .book-page h2{font:normal 2cqw/1.18 Georgia!important;margin:0 0 1.01304cqw!important}
#chamber-content .book-page p{font:1.25cqw/1.55 Georgia;margin:0.5628cqw 0;max-width:100%}
#chamber-content .book-page .fine{font:1cqw/1.45 Georgia!important;margin-top:1.1256cqw}
.book-ornament{font-size:2.5cqw;line-height:1;margin-bottom:0.5628cqw;color:#8a602e}.book-page .quote{font-size:4cqw;line-height:.5;margin:0.5628cqw 0 1.1256cqw}
.reviews-heading{left:39%;top:10%;width:22%;height:12%;font:4.8cqw/1.3 Georgia;text-shadow:0 1px 2px #09101c;color:#f4d9a0;transform:rotate(.5deg)}
.reviews-content .room-action{left:22%;top:143%;width:56%;height:23%;font-size:1.5cqw}
/* All about-panel rows share one flow; the action can never cover another row. */
.about-content{left:48.5%;top:10%;width:33.5%;height:65%;padding:0.5628cqw 1.5cqw;display:grid;grid-template-rows:7% 15% 8% 14% 26% 12% 15%;gap:0;align-items:center;justify-items:center}
#chamber-content .about-content h2{font:normal 1.8cqw Georgia!important;margin:0!important}
#chamber-content .about-content h3{font:normal 2.7cqw Georgia!important;margin:0!important;white-space:nowrap}
#chamber-content .about-content>p{margin:0!important;line-height:1.3}
#chamber-content .about-content>.subtitle{font-size:1.2cqw;letter-spacing:.3em}
#chamber-content .about-content>p:not(.subtitle):not(.steps){font-size:1.6cqw}
.about-content .principles{width:100%;margin:0;font:1.25cqw/1.3 Georgia;gap:1cqw;align-self:center}
.about-content .principles span:before{width:3.6cqw;height:3.6cqw;font-size:2cqw;line-height:1.7;margin:0 auto 0.50652cqw}
.about-content .steps{width:100%;padding:0.5628cqw 0;font-size:.95cqw;border-color:#b48c4750}
.about-content>.room-action{position:static;inset:auto;width:68%;height:83%;margin:0;padding:0;min-height:0;font-size:1.6cqw}
/* The estimate is written on parchment: engraved choices and ink, not app cards. */
.price-content{left:21%;top:17%;width:51%;height:62%;padding:0 1cqw;display:grid;grid-template-rows:13% 9% 24% 10% 13% 20% 8%;align-items:center;gap:0}
#chamber-content .price-content h2{font:normal 3.4cqw Georgia!important;margin:0!important}
#chamber-content .price-content h3{font:normal 1.8cqw Georgia!important;margin:0!important}
.site-types{height:94%;gap:1.8cqw}.type-choice,.type-choice[aria-pressed=true]{position:relative;min-height:0;clip-path:none;border:0;border-block:1px solid #96704088;box-shadow:none;background:none;color:#482b12;font:1.45cqw Georgia;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5628cqw;padding:0.5628cqw .5cqw}
.type-choice:before{font:2.7cqw/1 Georgia;color:#6e4823}.type-choice:nth-child(1):before{content:'▤'}.type-choice:nth-child(2):before{content:'♜'}.type-choice:nth-child(3):before{content:'▧'}
.type-choice:after{content:'';width:1.15cqw;height:1.15cqw;border:1.5px solid #76512c;border-radius:50%;background:transparent}.type-choice[aria-pressed=true]:after{background:#754b24;box-shadow:inset 0 0 0 .23cqw #edcf9d}.type-choice:hover{background:#8253260c}
.site-extras{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5628cqw 2cqw}.site-extras label{border:0;border-bottom:1px solid #96704055;background:none;font:1.2cqw Georgia;padding:0.39396cqw 0;gap:.65cqw}.site-extras input{width:1.05cqw;height:1.05cqw;border-radius:2px}
.estimate{font:1.1cqw/1.5 Georgia;min-height:0;margin:0.5628cqw 0;padding:0.5628cqw 0;border:0;border-block:1px solid #96704088;align-self:center}.price-content>.fine{font:1cqw Georgia!important;margin:0}
.price-content>.room-action{position:absolute;left:34%;top:105%;width:42%;height:10%;background:none;font-size:1.65cqw}
/* Keep contact fields in the central paper area and away from the painted CTA. */
.contact-content{left:54.5%;top:18%;width:30%;height:61%;display:grid;grid-template-rows:12% 10% 14% 14% 23% 16% 10%;gap:0;align-items:center;padding:0 1.5cqw}
#chamber-content .contact-content h2{font-size:2.5cqw!important;margin:0!important}.contact-content>p{margin:0;font-size:1.35cqw}
.contact-content input,.contact-content textarea{margin:0;width:100%;font:1.15cqw Georgia;padding:0.67536cqw .8cqw;border:0;border-bottom:1px solid #9d773f;box-shadow:none;background:#f8dfab20;height:75%;color:#40260e}.contact-content label{height:100%;display:flex;align-items:center}.contact-content textarea{height:85%;border:1px solid #9d773f66}
.contact-content .room-action{position:static;width:100%;height:100%;font-size:1.5cqw;background:none;margin:0;padding:0}.contact-content>.fine{position:static;width:100%;font-size:.87cqw!important;margin:0}.contact-content .form-status{position:absolute;top:98%;left:5%;width:90%;font-size:.8cqw}
@media(max-width:900px){
 .chamber-stage{position:relative;left:0;top:0;transform:none;width:100%;height:auto;min-height:100svh;aspect-ratio:auto;padding-top:110px;padding-bottom:40px;container-type:inline-size;overflow:visible}
 #room-art,#chamber-world,.chamber-atmosphere{position:absolute;height:100%;object-fit:cover}.chamber-toolbar{position:fixed;inset:0;width:100%;height:90px;aspect-ratio:auto;transform:none;pointer-events:none}.chamber-toolbar button{position:absolute;top:16px!important;left:16px!important;font-size:14px}
 #chamber-content{position:relative;inset:auto;width:100%;height:auto;padding:0 5%;min-height:600px}
 .about-content,.price-content,.contact-content,.reviews-content{position:relative;inset:auto;width:100%;height:auto;min-height:0;padding:28px 20px;display:flex;flex-direction:column;gap:20px;background:#09172bf5;border:1px solid #b49051}
 .price-content,.contact-content,.reviews-content{background:radial-gradient(ellipse at top,#f3d9a7,#dbb576);color:#482b12}
 #chamber-content .about-content h2,#chamber-content .price-content h2,#chamber-content .contact-content h2{font-size:28px!important}#chamber-content .about-content h3{font-size:23px!important;white-space:normal}#chamber-content .about-content>.subtitle{font-size:13px}#chamber-content .about-content>p:not(.subtitle):not(.steps){font-size:17px}
 .about-content .principles{font-size:13px}.about-content .principles span:before{width:40px;height:40px;font-size:22px;margin-bottom:10px}.about-content .steps{font-size:12px;padding:12px 0}.about-content>.room-action{width:100%;height:58px;font-size:18px}
 #chamber-content .price-content h3{font-size:20px!important;align-self:flex-start}.site-types{width:100%;height:auto;flex-direction:column;gap:0}.type-choice,.type-choice[aria-pressed=true]{flex-direction:row;min-height:62px;justify-content:space-between;font-size:17px;padding:12px 0}.type-choice:before{font-size:26px}.type-choice:after{width:17px;height:17px}.type-choice[aria-pressed=true]:after{box-shadow:inset 0 0 0 3px #edcf9d}.site-extras{width:100%;gap:12px;grid-template-columns:1fr}.site-extras label{font-size:16px;gap:12px}.site-extras input{width:18px;height:18px}.estimate{font-size:15px;padding:14px 0;margin:0}.price-content>.fine{font-size:12px!important}.price-content>.room-action,.contact-content .room-action{position:static;width:100%;height:58px;min-height:58px;font-size:18px;background:url('./assets/ui-frame.svg') center/100% 100% no-repeat}
 .reviews-heading{display:none}.book-page{position:static;width:100%;height:auto;transform:none;mix-blend-mode:normal}.book-left{border-bottom:1px solid #9e773c;padding-bottom:20px}#chamber-content .book-page h2{font-size:27px!important}#chamber-content .book-page p{font-size:16px}#chamber-content .book-page .fine{font-size:13px!important}.book-ornament{font-size:30px}.book-page .quote{font-size:48px}.reviews-content .room-action{position:static;width:100%;height:60px;font-size:18px}.reviews-content,.about-content{margin-bottom:120px}
 .contact-content>p{font-size:16px}.contact-content label{width:100%}.contact-content input,.contact-content textarea{font-size:16px;height:50px;padding:12px}.contact-content textarea{height:120px}.contact-content>.fine{font-size:12px!important}.contact-content .form-status{position:static;font-size:13px;width:100%}
 .chamber-stage[data-room=works]{height:100svh;min-height:760px;padding:0}.chamber-stage[data-room=works] #chamber-content{position:absolute;inset:0;height:100%;padding:0}.chamber-stage[data-room=price]{min-height:100svh;padding-bottom:160px}.chamber-stage[data-room=contact]{padding-bottom:160px}
}

.type-choice:before{content:''!important;width:2.7cqw;height:2.7cqw;background:center/contain no-repeat}.type-choice:nth-child(1):before{background-image:url('./assets/icon-page.svg')}.type-choice:nth-child(2):before{background-image:url('./assets/icon-company.svg')}.type-choice:nth-child(3):before{background-image:url('./assets/icon-shop.svg')}
@media(max-width:900px){.type-choice:before{width:30px;height:30px}}

@media(min-width:901px){.contact-content .room-action{transform:translateY(-0.5628cqw)}.contact-content>.fine{max-width:90%;justify-self:center;line-height:1.5}}

/* Actions belong to the separate painted nameplates, not to the sloping paper. */
.surface-cta{position:absolute;background:none!important;border:0;box-shadow:none!important;padding:0!important;min-height:0!important;font-size:1.55cqw}
.price-surface-cta{left:38.8%;top:81.7%;width:20.3%;height:5.7%}.contact-surface-cta{left:57.9%;top:63.1%;width:22.7%;height:5.9%}
@media(max-width:900px){.surface-cta{position:relative;inset:auto;display:block;width:90%;height:60px;margin:0 auto 28px;background:url('./assets/ui-frame.svg') center/100% 100% no-repeat!important;font-size:18px}.action-slot{display:none}}

@media(min-width:901px){.contact-content>.fine{align-self:end;margin-bottom:0.2814cqw}.contact-content .form-status{top:auto;bottom:0}}

/* Revision 17: one writing plane per physical surface, consistent source-space spacing. */
@media(min-width:901px){
 .about-content{padding:0;grid-template-rows:8% 15% 8% 15% 25% 13% 16%}
 #chamber-content .about-content h3{font-size:2.35cqw!important}
 #chamber-content .about-content>.subtitle{font-size:1.05cqw;letter-spacing:.22em}
 #chamber-content .about-content>p:not(.subtitle):not(.steps){font-size:1.4cqw}
 .about-content .principles{font-size:1.15cqw}
 .about-content .steps{font-size:.9cqw;margin:0!important}
 .about-content>.room-action{height:65%;width:73%;font-size:1.4cqw}
 .price-content{padding:0;grid-template-rows:13% 9% 24% 10% 16% 20% 8%}
 .contact-content{padding:0;grid-template-rows:12% 10% 14% 14% 23% 18% 9%}
 .contact-content>.fine{font-size:.82cqw!important}
 .book-page{padding:0}
 #chamber-content .book-page h2{font-size:1.8cqw!important}
 #chamber-content .book-page p{font-size:1.1cqw;line-height:1.45}
 #chamber-content .book-page .fine{font-size:.85cqw!important}
 .gallery-label{padding:0;display:grid;place-items:center;font-size:1.5cqw;margin:0}
 .gallery-caption{padding:0;display:grid;place-items:center;font-size:.78cqw!important;margin:0}
 .gallery-preview{transition:opacity .5s;background-size:238% 278%;background-position:50% 51%}
}

.reviews-heading svg{display:block;width:100%;height:100%;overflow:visible}
@media(min-width:901px){
 .gallery-preview.center{background-position:50% 53.49%}
 .gallery-preview.left{background-size:539.35% 313.67%;background-position:2.94% 54.45%}
 .gallery-preview.right{background-size:539.35% 331.34%;background-position:97.14% 55.55%}
 .gallery-cta{top:89%;height:6.5%;font-size:1.2cqw}
 .gallery-caption{color:#ffe3b0;text-shadow:0 1px 3px #000,0 0 5px #000}
}

/* No secondary scene, repeated artwork, or aspect-ratio side fillers. */
@media(min-width:901px){
 #room-dialog{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;margin:0}
 .chamber-stage,.chamber-toolbar{inset:0;left:0;top:0;transform:none;width:100%;height:100%;max-width:none;aspect-ratio:auto}
 #room-art,#chamber-world{inset:0;width:100%;height:100%;max-width:none;margin:0}
}
.book-ink{display:block;width:100%;height:100%;overflow:visible}
@media(max-width:900px){.book-ink{height:280px}.book-page{width:100%}}

/* v19: outpainted panorama, one uniform scale for art and typography. */
@media(min-width:901px){
 .chamber-stage{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100vw,272.05101dvh);height:max(36.7578125vw,100dvh);aspect-ratio:2560/941}
 #chamber-content{inset:0 auto 0 17.34375%;width:65.3125%;height:100%;container-type:size}
}

/* Three synchronized projected frames, controls below the paintings. */
.gallery-slot{position:absolute;overflow:hidden;background:#101825;isolation:isolate}
.gallery-card{position:absolute;inset:0;width:100%;height:100%;background:#081226;will-change:transform}
.gallery-card.center{background-size:238% 278%;background-position:50% 53.49%}
.gallery-card.left{background-size:539.35% 313.67%;background-position:2.94% 54.45%}
.gallery-card.right{background-size:539.35% 331.34%;background-position:97.14% 55.55%}
@media(min-width:901px){
 .gallery-prev,.gallery-next{top:72%;width:4%;height:6.5%;font-size:2.2cqw}
 .gallery-prev{left:30%}.gallery-next{left:66%}
 .price-surface-cta{font-size:1.35cqw;line-height:1;display:grid;place-items:center;white-space:nowrap}
}
@media(max-width:900px){
 .gallery-slot-center{left:5%;top:29%;width:90%;height:30%}
 .gallery-slot-left,.gallery-slot-right{display:none}
 .gallery-prev,.gallery-next{top:73%;width:12%;height:6%}
 .gallery-prev{left:25%}.gallery-next{left:63%}
}

/* Use only image interiors, never the already tilted gold source frames. */
.gallery-card.left{background-size:643.08% 537.71%;background-position:5.312% 57.18%}
.gallery-card.right{background-size:655.69% 553.53%;background-position:95.27% 55.77%}

/* Entire CTA belongs to the board plane; no independent painted plaque. */
.price-surface-cta{background:transparent url('./assets/ui-frame.svg') center/100% 100% no-repeat!important;font-size:1.25cqw}

/* v23: complete room width at 16:9; wider screens trim only added ceiling/floor. */
.gallery-living-picture{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.room-action,.gallery-prev,.gallery-next,.type-choice,.site-extras label{transition:filter .5s ease,background-color .4s ease,box-shadow .4s ease}
.room-action:hover,.room-action:focus-visible,.gallery-prev:hover,.gallery-next:hover{filter:brightness(1.15) drop-shadow(0 0 5px #eab95c55)}
.contact-content input,.contact-content textarea{transition:background-color .4s ease,box-shadow .4s ease}
.contact-content input:focus,.contact-content textarea:focus{background-color:#fff2c944;box-shadow:0 0 9px #e9b76955;outline:1px solid #946b35}
@media(max-width:900px){.price-surface-cta{font-size:18px;line-height:1.2}}
@media(min-width:901px){
 .chamber-stage{width:max(100vw,177.68332dvh);height:max(56.279905vw,100dvh);aspect-ratio:1672/941}
 #chamber-content{inset:0;width:100%;height:100%;container-type:size}
 .gallery-prev,.gallery-next{top:77%;width:4%;height:6%}
 .gallery-prev{left:33%}.gallery-next{left:63%}
 .gallery-cta{top:77%;height:6%;left:38%;width:24%;font-size:1.1cqw}
 .gallery-controls>h2{top:21%;height:8%;font-size:2.8cqw!important}
 .gallery-tabs{top:30%;bottom:auto;font-size:.95cqw}
}

.chamber-atmosphere.chamber-foreground{z-index:3;pointer-events:none}

@media(max-width:900px){.gallery-caption{left:12%!important;width:76%!important;font-size:11px!important;line-height:1.4!important;text-wrap:balance}.gallery-label{font-size:16px!important}}

/* One viewport anchor for the return action in every room. */
#room-dialog #room-back{position:fixed;left:3%!important;bottom:6%!important;top:auto!important;right:auto!important}
@media(max-width:900px){#room-dialog #room-back{left:max(16px,env(safe-area-inset-left))!important;bottom:max(16px,env(safe-area-inset-bottom))!important;top:auto!important;right:auto!important}}

.review-book-spine{position:absolute;inset:0;pointer-events:none!important}.review-book-spine svg{width:100%;height:100%;display:block}.book-page[role=button]{transition:filter .25s}.book-page[role=button]:hover{filter:brightness(1.25)}@media(max-width:900px){.review-book-spine{display:none}}

.book-turn-layer{position:absolute;inset:0;z-index:6;pointer-events:none!important}.book-turn-layer svg{display:block;width:100%;height:100%;overflow:visible}.book-turn-layer .turn-leaf{filter:drop-shadow(3px 5px 5px #48290c33)}

/* Ink, illuminated headings and engraved drawings on the original parchment. */
#chamber-content .price-invitation{display:flex;flex-direction:column;justify-content:space-between;gap:12px;text-align:center;color:#352112}
.ledger-heading{display:flex;align-items:center;justify-content:center;gap:22px;width:100%;padding:12px 0 15px;border-block:2px solid #70471c99;background:linear-gradient(90deg,transparent,#ad783514,transparent);box-shadow:0 3px 0 -2px #70471c66}
#chamber-content .price-invitation h2{font:bold 46px/1.05 Georgia!important;margin:0!important;color:#332218;letter-spacing:-.02em}.ledger-heading>span{font-size:25px;color:#794925}
#chamber-content .price-invitation .ledger-intro{font:27px/1.3 Georgia;margin:0;color:#392516}
.ledger-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:0;align-items:start}.ledger-step{padding:0 9px;position:relative}.ledger-step+ .ledger-step{border-left:1px solid #8e602955}
.ledger-step svg{width:100px;height:82px;fill:#ab71231a;stroke:#583019;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 #ffe0a3)}
#chamber-content .ledger-step h3{font:bold 25px/1.2 Georgia!important;color:#462819;margin:8px 0!important;white-space:nowrap}
#chamber-content .ledger-step p{font:24px/1.25 Georgia;margin:0;color:#392516}
#chamber-content .price-invitation .ledger-invite{font:italic 25px/1.25 Georgia;color:#4c2c18;margin:0;border-top:1px solid #8e602955;padding-top:12px;width:100%}.ledger-invite strong{font-style:normal;font-weight:bold}
#chamber-content .price-invitation .action-slot{display:none}
@media(max-width:900px){#chamber-content .price-invitation{gap:22px;padding:24px 14px}#chamber-content .price-invitation h2{font-size:30px!important}.ledger-heading{gap:10px}#chamber-content .price-invitation .ledger-intro{font-size:20px}.ledger-steps{grid-template-columns:1fr;gap:22px}.ledger-step+.ledger-step{border-left:0;border-top:1px solid #8e602955;padding-top:18px}#chamber-content .ledger-step h3{font-size:24px!important}#chamber-content .ledger-step p{font-size:20px}#chamber-content .price-invitation .ledger-invite{font-size:20px}}
.about-content .principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6cqw}.about-content .principles span[data-topic=identity]:before{content:"Я"}.about-content .principles span[data-topic=process]:before{content:"▤"}.about-content .principles span[data-topic=connection]:before{content:"…"}.about-content .principles span[data-topic=details]:before{content:"⚙"}.about-content .principles span:focus-visible{outline:2px solid #efc777;outline-offset:4px}.about-content .principles span:hover{color:#ffdb8c}

@media(min-width:901px){#chamber-content .price-invitation{gap:10px;justify-content:flex-start}.ledger-heading{padding:10px 0;flex:none}.ledger-steps{flex:1;align-items:center}.ledger-step{padding:0 7px}#chamber-content .ledger-step p{font-size:23px}#chamber-content .price-invitation .ledger-invite{font-size:23px;padding-top:10px;padding-bottom:10px;flex:none}}
/* Legible lettering on the price board, keeping its existing projection. */
@media(min-width:901px){#chamber-content .price-invitation h2{font-size:58px!important}#chamber-content .price-invitation .ledger-intro{font-size:33px;line-height:1.2}#chamber-content .ledger-step h3{font-size:31px!important}#chamber-content .ledger-step p{font-size:29px;line-height:1.2}.ledger-step svg{height:64px;width:82px}#chamber-content .price-invitation .ledger-invite{font-size:29px}.price-surface-cta{font-size:25px!important}}
@media(max-width:900px){#chamber-content .price-invitation h2{font-size:36px!important}#chamber-content .price-invitation .ledger-intro,#chamber-content .ledger-step p,#chamber-content .price-invitation .ledger-invite{font-size:23px}.price-surface-cta{font-size:23px!important}}

#chamber-content .price-invitation .ledger-invite{display:none}@media(min-width:901px){.price-surface-cta{font-size:32px!important}.ledger-steps{align-items:center}}
/* A single framed sign and arrows in the gaps between paintings. */
.gallery-sign{position:absolute;left:30%;top:20%;width:40%;box-sizing:border-box;text-align:center;padding:14px 18px;background:linear-gradient(100deg,#111d2f,#1c2d43,#101b2d);border:4px double #bd9657;box-shadow:0 7px 16px #0009,inset 0 0 0 3px #0b1422;color:#ffe0a0}.gallery-sign:before,.gallery-sign:after{content:'◆';position:absolute;top:12px;color:#c8a366;font-size:13px}.gallery-sign:before{left:10px}.gallery-sign:after{right:10px}#chamber-content .gallery-sign h2{position:static!important;inset:auto!important;width:auto!important;height:auto!important;transform:none!important;background:none!important;border:0!important;margin:0 0 8px!important;font:bold 2.5cqw/1.15 Georgia!important;color:#ffe0a0}#chamber-content .gallery-sign p{font:1.2cqw/1.35 Georgia;margin:0;color:#f7e4bd;text-shadow:none}
@media(min-width:901px){.gallery-prev,.gallery-next{top:51%;width:3.2%;height:5.5%;font-size:1.9cqw;transform:translate(-50%,-50%)}.gallery-prev{left:34.4%}.gallery-next{left:65.8%}}
@media(max-width:900px){.gallery-sign{left:10%;top:14%;width:80%;padding:12px 18px}#chamber-content .gallery-sign h2{font-size:26px!important}#chamber-content .gallery-sign p{font-size:16px}.gallery-prev,.gallery-next{top:62%;height:44px;width:44px}.gallery-prev{left:12%}.gallery-next{left:auto;right:12%}}

@media(max-width:900px){.gallery-sign{top:6%}.gallery-slot-center{top:28%;height:27%}.gallery-prev,.gallery-next{top:56%;transform:none}.gallery-prev{left:20%}.gallery-next{right:20%}.gallery-label{top:64%}.gallery-caption{top:70%!important}}

@media(max-width:900px){.about-content .principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}}

.studio-detail{padding:0;border:1px solid #d5aa60;border-radius:12px;background:#111c30;color:#f5e9ce;width:min(900px,94vw);max-height:90dvh;box-shadow:0 25px 90px #000c;font:17px/1.55 system-ui,sans-serif}.studio-detail::backdrop{background:#020710b8;backdrop-filter:blur(5px)}.detail-shell{padding:28px}.detail-header{display:flex;align-items:center;gap:20px;justify-content:space-between;border-bottom:1px solid #ac874952;margin-bottom:20px}.detail-header h2{font:30px Georgia;color:#f4d28e;margin:0 0 16px}.detail-close{align-self:flex-start}.studio-detail button{cursor:pointer;font:inherit;color:#f4e5bf;background:#25344a;border:1px solid #ac8749;border-radius:6px;padding:10px 16px}.studio-detail button:hover{background:#354862}.studio-detail button:focus-visible,.studio-detail input:focus-visible,.studio-detail textarea:focus-visible,.studio-detail select:focus-visible{outline:3px solid #ffd378;outline-offset:3px}.studio-detail label{display:block;margin:12px 0}.studio-detail input:not([type=checkbox]),.studio-detail textarea,.studio-detail select{box-sizing:border-box;width:100%;background:#f8efd9;color:#1b2230;border:1px solid #bb955a;border-radius:5px;padding:12px;font:inherit}.studio-detail input[type=checkbox]{width:19px;height:19px;margin-right:12px;accent-color:#b8873f}.studio-detail fieldset{border:1px solid #ac87494d;margin:18px 0;padding:12px 18px}.studio-detail legend{color:#f1ce8d}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.detail-note{color:#c4cbd5;font-size:14px}.detail-total{font-size:24px;color:#f6d798}.detail-option{display:flex!important;align-items:center;gap:10px}.detail-option span{flex:1}.detail-option small{color:#c3cad5}.detail-status{white-space:pre-wrap}.detail-preview{height:260px;background:#0f1d31;border:1px solid #b89963;border-radius:7px;background-size:238% 278%;background-position:50% 53.49%}.detail-preview.left{background-size:643.08% 537.71%;background-position:5.312% 57.18%}.detail-preview.right{background-size:655.69% 553.53%;background-position:95.27% 55.77%}.book-page[role=button],.gallery-card[role=button],.principles span[role=button],.steps[role=button]{cursor:pointer}.book-page[role=button]:focus-visible,.gallery-card[role=button]:focus-visible{outline:3px solid #eec779}.studio-detail textarea{min-height:120px}@media(max-width:600px){.detail-shell{padding:18px}.detail-header h2{font-size:24px}.detail-option{align-items:flex-start;flex-wrap:wrap}.detail-option small{padding-left:30px}.detail-preview{height:180px}}

.studio-detail .about-modal-lead{font:24px/1.4 Georgia;color:#f3d190;border-left:3px solid #b99556;padding-left:18px;margin-bottom:24px}

.calculator-total{position:sticky;top:0;z-index:2;background:#17273c;border-block:1px solid #bc9556;padding:14px;font:bold 24px Georgia;color:#f6d798}.calculator-option{display:flex;gap:10px;align-items:center}.calculator-option .detail-option{flex:1;min-width:0}.studio-detail .option-info{border-radius:50%;width:32px;height:32px;flex:0 0 32px;padding:0;font:italic bold 20px Georgia}.option-info-base{margin-top:10px}.option-explanation{width:min(640px,92vw)}.option-explanation p{line-height:1.7}@media(max-width:600px){.calculator-total{font-size:21px}.calculator-option .detail-option small{width:100%}}

/* Real portfolio: preserve screenshots, never stretch the source UI. */
.gallery-card.portfolio-card{background:#0b1422!important;overflow:hidden}.portfolio-card img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.portfolio-gallery{border:1px solid #bc97576b;background:#081221;border-radius:8px;padding:10px;outline-offset:4px}.portfolio-gallery figure{margin:0;touch-action:pan-y}.portfolio-gallery figure>img{display:block;width:100%;height:auto;max-height:52dvh;object-fit:contain;aspect-ratio:16/9;background:#081221;border-radius:3px}.portfolio-gallery figcaption{text-align:center;color:#e8d7b4;font-size:14px;padding:10px 5px;min-height:24px}.portfolio-navigation{display:flex;justify-content:center;align-items:center;gap:22px}.portfolio-navigation span{min-width:55px;text-align:center;font-variant-numeric:tabular-nums}.portfolio-thumbnails{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px}.studio-detail .portfolio-thumbnails button{padding:4px 12px;font-size:14px}.portfolio-thumbnails [aria-pressed=true]{background:#b28a47;color:#071020;border-color:#f3d291}.portfolio-lead{font-size:19px;color:#f5e6c8}.portfolio-gallery:focus-visible{outline:2px solid #f3d291}@media(max-width:600px){.portfolio-gallery{padding:6px}.portfolio-gallery figure>img{max-height:45dvh}.portfolio-lead{font-size:17px}}

/* Keep explanations beside option names, independently of prices. */
.calculator-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.calculator-caption{display:flex;align-items:center;gap:8px;min-width:0}.calculator-option .detail-option{flex:0 1 auto;margin:0}.calculator-price{color:#c3cad5;white-space:nowrap}.calculator-option>input{margin:0}.calculator-caption .option-info{margin:0}@media(max-width:600px){.calculator-option{grid-template-columns:auto minmax(0,1fr)}.calculator-price{grid-column:2}.calculator-caption .detail-option{padding:0}}
/* Castle interiors: a shared frame for every detail and explanation dialog. */
.studio-detail{border:5px double #ae8548;border-radius:3px;background:radial-gradient(ellipse at 15% 0,#45505b55,transparent 55%),repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 5px),#171c24;color:#f3e4c7;box-shadow:0 0 0 2px #302317,0 0 0 7px #080d13bb,0 28px 100px #000e,inset 0 0 65px #0008;scrollbar-color:#ad8749 #171c24}
.detail-shell{padding:28px 32px;background:linear-gradient(90deg,#9b702c15,transparent 12%,transparent 88%,#9b702c15)}
.detail-header{position:relative;border-bottom:3px double #ae8548;padding-bottom:12px;margin-bottom:24px;gap:16px}
.detail-header:after{content:'◆';position:absolute;bottom:-13px;left:50%;padding:0 12px;background:#1b2027;color:#c6a060;font-size:16px;pointer-events:none}
.detail-header h2{font:bold 32px/1.2 Georgia,serif;color:#f0d399;text-shadow:0 2px 2px #000;margin:0 0 10px}
.studio-detail button{background:linear-gradient(#39404a,#1d242d 48%,#10171f);border:2px solid #b68b48;border-radius:2px;box-shadow:inset 0 0 0 2px #101720,inset 0 0 0 3px #b68b4838,0 3px 5px #0006;color:#ffe2ab;padding:11px 18px;font:600 17px/1.35 Georgia,serif;transition:filter .18s,border-color .18s}
.studio-detail button:hover{background:linear-gradient(#515362,#292f3a);border-color:#f6d494;filter:brightness(1.1)}
.studio-detail .detail-close{font:15px/1.3 system-ui;white-space:nowrap;padding:10px 13px}
.studio-detail input:not([type=checkbox]):not([type=radio]),.studio-detail textarea,.studio-detail select{background:linear-gradient(100deg,#e6d0a1,#faf0d4 35%,#ead6ac);color:#302319;border:2px solid #a58148;border-radius:2px;box-shadow:inset 0 2px 8px #62452126;font-size:17px}
.studio-detail fieldset{border:3px double #ad894f70;background:linear-gradient(100deg,#9a742614,transparent 60%);padding:16px 18px;margin:24px 0}
.studio-detail legend{font:22px Georgia;color:#edd09a;padding:0 10px}.studio-detail .detail-note{color:#dfd0b3;font-size:16px;line-height:1.6}
.studio-detail .calculator-total{background:linear-gradient(100deg,#422d20,#2a241f,#422d20);border:3px double #b18a4e;color:#ffe0a0;box-shadow:0 4px 12px #0007;padding:16px;font: bold 26px Georgia}
.calculator-option{padding:8px 0;border-bottom:1px solid #c29a5524}.calculator-option:last-child{border-bottom:0}.calculator-price{color:#f2d699;font-size:15px}.calculator-caption{gap:9px}.studio-detail .option-info{border-radius:50%;width:30px;height:30px;flex-basis:30px;font:italic bold 19px Georgia;padding:0;box-shadow:inset 0 0 0 2px #171c24}
.studio-detail.option-explanation .detail-shell>p{color:#382719;background:linear-gradient(100deg,#d8bd88,#f4e5c0 25%,#ebd7ad 80%,#cfb07b);padding:22px;border:3px double #ab844b;box-shadow:inset 0 0 22px #7f592222;font-size:18px;line-height:1.65}
.studio-detail .portfolio-gallery{border:5px double #a88447;border-radius:2px;background:#121820;box-shadow:0 5px 20px #0008}.studio-detail .portfolio-gallery figcaption{color:#e8d4ad;font-family:Georgia;font-size:17px}
.studio-detail .about-modal-lead{color:#f5dca8;border-left:4px double #c39b56}.studio-detail .review-intro>p{color:#dfd0b3}.studio-detail .review-rating{background:none;border:0}.studio-detail .review-write{background:linear-gradient(#e2c48a,#b58b4b);color:#2b2014}.studio-detail .review-star input{box-shadow:none}
@media(max-width:600px){.detail-shell{padding:20px 16px}.detail-header{align-items:flex-start;gap:10px}.detail-header h2{font-size:25px;overflow-wrap:anywhere}.studio-detail .detail-close{font-size:13px;padding:8px}.studio-detail fieldset{padding:12px}.studio-detail .calculator-total{font-size:22px}.studio-detail.option-explanation .detail-shell>p{padding:16px}.calculator-price{font-size:16px}}
/* Compact controls sit outside the screenshot frame. */
.portfolio-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin:8px 0 12px}.portfolio-controls .portfolio-navigation{gap:8px}.portfolio-controls .portfolio-navigation span{min-width:40px;font-size:13px}.portfolio-controls .portfolio-thumbnails{margin:0;gap:5px}.studio-detail .portfolio-controls button{min-width:30px;height:30px;padding:2px 7px;font:15px/1.2 Georgia;border-width:1px;box-shadow:none}.studio-detail .portfolio-controls button[aria-pressed=true]{background:#b28a47;color:#17120c;border-color:#f3d291}.studio-detail .portfolio-gallery figcaption{padding:6px 4px;min-height:0;font-size:15px}
.portfolio-scope{margin:24px 0}.portfolio-scope>h3{font:26px Georgia;color:#f1d294;border-bottom:3px double #a8844766;padding-bottom:12px}.portfolio-scope h4{font:21px Georgia;color:#f1d294;margin:22px 0 10px}.portfolio-scope ul{margin:0;padding-left:22px}.portfolio-scope li{padding:4px 0 7px 4px;line-height:1.55}.portfolio-scope li::marker{color:#d2ac66}

.review-intro{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding-bottom:24px}.review-intro>p{flex:1 1 100%;margin:0;color:#d4dbea;max-width:640px}.review-kicker{font-size:12px;letter-spacing:.22em;color:#d6b470}.studio-detail .review-write{background:linear-gradient(#dbc18a,#a77b3d);color:#231b12;border-color:#f0d496;font-weight:650;box-shadow:0 3px 0 #594123}.review-manage{font-size:13px!important}.review-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 22px;padding:10px 3px 24px}.review-parchment{position:relative;padding:24px 24px 30px;color:#36291e;background:radial-gradient(ellipse at 50% 0,#fff6dc,transparent 70%),linear-gradient(105deg,#d6bb85,#f0dfb8 16%,#ebd8ab 85%,#c4a877);border:1px solid #b59a68;border-radius:3px 8px 4px 3px;box-shadow:0 10px 20px #0005,inset 0 0 30px #86532018;animation:review-unfold .55s ease-out both;transform-origin:top center}.review-parchment:nth-child(even){margin-top:24px}.review-parchment:before{content:'';position:absolute;inset:7px;border:1px solid #85623530;pointer-events:none}.review-parchment header{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-right:25px}.review-stars{color:#815313;letter-spacing:.08em;font-size:18px}.review-parchment time{font:12px system-ui;color:#76634c}.review-quote{font:18px/1.65 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0}.review-parchment footer{font:italic 14px Georgia;color:#796243;border-top:1px solid #94754748;padding-top:12px}.review-seal{position:absolute;right:13px;top:-12px;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ad5250,#742c30 70%);border:4px double #c67c66;box-shadow:1px 4px 6px #0005;color:#f6d4a1;font:20px Georgia;transform:rotate(8deg)}.review-parchment small{display:block;margin-top:15px}.review-parchment button{margin-top:10px;font-size:14px}.review-empty{grid-column:1/-1;text-align:center;padding:35px 28px 45px;color:#392b1c;background:radial-gradient(ellipse at 50% 35%,#f8ebcd,#d3b780);border:4px double #ad8953;box-shadow:0 12px 28px #0005}.review-empty h3{font:28px Georgia;margin:10px}.review-empty p{max-width:420px;margin:14px auto}.review-ornament{font-size:38px;color:#8c642e}.review-form-lead{color:#d9c9a7}.studio-detail .review-rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:0;padding:0;margin:18px 0}.review-rating legend{padding:0;margin-bottom:12px}.studio-detail .review-star{position:relative;display:inline-flex;margin:0;cursor:pointer;min-width:42px;min-height:46px;align-items:center;justify-content:center}.review-star input{position:absolute;width:1px!important;height:1px;opacity:0}.review-star span{font:38px/1 Georgia;color:#627084;transition:color .15s,transform .15s}.review-star.selected span{color:#edc574;text-shadow:0 1px 9px #dcb56438}.review-star:hover span{transform:translateY(-3px);color:#ffe0a0}.review-star:has(input:focus-visible){outline:2px solid #ffe0a0;outline-offset:2px;border-radius:4px}.review-rating-label{flex:1 1 100%;font-size:14px;color:#d8c7a7}.review-back{margin-top:16px}.review-form textarea{resize:vertical;min-height:140px}.review-more{display:block;margin:auto}@keyframes review-unfold{from{opacity:0;transform:translateY(15px) rotateX(-5deg)}to{opacity:1;transform:none}}@media(max-width:600px){.review-shelf{grid-template-columns:1fr}.review-parchment:nth-child(even){margin-top:0}.review-parchment{padding:22px 19px}.review-intro{gap:12px}.review-empty{padding:25px 16px}.review-empty h3{font-size:24px}}@media(prefers-reduced-motion:reduce){.review-parchment{animation:none}.review-star span{transition:none}}

.review-more[hidden]{display:none!important}

/* One interior language for all StudioDetails dialogs, including nested help. */
.studio-detail{--ink:#38291e;--muted-ink:#65503a;--brass:#ae8548;background:#271e19;border:6px double #c29b60;border-radius:9px;color:var(--ink);box-shadow:0 0 0 3px #302219,0 0 0 8px #0c111bc9,0 24px 100px #000e;scrollbar-color:#99703e #dfc797;font:18px/1.65 Georgia,'Times New Roman',serif}
.studio-detail::backdrop{background:#030913bd;backdrop-filter:blur(6px)}
.studio-detail .detail-shell{padding:0;background:radial-gradient(ellipse at 18% 15%,#fff8e2aa,transparent 50%),repeating-linear-gradient(5deg,#76552a05 0 1px,transparent 1px 4px),linear-gradient(95deg,#d0ad72,#f0dfb8 9%,#f4e6c6 50%,#ead4a5 92%,#c4a16b);box-shadow:inset 0 0 36px #70431540;min-width:0}
.studio-detail .detail-header{padding:25px 28px 24px;margin:0;border:0;border-bottom:5px double #c29b60;background:radial-gradient(ellipse at 50% 0,#31465d99,transparent 85%),repeating-linear-gradient(90deg,#0001 0 1px,transparent 1px 7px),#101d2d;box-shadow:0 6px 12px #65401d40;align-items:center}
.studio-detail .detail-header h2{font:600 32px/1.2 Georgia,serif;color:#f5d796;margin:0;text-shadow:0 2px 3px #000;letter-spacing:.01em}
.studio-detail .detail-header:after{content:'✦';bottom:-16px;left:calc(50% - 18px);width:36px;box-sizing:border-box;text-align:center;padding:0;background:#17283b;color:#e5bb71;border:1px solid #c29b60;transform:rotate(0deg);font:20px/26px Georgia}
.studio-detail .detail-shell>div{padding:24px 30px 28px;min-width:0}
.studio-detail .detail-shell>p{margin:28px 30px;color:var(--ink)}
.studio-detail .detail-note,.studio-detail .portfolio-lead,.studio-detail .review-intro>p,.studio-detail .review-form-lead,.studio-detail .review-rating-label{color:var(--muted-ink)}
.studio-detail .about-modal-lead{color:#583a22;border-left:4px double #94703f;padding:14px 18px;background:#fff5d655;font-size:25px}
.studio-detail button{background:linear-gradient(#32475b,#16293b 52%,#101d2b);color:#ffe1a6;border:3px double #c5a066;border-radius:3px;box-shadow:0 3px 0 #654725,0 5px 8px #38271625,inset 0 0 9px #0007;font:600 17px/1.35 Georgia;padding:11px 18px}
.studio-detail button:hover{background:linear-gradient(#415b70,#233b50);border-color:#eac78a;filter:none}
.studio-detail button:disabled{opacity:.55;cursor:wait}
.studio-detail .detail-close{align-self:center;font:15px Georgia;box-shadow:inset 0 0 5px #0006;padding:9px 12px}
.studio-detail input:not([type=checkbox]):not([type=radio]),.studio-detail textarea,.studio-detail select{background:#fff7e1;color:#342619;border:1px solid #987546;border-bottom:3px double #987546;box-shadow:inset 0 2px 5px #66421715;border-radius:2px;font:17px/1.5 Georgia}
.studio-detail input::placeholder,.studio-detail textarea::placeholder{color:#76634f;opacity:1}
.studio-detail input[type=checkbox]{appearance:none;width:21px;height:21px;flex:none;background:#fff5dc;border:2px solid #896b43;display:grid;place-content:center;margin:0 5px 0 0;cursor:pointer}
.studio-detail input[type=checkbox]:checked:after{content:'✓';color:#38281a;font:bold 21px/1 Georgia}
.studio-detail :is(button,input,textarea,select):focus-visible{outline:3px solid #376787;outline-offset:3px}
.studio-detail fieldset{border:3px double #94704488;background:#fff9e32b;margin:24px 0;padding:16px 18px;box-shadow:inset 0 0 15px #81572009}
.studio-detail legend,.studio-detail .portfolio-scope h3,.studio-detail .portfolio-scope h4{color:#543921;font-family:Georgia}
.studio-detail .calculator-option{padding:10px 0;border-bottom:1px solid #9b774d40}
.studio-detail .calculator-prompt{margin:16px 0 12px;padding:12px 15px;border-left:4px solid #a87938;background:#f1dfb8;color:#4a321f;font:600 17px/1.45 Georgia,serif}
.studio-detail .calculator-price{color:#51361e;font:600 17px Georgia}
.studio-detail .calculator-total{background:linear-gradient(100deg,#203044,#142233,#293c4c);color:#ffe1a4;border:4px double #b69356;box-shadow:0 5px 10px #56351435;font:600 26px Georgia;top:0}
.studio-detail .option-info{border-radius:50%;width:29px;height:29px;flex-basis:29px;padding:0;font:italic bold 19px Georgia;box-shadow:none}
.studio-detail.option-explanation .detail-shell>p{background:none;border:0;box-shadow:none;padding:0;color:#38291e;font-size:19px}
.studio-detail.option-explanation .detail-shell>p:last-child{border-top:3px double #a7814b;padding-top:15px;padding-bottom:22px;font-weight:bold}
.studio-detail .portfolio-gallery{background:#172536;border:5px double #a58048;box-shadow:0 6px 14px #4c341b45}
.studio-detail .portfolio-scope>h3{border-color:#8c683d66}.studio-detail .portfolio-scope li::marker{color:#805824}
.studio-detail .review-kicker{color:#785323}.studio-detail .review-rating{background:none;box-shadow:none;border:0}
.studio-detail .review-star span{color:#937e5e}.studio-detail .review-star.selected span{color:#986517;text-shadow:0 1px #ffedbc}.studio-detail .review-star:hover span{color:#b2741b}
.studio-detail .review-parchment{box-shadow:0 5px 12px #56391e30}.studio-detail .review-empty{box-shadow:0 5px 12px #56391e30;background:#fff5db80}
.studio-detail .detail-status{overflow-wrap:anywhere}.studio-detail form>button+button{margin-left:10px}
@media(max-width:600px){.studio-detail{width:calc(100vw - 24px);max-height:92dvh;font-size:17px}.studio-detail .detail-header{padding:20px 15px;gap:10px}.studio-detail .detail-header h2{font-size:25px}.studio-detail .detail-shell>div{padding:22px 16px}.studio-detail .detail-shell>p{margin:24px 16px}.studio-detail .detail-close{font-size:13px;padding:8px}.studio-detail .calculator-total{font-size:22px}.studio-detail .about-modal-lead{font-size:22px}.studio-detail fieldset{padding:12px 10px}.studio-detail form>button{margin:8px 6px 0 0!important}}
.studio-detail .detail-shell{display:flow-root}

.studio-detail.book-emerging::backdrop{background:transparent;backdrop-filter:none}

.review-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.studio-detail .review-actions button{margin:0;min-width:0}.studio-detail .review-site{display:inline-block;margin-top:14px;color:#65400e;text-decoration:underline;text-underline-offset:4px}@media(max-width:420px){.studio-detail .review-actions button{padding:10px 8px;font-size:14px}}

/* Portfolio directions must remain visibly distinct from the detailed body copy. */
.studio-detail .portfolio-scope>section{margin:28px 0 32px}
.studio-detail .portfolio-scope>section>h4{font:700 25px/1.3 Georgia,serif;letter-spacing:.01em;color:#17334d;border-top:3px double #a58048;border-bottom:1px solid #a5804866;padding:13px 0 11px;margin:0 0 12px;text-shadow:0 1px #fff5db}
.studio-detail .portfolio-scope>section>ul{color:var(--ink)}
@media(max-width:600px){.studio-detail .portfolio-scope>section>h4{font-size:23px}.studio-detail .portfolio-scope>section{margin:24px 0 28px}}

.book-spread-preview{position:absolute;inset:0;z-index:5;pointer-events:none}
.book-preview-half{position:absolute;left:0;top:0;overflow:hidden;transform-origin:0 0;pointer-events:none}
.studio-detail.book-preview-content{position:absolute;top:0;margin:0;max-width:none;max-height:none;box-sizing:border-box;overflow:hidden;pointer-events:none;border-radius:0}
.book-preview-half:first-child:after,.book-preview-half:last-child:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 70%,#35221344)}
.book-preview-half:last-child:after{background:linear-gradient(90deg,#35221344,transparent 30%)}

.studio-detail.book-emerging{overflow:visible;scrollbar-width:none;background:transparent;border-color:transparent;box-shadow:none}.studio-detail.book-emerging::-webkit-scrollbar{display:none}
.studio-detail.book-emerging>.detail-shell{opacity:0;height:100%;max-height:100%;box-sizing:border-box;overflow:hidden}
.book-morph-flight{position:fixed;z-index:30;pointer-events:none;overflow:visible;box-sizing:border-box}
.book-spiral-badge{position:absolute;left:50%;top:50%;width:80px;height:80px;z-index:40;pointer-events:none;filter:drop-shadow(0 0 9px #f4ce80);transform-origin:center}.book-spiral-badge svg{display:block;width:100%;height:100%}

/* Stable geometry while asynchronous review content arrives. */
.studio-detail.review-book-window{height:min(620px,90dvh);box-sizing:border-box}

.studio-detail.review-book-window{scrollbar-width:none}
.studio-detail.review-book-window::-webkit-scrollbar{display:none}
.studio-detail.review-book-window .detail-note:empty{display:none}
.studio-detail.review-book-window .detail-shell>div{padding-bottom:12px}
.studio-detail.review-book-window .review-shelf{padding-bottom:8px}
@media(max-width:600px){.studio-detail.review-book-window{height:min(700px,90dvh)}}
.studio-detail.book-emerging::backdrop{background:transparent;backdrop-filter:none;animation:none}
.studio-detail.book-emerging.book-revealing::backdrop{animation:book-room-dim 800ms ease-in-out both}
@keyframes book-room-dim{0%,22%{background:transparent;backdrop-filter:blur(0px)}100%{background:#030913bd;backdrop-filter:blur(6px)}}

.book-outline-morph{position:absolute;inset:0;z-index:12;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 8px 12px #0a070480)}
.book-source-ink{filter:none}
.book-morph-outline,.book-morph-inner,.book-morph-header{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.book-morph-outline{stroke:#9a713b;stroke-width:8;opacity:var(--outline-opacity,0);filter:drop-shadow(0 1px 0 #f8ddb0)}
.book-morph-inner{stroke:#8b6638;stroke-width:2.5;opacity:var(--inner-opacity,0)}
.book-morph-header{stroke:#c19a5b;stroke-width:3.5;opacity:var(--header-opacity,0)}
@media(max-width:600px){.book-morph-outline{stroke-width:6}.book-morph-inner{stroke-width:2}.book-morph-header{stroke-width:3}}
@media(max-width:420px){.studio-detail .detail-header{flex-wrap:wrap}.studio-detail .detail-header h2{flex:1 0 100%;font-size:23px;overflow-wrap:normal;word-break:normal}.studio-detail .detail-header button{margin-left:auto}.studio-detail .detail-shell>div{padding-left:12px;padding-right:12px}}


.statistics-notice{position:fixed;z-index:10000;bottom:48px;right:18px;width:min(390px,calc(100vw - 36px));box-sizing:border-box;padding:18px;border:1px solid #b99355;border-radius:8px;background:linear-gradient(145deg,#15223af7,#080f20fa);color:#f3e4c9;box-shadow:0 8px 35px #0008;font:15px/1.5 Georgia,serif}.statistics-notice[hidden]{display:none}.statistics-notice p{margin:0 0 7px;font-size:21px;color:#f2cd85}.statistics-notice span{display:block}.statistics-notice div{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.statistics-notice button,.statistics-settings{cursor:pointer;border:1px solid #a78651;border-radius:4px;background:#101c31;color:#f6e4c0;padding:9px 12px;font:inherit}.statistics-notice button:hover,.statistics-settings:hover{background:#27344a}.statistics-notice button:focus-visible,.statistics-settings:focus-visible{outline:2px solid #f5dca4;outline-offset:3px}.statistics-settings{position:fixed;z-index:9999;right:14px;bottom:10px;padding:4px 9px;font:12px/1.4 Georgia,serif;background:#0d172cdd}.statistics-notice button:first-child{background:#d9b77c;color:#152038}.statistics-notice button:first-child:hover{background:#efd099}@media(max-width:600px){.statistics-settings{bottom:75px}.statistics-notice{bottom:112px;max-height:65vh;overflow:auto}}
.statistics-notice,.statistics-settings{inset:auto;margin:0}.statistics-notice{right:18px;bottom:48px}.statistics-settings{right:14px;bottom:10px}@media(max-width:600px){.statistics-settings{bottom:75px}.statistics-notice{bottom:112px}}

body .statistics-settings,body dialog .statistics-settings{min-width:0;min-height:0;width:auto;height:auto;padding:4px 9px;font:12px/1.4 Georgia,serif;letter-spacing:normal;box-shadow:none;border:1px solid #a78651;border-radius:4px;transform:none}
body dialog .statistics-notice button{min-width:0;min-height:0;width:auto;height:auto;padding:9px 12px;font:15px/1.4 Georgia,serif;letter-spacing:normal;transform:none}
@media(max-width:900px){.statistics-settings{bottom:24px}.statistics-notice{bottom:70px}}


.chamber-atmosphere.chamber-dust{z-index:4;pointer-events:none}
.chamber-atmosphere.chamber-dust[hidden]{display:none!important}

/* The same painted hall fills portrait screens; its side portals stay reachable by dragging. */
@media(max-width:900px){
 #castle::after{content:'Проведите зал влево или вправо';position:absolute;z-index:8;left:50%;bottom:55px;transform:translateX(-50%);width:min(290px,calc(100% - 32px));box-sizing:border-box;padding:7px 12px;border:1px solid #c9a46588;border-radius:5px;background:#09152bdb;color:#f3d9a4;font:14px/1.25 Georgia,serif;text-align:center;pointer-events:none;text-shadow:0 1px 4px #000;animation:hall-pan-hint 3s ease-in-out infinite}
 #castle.entering::after{display:none}
}
@keyframes hall-pan-hint{0%,100%{filter:brightness(.72)}50%{filter:brightness(1.16)}}
@media(prefers-reduced-motion:reduce){#castle::after{animation:none}}
@media(max-width:360px){.gallery-sign{padding:8px 12px}#chamber-content .gallery-sign h2{font-size:22px!important;margin-bottom:4px!important}#chamber-content .gallery-sign p{font-size:13px;line-height:1.15}.gallery-cta{top:72%}}
@media(max-width:340px){.contact-surface-cta{height:52px;transform:translateY(-32px)}}
.studio-detail .calculator-quantity{box-sizing:border-box;width:68px;max-width:100%;padding:6px;color:#f4e5c4;background:#17273c;border:1px solid #bc9556;border-radius:5px;font:16px Georgia;text-align:center}
@media(max-width:600px){.studio-detail .calculator-quantity{grid-column:2;justify-self:end}}

dialog.studio-detail .calculator-option input.calculator-quantity{width:68px;justify-self:end}

.studio-detail .calculator-quantity{grid-column:2/4;justify-self:end;display:flex;align-items:center;gap:5px;width:auto;max-width:100%;padding:0;border:0;background:transparent;color:#f4e5c4;font:15px Georgia}.studio-detail .calculator-quantity-value{min-width:82px;text-align:center;white-space:nowrap}.studio-detail .calculator-quantity-step{width:32px;min-width:32px;height:32px;padding:0;border:1px solid #bc9556;border-radius:5px;background:#17273c;color:#f4e5c4;font:20px/1 Georgia;cursor:pointer}.studio-detail .calculator-quantity-step:disabled{opacity:.45;cursor:default}.studio-detail .calculator-option .calculator-price{white-space:normal;text-align:right}@media(max-width:600px){.studio-detail .calculator-quantity{grid-column:2;justify-self:end}}

.studio-detail .calculator-quantity-step{font-size:0}.studio-detail .calculator-quantity-step:first-child::before{content:'▼';font:15px Georgia}.studio-detail .calculator-quantity-step:last-child::before{content:'▲';font:15px Georgia}


/* The modal frame and close control stay fixed; only its content scrolls. */
.studio-detail:not(.book-emerging):not(.book-preview-content){overflow:hidden}
.studio-detail:not(.book-emerging):not(.book-preview-content)>.detail-shell{display:flex;flex-direction:column;max-height:calc(90dvh - 12px);overflow:hidden}
.studio-detail.review-book-window:not(.book-emerging)>.detail-shell{height:100%}
.studio-detail:not(.book-emerging):not(.book-preview-content)>.detail-shell>.detail-header{flex:0 0 auto;z-index:1}
.studio-detail:not(.book-emerging):not(.book-preview-content)>.detail-shell>div{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:600px){.studio-detail:not(.book-emerging):not(.book-preview-content)>.detail-shell{max-height:calc(92dvh - 12px)}}

.studio-detail[open]{z-index:2147483647}
body:has(.studio-detail[open]) #room-dialog:has(.chamber-stage[data-room=price]){visibility:hidden}
