
    @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
    :root{--ink:#0e0e0d;--panel:#191919;--line:#45423c;--cream:#f0eee8;--muted:#a9a69f;--gold:#d7b77a;scroll-behavior:smooth}
    *{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.serif{font-family:'Playfair Display',Georgia,serif;font-weight:400}.wrap{width:min(100% - 64px,1320px);margin:auto}.eyebrow{font-size:.76rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 23px;background:var(--gold);color:#15130f;font-weight:700;font-size:.87rem;letter-spacing:.02em;transition:background .2s,transform .2s}.btn:hover{background:#ebce96;transform:translateY(-2px)}.textlink{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:5px;font-weight:600;font-size:.88rem}.textlink:hover{color:var(--gold)}
    header{position:absolute;z-index:5;top:0;width:100%;border-bottom:1px solid #ffffff31}.headerinner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-size:1.35rem;letter-spacing:.18em;font-weight:700;white-space:nowrap}.nav{display:flex;gap:29px;align-items:center}.nav a{font-size:.83rem;font-weight:600}.nav a:hover{color:var(--gold)}.headeractions{display:flex;align-items:center;gap:20px}.lang{border:0;background:none;color:var(--muted);cursor:pointer;font-size:.82rem;padding:8px 0}.lang[aria-pressed=true]{color:var(--cream);border-bottom:1px solid var(--gold)}.headercta{font-size:.77rem;padding:10px 15px;border:1px solid #b6a784}.headercta:hover{background:var(--gold);color:var(--ink)}
    .hero{position:relative;min-height:760px;height:92vh;max-height:980px;display:flex;align-items:center;background:#0e0d0b url('assets/stage.png') center center/cover no-repeat;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b0b0b 0%,#0b0b0be8 26%,#0b0b0b40 68%,#0b0b0b35 100%),linear-gradient(0deg,#0e0e0d 0%,transparent 30%)}.herocontent{padding-top:100px}.hero .eyebrow{margin:0 0 28px}.hero h1{font-size:clamp(4rem,7.4vw,8.1rem);line-height:.97;letter-spacing:-.055em;margin:0;max-width:900px}.hero h1 em{font-weight:400;color:var(--gold)}.hero p{max-width:530px;font-size:1.13rem;color:#dedbd4;line-height:1.7;margin:34px 0}.heroactions{display:flex;align-items:center;gap:30px}.herobottom{position:absolute;bottom:35px;left:0;right:0;color:#c0bbb1;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;display:flex;justify-content:space-between}.herobottom span:last-child{color:var(--gold)}
    section{scroll-margin-top:30px}.intro{padding:110px 0;border-bottom:1px solid var(--line)}.introgrid{display:grid;grid-template-columns:1fr 1fr;gap:11vw;align-items:start}.intro h2,.sectionhead h2,.about h2,.contact h2{font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.13;letter-spacing:-.035em;margin:20px 0}.intro h2 em,.sectionhead h2 em,.about h2 em,.contact h2 em{color:var(--gold)}.introcopy{font-size:1.14rem;color:#c7c3bb;padding-top:50px}.introcopy p{margin-top:0}.micro{display:flex;gap:30px;margin-top:35px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
    .formats{padding:112px 0 120px;border-bottom:1px solid var(--line)}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.sectionhead h2{margin-bottom:0;max-width:740px}.sectionhead p{color:var(--muted);max-width:330px}.formatgrid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.format{grid-column:span 2;position:relative;min-height:320px;padding:32px 29px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}.format:nth-child(n+4){grid-column:span 3}.format:hover{background:#20201d}.format .num{color:var(--gold);font-size:.77rem;letter-spacing:.1em}.format h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:2rem;line-height:1.15;margin:55px 0 15px}.format p{color:#aaa69f;font-size:.9rem;margin:0}.format .foot{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gold)}
    .theatre{background:#ded8ca;color:#191816;padding:110px 0}.theatre .eyebrow{color:#766140}.theatregrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}.theatre h2{font-size:clamp(4rem,7.2vw,7.5rem);line-height:1;margin:15px 0 24px;letter-spacing:-.055em}.theatre h2 em{color:#92764c}.theatre p{max-width:450px;color:#59534a;font-size:1.06rem}.theatre .textlink{border-color:#937445;margin-top:20px}.dates{border-top:1px solid #9b968c}.date{display:grid;grid-template-columns:95px 1fr auto;gap:20px;align-items:center;border-bottom:1px solid #9b968c;padding:24px 0}.date strong{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:2.25rem;line-height:1}.date strong small{display:block;font:700 .72rem 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#89744f}.date .place{font-weight:700}.date .venue{display:block;font-size:.85rem;color:#6d675d;font-weight:400}.date a{font-size:.77rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #907147;padding-bottom:4px}
    .about{padding:118px 0;border-bottom:1px solid var(--line)}.aboutgrid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about h2{margin:0 0 30px;font-size:clamp(2.6rem,4.2vw,4.8rem)}.aboutcopy{color:#bdb9b0;font-size:1.08rem}.aboutcopy p{margin:0}
    .contact{padding:120px 0;background:#171716}.contactgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}.contact h2{max-width:750px}.contact p{color:#b5b1a9;max-width:570px}.contactbox{border-top:1px solid var(--line);padding-top:28px;align-self:end}.contactbox a{font-size:clamp(1.1rem,2vw,1.7rem);word-break:break-word;font-family:'Playfair Display',Georgia,serif;border-bottom:1px solid var(--gold)}.contactbox p{font-size:.87rem}.contactbox .eyebrow{margin-bottom:18px}.contactbox a:hover{color:var(--gold)}footer{background:#171716;border-top:1px solid var(--line);padding:30px 0;color:#aaa59b;font-size:.78rem}.footerinner{display:flex;justify-content:space-between;gap:20px}footer .brand{color:var(--cream);font-size:1rem}
    @media(max-width:1050px){.nav{gap:14px}.nav a{font-size:.76rem}.formatgrid{grid-template-columns:repeat(2,1fr)}.format,.format:nth-child(n+4){grid-column:span 1;min-height:300px}.format:last-child{grid-column:span 2}.format h3{margin-top:40px}}
    @media(max-width:720px){.wrap{width:min(100% - 36px,1320px)}.headerinner{min-height:70px;flex-wrap:wrap;padding:13px 0;gap:10px}.brand{font-size:1.05rem}.nav{order:3;overflow-x:auto;width:100%;gap:22px;padding:4px 0 1px;white-space:nowrap}.headercta{display:none}.headeractions{gap:12px}.hero h1{font-size:clamp(3.5rem,13vw,5.5rem)}.hero p{font-size:1rem;max-width:430px}.heroactions{align-items:flex-start;gap:20px;flex-direction:column}.herobottom{font-size:.65rem}.intro,.formats,.about,.contact{padding:75px 0}.introgrid,.theatregrid,.aboutgrid,.contactgrid{grid-template-columns:1fr;gap:25px}.introcopy,.aboutcopy{padding-top:0}.intro h2,.sectionhead h2,.about h2,.contact h2{font-size:clamp(2.75rem,10vw,4.4rem)}.micro{flex-wrap:wrap;gap:14px}.sectionhead{display:block}.sectionhead p{margin-top:20px}.formatgrid{grid-template-columns:1fr}.format,.format:nth-child(n+4),.format:last-child{grid-column:span 1;min-height:265px}.format h3{margin:35px 0 12px}.theatre{padding:75px 0}.theatre h2{font-size:4.5rem}.date{grid-template-columns:67px 1fr auto;gap:12px}.date strong{font-size:1.8rem}.date .place{font-size:.9rem}.date a{font-size:.69rem}.footerinner{flex-wrap:wrap}}
    @media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.btn,.format{transition:none}}

    /* Real performances after the atmospheric opening */
    .livephoto{margin:45px 0 0;aspect-ratio:2.45;overflow:hidden;background:#111}.livephoto img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}
    .theatrephoto{margin:0;aspect-ratio:.86;max-height:710px;overflow:hidden;background:#0c1118}.theatrephoto img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.theatre .dates{margin-top:48px}
    .aboutphoto{margin:0;background:#080808}.aboutphoto img{display:block;width:100%;aspect-ratio:1.3;object-fit:cover;object-position:center 42%}.aboutphoto figcaption{font-size:.72rem;color:var(--muted);padding-top:8px}
    @media(max-width:720px){.livephoto{aspect-ratio:1.2}.theatrephoto{aspect-ratio:.9;max-height:530px}.theatre .dates{margin-top:35px}}
    /* Reserve the footer line's space even when the hero copy wraps or text is enlarged. */
    .hero{height:auto;max-height:none;min-height:max(760px,92vh);padding:125px 0 115px}
    .herocontent{padding-top:0}
    @media(max-width:720px){.hero{display:block;min-height:0;padding:0 0 42px;background:var(--ink)}.hero:before{z-index:0;inset:0 0 auto;height:clamp(310px,82vw,440px);background:linear-gradient(0deg,var(--ink),transparent 32%),url('assets/stage.png') 74% center/cover no-repeat}.herocontent{position:relative;z-index:1;padding-top:calc(clamp(310px,82vw,440px) + 18px)}.hero h1{font-size:clamp(3rem,12vw,4.8rem)}.hero p{margin:25px 0 28px}.herobottom{position:static;margin-top:55px;gap:20px}.herobottom span:last-child{display:none}}
  
header{position:relative;background:var(--ink)}.detail{padding:65px 0 95px}.back{color:var(--muted);font-size:16px;border-bottom:1px solid var(--line);padding-bottom:5px}.detailhero{display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:center;margin-top:65px}.detail h1{font-size:clamp(3rem,6vw,6.5rem);line-height:1.06;letter-spacing:-.045em;margin:20px 0 25px}.detail .subtitle{font-size:1.25rem;line-height:1.5;max-width:650px;color:var(--gold)}.detail p{font-size:1.08rem;line-height:1.8;color:#c7c3bb}.detailfigure{margin:0}.detailfigure img{width:100%;height:auto;display:block}.detailfigure.compact{max-width:440px;justify-self:end}.detailfigure.compact img{max-height:520px;object-fit:contain}.detailmeta{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:16px;color:var(--gold)}.detailbody{display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;margin-top:48px}.detailbody h2{font-size:2.6rem;line-height:1.15;margin:0 0 22px}.detailbody p:first-child{margin-top:0}.aside{border-left:1px solid var(--line);padding-left:35px}.aside h2{font-size:1.6rem}.aside ul{padding-left:20px;color:#c7c3bb;line-height:1.8}.aside li{margin-bottom:14px}.detailcta{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:45px}.history{margin-top:85px;border-top:1px solid var(--line);padding-top:50px}.history h2{font-size:clamp(2.5rem,4vw,4rem);line-height:1.15;margin:0 0 35px}.production{display:grid;grid-template-columns:220px 1fr;gap:55px;padding:40px 0;border-top:1px solid var(--line)}.production img{display:block;width:100%;max-height:330px;object-fit:contain;object-position:top;background:#171716}.production h3{font-size:2.25rem;margin:8px 0 20px;line-height:1.15}.production p{max-width:750px}.source{color:var(--muted);font-size:16px;border-bottom:1px solid var(--line)}.development{border-top:1px solid var(--line);padding-top:28px;margin-top:15px;color:var(--muted)}.production .year{color:var(--gold);letter-spacing:.08em;font-size:16px}.format p,.format .foot{font-size:16px}.format .foot{text-transform:none;letter-spacing:0;gap:15px}.format:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.detailfooter{padding:35px 0;border-top:1px solid var(--line)}
@media(max-width:720px){.detail{padding:35px 0 65px}.detailhero,.detailbody{grid-template-columns:1fr;gap:30px;margin-top:40px}.detailfigure{order:2}.detailfigure.compact{justify-self:start;max-width:360px}.detail h1{font-size:clamp(2.75rem,11vw,4.5rem)}.aside{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.production{grid-template-columns:1fr;gap:25px;padding:35px 0}.production img{width:min(100%,260px);max-height:360px}.production h3{font-size:2rem}.history{margin-top:60px}.detailmeta{margin-top:25px}}
