@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;600&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
:root{--ink:#302e29;--paper:#e8e2d4;--wood:#6b4f38;--rice:#f4eee0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Zen Kaku Gothic New',sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}.skip{position:absolute;left:-9999px;z-index:20}.skip:focus{left:12px;top:12px;background:#fff;padding:12px}.demo-banner{background:#2e3028;color:#f5f0e4;padding:8px 20px;text-align:center;font-size:10px;line-height:1.7}.site-header{height:82px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:#f2ede2;border-bottom:1px solid #cfc4b2}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:'Noto Serif JP',serif;font-size:19px;font-weight:600}.brand small{display:block;font:9px 'Zen Kaku Gothic New',sans-serif;letter-spacing:.18em;margin-top:3px}.brand-mark{border:1px solid var(--wood);width:39px;height:39px;display:grid;place-items:center;font-size:20px}.site-header nav{display:flex;gap:30px;font-size:11px}.site-header nav a{text-decoration:none;border-bottom:1px solid transparent;padding:4px 0}.site-header nav a:hover{border-color:currentColor}
.entrance{height:min(780px,calc(100svh - 120px));min-height:620px;position:relative;background:#292b25;color:#f7f0de;overflow:hidden}.entrance-photo{position:absolute;inset:0 0 0 36%}.entrance-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.72)}.photo-label{position:absolute;right:25px;bottom:25px;background:#eee8dc;color:#413e35;padding:8px 12px;font-size:9px;letter-spacing:.1em}.entrance-screen{position:absolute;inset:0 0 0 36%;display:flex;pointer-events:none}.shoji-door{width:50%;height:100%;background:repeating-linear-gradient(0deg,transparent 0 calc(25% - 4px),#6d523c calc(25% - 4px) 25%),repeating-linear-gradient(90deg,transparent 0 calc(33.33% - 4px),#6d523c calc(33.33% - 4px) 33.33%),#efe9d7c9;border-left:8px solid #604835;border-right:8px solid #604835;animation:open 1.7s .3s cubic-bezier(.2,.7,.2,1) both}.shoji-door.left{--shift:-86%}.shoji-door.right{--shift:86%}@keyframes open{from{transform:translateX(0)}to{transform:translateX(var(--shift))}}.entrance-type{position:absolute;inset:0 auto 0 0;width:43%;background:linear-gradient(90deg,#252a25 68%,#252a25e8);padding:65px 5% 55px;display:flex;flex-direction:column;align-items:flex-start}.chapter,.entrance-side,.stage-note,.stage-caption,.interlude-head>span,.atelier-heading>span,.exit>span{font-size:10px;letter-spacing:.25em}.entrance h1{font:300 clamp(68px,8vw,130px)/1.35 'Noto Serif JP',serif;writing-mode:vertical-rl;letter-spacing:.16em;margin:35px 0 5px;max-height:480px}.entrance-type p{font:300 16px/1.9 'Noto Serif JP',serif;margin:0}.entrance-type>a{margin-top:auto;border-bottom:1px solid;padding:9px 0;text-decoration:none;font-size:12px;letter-spacing:.15em}.entrance-side{position:absolute;right:3%;top:34px;writing-mode:vertical-rl;color:#fff}
.interlude{max-width:1480px;margin:auto;padding:130px 6% 145px;display:grid;grid-template-columns:.75fr 1.4fr .5fr;gap:40px;align-items:center}.interlude-head{align-self:start}.interlude h2{font:300 clamp(38px,4vw,68px)/1.6 'Noto Serif JP',serif;writing-mode:vertical-rl;letter-spacing:.15em;height:470px;margin:28px 0}.interlude h2 em{font-style:normal;color:#63745b}.interlude-image{height:560px;position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 92%,86% 100%,0 100%)}.interlude-image img{height:100%;width:100%;object-fit:cover}.interlude-image span{position:absolute;bottom:12px;left:15px;background:#f3eadb;padding:8px;font-size:9px}.interlude>p{font:400 14px/2.7 'Noto Serif JP',serif;writing-mode:vertical-rl;height:360px;justify-self:center}
.atelier{background:#39372e;color:#f4eee0;padding:105px 5% 130px}.atelier-heading{max-width:1380px;margin:0 auto 50px;display:grid;grid-template-columns:.4fr 1fr 1fr;align-items:end;gap:30px}.atelier-heading h2{font:300 clamp(46px,6vw,90px)/1.2 'Noto Serif JP',serif;margin:0;letter-spacing:.2em}.atelier-heading p{max-width:330px;font-size:12px;line-height:2.1;margin:0}.atelier-layout{max-width:1380px;margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:5%;align-items:start}.stage-wrap{position:sticky;top:20px}.stage-note{display:block;margin-bottom:15px}.room-preview{--floor-color:#879c78;height:560px;background:#e4d0a8;position:relative;overflow:hidden;border:11px solid #765a3e;box-shadow:16px 18px 0 #1c1d19}.stage-back{position:absolute;inset:0 0 23%;background:radial-gradient(circle at 55% 43%,#faf8ed 0 10%,#decda9 62%);display:grid;place-items:center;color:#b5aa8b;font:300 140px 'Noto Serif JP',serif}.stage-panel{position:absolute;top:0;bottom:23%;width:50%;background-color:#f7f2e4e8;background-image:repeating-linear-gradient(0deg,transparent 0 calc(25% - 5px),#876644 calc(25% - 5px) 25%),repeating-linear-gradient(90deg,transparent 0 calc(33.33% - 5px),#876644 calc(33.33% - 5px) 33.33%);transition:transform .8s cubic-bezier(.2,.7,.2,1),background-color .5s}.panel-left{left:0;border-right:7px solid #795a3c}.panel-right{right:0;border-left:7px solid #795a3c}.room-preview.panel-motif .stage-panel{background-image:radial-gradient(circle at 49% 48%,#a49d7d 0 10px,transparent 12px),repeating-linear-gradient(0deg,transparent 0 calc(25% - 5px),#876644 calc(25% - 5px) 25%),repeating-linear-gradient(90deg,transparent 0 calc(33.33% - 5px),#876644 calc(33.33% - 5px) 33.33%)}.room-preview.panel-grid .stage-panel{background-image:repeating-linear-gradient(0deg,transparent 0 calc(12.5% - 4px),#876644 calc(12.5% - 4px) 12.5%),repeating-linear-gradient(90deg,transparent 0 calc(16.66% - 4px),#876644 calc(16.66% - 4px) 16.66%)}.room-preview.opening .panel-left{transform:translateX(-33%)}.room-preview.opening .panel-right{transform:translateX(33%)}.preview-floor{position:absolute;bottom:0;left:0;right:0;height:23%;display:grid;grid-template-columns:repeat(4,1fr);background:var(--floor-color);transition:background .5s}.preview-floor span{border:2px solid #56644a99;background:repeating-linear-gradient(90deg,#fff2 0 1px,transparent 1px 5px)}.stage-caption{display:block;margin-top:20px;line-height:1.8;letter-spacing:.08em}
.control-ledger{border-top:1px solid #8f806b}.control-group{padding:25px 0 32px;border-bottom:1px solid #8f806b}.control-group h3{display:flex;gap:20px;align-items:baseline;font:400 20px 'Noto Serif JP',serif;margin:0 0 22px}.control-group h3 span{font:12px 'Zen Kaku Gothic New',sans-serif;color:#c9baa0}.options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.option{border:1px solid #978870;background:transparent;color:#f4eee0;min-height:76px;text-align:left;padding:12px;font-size:11px;line-height:1.6}.option.active{background:#dfd2b7;color:#2b2b25;border-color:#dfd2b7}.memo{margin-top:45px;background:#dfd2b7;color:#302e29;padding:27px}.memo h3{font:300 28px 'Noto Serif JP',serif;margin:0 0 20px}.memo dl{margin:0}.memo dl div{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid #ad9c7f;padding:10px 0}.memo dt{font-size:10px}.memo dd{font:14px 'Noto Serif JP',serif;margin:0}.memo button{background:#302e29;color:#f4eee0;border:0;padding:12px 17px;margin-top:20px;font-size:11px}.memo p{font-size:10px;line-height:1.8}.exit{background:#f0e8d7;min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 20px}.exit h2{font:300 clamp(42px,5vw,76px)/1.5 'Noto Serif JP',serif;margin:24px 0}.exit p{font-size:11px;line-height:2}.exit a{font-size:12px;text-decoration:none;border-bottom:1px solid;padding:8px;margin-top:20px}footer{background:#2e3028;color:#eee8dc;padding:25px 4%;display:flex;justify-content:space-between;gap:20px;font-size:10px}footer a{text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #cfad67;outline-offset:3px}
@media(max-width:900px){.interlude{grid-template-columns:1fr 1.6fr}.interlude>p{grid-column:2;writing-mode:horizontal-tb;height:auto}.atelier-layout{grid-template-columns:1fr}.stage-wrap{position:static}.room-preview{height:480px}.control-ledger{margin-top:55px}.atelier-heading{grid-template-columns:1fr 2fr}.atelier-heading p{grid-column:2}.entrance-type{width:52%}.entrance-photo,.entrance-screen{left:43%}}
@media(max-width:600px){.site-header{height:66px}.site-header nav a:not(:last-child){display:none}.site-header nav{font-size:10px}.brand{font-size:15px}.brand small{font-size:7px}.entrance{min-height:690px;height:calc(100svh - 100px)}.entrance-photo,.entrance-screen{inset:0}.entrance-photo img{filter:brightness(.55) saturate(.7)}.entrance-type{width:76%;padding:34px 7%;background:linear-gradient(90deg,#252a25f5 55%,#252a25ad)}.entrance h1{font-size:58px;max-height:480px}.entrance-side{right:3%;font-size:8px}.interlude{padding:90px 7%;grid-template-columns:1fr 1.8fr;gap:10px}.interlude h2{font-size:35px;height:390px}.interlude-image{height:420px}.interlude>p{grid-column:1/-1;font-size:12px}.atelier{padding:80px 5%}.atelier-heading{display:block}.atelier-heading h2{font-size:55px;margin:17px 0}.room-preview{height:350px;border-width:7px;box-shadow:8px 10px 0 #1c1d19}.stage-back{font-size:90px}.options{gap:5px}.option{min-height:80px;padding:8px;font-size:10px}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.shoji-door{animation:none;transform:translateX(var(--shift))}.stage-panel,.preview-floor{transition:none}}

/* The actual room is the cover; the industry name sits on a low paper placard. */
.entrance{height:clamp(620px,calc(100svh - 120px),780px);min-height:620px;background:#d6c5a7;color:#302e29}.entrance-photo{inset:0}.entrance-photo img{display:block;object-position:center 50%;filter:saturate(.9) brightness(1)}.entrance-screen{display:none}.entrance-type{inset:auto auto 38px 4%;width:min(620px,54%);height:auto;background:rgba(246,239,224,.97);border-left:10px solid #876948;padding:27px 34px 29px;display:block;box-shadow:0 18px 42px #1b190e36}.entrance h1{writing-mode:horizontal-tb;font:300 clamp(39px,4.8vw,69px)/1.32 'Noto Serif JP',serif;letter-spacing:.02em;margin:16px 0 17px;max-height:none;white-space:nowrap}.entrance-type p{font-size:13px;line-height:1.9;margin:0 0 17px}.entrance-type>a{display:inline-block;margin:0;border-bottom:1px solid;padding:6px 0}.entrance-side{right:2%;top:22px;color:#2c322a;background:#f4eddfdb;padding:8px 6px;writing-mode:vertical-rl;font-size:9px}.photo-label{right:20px;bottom:20px;background:#f2ebdce3}
@media(max-width:900px){.entrance-type{left:4%;width:min(590px,68%)}.entrance h1{font-size:clamp(39px,5.8vw,59px)}}
@media(max-width:600px){.entrance{height:clamp(680px,calc(100svh - 100px),760px);min-height:680px}.entrance-photo img{object-position:62% center;filter:saturate(.92) brightness(1)}.entrance-type{inset:auto 14px 20px 14px;width:auto;padding:23px 22px 25px;border-left-width:7px}.entrance h1{font-size:clamp(34px,9vw,48px);line-height:1.36;margin:12px 0}.entrance-type p{font-size:11px;line-height:1.8}.entrance-type>a{font-size:11px}.photo-label{right:auto;left:14px;top:16px;bottom:auto;font-size:9px}.entrance-side{top:18px;right:10px;font-size:8px}}
@media(max-width:390px){.entrance h1{font-size:8.8vw}.entrance-type{padding:19px 17px 21px}.entrance-type p{font-size:10px}}
