:root{--green:#0b3d0b;--gold:#d4af37;--paper:#f3efe9;--ink:#1d2a20;--muted:#596453;--line:#cbcbbb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Arial,sans-serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a46813;outline-offset:6px}.wrap{width:min(1200px,90%);margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-bottom:1px solid var(--line);gap:25px}.brand{text-decoration:none;font:30px Georgia,serif;color:var(--green);white-space:nowrap}.brand span{font-style:italic}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:2px;margin-top:9px}nav{display:flex;gap:30px;align-items:center;font-size:14px}nav a{text-decoration:none}nav a:hover,.text-link:hover{color:#987914}.nav-cta{border:1px solid var(--green);padding:10px 17px}.hero{display:grid;grid-template-columns:1.25fr 0.8fr;gap:8%;align-items:center;padding-top:65px;padding-bottom:65px}.eyebrow{font-size:11px;letter-spacing:2.1px;font-weight:bold;margin:0 0 16px}.subtitle{font-size:15px;color:var(--muted);margin-top:-8px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;margin:0 0 24px}h1{font-size:clamp(54px,6.2vw,86px);letter-spacing:-3px;color:var(--green);margin-top:32px}h1 em{font-weight:400;color:#90751c}h2{font-size:clamp(36px,4vw,55px);letter-spacing:-1.5px}h3{font-size:38px}.tagline{font-size:23px;line-height:1.4}.hero-desc{max-width:490px;font-size:17px;color:var(--muted)}.actions{display:flex;align-items:center;gap:26px;margin-top:30px}.button{display:inline-flex;gap:32px;align-items:center;justify-content:center;background:var(--green);color:white;padding:16px 24px;text-decoration:none;border:1px solid var(--green);font:15px Arial,sans-serif;min-height:54px}.button:hover:not(:disabled){background:#17551c}.text-link{font-size:14px;text-decoration:none;border-bottom:1px solid;padding:5px 0}.micro{font-size:10px;letter-spacing:1px;margin-top:18px}.poster{margin:0;max-width:410px;justify-self:end}.poster img{width:100%;display:block;border:7px solid #161c15;box-shadow:16px 16px 0 #e6dfcf}.poster figcaption{font-size:9px;letter-spacing:1px;text-align:center;margin-top:27px}.event-bar{background:var(--green);color:var(--paper);padding:26px 0}.event-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.event-grid small{display:block;font-size:10px;letter-spacing:1.6px;color:#d9ca92;margin-bottom:6px}.event-grid strong{font-weight:400;font-size:17px}.intro{padding-top:100px;padding-bottom:80px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:38px}.intro-grid p{margin-top:0}.questions{border-left:2px solid var(--gold);padding-left:28px;font:24px/1.5 Georgia,serif}.questions p{margin:0 0 12px}.section-heading{padding:25px 0 30px;border-top:1px solid var(--line)}.story{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:50px 0 65px;border-bottom:1px solid var(--line)}.story figure{margin:0}.story img{display:block;width:100%;max-height:650px;object-fit:contain;background:#162018;border:5px solid #161c15}.story.reverse figure{order:2}.story p{font-size:17px}.story .eyebrow{font-size:10px}.story .eyebrow span{display:inline-block;margin-left:16px;color:var(--muted)}.story .lead{font-size:20px;font-family:Georgia,serif}.story blockquote{border-left:2px solid var(--gold);padding-left:20px;margin:25px 0 0;font:21px/1.5 Georgia,serif;color:var(--green)}.photo-note{font-size:12px;color:var(--muted);margin:18px 0 65px}.forum{padding:75px 0;background:#e5e8dc}.forum-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.forum h3{font-size:26px}.forum p:not(.eyebrow){font-size:17px}.forum-names{font-weight:bold}.collective{padding-top:90px;padding-bottom:80px}.collective-intro{max-width:650px}.group-photo{width:100%;display:block;max-height:630px;object-fit:contain;margin:40px 0 45px;background:#171d13;border:5px solid #171d13}.credits{display:grid;grid-template-columns:1.25fr 1fr;gap:10%}.cast{list-style:none;padding:0;margin:0;columns:2;font-size:16px}.cast li{break-inside:avoid;margin-bottom:14px}.directors{border-left:1px solid var(--line);padding-left:35px}.directors h3{font-size:29px;margin-bottom:14px}.directors p{font-size:16px;margin:0 0 12px}.directors .credentials{font-size:13px;color:var(--muted);margin-bottom:32px}.registration{background:var(--green);color:var(--paper);padding:80px 0}.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.registration .eyebrow{color:#ded09c}.free{font-family:Georgia,serif;font-size:27px;color:#e7cc75}.reservation-panel{border:1px solid #809770;padding:35px}.reservation-panel h3{font-size:32px;margin:18px 0}.reservation-panel p{font-size:16px}.reservation-panel .micro{font-size:11px}.status{font-size:10px;letter-spacing:2px;color:#e7cc75}.button:disabled{cursor:not-allowed;opacity:.75}.inactive{background:#e2e6d8;color:var(--green);width:100%;line-height:1.4}.donation{text-align:center;padding-top:90px;padding-bottom:85px}.donation>p:not(.eyebrow){max-width:650px;margin-left:auto;margin-right:auto}.donation .outline{color:var(--green);background:transparent;min-width:250px;margin-top:20px}.donation .donation-note{font-size:13px}.faq{padding:40px 0 60px;border-top:1px solid var(--line)}.faq h2{font-size:36px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:18px}details p{max-width:780px;font-size:16px;color:var(--muted)}.closing{text-align:center;padding:20px 0 80px}.closing p{font:italic 30px/1.4 Georgia,serif;color:var(--green)}footer{background:#e6e3d9;padding:40px 0 20px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:25px}.footer-top p{font-size:13px}.footer-bottom{font-size:11px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}@media(max-width:800px){header{align-items:flex-start}nav{gap:16px;flex-wrap:wrap;justify-content:flex-end}nav>a:not(.nav-cta){display:none}.brand{font-size:25px}.brand small{font-size:7px}.nav-cta{font-size:12px;padding:8px}.hero{gap:6%;padding:40px 0 50px}h1{font-size:55px}.hero .eyebrow{font-size:9px}.actions{flex-wrap:wrap;gap:15px}.event-grid{grid-template-columns:1fr;gap:18px}.intro{padding-top:60px}.intro-grid,.forum-grid,.credits,.registration-grid{gap:30px}.cast{columns:1}.story{gap:6%}.story h3{font-size:32px}.story .eyebrow span{margin-left:0;display:block;margin-top:6px}.reservation-panel{padding:23px}}@media(max-width:580px){body{font-size:17px}.hero,.intro-grid,.story,.forum-grid,.credits,.registration-grid{grid-template-columns:1fr}.hero{gap:40px}.hero-copy{padding-top:10px}h1{font-size:60px}.poster{width:90%;justify-self:center}.hero-desc{font-size:17px}.hero .micro{font-size:9px}.intro{padding-bottom:45px}.story{padding:30px 0 40px;gap:28px}.story.reverse figure{order:0}.story img{max-height:470px}.forum,.registration{padding:50px 0}.collective{padding:60px 0}.directors{border-left:none;border-top:1px solid var(--line);padding:25px 0 0}.cast{columns:1}.donation{padding:60px 0}.footer-top,.footer-bottom{flex-direction:column}.closing p{font-size:26px}.group-photo{margin:28px 0}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.with-logo{display:flex;align-items:center;gap:12px}.brand .brand-type{font-style:normal}.brand-logo{width:62px;height:62px;object-fit:contain}.section-logo{display:block;width:88px;height:88px;object-fit:contain;margin-bottom:24px}.donation .section-logo{margin:0 auto 24px}.directions{display:inline-flex;align-items:center;gap:9px;font-size:14px;margin-top:10px;text-underline-offset:5px}.venue-address{font-size:15px;margin-bottom:0}.registration .directions{color:#e7cc75}@media(max-width:580px){.brand-logo{width:43px;height:43px}.with-logo{gap:7px}header .brand{font-size:21px}header .brand small{letter-spacing:1px;font-size:6px}header{gap:10px}header .nav-cta{padding:8px;font-size:10px}}

/* Prominent, consistent reservation links on light and dark backgrounds. */
.reserve-button,.button.reserve-button{background:#d4af37;color:#102d10;border:2px solid #d4af37;font-weight:800;font-size:17px;line-height:1.4;box-shadow:0 4px 0 rgba(0,0,0,.16);text-decoration:none;padding:17px 24px;display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:58px}
.reserve-button:hover,.button.reserve-button:hover:not(:disabled){background:#edcd60;border-color:#edcd60;color:#102d10}
.reserve-button:focus-visible{outline:3px solid #ffffff;outline-offset:3px;box-shadow:0 0 0 7px #173d18}
header .nav-cta.reserve-button{font-size:14px;min-height:46px;padding:11px 16px}
#registration-slot .reserve-button{width:100%}
.reserve-repeat{text-align:center;padding:30px 0 55px}.reserve-repeat p{font:28px/1.3 Georgia,serif;margin:0 0 24px}.reserve-repeat small{display:block;font-size:12px;margin-top:16px;color:var(--muted)}.closing .reserve-repeat{padding:0 0 25px}
@media(max-width:580px){header .nav-cta.reserve-button{font-size:12px;padding:10px;min-height:44px}.reserve-button,.button.reserve-button{font-size:16px;padding:16px 18px;width:100%}.reserve-repeat{padding:22px 0 40px}}

.piece-cast{margin:22px 0 28px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.piece-cast ul{list-style:none;margin:0;padding:0}.piece-cast li{font-size:15px;margin:12px 0;line-height:1.5}.piece-cast li span{display:block;color:var(--muted);font-size:14px}.piece-cast .eyebrow{font-size:10px}.whatsapp-booking a{color:#f1d670;font-weight:bold;text-underline-offset:4px}.donation-instructions{max-width:650px;margin:30px auto;padding:25px;background:#e6e8dc;border:1px solid #b4bb9e}.donation-instructions p{font-size:17px}.donation-instructions .suggested{font-size:23px;font-family:Georgia,serif}.donation-concept{display:inline-block;background:var(--green);color:#fff;padding:10px 24px}.donation-instructions p:last-child{font-size:15px}

.second-poster{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:8%;align-items:center;padding:20px 0 80px}.second-poster figure{margin:0}.second-poster img{width:100%;height:auto;display:block;border:6px solid #161c15}.second-poster h2{color:var(--green)}@media(max-width:650px){.second-poster{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.second-poster figure{max-width:440px;margin:auto}}

.special-credit{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.directors .special-credit .eyebrow{font-size:11px;line-height:1.6;color:var(--green)}

.presenter{color:var(--green);margin-bottom:24px}.presenter p{margin:0}.presenter-name{font:600 clamp(25px,2.7vw,38px)/1.16 Georgia,serif}.presenter-and{display:block;font:italic 19px Georgia,serif;margin:7px 0}.presenter-project{font:clamp(40px,4vw,58px)/1.05 Georgia,serif}.presenter-project span{font-style:italic}.presenter .presenter-label{font:bold 11px Arial,sans-serif;letter-spacing:3px;margin-top:16px}.hero .subtitle{font-size:17px;line-height:1.45}.hero{padding-top:40px}.stage-photo{margin-top:38px}.stage-photo img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;border:5px solid #161c15;background:#161c15}header .brand small{font-size:11px;letter-spacing:1px}header .brand{font-size:34px}@media(max-width:580px){header{flex-wrap:wrap}header .with-logo{flex:1;min-width:240px}header .brand-logo{width:60px;height:60px}header .brand{font-size:31px}header .brand small{font-size:10px;letter-spacing:.7px}header nav{width:100%;display:block}header .nav-cta.reserve-button{width:100%;font-size:14px}.hero{padding-top:26px}.presenter-name{font-size:29px}.presenter-project{font-size:45px}.hero .subtitle{font-size:17px}}

.availability{font-size:20px;font-weight:700;color:var(--green);margin:22px 0 8px}.registration .availability{color:#f1d670}.availability-note{font-size:12px!important;opacity:.9}.reserve-button.sold-out{background:#d8d7cd!important;color:#4c514b!important;border-color:#d8d7cd!important;cursor:default;box-shadow:none}.availability[data-state="unknown"]{font-size:15px}
