:root{--paper:#f5f0e4;--ink:#211e1a;--red:#ae281d;--line:#c5bba8;--serif:"Hiragino Mincho ProN","Yu Mincho",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 var(--sans)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:5px}.wrap{max-width:1160px;margin:auto;padding:0 40px}header{border-top:7px solid var(--red);border-bottom:1px solid var(--ink)}.head{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center}.mark{display:grid;place-items:center;border:2px solid var(--red);color:var(--red);width:47px;height:47px;font:900 22px var(--serif);transform:rotate(-4deg)}.brand b{display:block;font:900 23px/1.4 var(--serif);letter-spacing:-.04em}.brand small{display:block;font-size:10px;letter-spacing:.14em}nav{display:flex;gap:28px;font-size:13px;font-weight:600}nav a{padding:10px 0}nav a.active{border-bottom:3px solid var(--red);color:var(--red)}.hero{padding:42px 0 36px;border-bottom:4px double var(--ink)}.hero-grid{display:grid;grid-template-columns:1fr 365px;gap:45px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--red)}.theater-name{font:900 29px/1.4 var(--serif);letter-spacing:.12em;margin:14px 0 0}h1{font:900 clamp(70px,8.4vw,112px)/1.12 var(--serif);letter-spacing:-.065em;margin:0 0 15px}.intro{font-size:14px;margin:14px 0 12px;letter-spacing:.06em}.pill{display:inline-block;font-size:11px;border:1px solid var(--ink);padding:2px 8px}.ticket{background:var(--red);color:var(--paper);padding:27px 25px 23px;border:5px double var(--paper);outline:1px solid var(--red);transform:rotate(1deg)}.ticket .eyebrow{color:var(--paper);font-size:16px;letter-spacing:.17em}.ticket .days{font:900 36px/1.3 var(--serif);letter-spacing:-.04em;margin:14px 0 9px;white-space:nowrap}.ticket small{font-size:12px}.ticket-link{display:block;border-top:1px solid #ffffff70;margin-top:24px;padding-top:12px;font-size:12px;letter-spacing:.1em}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:32px 0 16px}h2{font:900 29px/1.5 var(--serif);letter-spacing:-.02em;margin:0}.section-head .eyebrow{font-size:10px}.section-head a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.muted{font-size:12px;color:#5d574c}#today{margin:12px 0}.schedule{display:grid;grid-template-columns:1fr 1fr;gap:25px}.home-page .schedule{grid-template-columns:1fr}.show{border:1px solid var(--ink);background:#fffaf0;box-shadow:4px 4px 0 #211e1a12}.show-head{padding:18px 24px;border-bottom:1px solid var(--ink)}.show-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.week-label{margin:0;color:var(--red);font:900 28px/1.3 var(--serif)}.week-label small{font:12px var(--sans);margin-left:12px;color:var(--ink)}.status{background:var(--ink);color:var(--paper);padding:3px 9px;font-size:11px;letter-spacing:.05em}.current .status{background:var(--red)}.dates{font:900 36px/1.4 var(--serif);letter-spacing:-.035em;margin-top:8px}.dates em{font:600 14px var(--serif);margin:0 3px}.sep{font-size:22px;margin:0 11px}.year{font-size:10px;color:#645b4f}.cast{list-style:none;margin:0;padding:10px 24px 14px}.cast li{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:11px 0;font:800 23px/1.5 var(--serif);letter-spacing:.04em}.cast li:last-child{border-bottom:0}.order{font:600 12px var(--sans);color:var(--red);width:22px;flex-shrink:0}.show-foot{border-top:1px solid var(--line);padding:9px 24px;font-size:10px;color:#645b4f}.home-page .show-head{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:30px}.home-page .show-top{grid-row:1/3;display:block}.home-page .status{display:inline-block;margin-top:8px}.home-page .dates{grid-column:2;grid-row:1;margin-top:0;font-size:48px}.home-page .year{grid-column:2;text-align:right}.home-page .cast{display:flex;padding:26px 20px 30px}.home-page .cast li{flex:1;flex-direction:column;border:0;border-left:1px solid var(--line);padding:0 10px;gap:15px}.home-page .cast li:first-child{border-left:0}.home-page .cast li>span:last-child{writing-mode:vertical-rl;font-size:38px;line-height:1.4;letter-spacing:.12em;min-height:220px}.home-page .order{width:auto;text-align:center}.note{font-size:12px;color:#5d574c;border-left:3px solid var(--red);padding:3px 14px;margin:24px 0 45px}.access{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:45px}.access-copy,.access-art{padding:28px 24px}.access h3{font:900 26px var(--serif);margin:18px 0}.access p{font-size:13px}.access-art{border-left:1px solid var(--line);display:flex;justify-content:center;flex-direction:column}.button{display:inline-flex;gap:25px;align-items:center;background:var(--ink);color:var(--paper);padding:10px 18px;margin:12px 0;font-size:12px}.station{border-bottom:2px solid var(--ink);padding:7px 0;font-size:20px;font-weight:700}.station small{font-size:12px;margin-left:8px;font-weight:400}.walk{margin:13px 10px;padding:10px 20px;border-left:2px dotted var(--red);font-size:13px}.destination{font:900 24px var(--serif);color:var(--red)}footer{border-top:4px double var(--ink);padding:22px 0;font-size:10px}.footer-inner{display:flex;justify-content:space-between;gap:10px}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:25px}input,select,button{font:inherit;color:inherit;border-radius:0}input,select{border:1px solid var(--line);background:#fffaf0;padding:10px 12px}input{flex:1;min-width:180px}.clear-filters{border:1px solid var(--ink);background:transparent;padding:10px 12px;cursor:pointer;font-size:12px}.clear-filters:disabled{opacity:.4;cursor:default}.archive-page .hero{padding:32px 0}.archive-page h1{font-size:65px;margin:7px 0}.archive-page .intro{font-size:13px}.archive-grid{padding-bottom:40px}.empty{grid-column:1/-1;padding:30px;border:1px dashed var(--line)}.empty a{text-decoration:underline}.mobile-nav{display:none}.skip-link{position:fixed;top:-100px;left:12px;background:var(--ink);color:white;padding:10px;z-index:20}.skip-link:focus{top:10px}
@media(max-width:700px){.wrap{padding:0 20px}.head{min-height:74px}.brand b{font-size:21px}.brand small{font-size:9px}.mark{width:38px;height:38px;font-size:18px}header nav{display:none}.hero{padding:26px 0 24px}.hero-grid{grid-template-columns:1fr;gap:22px}.theater-name{font-size:23px;margin-top:10px}h1{font-size:clamp(64px,19vw,105px);margin-bottom:9px}.intro{font-size:12px}.ticket{transform:none;padding:15px 18px}.ticket .eyebrow{font-size:13px}.ticket .days{font-size:32px;margin:5px 0}.ticket-link{margin-top:11px;padding-top:7px}.section-head{margin-top:25px;gap:12px}h2{font-size:23px}.section-head a{font-size:10px}.schedule{grid-template-columns:1fr;gap:22px}.home-page .show-head{display:block;padding:15px 17px}.home-page .show-top{display:flex}.week-label{font-size:26px}.home-page .status{margin:0}.home-page .dates{font-size:35px;margin-top:10px}.home-page .year{text-align:left}.home-page .cast{padding:20px 6px 23px}.home-page .cast li{padding:0 4px;gap:12px}.home-page .cast li>span:last-child{font-size:clamp(22px,6.8vw,32px);min-height:185px;letter-spacing:.08em}.home-page .order{font-size:10px}.show-head{padding:16px 18px}.dates{font-size:31px}.sep{margin:0 6px}.cast{padding:8px 18px}.cast li{font-size:22px}.show-foot{padding:9px 17px}.note{font-size:11px;margin-bottom:32px}.access{grid-template-columns:1fr}.access-copy,.access-art{padding:24px 0}.access-art{border-left:0;border-top:1px solid var(--line)}.footer-inner{display:block}footer{padding-bottom:95px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;gap:0;background:var(--ink);color:var(--paper);padding:10px 8px max(10px,env(safe-area-inset-bottom));z-index:10;font-size:12px}.mobile-nav a{padding:6px 12px}.mobile-nav a[aria-current]{border-bottom:2px solid #ed7565}.archive-page h1{font-size:48px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.filters label[for=search],.filters input,.clear-filters{grid-column:1/-1}.filters label[for=month]{grid-column:1;grid-row:3}.filters label[for=week]{grid-column:2;grid-row:3}.filters #month{grid-column:1;grid-row:4}.filters #week{grid-column:2;grid-row:4}.filters select{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.ticket .days{white-space:normal}@media(max-width:700px){.home-page .dates{font-size:clamp(27px,8vw,35px)}}

.show-foot{display:flex;justify-content:space-between;gap:12px}.cast-note{display:block;color:var(--red);font:600 10px/1.5 var(--sans);letter-spacing:.08em;margin-top:5px}.home-page .cast-person{position:relative}.home-page .cast-note{writing-mode:horizontal-tb;position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;margin-top:10px}.home-page .cast.unordered{padding-bottom:48px}.home-page .cast.unordered li{padding-top:6px}@media(max-width:700px){.home-page .cast.unordered{padding-bottom:43px}}
.home-page .cast-person{text-orientation:upright}

.visitor-info{margin:0 0 40px}.visitor-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}.visitor-panel{padding:25px 28px 23px}.visitor-panel+.visitor-panel{border-left:1px solid var(--line)}.visitor-panel h3{font:900 24px var(--serif);margin:0 0 20px}.price-list{margin:0}.price-list>div{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.price-list>div:last-child{border:0}.price-list dt{font-weight:600}.price-list dt small{display:block;font-size:11px;font-weight:400;color:#5d574c}.price-list dd{margin:0;font:900 29px var(--serif);white-space:nowrap}.price-list dd span{font-size:14px;margin-left:4px}.opening{display:flex;flex-wrap:wrap;gap:12px 30px;padding-bottom:15px;border-bottom:1px solid var(--ink);margin:0 0 10px;font-size:12px}.opening b{font:900 28px var(--serif);margin-left:8px;color:var(--red)}.show-times{width:100%;border-collapse:collapse}.show-times th,.show-times td{text-align:left;padding:12px 0;border-bottom:1px solid var(--line)}.show-times th{font-size:12px;width:30%;font-weight:500}.show-times td{font-size:18px;letter-spacing:.04em;white-space:nowrap}.show-times tr:last-child>*{border-bottom:0}.visitor-disclaimer{margin:12px 0}.theater-phone{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}.theater-phone>span{font-size:12px}.theater-phone strong{font:900 24px var(--serif);white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){.visitor-grid{grid-template-columns:1fr}.visitor-panel{padding:23px 0}.visitor-panel+.visitor-panel{border-left:0;border-top:1px solid var(--ink)}.visitor-panel h3{font-size:22px}.visitor-disclaimer{font-size:11px}.show-times td{font-size:18px}.theater-phone strong{font-size:23px}}

/* Hotel affiliate block: independent of schedule rendering. */
.hotel-search{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:32px 0 48px;padding:28px;border:1px solid var(--line);background:rgba(255,255,255,.35)}.hotel-search h2{font-size:24px;margin:8px 0}.hotel-search p{font-size:13px;line-height:1.8;margin:8px 0 0}.hotel-ad-label{display:inline-block;font-size:11px;color:#5d574c;border:1px solid var(--line);padding:2px 8px}.hotel-search-action{flex-shrink:0;max-width:100%}.hotel-search .hotel-search-button{white-space:normal;line-height:1.6;text-align:center}.hotel-search-action .muted{font-size:11px}.hotel-search-button:focus-visible{outline:3px solid var(--red);outline-offset:4px}@media(max-width:700px){.hotel-search{display:block;padding:22px 18px}.hotel-search-action{margin-top:20px}.hotel-search .hotel-search-button{display:flex;justify-content:center;gap:8px;width:100%;box-sizing:border-box;font-size:14px}.hotel-search h2{font-size:22px}}

.access-map{margin:24px 0 48px;border:1px solid var(--line);overflow:hidden}.access-map iframe{display:block;width:100%;height:450px}@media(max-width:700px){.access-map iframe{height:340px}}
