:root{color-scheme:dark;--gold:#d8ab57;--pale:#ffebb9;--wine:#251019;--night:#100c11;--jade:#08352e;--white:#f9efd9;font-family:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#120c12;color:var(--white)}button,select,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ffe68a;outline-offset:3px}h1,h2,h3,p{margin-top:0}.skip{position:absolute;left:8px;top:-60px;background:#fff;color:#000;z-index:15}.skip:focus{top:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.topbar{background:#1d0f17;border-bottom:2px solid var(--gold);display:flex;align-items:center;gap:22px;padding:10px max(16px,3vw);min-height:76px;position:relative;z-index:5}.brand{display:flex;gap:10px;align-items:center;min-width:210px}.bird{font-size:42px;color:var(--gold)}.brand small,.brand strong{display:block;letter-spacing:.1em}.brand small{font:10px Arial,sans-serif;color:var(--gold)}.brand strong{font-size:21px;letter-spacing:.12em}.theatre-name{color:var(--gold);letter-spacing:.12em;font-size:clamp(12px,1.5vw,23px);flex:1;text-align:center}.topbar nav{display:flex;gap:12px}.topbar nav button{background:transparent;border:0;color:var(--white);font:12px Arial,sans-serif;white-space:nowrap}.topbar nav button:hover{color:var(--gold)}.lang-label select{background:#29121d;color:var(--pale);border:1px solid var(--gold);border-radius:9px;padding:8px;max-width:132px;font:12px Arial,sans-serif}.foyer{background:#160c12}.foyer-art{position:relative;width:100%;max-width:1672px;margin:auto;overflow:hidden}.foyer-image{width:100%;display:block}.frame-hotspots{position:absolute;inset:0;pointer-events:none}.frame-hotspot{position:absolute;pointer-events:auto;border:5px ridge #d2a252;background:#251018;overflow:hidden;padding:0;box-shadow:0 8px 22px #000b;color:#ffe5a3;transition:box-shadow .2s,transform .2s}.frame-hotspot img{width:100%;height:100%;display:block;object-fit:cover}.frame-hotspot:hover,.frame-hotspot:focus-visible{box-shadow:0 0 0 3px #ffe49c,0 0 26px #ffcc77;transform:scale(1.04)}.featured-1{left:18.6%;top:15%;width:10.9%;height:25%}.featured-2{left:31.3%;top:22%;width:5.9%;height:19%}.featured-3{left:80.4%;top:10%;width:13.9%;height:23.5%}.featured-mark{position:absolute;bottom:0;left:0;right:0;font:600 clamp(7px,.72vw,12px)/1.2 Arial,sans-serif;padding:5px 3px;background:#160d15dd;text-shadow:0 1px 3px black;white-space:normal}.scene-door{position:absolute;left:44%;top:21%;width:18%;height:42%;border:2px solid transparent;background:transparent;font-size:0}.scene-door:hover,.scene-door:focus-visible,.scene-desk:hover,.scene-desk:focus-visible{border-color:#ffd986;box-shadow:inset 0 0 18px #f6cd4788}.scene-desk{position:absolute;left:23%;top:47%;height:24%;width:18%;border:2px solid transparent;background:transparent}.scene-hint{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);background:#210e18d9;padding:9px 18px;border:1px solid var(--gold);border-radius:30px;font:12px Arial,sans-serif;white-space:nowrap}.foyer-subbar{background:linear-gradient(95deg,#11372f,#1d121b 65%,#381923);border-block:2px solid #b47b3f;max-width:100%;padding:26px max(24px,9vw);display:flex;align-items:center;justify-content:space-between;gap:28px}.foyer-subbar h1{font-size:clamp(21px,2.2vw,38px);color:#ffe4ac;margin:6px 0 7px}.foyer-subbar p{max-width:760px;font:15px/1.6 Arial,sans-serif;margin:0}.smallcaps,.eyebrow{font:700 10px/1.5 Arial,sans-serif;letter-spacing:.2em;color:var(--gold)}.foyer-ctas{display:flex;gap:10px;flex-shrink:0}.gold,.outline{padding:13px 19px;border-radius:8px;border:1px solid var(--gold);font:600 13px Arial,sans-serif}.gold{background:linear-gradient(135deg,#f4d590,#bb792f);color:#231008}.outline{background:#23101bc2;color:#f9d996}.gold:hover,.outline:hover{filter:brightness(1.2)}.poster-section,.booking-section,.lookup-section{max-width:1270px;margin:0 auto;padding:80px 26px}.poster-section h2,.booking-section h2,.lookup-section h2{font-size:clamp(30px,3vw,48px);margin:9px 0 10px;color:#ffebc0;text-align:center}.poster-section>.eyebrow,.poster-section>.section-sub,.poster-section>.notice{text-align:center}.section-sub{font:15px/1.6 Arial,sans-serif;color:#cbbec0}.poster-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}.poster-wall .gallery-featured{display:none}.poster-button{border:8px ridge #bd8b35;border-radius:5px;background:linear-gradient(#6e4a22,#210e18);padding:0;color:#fff;box-shadow:0 12px 26px #0008, inset 0 0 0 2px #e1b268;position:relative;overflow:hidden;min-width:0;text-align:left;transition:transform .2s,box-shadow .2s}.poster-button:hover{transform:translateY(-5px) scale(1.015);box-shadow:0 18px 28px #000a,0 0 17px #d6a64c}.poster-button img{display:block;width:100%;aspect-ratio:744/418;object-fit:cover}.poster-meta{display:flex;align-items:center;gap:12px;padding:15px 16px;background:#1e1019}.poster-index{font:12px Arial,sans-serif;color:var(--gold)}.poster-name{font-size:20px;flex:1}.poster-open{color:var(--gold);font-size:21px}.notice{font:12px/1.6 Arial,sans-serif;color:#baadb0;margin:24px 0}.booking-section{border-top:1px solid #6c4b35}.booking-heading h2{text-align:left}.booking-heading p{font:14px Arial,sans-serif;color:#d0bdb5}.booking-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:25px}.booking-card,.ticket-preview{padding:30px;border:2px solid #bb8d4e;background:#f4ead7;color:#302018;border-radius:10px;box-shadow:0 10px 34px #0006}.booking-card label{display:block;font:600 13px Arial,sans-serif;margin-bottom:17px}.booking-card label span,.lookup-section label span{display:block;margin-bottom:8px}.booking-card input,.booking-card textarea,.booking-card select,.lookup-section input{background:#fff;color:#231019;border:1px solid #ad977c;border-radius:5px;width:100%;padding:12px}.fields-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-card .gold{display:block}.fine-print{font:11px Arial,sans-serif;opacity:.75;margin-top:15px}.status-text{font:13px/1.5 Arial,sans-serif;min-height:20px}.ticket-preview{text-align:center;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle,#3e1832,#190d14);border-color:#d4a052;color:#ffebbd}.ticket-ornament{font-size:45px;color:#e8bf68}.ticket-head{font:10px Arial,sans-serif;letter-spacing:.2em}.ticket-preview h3{font-size:29px}.ticket-preview p{font:13px/1.6 Arial,sans-serif;color:#e6d4c7}.ticket-preview output{font-size:clamp(26px,3.5vw,43px);overflow-wrap:anywhere;border:2px dashed var(--gold);padding:16px;margin-top:15px}.lookup-section{border-top:1px solid #68503e;display:grid;grid-template-columns:1fr 1.6fr;gap:30px}.lookup-section h2{text-align:left}.lookup-section p{font:13px/1.5 Arial,sans-serif;color:#c9b9b1}.lookup-section form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.lookup-section label{flex:1;min-width:130px;font:12px Arial,sans-serif}.lookup-section input{background:#281720;border-color:#76543e;color:#fff}.lookup-section .status-text{width:100%}footer{border-top:2px solid #65452e;padding:24px 7vw;display:flex;justify-content:space-between;gap:20px;font:12px Arial,sans-serif;color:#ddc8ad}footer strong{color:#f5d29c}.curtain-dialog{position:fixed;inset:0;margin:auto;width:min(1020px,calc(100vw - 22px));max-height:calc(100vh - 35px);padding:0;overflow-y:auto;border:4px ridge #bc8b3e;border-radius:13px;background:#190e17;color:#f9eacf;box-shadow:0 0 70px #000}.curtain-dialog::backdrop{background:#040305d9;backdrop-filter:blur(6px)}.curtain-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid #886139}.dialog-close{border:1px solid #c19345;border-radius:50%;width:40px;height:40px;background:#391821;color:#f8dfac;font-size:28px}.curtain-art{height:260px;position:relative;overflow:hidden;background:radial-gradient(ellipse,#432334,#160a0d)}.curtain{position:absolute;top:0;bottom:0;width:30%;background:repeating-linear-gradient(90deg,#470a1e 0,#a42039 8%,#330a1b 15%,#671a2d 22%);z-index:2;box-shadow:inset 0 0 25px #000;transition:transform .8s}.curtain-left{left:0}.curtain-right{right:0}.curtain-dialog[open] .curtain-left{transform:translateX(-80%)}.curtain-dialog[open] .curtain-right{transform:translateX(80%)}.curtain-core{display:grid;grid-template-columns:42% 1fr;height:100%;align-items:center;gap:25px;padding:15px 75px}.curtain-core img{max-width:100%;height:210px;object-fit:cover;border:5px ridge #d5a44b}.curtain-core h2{font-size:32px;margin:9px 0}.curtain-core p{font:14px/1.5 Arial,sans-serif}.curtain-dialog>#scene-choose{padding:10px 23px;margin:0}.scene-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:12px 23px}.scene-service{border:1px solid #a27b45;background:linear-gradient(145deg,#30202a,#1a1017);padding:20px;border-radius:7px}.scene-service h3{font-size:21px;margin-bottom:8px}.scene-service p{font:13px/1.5 Arial,sans-serif;color:#d3c2b7}.scene-service button{background:#d2a956;color:#201015;border:0;padding:9px 13px;border-radius:6px;font:700 12px Arial,sans-serif}.curtain-dialog>.notice{margin:5px 24px 20px}@media(max-width:980px){.theatre-name{display:none}.topbar{flex-wrap:wrap;justify-content:space-between}.topbar nav{order:3;width:100%;justify-content:space-around}.foyer-subbar{flex-direction:column;align-items:start;padding:22px 6vw}.poster-wall{gap:14px}.poster-name{font-size:15px}.poster-button{border-width:5px}.booking-grid{grid-template-columns:1fr}}@media(max-width:630px){.topbar{min-height:64px;gap:8px;padding:8px 12px}.brand strong{font-size:17px}.brand small{font-size:8px}.brand{min-width:0}.bird{font-size:32px}.lang-label select{max-width:112px}.topbar nav{gap:3px}.topbar nav button{font-size:11px;padding:8px 3px}.foyer-art{overflow:hidden}.foyer-image{width:100%;height:auto;max-width:100%;display:block}.frame-hotspots{display:none}.poster-wall .gallery-featured{display:block}.scene-door,.scene-desk{display:none}.scene-hint{position:static;display:block;transform:none;text-align:center;border:0;border-radius:0;white-space:normal;padding:9px 12px;font-size:11px}.foyer-subbar h1{font-size:24px}.foyer-ctas{flex-wrap:wrap}.poster-section,.booking-section,.lookup-section{padding:45px 14px}.poster-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.poster-meta{padding:10px 8px}.poster-name{font-size:14px}.poster-index{font-size:10px}.poster-open{font-size:14px}.fields-two,.lookup-section{grid-template-columns:1fr}.booking-card,.ticket-preview{padding:20px}.lookup-section form{align-items:stretch}.curtain-art{height:auto}.curtain-core{grid-template-columns:1fr;padding:15px 20px 15px 45px;gap:5px}.curtain-core img{max-height:130px;width:100%}.curtain-core h2{font-size:23px}.curtain{width:20%}.scene-services{grid-template-columns:1fr}.curtain-dialog{max-height:calc(100vh - 15px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:400px){.poster-wall{grid-template-columns:1fr 1fr}.foyer-subbar{padding:18px 14px}.foyer-ctas .gold,.foyer-ctas .outline{width:100%}}
html,body{overflow-x:hidden}.foyer-image{max-width:100%;height:auto}.foyer-ctas button{max-width:100%}


/* KAMERTON readability patch V2.1.1, 2026-11-14. Typography only; no artwork/API changes. */
html{font-size:17px}
.brand small{font-size:13px}
.brand strong{font-size:23px}
.theatre-name{font-size:clamp(17px,1.6vw,25px)}
.topbar nav button,.lang-label select{font-size:15px;min-height:42px}
.foyer-subbar p,.section-sub{font-size:17px;line-height:1.55}
.smallcaps,.eyebrow{font-size:13px;letter-spacing:.13em}
.foyer-subbar h1{font-size:clamp(27px,2.35vw,42px)}
.gold,.outline{font-size:16px;min-height:45px;padding:12px 19px}
.scene-hint{font-size:15px}
.featured-mark{font-size:clamp(10px,.93vw,15px)}
.poster-index{font-size:14px}
.poster-name{font-size:clamp(20px,1.65vw,26px)}
.poster-open{font-size:24px}
.notice,.booking-heading p,.booking-card label,.status-text,.ticket-preview p,.lookup-section p,.lookup-section label,.fine-print,.curtain-core p,.scene-service p,.curtain-dialog>.notice{font-size:16px;line-height:1.55}
.booking-card input,.booking-card textarea,.booking-card select,.lookup-section input{font-size:17px;min-height:44px}
.ticket-head{font-size:14px}
.ticket-preview h3{font-size:32px}
footer{font-size:15px}
.curtain-core h2{font-size:36px}
.scene-service h3{font-size:24px}
.scene-service button{font-size:16px;min-height:42px}
@media(max-width:980px){.poster-name{font-size:19px}.topbar nav button{font-size:15px}}
@media(max-width:630px){
 .brand small{font-size:11px}.brand strong{font-size:19px}
 .topbar nav button{font-size:14px;min-height:44px;padding:7px 5px}
 .lang-label select{font-size:14px;max-width:144px}
 .foyer-subbar h1{font-size:29px}
 .foyer-subbar p,.section-sub{font-size:16px}
 .scene-hint{font-size:14px}
 .poster-name{font-size:17px;line-height:1.35}
 .poster-index{font-size:12px}.poster-open{font-size:19px}
 .smallcaps,.eyebrow{font-size:12px}
 .gold,.outline{font-size:16px}
 .poster-meta{padding:12px 10px}
 .booking-card label,.status-text,.ticket-preview p,.lookup-section p,.lookup-section label,.notice,.fine-print{font-size:15px}
 .curtain-core h2{font-size:27px}
 .scene-service h3{font-size:22px}
}
