:root{--paper:#f5f2ec;--ink:#292821;--line:#d6d2c8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:7px}.landing{background:#080808;color:#fff}.landing-screen{height:100vh;height:100svh;min-height:400px;position:relative;isolation:isolate;overflow:hidden}.landing-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.landing-screen:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 42%)}.landing-signature{position:absolute;z-index:1;right:6vw;max-width:86vw;bottom:8vh;bottom:8svh;text-align:right}.landing-signature h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(42px,5.3vw,82px);font-weight:400;letter-spacing:-2px;line-height:1.1;margin:0 0 13px;text-shadow:0 2px 14px #0006}.director-title{font-size:12px;line-height:1.5;font-weight:400;letter-spacing:3px;margin:0 0 28px}.enter{display:inline-flex;align-items:center;gap:40px;border:1px solid #ffffffb0;padding:13px 21px;font-size:12px;letter-spacing:1px;background:#0003;transition:background .2s,color .2s}.enter span{font-size:19px;line-height:1}.enter:hover{background:white;color:#171717}header{margin:0 5.5%;padding:32px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.wordmark{font:33px Arial,Helvetica,sans-serif;letter-spacing:-.6px}nav{font-size:16px}.active{border-bottom:1px solid;padding-bottom:4px}.portfolio{max-width:1220px;margin:0 auto;padding:55px 6% 70px}.project{display:block;background:none;width:100%;padding:0;text-align:left}.photo-wrap{display:block;background:#26120e;overflow:hidden}.photo-wrap>img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;transition:transform .65s ease}.project:hover .photo-wrap>img{transform:scale(1.015)}.project-caption{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.project-title{font:40px Georgia,serif;letter-spacing:-1px}.round-arrow{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--line);border-radius:50%;font-size:23px}.skip{position:absolute;left:20px;top:-80px;background:var(--paper);padding:15px;z-index:10}.skip:focus{top:10px}dialog{background:var(--paper);color:var(--ink);border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:auto}dialog::backdrop{background:#171512}.gallery-top{display:flex;justify-content:space-between;align-items:center;padding:24px 5.5%;border-bottom:1px solid var(--line)}h2{font:40px Georgia,serif;letter-spacing:-1px;margin:0}.close,.lightbox-close{background:transparent;font-size:35px;width:44px;height:44px;display:grid;place-items:center}figure{max-width:1100px;margin:40px auto;padding:0 30px}figure button{width:100%;background:#24110c;padding:0;cursor:zoom-in}figure img{display:block;margin:auto;width:100%;height:auto;max-height:calc(100dvh - 190px);object-fit:contain}body.has-dialog{overflow:hidden}#lightbox{background:#171512;color:var(--paper);display:none}#lightbox[open]{display:flex;justify-content:center;align-items:center;padding:65px 25px 25px}#lightbox>img{max-width:100%;width:auto;max-height:calc(100dvh - 100px);height:auto;object-fit:contain}.lightbox-close{position:absolute;top:15px;right:20px;color:var(--paper)}@media(max-width:650px){.director-title{font-size:10px;letter-spacing:1.5px}.landing-photo{object-position:32% center}.landing-signature{right:7vw;bottom:7svh}.landing-signature h1{font-size:clamp(36px,9vw,54px);letter-spacing:-1px;margin-bottom:12px}.enter{gap:30px}header{padding:25px 0}.wordmark{font-size:30px}.portfolio{padding:35px 5.5% 50px}.project-title{font-size:34px}figure{padding:0 15px;margin-top:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.production-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.production-grid .photo-wrap{aspect-ratio:4/3}.production-grid .photo-wrap>img{width:100%;height:100%;object-fit:cover}.production-grid .project-title{font-size:32px}.production-grid .project-caption{padding:19px 0}.gallery-photos{padding-bottom:25px}.gallery-photos figure{margin-top:35px;margin-bottom:35px}@media(max-width:650px){.production-grid{grid-template-columns:1fr;gap:32px}.production-grid .project-title{font-size:30px}}

.production-grid{grid-template-columns:1fr;max-width:1400px;padding:40px 5.5% 65px}.production-grid .photo-wrap{position:relative;aspect-ratio:auto;isolation:isolate}.production-grid .photo-wrap>img{height:auto;max-height:none;object-fit:contain}.production-grid .photo-wrap:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 38%)}.production-grid .project-title{position:absolute;z-index:1;bottom:32px;left:36px;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:clamp(24px,3.375vw,48px);font-weight:400;letter-spacing:-1px;line-height:1.1;text-shadow:0 2px 14px #0006}@media(max-width:650px){.production-grid{padding-top:25px}.production-grid .project-title{bottom:20px;left:20px;font-size:34px}}

.production-grid .project{width:60.75%;justify-self:center}header{gap:28px}header nav{display:flex;align-items:center;flex-wrap:wrap;gap:26px}header nav a{padding-bottom:4px}.content-page{max-width:1100px;margin:0 auto;padding:60px 6%}.content-page h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(36px,5vw,60px);font-weight:400;letter-spacing:-1px;margin:0 0 28px}.coming-soon{font-size:13px;color:#77766e}@media(max-width:650px){header{flex-direction:column;align-items:flex-start;gap:24px}header nav{width:100%;justify-content:space-between;gap:12px;font-size:14px}.production-grid .project-title{font-size:21px;left:16px;bottom:16px}}

.production-credits{padding:24px 5.5% 32px;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.7}.production-credits p{margin:0 0 10px}.production-credits p:first-child{margin-bottom:24px}.gallery-top h2{font-family:Arial,Helvetica,sans-serif;font-weight:400}

.production-heading{margin:116px 5.5% 0;font-family:Arial,Helvetica,sans-serif;font-size:40px;font-weight:400;letter-spacing:-1px;line-height:1.15}.production-credits{padding-top:20px}#gallery .gallery-top{padding:24px 5.5%}@media(max-width:650px){.production-heading{margin-top:106px;font-size:34px}}

.production-grid .character-project .project-title{right:16px}

#gallery.has-photos .production-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:48px;margin:116px 5.5% 60px;align-items:start}
#gallery.has-photos .production-sidebar{position:sticky;top:32px;max-height:calc(100dvh - 64px);overflow:auto}
#gallery.has-photos .production-heading{margin:0;font-size:clamp(28px,3vw,40px)}
#gallery.has-photos .production-credits{padding:20px 0 0}
#gallery.has-photos .gallery-photos{min-width:0;padding:0}
#gallery.has-photos .gallery-photos figure{margin:0 0 32px;padding:0;max-width:none}
#gallery.has-photos .gallery-photos button{display:block;width:100%;background:transparent}
#gallery.has-photos .gallery-photos img{width:auto;max-width:100%;height:auto;max-height:none}
@media(max-width:760px){#gallery.has-photos .production-layout{grid-template-columns:1fr;gap:25px;margin:70px 5.5% 40px}#gallery.has-photos .production-sidebar{top:0;z-index:2;padding:18px 0;background:var(--paper);border-bottom:1px solid var(--line);max-height:50dvh}#gallery.has-photos .production-heading{font-size:28px}#gallery.has-photos .production-credits{padding-top:12px;font-size:12px;line-height:1.5}#gallery.has-photos .production-credits p{margin-bottom:6px}#gallery.has-photos .production-credits p:first-child{margin-bottom:14px}}

.production-grid .harvest-project{max-width:426px}.production-grid .harvest-project .project-title{right:16px}

.production-grid .viva-project .project-title{right:16px}

.production-grid .photo-wrap>img{transition:transform .5s cubic-bezier(.2,.65,.3,1);transform-origin:center}
.production-grid .photo-wrap:before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.38);opacity:0;pointer-events:none;transition:opacity .3s ease}
.production-grid .view-cue{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-20%);color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:clamp(14px,1.5vw,20px);letter-spacing:2px;white-space:nowrap;text-shadow:0 2px 10px #000;opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.production-grid .project-title{z-index:2}
.production-grid .project:is(:hover,:focus-visible) .photo-wrap>img{transform:scale(1.07)}
.production-grid .project:is(:hover,:focus-visible) .photo-wrap:before{opacity:1}
.production-grid .project:is(:hover,:focus-visible) .view-cue{opacity:1;transform:translate(-50%,-50%)}
@media(hover:none){.production-grid .view-cue{opacity:1;top:32%;transform:translate(-50%,-50%)}.production-grid .photo-wrap:before{opacity:.35}.production-grid .project:hover .photo-wrap>img{transform:none}}
@media(prefers-reduced-motion:reduce){.production-grid .project:is(:hover,:focus-visible) .photo-wrap>img{transform:none}.production-grid .view-cue{transform:translate(-50%,-50%)}}

header{flex-wrap:wrap}
header{justify-content:flex-start;column-gap:40px}header nav{justify-content:flex-start;gap:24px;font-size:14px;font-weight:400;letter-spacing:1.6px;text-transform:uppercase}header nav a{white-space:nowrap}@media(max-width:650px){header{gap:20px}header nav{justify-content:flex-start;gap:12px;font-size:12.5px;letter-spacing:1px}}
.landing-signature h1,.landing-signature .director-title{text-align:center}

.production-grid .seeing-project .project-title{right:16px}

.production-grid .project[data-production="antigone"] .photo-wrap>img{aspect-ratio:auto;width:100%;height:auto;object-fit:contain;object-position:center}

.about-layout{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:48px;align-items:start}.about-portrait{display:block;width:100%;height:auto}.about-bio{font-size:16px;line-height:1.8;max-width:560px}.about-bio p{margin:0 0 24px}.about-bio p:last-child{margin-bottom:0}@media(max-width:760px){.about-layout{grid-template-columns:1fr;gap:30px}.about-portrait{max-width:360px}.about-bio{font-size:15px;line-height:1.75}}

.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px;align-items:start}.contact-intro h1{font-size:clamp(32px,4vw,48px);margin-bottom:24px}.contact-email{font-size:15px;line-height:1.6;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-form{display:grid;gap:24px}.contact-name{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:grid;gap:9px;font-size:13px;line-height:1.5}.contact-form input,.contact-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:16px Arial,Helvetica,sans-serif;padding:12px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:1px solid var(--ink);outline-offset:1px}.contact-submit{justify-self:start;background:var(--ink);color:var(--paper);padding:14px 24px;font-size:12px;letter-spacing:1px}.contact-submit:hover{background:#4b493f}.contact-note{margin:-8px 0 0;font-size:12px;line-height:1.6;color:#69685f}@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:40px}.contact-name{gap:14px}}

.contact-layout--form{display:block;max-width:600px;margin:0 auto}

.plays-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 48px;padding:12px 0 30px}.play-card{min-width:0}.play-cover{display:flex;align-items:flex-end;justify-content:center;height:350px;margin-bottom:30px}.play-cover img{display:block;width:auto;height:auto;max-width:100%;max-height:350px;transition:transform .3s ease}.play-cover[href]:hover img{transform:translateY(-5px)}.play-card h2{font-family:Arial,Helvetica,sans-serif;font-size:25px;font-weight:400;letter-spacing:-.4px;line-height:1.25;margin:0 0 10px}.play-subtitle{font-size:14px;line-height:1.6;margin:0 0 22px}.play-details{font-size:12px;letter-spacing:.5px;border-bottom:1px solid var(--line);padding-bottom:5px}.play-details:hover{border-color:var(--ink)}@media(max-width:650px){.plays-grid{grid-template-columns:1fr;gap:50px}.play-cover{justify-content:flex-start;height:auto}.play-cover img{max-height:320px}.play-card h2{font-size:24px}}
