/* All room layers share the registered 1672 x 941 canvas and one scale. */
.workshop-page { position:relative; isolation:isolate; padding-top:60px; }
.workshop-room { position:relative; background:transparent; }
.room-stage { position:relative; width:100%; margin:0 auto; }
/* A stationary edge frame behind the reading column, not a full-room hero. */
.room-canvas { position:fixed; z-index:-1; top:60px; left:0; width:100%; height:calc(100svh - 60px); overflow:hidden; isolation:isolate; pointer-events:none; background:#201b17; }
.room-world { position:absolute; top:0; left:50%; width:100vw; aspect-ratio:1672/941; transform:translateX(-50%); }
.room-world::after { content:""; position:absolute; z-index:6; inset:0; pointer-events:none; background:linear-gradient(to bottom,transparent 78%,#201b17); }
.room-left-frame,.room-right-frame { position:absolute; inset:0; }
.room-left-frame { z-index:2; transform:translateX(-5.4%) scale(.9); transform-origin:left bottom; }
.room-right-frame { z-index:3; transform:translateX(4.8%) scale(.9); transform-origin:right bottom; }
.room-canvas::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 13%,#110f0e55 24%,#110f0ea6 36%,#110f0ea6 64%,#110f0e55 76%,transparent 88%); }

.room-layer { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; pointer-events:none; user-select:none; }
.room-clean { z-index:0; }
.room-left-workbench,.room-left-shelves { z-index:1; inset:auto; left:10.04784689%; top:14.34643996%; width:20.215311%; height:62.69925611%; }
.room-left-shelves { clip-path:polygon(0% 0%,100% 0%,100% 41.641521%,61.116965% 41.641521%,61.116965% 44.236572%,56.375132% 44.236572%,56.375132% 44.900422%,44.783983% 44.900422%,44.783983% 45.624623%,31.190727% 45.624623%,31.190727% 30.778515%,0% 30.778515%); }
.room-left-workbench { clip-path:polygon(0% 30.778515%,31.190727% 30.778515%,31.190727% 45.624623%,44.783983% 45.624623%,44.783983% 44.900422%,56.375132% 44.900422%,56.375132% 44.236572%,61.116965% 44.236572%,61.116965% 41.641521%,100% 41.641521%,100% 100%,0% 100%); }
.room-banner { z-index:2; inset:auto; left:12.34808612%; top:1.09670563%; width:7.87858852%; height:34.8607864%; }
.room-fireplace { z-index:3; inset:auto; left:0.00000000%; top:1.70031881%; width:18.36124402%; height:92.45483528%; }
.room-right-tech { z-index:4; inset:auto; left:71.87312986%; top:1.27523911%; width:28.12687014%; height:98.72476089%; }
.room-ceiling { z-index:5; inset:auto; top:0; left:0; width:100%; height:13.28374%; clip-path:polygon(20% 0,79.7% 0,79.7% 27.2%,29.1% 32%,29.1% 64%); }
/* Source rectangle: x 0..155, y 420..550. The fireplace itself stays still. */
.room-firelight { position:absolute; z-index:6; left:0; top:44.633369%; width:9.270335%; height:13.81509%; background:radial-gradient(ellipse,#ff982b40,transparent 68%); animation:room-ember 4.7s ease-in-out infinite alternate; pointer-events:none; }
/* Central wall rectangle: x 500..1210, y 160..440. */
.room-sign-mount { position:relative; z-index:7; width:min(1040px,54vw); margin:0 auto; padding:clamp(64px,5vw,120px) 0 34px; text-align:center; }
.room-sign-mount .workshop-plaque { display:table; margin:0 auto 4px; padding:4px 14px; font-size:clamp(8px,.55vw,11px); line-height:1.35; letter-spacing:.2em; }
.room-sign-mount .workshop-sign { justify-content:center; margin:0 0 8px; font-size:clamp(40px,4.3vw,86px); line-height:1.3; flex-wrap:nowrap; white-space:nowrap; }
.room-wall-sign { display:none; }
.room-sign-mount .neon-sign__lana,.room-wall-sign .neon-sign__lana { color:#fff0d6; text-shadow:0 0 1px #fff,0 0 4px #ffdaa1,0 0 12px #df8e3d,0 0 28px #c881394d; }
.room-sign-mount .neon-sign__orch,.room-wall-sign .neon-sign__orch { color:#f4eaff; text-shadow:0 0 1px #fff,0 0 4px #e3c8ff,0 0 12px #b578e5,0 0 28px #b578e54d; }
.room-intro { font-size:clamp(15px,1.1vw,20px); line-height:1.4; color:#f2e7d8; margin:0 0 2px; text-shadow:0 2px 5px #070604; }
.room-topics { color:#d1c2af; font-size:clamp(12px,.82vw,15px); line-height:1.4; margin:0 auto; max-width:36em; text-shadow:0 2px 5px #070604; }
.room-motion-toggle { position:fixed; z-index:8; bottom:18px; right:18px; color:#c6b9a7; background:rgba(18,16,14,.72); border:1px solid #4c4035; border-radius:3px; padding:8px 12px; min-height:36px; cursor:pointer; font:400 10px/1.4 "Manrope",sans-serif; }
.room-motion-toggle:hover { color:#f4e6d4; border-color:#b5916a; }
.room-motion-toggle:focus-visible { outline:2px solid #c7a6e8; outline-offset:4px; }
.room-motion-toggle[hidden] { display:none; }
.room-sign-mount,.room-layer { -webkit-tap-highlight-color:transparent; }
.room-stage .neon-sign__orch,.room-firelight { animation-play-state:running; }
[data-motion="off"] .neon-sign__orch,[data-motion="off"] .room-firelight { animation-play-state:paused; }
.workshop-content.wrap { width:min(1040px,54vw); max-width:none; padding:0 0 40px; }
.workshop-content .forum-heading { background:transparent; border:0; border-bottom:1px solid #493c30; border-radius:0; padding:12px 0; margin-top:18px; }
.workshop-content .forum-heading h2 { font-size:19px; color:#c8afe2; }
.workshop-gallery { position:relative; margin:40px 0; padding:5px; background:#211b16; border:1px solid #6c543b; border-radius:5px; box-shadow:0 14px 40px #0004; }
.workshop-gallery::before,.workshop-gallery::after { content:""; position:absolute; width:5px; height:5px; border-radius:50%; top:8px; background:#bb9972; box-shadow:0 1px 2px #000; z-index:1; }
.workshop-gallery::before { left:8px; }.workshop-gallery::after { right:8px; }
.workshop-gallery img { display:block; width:100%; height:auto; border-radius:2px; }
@keyframes room-ember { 0%,100% { opacity:.18; } 31% { opacity:.35; } 65% { opacity:.12; } 86% { opacity:.3; } }
@media(min-width:1100px) and (max-width:1599px) {
 .workshop-content .project-row { grid-template-columns:24px minmax(0,1fr); gap:12px; padding:22px; }
 .workshop-content .project-description { grid-column:2; }
}
@media(max-width:1099px) {
 .room-canvas { position:relative; z-index:0; top:auto; height:auto; aspect-ratio:1672/941; }
 .room-world { position:relative; left:0; width:100%; transform:none; }
 .room-canvas::after { background:linear-gradient(90deg,transparent,#110f0e25 40%,#110f0e25 60%,transparent); }
 .room-sign-mount { width:auto; margin:0; }
 .workshop-content.wrap { width:auto; max-width:820px; margin:0 auto; padding:0 var(--pad) 40px; }

 .room-wall-sign { position:absolute; z-index:7; display:flex; justify-content:center; left:29.9%; top:25%; width:42.5%; font-size:clamp(13px,4.3vw,32px); line-height:1.3; flex-wrap:nowrap; white-space:nowrap; pointer-events:none; }
 .room-sign-mount { position:relative; top:auto; left:auto; width:auto; padding:20px 16px 18px; }
 .room-sign-mount .workshop-plaque { font-size:9px; padding:6px 20px; margin-bottom:6px; }
 .room-sign-mount .workshop-sign { font-size:clamp(36px,8vw,60px); margin-bottom:12px; }
 .room-sign-mount .neon-sign__orch { animation:none; }
 .room-intro { font-size:16px; line-height:1.5; margin-bottom:4px; }
 .room-topics { font-size:13px; line-height:1.5; max-width:34em; }
 .room-motion-toggle { position:relative; display:block; right:auto; bottom:auto; margin:0 auto 22px; font-size:10px; min-height:36px; }
 .workshop-content.wrap { padding-top:0; }
 .workshop-gallery { margin:28px 0; padding:3px; }
 .workshop-content .forum-heading { margin-top:16px; }
}
@media(prefers-reduced-motion:reduce) { .room-firelight,.room-stage .neon-sign__orch { animation:none; } }
