@import 'https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap';:root{--paper:#f3ebdd;--paper-light:#fffaf0;--ink:#25211e;--red:#9b2929;--gold:#d5a84b;--green:#526b59;--muted:#6f6257;--line:#5d4a3930;--shadow:0 16px 38px #32251a25;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{display:flex;min-height:100vh;flex-direction:column;margin:0;color:var(--ink);font-family:dm sans,sans-serif;font-size:16px;line-height:1.55;background-color:var(--paper);background-image:radial-gradient(#3d332a14 .7px,transparent .8px);background-size:8px 8px}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{width:min(var(--max),calc(100% - 56px));margin:0 auto}.eyebrow{margin:0;color:var(--red);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.display-title,main h1{margin:16px 0 24px;font-family:libre caslon display,serif;font-size:clamp(3.5rem,7vw,6.6rem);font-weight:400;line-height:.9}.button,.cta{display:inline-flex;align-items:center;gap:.65rem;padding:1rem 1.4rem;background:var(--ink);color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.button:hover,.cta:hover{color:#fff;background:var(--red)}header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:#f3ebdde8;backdrop-filter:blur(12px)}.nav{display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;flex:initial;gap:13px;align-items:center}.brand:hover{color:var(--ink)}.mark{display:grid;width:78px;height:78px;flex:none;overflow:hidden;border-radius:50%;place-items:center}.mark img{width:100%;height:100%;object-fit:contain}.brand b{display:block;font-family:libre caslon display,serif;font-size:19px;letter-spacing:.02em}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.links{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.links a{padding:9px 0;border-bottom:2px solid transparent}.links a:hover{border-color:var(--red)}.links .reserve{padding:13px 19px;border:0;background:var(--red);box-shadow:3px 3px 0 var(--gold);color:#fff;transform:rotate(-1deg)}.links .reserve:hover{border:0;color:#fff;background:#7d2020}main{flex:1 0 auto;min-height:60vh}footer{margin-top:auto}.breadcrumb{padding:35px 0 10px;color:var(--muted);font-size:14px}.breadcrumb a{font-weight:700}.breadcrumb span{margin:0 8px;opacity:.55}.hero{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:80px;min-height:700px;padding:70px 0 90px}.poster-wrap{position:relative;max-width:520px}.tape{position:absolute;z-index:3;top:-14px;left:50%;width:122px;height:33px;background:#d8c598cc;box-shadow:0 1px 2px #0002;transform:translateX(-50%)rotate(-3deg)}.poster{position:relative;padding:16px;background:#291817;box-shadow:var(--shadow);transform:rotate(-1.6deg)}.poster img{width:100%;height:auto;filter:saturate(.88)contrast(1.03)}.poster-cap{position:absolute;right:36px;bottom:34px;left:36px;padding:21px 25px;background:#f7eeddec;text-align:center}.poster-cap small{font-weight:700;letter-spacing:.24em;text-transform:uppercase}.poster-cap h2{margin:8px 0 4px;color:var(--red);font-family:libre caslon display,serif;font-size:clamp(2rem,4vw,2.5rem);font-weight:400;line-height:1}.hero h1{font-size:clamp(3.6rem,6vw,5.75rem)}.intro{max-width:560px;color:#5f554d;font-size:19px}.hero-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:34px 0}.hero-dates div{border-left:3px solid var(--gold);padding-left:13px}.hero-dates strong,.hero-dates span{display:block}.hero-dates strong{font-size:17px}.hero-dates span{color:#6b5d52;font-size:13px}.note{display:inline-block;margin-left:28px;color:var(--red);font-family:Caveat,cursive;font-size:28px;transform:rotate(-3deg)}.performances{padding:72px 0;background:var(--red);color:#fff;clip-path:polygon(0 3%,18% 0,39% 2%,63% 0,84% 2%,100% 0,100% 96%,78% 100%,55% 97%,31% 100%,0 97%)}.performances .eyebrow{color:#ffe09c}.performances h1{margin-bottom:0;font-size:clamp(3rem,5vw,4.3rem)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:32px}.performance-intro{margin:0;text-align:right;opacity:.9}.show-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #fff5}.show{padding:28px 30px;border-right:1px solid #fff5}.show:first-child{padding-left:0}.show:last-child{border-right:0}.show time{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}.day{font-family:libre caslon display,serif;font-size:45px;line-height:1}.show strong,.show small,.show .available,.show .sold-out{display:block}.show small{opacity:.75}.available,.sold-out{margin-top:7px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.available{color:#ffe09c}.available::before,.sold-out::before{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;content:""}.available::before{background:#b6de8b}.sold-out::before{background:#ffd1c2}.performance-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:34px}.performance-footer p{margin:0;opacity:.85}.light-button{background:#fff;color:var(--ink)}.light-button:hover{background:#ffe09c;color:var(--ink)}.credits,.archive{padding:90px 0}.credits>h2,.archive>h1,.archive>h2{margin:10px 0 38px;font-family:libre caslon display,serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:400;line-height:1}.credit-group+.credit-group{margin-top:42px}.credit-group>h2,.credit-group>h3,.archive-play h3{margin:0 0 18px;font-size:15px;letter-spacing:.1em;text-transform:uppercase}.ensemble-page h1{margin-bottom:14px}.ensemble-intro{max-width:560px;margin-bottom:38px;color:var(--muted);font-size:18px}.person-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.person-credit{display:flex;min-width:0;flex-direction:column;padding:12px 12px 22px;border:1px solid #e7dfd3;background:#291817;color:#fffaf0;box-shadow:0 12px 24px #32251a1c}.person-credit img,.person-placeholder{width:100%;aspect-ratio:4/5;flex:none;object-fit:cover}.person-placeholder{background:var(--gold)}.person-credit>div{padding:14px 4px 0}.person-credit h3{margin:0;font-size:17px}.person-credit p{margin:2px 0 0;color:#e8cdbd;font-size:14px}.person-credit .role-description{font-size:12px}.archive{border-top:1px solid var(--line)}.archive-preview{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:center}.archive-preview .archive-list{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-footer{text-align:center}.archive-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.archive-play{overflow:hidden;background:var(--paper-light);box-shadow:var(--shadow)}.archive-play img{width:100%;aspect-ratio:4/5;object-fit:cover}.archive-play-caption{padding:18px}.archive-play-caption p{margin:0;color:var(--red);font-size:13px;font-weight:700;letter-spacing:.12em}.archive-play h3{margin:4px 0 0;font-family:libre caslon display,serif;font-size:28px;font-weight:400;line-height:1.1}footer{padding:54px 0;background:var(--ink);color:#f8eedf}.foot{display:flex;align-items:end;justify-content:space-between;gap:2rem}.foot h2{margin:0 0 7px;font-family:libre caslon display,serif;font-size:29px;font-weight:400}.foot p{margin:0;opacity:.7}.social{display:flex;gap:22px;font-weight:600}.social a:hover{color:#ffe4a3}@media(max-width:900px){.wrap{width:min(var(--max),calc(100% - 34px))}.links{gap:18px}.links a:not(.reserve){display:none}.hero{grid-template-columns:1fr;gap:55px;padding-top:45px}.poster-wrap{margin:auto}.performances{clip-path:none}.section-head,.performance-footer{align-items:start;flex-direction:column}.performance-intro{text-align:left}.show-list{grid-template-columns:repeat(2,1fr)}.person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-list{grid-template-columns:repeat(2,minmax(0,1fr))}.show{padding-left:0;border-bottom:1px solid #fff5}.show:nth-child(2n){border-right:0}}@media(max-width:560px){.nav{min-height:72px}.brand small{display:none}.links .reserve{padding:11px 14px;font-size:12px}.hero{min-height:0}.poster-cap{right:20px;bottom:20px;left:20px;padding:16px}.hero-dates{grid-template-columns:1fr;gap:14px}.note{display:block;margin:22px 0 0}.show-list,.person-grid,.archive-list,.archive-preview,.archive-preview .archive-list{grid-template-columns:1fr}.show,.show:nth-child(2n){border-right:0}.show:last-child{border-bottom:0}.foot{align-items:start;flex-direction:column}}