:root{--bg:#181715;--paper:#e9e1d2;--muted:#b4ada0;--red:#b3432a;--line:#4b443c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--paper);font:14px/2 'Yu Gothic',Meiryo,sans-serif;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500}h2{font-size:clamp(32px,4vw,54px);line-height:1.65}img{display:block;width:100%;height:auto;object-fit:cover}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e3a75f;outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;z-index:20;background:black}.demo{text-align:center;font-size:10px;background:#2e2b26;padding:6px 18px;color:#ddd4c7}header{padding:20px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:16px;font:23px 'Yu Mincho',serif;letter-spacing:.1em}.brand-mark{background:var(--red);width:48px;height:52px;display:grid;place-content:center;font-size:35px;color:white}.brand small{display:block;font:8px/2.5 Arial;letter-spacing:.18em}nav{display:flex;gap:30px;font-size:12px}.nav-toggle{display:none}.hero{height:740px;position:relative;overflow:hidden}.hero>img{height:100%;object-position:65% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#100d0bed,#100d0b45 70%),linear-gradient(0deg,#100d0b99,transparent)}.hero-copy{position:absolute;top:18%;left:8%;z-index:1}.hero-copy>p:first-child{font:10px Arial;letter-spacing:.22em;color:#d9b88c}.hero h1{font-size:clamp(48px,6vw,82px);line-height:1.6;letter-spacing:.06em;margin:23px 0}.hero-lead{font-size:14px;color:#ddd4c7}.button{display:flex;justify-content:space-between;align-items:center;max-width:240px;padding:15px 24px;background:var(--red);color:white;margin-top:35px;font-size:13px}.button:hover{background:#91402e}.hero-stamp{position:absolute;right:5%;top:80px;writing-mode:vertical-rl;border:1px solid #c9b69b;padding:22px 15px;letter-spacing:.18em;font:16px/2 'Yu Mincho',serif}.hero-stamp b{font-weight:400}.hero-bottom{position:absolute;bottom:35px;left:8%;right:8%;display:flex;justify-content:space-between;font:10px Arial;letter-spacing:.18em}.section{padding:100px 7%;max-width:1400px;margin:auto}.eyebrow{font:10px/1.5 Arial;letter-spacing:.18em;color:#c69366}.gallery{padding:30px 0;background:#24211e;overflow:hidden}.gallery-heading{display:flex;justify-content:space-between;align-items:center;padding:0 5% 22px;gap:20px}.gallery-heading>span{font:11px Arial;letter-spacing:.16em}.gallery-heading button,.motion-button{border:1px solid #6f6457;background:transparent;font-size:10px;padding:10px 15px;min-height:44px}.marquee{overflow:hidden}.track{display:flex;width:max-content;animation:flow-left 24s linear infinite}.track.paused{animation-play-state:paused}.track-group{display:flex;gap:18px;padding-right:18px}.gallery-card{width:330px;flex:none;position:relative;padding:0;border:0;background:none;text-align:left}.gallery-card img{height:225px}.gallery-card>span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:35px 15px 13px;font-size:11px;color:white}.gallery-hint{font-size:10px;color:var(--muted);padding:18px 5% 0}@keyframes flow-left{to{transform:translateX(-50%)}}.about{display:grid;grid-template-columns:1fr 1fr;gap:30px 90px}.about>.eyebrow{grid-column:1/-1}.about-copy{padding-top:25px}.about-copy p{color:#c5bdaf;line-height:2.4}.about-copy p+p{margin-top:25px}.text-link{display:block;border-bottom:1px solid #756555;padding:15px 0;max-width:310px;margin-top:35px;font-size:12px}.courses{background:#e9e1d2;color:#302b25}.course-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;padding-bottom:45px}.course-heading h2{font-size:38px;margin-top:22px}.course-heading>p{font-size:12px}.courses .eyebrow{color:#8e492d}.course-tabs{display:flex;max-width:1204px;margin:0 auto;border-top:1px solid #a9a092;border-bottom:1px solid #a9a092}.course-tabs button{flex:1;border:0;border-right:1px solid #a9a092;background:none;padding:20px;font:12px Arial;color:#514536}.course-tabs button:last-child{border-right:0}.course-tabs button span{font-family:'Yu Mincho',serif;font-size:19px;margin-left:20px}.course-tabs .selected{background:#2a2520;color:#f5eddf}.course-stage{display:grid;grid-template-columns:1.25fr 1fr;max-width:1400px;margin:0 auto;min-height:580px}.course-photos{position:relative;min-height:580px;background:#201a16;overflow:hidden}.course-photo{position:absolute;width:100%;height:100%;inset:0;opacity:0;transition:opacity .55s ease;object-position:center}.course-photo.active{opacity:1}.stage-enlarge{position:absolute;bottom:25px;right:25px;z-index:2;padding:10px 16px;border:1px solid #d4c5b2;background:#221c17b8;color:white;font-size:10px}.course-description{padding:55px 50px;background:#e0d4c1}.course-description h3{font-size:34px;margin:18px 0 12px}.course-description>p:not(.eyebrow){font-size:12px}.course-price{margin:20px 0}.course-price strong{font:48px Georgia}.course-price span{font-size:10px;margin-left:18px}.course-description ul{padding-left:17px;font-size:13px;line-height:2.3;min-height:132px}.course-note{font-size:10px!important;color:#5f5243;margin:20px 0}.course-count{font:11px Arial;margin-left:20px}.course-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:55px;padding-bottom:65px}.course-summary article{border-top:1px solid #8d7e69;padding-top:20px}.course-summary span{font:10px Arial;color:#8e492d;letter-spacing:.1em}.course-summary h3{font-size:25px;margin:15px 0}.course-summary p{font-size:12px}.course-summary b{font:29px Georgia;display:block;margin-top:18px}.seats-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:65px}.seats-heading h2{margin-top:20px}.seats-heading>p{font-size:13px;color:var(--muted)}.seat-row{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center;margin-bottom:85px}.seat-row.reverse{grid-template-columns:1fr 1.2fr}.seat-row.reverse>.photo-button{order:2}.photo-button{border:0;padding:0;position:relative;background:none}.photo-button img{aspect-ratio:1.3}.photo-button>span{position:absolute;bottom:18px;right:18px;font:9px Arial;letter-spacing:.1em;background:#181715cc;padding:12px;color:white}.seat-no{font:11px Arial;color:#b7936c;letter-spacing:.14em}.seat-row h3{font-size:34px;margin:20px 0}.capacity{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;display:flex;align-items:center;gap:25px}.capacity strong{font:25px 'Yu Mincho',serif}.capacity span{font-size:11px;color:var(--muted)}.seat-row p{margin-top:25px;font-size:12px;color:#c5bdaf}.seat-row ul{font-size:11px;color:var(--muted);padding-left:15px;margin-top:18px}.fine{font-size:10px;color:var(--muted)}.visit{background:#28231e}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:30px}.visit-name{font-size:22px;margin:25px 0 10px}.visit-name span{font:12px Georgia;margin-left:18px}.visit-grid p:last-child{font-size:12px;color:#c9bcaa}.visit dl{margin:0}.visit dl>div{padding:23px 0;border-bottom:1px solid #51483c;display:grid;grid-template-columns:90px 1fr;gap:20px}.visit dt{font-size:11px;color:#a99b86}.visit dd{margin:0;font-size:12px}.faq{margin-top:65px;border-top:1px solid #51483c}.faq details{padding:20px 0;border-bottom:1px solid #51483c;font-size:13px}.faq summary{cursor:pointer}.faq p{padding-top:15px;color:var(--muted);font-size:12px}.closing{padding:80px 8%;background:#943c28;color:#f5e9d6;font:clamp(45px,6vw,80px)/1.7 'Yu Mincho',serif;position:relative}.closing span{margin-left:12%}.closing a{display:block;font:10px Arial;letter-spacing:.15em;margin-top:35px;text-align:right}footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:40px 5%}footer p,footer>a:last-child{font-size:10px;color:var(--muted)}dialog{width:min(1100px,94vw);max-height:94vh;border:1px solid #5b4c3b;background:#211d18;color:#e9e1d2;padding:52px 20px 20px}dialog::backdrop{background:#000d}dialog>img{max-height:72vh;object-fit:contain}dialog p{font-size:12px;margin-top:12px}.close{position:absolute;right:15px;top:8px;background:none;border:0;padding:8px}
@media(max-width:760px){header{padding:18px 20px;flex-wrap:wrap;gap:18px}.brand{font-size:20px}.brand-mark{width:40px;height:44px;font-size:28px}.nav-toggle{display:block;border:1px solid #6a5847;background:none;padding:8px 10px;font-size:10px}nav{display:none;width:100%;flex-wrap:wrap;gap:12px 25px;padding:12px 0}nav.open{display:flex}.hero{height:650px}.hero>img{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#100d0bcc,#100d0b60),linear-gradient(0deg,#100d0bb8,transparent)}.hero-copy{left:24px;right:20px;top:16%}.hero-copy>p:first-child{font-size:8px}.hero h1{font-size:clamp(33px,10.7vw,43px)}.hero-lead{font-size:12px}.hero-stamp{display:none}.hero-bottom{left:24px;right:24px;font-size:8px;letter-spacing:.08em}.section{padding:65px 24px}.gallery-heading{padding:0 20px 20px}.gallery-heading>span{font-size:9px;letter-spacing:.06em}.gallery-heading button{font-size:9px;padding:8px}.gallery-card{width:255px}.gallery-card img{height:185px}.track{animation-duration:20s}.about{grid-template-columns:1fr;gap:25px}.about-copy{padding-top:0}.course-heading{display:block;padding-bottom:30px}.course-heading h2{font-size:clamp(20px,6vw,24px)}.course-heading>p{margin-top:20px}.course-tabs button{padding:17px 5px;font-size:9px}.course-tabs button span{display:block;margin:7px 0 0;font-size:15px}.course-stage{grid-template-columns:1fr;min-height:0}.course-photos{min-height:0;aspect-ratio:1.25}.course-description{padding:30px 24px}.course-description h3{font-size:29px}.course-price strong{font-size:43px}.course-description ul{min-height:132px}.course-summary{grid-template-columns:1fr;gap:25px;padding-top:35px;padding-bottom:40px}.course-summary article{position:relative;padding-right:95px}.course-summary h3{font-size:23px;margin:12px 0}.course-summary b{position:absolute;right:0;top:30px;font-size:25px}.seats-heading{display:block;margin-bottom:40px}.seats-heading>p{margin-top:25px}.seat-row,.seat-row.reverse{grid-template-columns:1fr;gap:28px;margin-bottom:60px}.seat-row.reverse>.photo-button{order:0}.seat-row h3{font-size:29px;margin:15px 0}.visit-grid{grid-template-columns:1fr;gap:30px}.visit dl>div{grid-template-columns:75px 1fr;gap:10px}.closing{padding:55px 24px;font-size:40px}.closing span{margin-left:5%}footer{display:block;padding:35px 24px}footer p{margin:25px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.track{animation:none}.course-photo{transition:none}}

.reservation{max-width:1100px}.reservation h2{margin:18px 0}.reservation-note{color:var(--muted);margin-bottom:35px;font-size:12px}.reservation-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 35px}.reservation-grid label{display:block;min-width:0}.reservation-grid input,.reservation-grid select{display:block;width:100%;min-width:0;min-height:52px;border:1px solid #82715e;border-radius:0;background:#29241e;color:#f2e9dc;padding:12px;font:16px 'Yu Gothic',sans-serif;margin-top:10px;color-scheme:dark}.reservation-grid small{color:var(--muted);font-size:11px}.reservation .button{border:0;max-width:310px;min-height:52px}#reservation-review{margin-top:35px;padding:30px;border:1px solid #82715e;background:#29241e}#reservation-review h3{font-size:26px}#reservation-review dl>div{display:grid;grid-template-columns:100px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}#reservation-review dd{margin:0}#reservation-review p{font-size:12px;color:#e7b495;margin:20px 0}.reservation input:focus-visible,.reservation select:focus-visible{outline:2px solid #e3a75f;outline-offset:3px}@media(max-width:760px){.reservation-grid{grid-template-columns:1fr;gap:22px}#reservation-review{padding:20px}#reservation-review dl>div{grid-template-columns:65px 1fr;font-size:12px}}

/* Copy reduction requested 2026-09-29 */
.hero-copy{top:auto;bottom:110px}.hero-shade{background:linear-gradient(0deg,#100d0bb8,transparent 65%)}.course-heading{padding-top:45px;padding-bottom:30px}@media(max-width:760px){.hero-copy{top:auto;bottom:100px}.course-heading{padding-top:30px;padding-bottom:25px}}
