@font-face{font-family:Adam;src:url('assets/fonts/adam.otf') format('opentype');font-display:swap}
@font-face{font-family:Roboto;src:url('assets/fonts/roboto-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url('assets/fonts/roboto-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Roboto Condensed';src:url('assets/fonts/roboto-condensed-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Roboto Condensed';src:url('assets/fonts/roboto-condensed-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Minion;src:url('assets/fonts/minion-pro-regular.otf') format('opentype');font-display:swap}

:root{--black:#050505;--ink:#121212;--ivory:#f5f1e8;--yellow:#ffdd24;--red:#e4362b;--line:rgba(245,241,232,.35);--gutter:clamp(1.25rem,4.5vw,5rem);--max:1600px;--header:92px;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header)}
body{margin:0;background:var(--black);color:var(--ivory);font-family:Roboto,Arial,sans-serif;line-height:1.55;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background:url('assets/brand/background-space.png') center/cover;opacity:.42;pointer-events:none;z-index:-1}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:0;left:1rem;transform:translateY(-120%);background:var(--yellow);color:var(--black);padding:.75rem 1rem;z-index:1000}.skip-link:focus{transform:none}

.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:var(--header);display:flex;align-items:center;justify-content:space-between;padding:12px var(--gutter);background:linear-gradient(180deg,rgba(5,5,5,.96),rgba(5,5,5,.78),transparent);transition:background .3s}
.site-header.is-scrolled{background:rgba(5,5,5,.94);border-bottom:1px solid rgba(255,221,36,.25);backdrop-filter:blur(14px)}
.brand{width:clamp(138px,14.5vw,210px)}.brand img{width:100%;height:auto;max-height:calc(var(--header) - 30px);object-fit:contain}
#main-nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.7rem);font-family:'Roboto Condensed',sans-serif;font-size:.83rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
#main-nav a{text-decoration:none;position:relative}#main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--yellow);transition:right .25s}#main-nav a:hover::after,#main-nav a:focus-visible::after{right:0}
.nav-cta{border:1px solid var(--yellow);color:var(--yellow);padding:.8rem 1rem;display:inline-flex;gap:1.4rem}.nav-cta:hover{background:var(--yellow);color:var(--black)}
.menu-toggle{display:none;background:none;border:0;color:var(--yellow);padding:.5rem}.menu-toggle span:not(.sr-only){display:block;width:28px;height:2px;background:currentColor;margin:5px}

.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);align-items:center;padding:calc(var(--header) + 4rem) var(--gutter) 5rem;max-width:var(--max);margin:auto;isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 42%,rgba(255,221,36,.08),transparent 28%);z-index:-1}
.hero-copy{z-index:2;max-width:760px}.hero-logo{width:min(100%,760px);height:auto;margin-bottom:2rem}.hero-date{font-family:'Roboto Condensed',sans-serif;font-size:clamp(1.45rem,2.5vw,2.65rem);line-height:1.1;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem}.hero-place{font-family:'Roboto Condensed',sans-serif;letter-spacing:.2em;text-transform:uppercase;margin:0 0 2rem;font-size:clamp(.85rem,1.1vw,1.05rem)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:260px;padding:1rem 1.25rem;text-decoration:none;text-transform:uppercase;font-family:'Roboto Condensed',sans-serif;font-weight:700;letter-spacing:.12em;border:1px solid currentColor;transition:transform .25s var(--ease),background .25s,color .25s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--yellow);color:var(--black);border-color:var(--yellow)}.button-outline{color:var(--yellow)}.button-outline:hover{background:var(--yellow);color:var(--black)}
.hero-art{position:relative;margin:0 -10vw 0 -5vw;align-self:stretch;min-height:620px;z-index:1}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%,9% 60%);filter:saturate(.88) contrast(1.08)}.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--black) 0,transparent 18%),linear-gradient(0deg,var(--black),transparent 16%);pointer-events:none}
.orbit{position:absolute;border:1px solid rgba(255,221,36,.7);border-radius:50%;pointer-events:none}.orbit-one{width:650px;height:300px;right:-260px;top:15%;transform:rotate(-24deg)}.orbit-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--red);right:17%;top:22%}

.program-hero{position:relative;min-height:100svh;padding:calc(var(--header) + 2.2rem) var(--gutter) 3rem;overflow:hidden;isolation:isolate;background:rgba(5,5,5,.35)}
.program-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.92) 47%,rgba(5,5,5,.25) 72%,rgba(5,5,5,.62) 100%);z-index:-1}
.program-hero-content{position:relative;z-index:3;width:min(62%,940px);animation:program-in .75s var(--ease) both}
.program-heading-row{display:flex;align-items:end;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line);padding-bottom:1.4rem;margin-bottom:.65rem}
.program-heading-row h2{font-family:Adam,'Roboto Condensed',sans-serif;font-size:clamp(3.8rem,7vw,7.2rem);font-weight:400;line-height:.82;text-transform:uppercase;margin:0;color:var(--ivory)}
.program-facts{font-family:'Roboto Condensed',sans-serif;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;line-height:1.55;text-align:right;margin:0;color:rgba(245,241,232,.72)}.program-facts strong{color:var(--yellow)}
.program-visual{position:absolute;z-index:1;top:var(--header);right:-5%;bottom:0;width:58%;margin:0;animation:visual-in 1s .12s var(--ease) both;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 12%,#000 35%,#000 100%)}
.program-visual img{width:100%;height:100%;object-fit:cover;object-position:53% 45%;filter:saturate(.92) contrast(1.08)}
.program-hero .week-tabs,.program-hero .date-tabs,.program-hero .schedule-panel{margin-left:0;margin-right:0;max-width:850px}
.program-hero .week-tabs{margin-bottom:.55rem}
.program-hero .week-tab{font-size:.72rem;padding:.7rem 0}
.program-hero .date-tabs{gap:.3rem;padding-bottom:.8rem}
.program-hero .date-tab{min-width:64px;padding:.68rem .5rem}.program-hero .date-tab strong{font-size:clamp(1.75rem,3vw,2.8rem)}
.program-hero .schedule-panel{grid-template-columns:180px 1fr;gap:clamp(1rem,3vw,3rem);padding-top:1rem}.program-hero .schedule-panel header{padding-left:1rem}.program-hero .schedule-day{font-size:clamp(1.35rem,2.2vw,2.2rem)}
.program-hero .schedule-list li{grid-template-columns:95px 1fr;padding:.85rem 0}.program-hero .schedule-time{font-size:clamp(1.45rem,2.4vw,2.25rem)}.program-hero .schedule-title{font-size:clamp(.95rem,1.35vw,1.35rem)}
.program-orbit{position:absolute;z-index:2;border:1px solid rgba(255,221,36,.82);border-radius:50%;pointer-events:none}.program-orbit-one{width:700px;height:340px;right:-180px;top:28%;transform:rotate(-24deg)}.program-orbit-two{width:360px;height:180px;right:8%;bottom:6%;transform:rotate(28deg);opacity:.55}
.program-dot{position:absolute;z-index:2;border-radius:50%;pointer-events:none}.program-dot-red{width:12px;height:12px;background:var(--red);right:26%;top:49%}
@keyframes program-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes visual-in{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:none}}

.section{padding:clamp(5rem,9vw,9rem) var(--gutter);position:relative}.section>*{max-width:var(--max);margin-left:auto;margin-right:auto}.section-dark{background:rgba(5,5,5,.9)}.section-light{background:var(--ivory);color:var(--ink)}
.section-heading{display:grid;grid-template-columns:90px 1fr;align-items:start;border-top:1px solid var(--line);padding-top:1.5rem;margin-bottom:clamp(3rem,6vw,6rem)}.section-heading h2,.about-section h2{font-family:Adam,'Roboto Condensed',sans-serif;font-size:clamp(3.3rem,8vw,8rem);line-height:.86;text-transform:uppercase;margin:0 0 1rem;color:var(--yellow);font-weight:400}.section-heading p:not(.section-index){max-width:620px;margin:0;color:rgba(245,241,232,.72)}.section-index{font-family:'Roboto Condensed',sans-serif;font-size:1.2rem;margin:0;color:var(--yellow);font-weight:700}.section-heading-light{border-color:rgba(18,18,18,.25)}.section-heading-light p:not(.section-index){color:rgba(18,18,18,.7)}

.week-tabs{display:flex;gap:2rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}.week-tab{background:none;color:rgba(245,241,232,.58);border:0;border-bottom:3px solid transparent;text-transform:uppercase;font-family:'Roboto Condensed',sans-serif;font-weight:700;letter-spacing:.12em;padding:.8rem 0;cursor:pointer}.week-tab.is-active{color:var(--yellow);border-color:var(--yellow)}
.date-tabs{display:flex;gap:clamp(.35rem,1.4vw,1.5rem);overflow:auto;padding:0 0 1.5rem;scrollbar-color:var(--yellow) transparent}.date-tab{flex:0 0 auto;min-width:82px;background:transparent;border:1px solid transparent;color:var(--ivory);padding:1rem .8rem;font-family:'Roboto Condensed',sans-serif;text-transform:uppercase;cursor:pointer}.date-tab strong{display:block;font-size:clamp(2rem,4vw,3.8rem);line-height:.9}.date-tab span{font-size:.78rem;letter-spacing:.14em}.date-tab:hover,.date-tab:focus-visible{border-color:var(--yellow)}.date-tab.is-active{background:var(--yellow);color:var(--black)}
.schedule-panel{display:grid;grid-template-columns:minmax(220px,.38fr) 1fr;gap:clamp(2rem,6vw,7rem);padding-top:3rem}.schedule-panel header{border-left:4px solid var(--red);padding-left:1.5rem}.schedule-week-label{text-transform:uppercase;letter-spacing:.18em;color:var(--yellow);font-size:.76rem}.schedule-day{font-family:Adam,'Roboto Condensed',sans-serif;text-transform:uppercase;font-size:clamp(1.8rem,3vw,3.4rem);font-weight:400;line-height:1;margin:.3rem 0}.schedule-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.schedule-list li{display:grid;grid-template-columns:130px 1fr;gap:1.5rem;border-bottom:1px solid var(--line);padding:1.4rem 0;align-items:baseline}.schedule-time{font-family:'Roboto Condensed',sans-serif;color:var(--yellow);font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700}.schedule-title{font-family:'Roboto Condensed',sans-serif;text-transform:uppercase;font-size:clamp(1.05rem,2vw,1.75rem);font-weight:700}.schedule-note{display:block;color:rgba(245,241,232,.58);font-size:.84rem;text-transform:none;margin-top:.25rem}

.featured-film{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:clamp(4rem,8vw,8rem)}.featured-media{display:block;position:relative;border:0;padding:0;background:none;cursor:pointer;overflow:hidden}.featured-media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .65s var(--ease)}.featured-media:hover img{transform:scale(1.025)}.film-number{position:absolute;top:0;left:0;background:var(--yellow);color:var(--black);font-family:'Roboto Condensed',sans-serif;font-weight:700;font-size:1.5rem;padding:.65rem .8rem}.featured-copy h3{font-family:Adam,'Roboto Condensed',sans-serif;color:var(--yellow);text-transform:uppercase;font-size:clamp(2.3rem,5vw,5.5rem);font-weight:400;line-height:.9;margin:.75rem 0 1.2rem}.film-meta,.activity-date{font-family:'Roboto Condensed',sans-serif;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem}.featured-copy>p:not(.film-meta){font-family:Minion,Georgia,serif;font-size:1.18rem;max-width:50ch;color:rgba(245,241,232,.78)}.text-link{background:none;border:0;border-bottom:1px solid var(--yellow);color:var(--yellow);padding:.5rem 0;text-transform:uppercase;letter-spacing:.13em;font-family:'Roboto Condensed',sans-serif;font-weight:700;cursor:pointer}
.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2.4rem);align-items:stretch}.film-card{min-width:0;height:100%}.film-card button{position:relative;display:grid;grid-template-rows:auto minmax(3.1rem,auto) auto;width:100%;height:100%;text-align:left;background:rgba(245,241,232,.025);color:inherit;border:1px solid rgba(255,221,36,.22);padding:0 0 1.1rem;cursor:pointer;overflow:hidden;transition:transform .35s var(--ease),border-color .35s,background .35s}.film-card button::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:var(--yellow);transition:right .35s var(--ease)}.film-card button:hover,.film-card button:focus-visible{transform:translateY(-7px);border-color:rgba(255,221,36,.7);background:rgba(255,221,36,.055)}.film-card button:hover::after,.film-card button:focus-visible::after{right:0}.film-card figure{margin:0;overflow:hidden;position:relative}.film-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;filter:saturate(.76) contrast(1.04);transition:transform .6s var(--ease),filter .4s}.film-card button:hover img{transform:scale(1.045);filter:saturate(1)}.film-card .film-number{font-size:1rem}.film-card h3{font-family:Adam,'Roboto Condensed',sans-serif;text-transform:uppercase;font-size:clamp(1.25rem,2vw,1.9rem);line-height:1;margin:1rem 1rem .45rem;color:var(--yellow);font-weight:400}.film-card .film-meta{margin:0 1rem;color:rgba(245,241,232,.65);align-self:end}

.activity-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,6rem);align-items:center;margin-bottom:5rem}.activity-feature img{width:100%;aspect-ratio:3/2;object-fit:cover}.activity-feature h3{font-family:Adam,'Roboto Condensed',sans-serif;text-transform:uppercase;font-size:clamp(2rem,4.3vw,5rem);font-weight:400;line-height:.95;margin:.5rem 0 1.5rem}.activity-feature>div>p:last-child{font-family:Minion,Georgia,serif;font-size:1.2rem}.activity-date{color:#8c201b;font-weight:700}
.activity-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(18,18,18,.25);border-bottom:1px solid rgba(18,18,18,.25)}.activity-card{padding:1.2rem;border-right:1px solid rgba(18,18,18,.25)}.activity-card:last-child{border-right:0}.activity-card img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:1.2rem}.activity-card h3,.workshop-strip h3{font-family:'Roboto Condensed',sans-serif;text-transform:uppercase;font-size:1.35rem;line-height:1;margin:.45rem 0}.activity-card p:last-child,.workshop-strip p:last-child{font-size:.9rem;color:rgba(18,18,18,.68)}.workshop-strip{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}.workshop-strip article{border-left:4px solid var(--red);padding-left:1.5rem}
.activities-section{padding-top:clamp(4rem,6vw,6rem);padding-bottom:clamp(4rem,6vw,6rem)}.activities-section .section-heading{margin-bottom:clamp(2rem,4vw,3.5rem)}.activities-section .section-index{color:var(--black)}.activity-compact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;background:transparent;border:0}.activity-compact-card{position:relative;background:#fff;min-width:0;border:1px solid rgba(18,18,18,.15);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}.activity-compact-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(0,0,0,.12)}.activity-compact-card img{width:100%;height:210px;object-fit:cover;filter:saturate(.86);transition:transform .6s var(--ease),filter .4s}.activity-compact-card:hover img{transform:scale(1.035);filter:saturate(1)}.activity-compact-card>div{padding:1rem 1rem 1.15rem}.activity-compact-card h3{font-family:'Roboto Condensed',sans-serif;text-transform:uppercase;font-size:clamp(1.02rem,1.35vw,1.3rem);line-height:1.06;margin:.4rem 0 0}.activity-compact-card .activity-date{margin:0}.activity-compact-card p:last-child:not(.activity-date){margin:.6rem 0 0;color:rgba(18,18,18,.64);font-size:.82rem}

.about-section{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,10rem);align-items:start}.about-section h2{margin:.8rem 0 2rem}.about-lede{font-family:Minion,Georgia,serif;font-size:clamp(1.5rem,2.7vw,2.35rem);line-height:1.25}.about-copy>p:not(.section-index,.about-lede){max-width:70ch;color:rgba(245,241,232,.7)}details{margin-top:2.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:1.2rem 0;text-transform:uppercase;letter-spacing:.12em;font-family:'Roboto Condensed',sans-serif;color:var(--yellow)}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:1rem 0 2rem}.details-grid h3{font-family:'Roboto Condensed',sans-serif;text-transform:uppercase}.details-grid p{font-size:.88rem;color:rgba(245,241,232,.65)}.location-card{border-left:1px solid var(--yellow);padding:2rem 0 2rem clamp(1.5rem,4vw,4rem);margin-top:3rem}.location-mark{display:block;width:34px;height:34px;color:var(--red);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.location-card h2{font-family:'Roboto Condensed',sans-serif;font-size:clamp(2rem,4vw,4rem);line-height:1;text-transform:uppercase;color:var(--ivory);font-weight:700;margin:1rem 0}.location-card address{font-style:normal;text-transform:uppercase;letter-spacing:.1em}.location-card strong{color:var(--yellow);text-transform:uppercase;letter-spacing:.12em}

.site-footer{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem var(--gutter);border-top:1px solid rgba(255,221,36,.35);background:var(--black);font-family:'Roboto Condensed',sans-serif;font-size:.78rem;letter-spacing:.08em}.site-footer a{color:var(--yellow);text-underline-offset:4px}.footer-links{display:flex;gap:1.5rem}

.film-dialog{width:min(1100px,calc(100% - 2rem));max-height:90vh;padding:0;background:var(--ivory);color:var(--ink);border:0}.film-dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(4px)}.film-dialog[open]{display:grid;grid-template-columns:1fr 1fr}.dialog-close{position:absolute;right:1rem;top:1rem;z-index:2;width:44px;height:44px;border:1px solid var(--ink);background:var(--ivory);font-size:2rem;line-height:1;cursor:pointer}.dialog-media img{width:100%;height:100%;min-height:540px;object-fit:cover}.dialog-copy{padding:clamp(2rem,5vw,5rem);overflow:auto}.dialog-copy h2{font-family:Adam,'Roboto Condensed',sans-serif;font-size:clamp(2rem,4vw,4rem);line-height:.95;text-transform:uppercase;margin:.6rem 0 1.5rem}.film-credits{font-family:'Roboto Condensed',sans-serif;font-size:.9rem}.film-synopsis{font-family:Minion,Georgia,serif;font-size:1.18rem}.film-rating{border-top:1px solid rgba(18,18,18,.25);padding-top:1rem;font-size:.82rem}

@media (max-width:1050px){:root{--header:76px}.site-header{height:var(--header)}.menu-toggle{display:block}.site-header nav{position:absolute;top:100%;left:0;right:0;display:none!important;flex-direction:column;align-items:stretch!important;background:rgba(5,5,5,.98);padding:2rem var(--gutter);border-bottom:1px solid var(--yellow)}.site-header nav.is-open{display:flex!important}.nav-cta{justify-content:space-between}.hero{grid-template-columns:1fr;min-height:auto;padding-top:calc(var(--header) + 4rem)}.hero-copy{max-width:700px}.hero-art{position:absolute;inset:18% -20% 0 38%;opacity:.48;min-height:0;z-index:-1}.hero-art::after{background:linear-gradient(90deg,var(--black),transparent 35%),linear-gradient(0deg,var(--black),transparent 30%)}.hero-logo{width:min(70vw,620px)}.schedule-panel{grid-template-columns:1fr}.featured-film{grid-template-columns:1fr}.film-grid{grid-template-columns:repeat(2,1fr)}.activity-compact-grid{grid-template-columns:repeat(2,1fr)}.about-section{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.section{padding-top:4.5rem;padding-bottom:4.5rem}.section-heading{grid-template-columns:minmax(0,1fr);gap:1rem}.section-heading>div{min-width:0}.section-heading h2,.about-section h2{font-size:clamp(2.75rem,14vw,4.5rem);overflow-wrap:anywhere}.hero{padding-bottom:3rem}.hero-logo{width:100%}.hero-art{inset:32% -70% 0 15%;opacity:.38}.hero-date{font-size:1.45rem}.hero-place{max-width:22ch;line-height:1.5}.button{min-width:0;width:100%}.orbit-one{display:none}.schedule-list li{grid-template-columns:82px 1fr;gap:1rem}.schedule-time{font-size:1.4rem}.film-grid{grid-template-columns:1fr;gap:3rem}.activity-compact-grid{grid-template-columns:1fr}.activity-compact-card{display:grid;grid-template-columns:42% 1fr}.activity-compact-card img{height:100%;aspect-ratio:auto}.activity-compact-text{display:flex;min-height:150px}.details-grid{grid-template-columns:1fr}.site-footer{flex-direction:column}.film-dialog[open]{grid-template-columns:1fr;overflow:auto}.dialog-media img{min-height:250px;height:36vh}.dialog-copy{overflow:visible}.film-dialog{max-height:94vh}.brand{width:140px}}
@media (max-width:1180px){.program-hero-content{width:74%}.program-visual{width:64%;right:-12%;opacity:.68}.program-heading-row{align-items:start;flex-direction:column;gap:.65rem}.program-facts{text-align:left}.program-dot-red{right:18%}}
@media (max-width:700px){.program-hero{min-height:auto;padding:calc(var(--header) + 2rem) var(--gutter) 3.5rem}.program-hero::before{background:linear-gradient(180deg,rgba(5,5,5,.88),rgba(5,5,5,.97) 62%,var(--black))}.program-hero-content{width:100%}.program-heading-row{padding-bottom:1rem}.program-heading-row h2{font-size:clamp(3rem,15vw,4.25rem)}.program-facts{font-size:.67rem}.program-visual{inset:var(--header) -45% 24% 12%;width:auto;opacity:.27;mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.7) 48%,transparent 100%)}.program-hero .date-tabs{margin-right:calc(var(--gutter) * -1)}.program-hero .schedule-panel{grid-template-columns:1fr;gap:1rem}.program-hero .schedule-panel header{border-left:0;border-bottom:1px solid var(--line);padding:0 0 .8rem}.program-hero .schedule-list li{grid-template-columns:72px 1fr;gap:.8rem}.program-hero .schedule-time{font-size:1.35rem}.program-orbit{display:none}.program-dot{display:none}.film-card button{grid-template-rows:auto auto auto}.activity-compact-card img{height:100%;min-height:150px}.activity-compact-card>div{align-self:center}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.film-grid{grid-auto-rows:1fr}
@media (max-width:700px){.program-heading-row h2{font-size:clamp(2.55rem,12.5vw,3.4rem);letter-spacing:-.02em}}

.opening-hero{max-width:none;width:100%;grid-template-columns:minmax(320px,.84fr) minmax(540px,1.16fr);padding-left:var(--gutter);padding-right:var(--gutter);background:#050505 url('assets/brand/hero-space-composite.png') center/cover no-repeat}
.opening-hero::before{z-index:0;background:linear-gradient(90deg,rgba(5,5,5,.24),transparent 44%)}
.opening-hero .hero-copy{position:relative;z-index:3;width:min(100%,650px);margin-left:max(0px,calc((100vw - var(--max))/2))}
.opening-hero .hero-logo{width:min(100%,560px);margin-bottom:2.1rem}
.opening-hero .hero-art{position:absolute;z-index:1;top:var(--header);right:0;bottom:0;width:64%;min-height:0;margin:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.48) 19%,#000 40%,#000 100%)}
.opening-hero .hero-art img{width:100%;height:100%;object-fit:cover;object-position:52% 48%;clip-path:none;filter:saturate(.9) contrast(1.08)}
.opening-hero .hero-art::after{background:linear-gradient(90deg,rgba(5,5,5,.7),transparent 28%),linear-gradient(0deg,rgba(5,5,5,.78),transparent 22%)}
.opening-hero .orbit-one{z-index:2;right:-185px;top:22%;width:720px;height:340px}
.opening-hero .orbit-dot{z-index:2;right:23%;top:30%;width:16px;height:16px}
.activities-section .section-heading h2{color:var(--ink)}

@media (max-width:1050px){.opening-hero{min-height:100svh;grid-template-columns:1fr;padding-top:calc(var(--header) + 3rem)}.opening-hero .hero-copy{max-width:620px;margin-left:0}.opening-hero .hero-art{inset:var(--header) -13% 0 30%;width:auto;opacity:.64;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.48) 28%,#000 58%)}.opening-hero .hero-logo{width:min(68vw,520px)}}
@media (max-width:700px){.opening-hero{min-height:100svh;padding-top:calc(var(--header) + 2.25rem);padding-bottom:2.5rem;align-items:end;background-color:#050505;background-image:linear-gradient(180deg,transparent 0%,rgba(5,5,5,.08) 40%,rgba(5,5,5,.96) 69%,#050505 100%),url('assets/brand/hero-space-composite.png'),url('assets/brand/background-space.png');background-position:center,100% top,center;background-size:cover,auto 58%,cover;background-repeat:no-repeat}.opening-hero::before{background:none}.opening-hero .hero-copy{width:100%;min-width:0;text-align:center}.opening-hero .hero-logo{width:min(72vw,280px);max-width:100%;margin:0 auto 1.2rem}.opening-hero .hero-date{font-size:1.18rem}.opening-hero .hero-place{max-width:none;font-size:.68rem;letter-spacing:.12em;margin:0 auto 1.2rem}.opening-hero .button{width:auto;min-width:220px;margin-inline:auto}}

.activity-compact-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:330px;gap:1rem}
.activity-compact-card{grid-column:span 3;height:100%;border:0;border-radius:22px;background:#171717;isolation:isolate;box-shadow:0 18px 45px rgba(18,18,18,.12)}
.activity-compact-card:nth-child(1){grid-column:span 5}.activity-compact-card:nth-child(2){grid-column:span 3}.activity-compact-card:nth-child(3){grid-column:span 4}
.activity-compact-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);z-index:-2}
.activity-compact-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,5,5,.25) 52%,rgba(5,5,5,.94) 100%);z-index:-1;transition:background .4s}
.activity-compact-card:hover{transform:translateY(-8px);box-shadow:0 24px 55px rgba(18,18,18,.22)}
.activity-compact-card:hover::after{background:linear-gradient(180deg,transparent 18%,rgba(5,5,5,.2) 45%,rgba(5,5,5,.96) 100%)}
.activity-compact-card:hover img{transform:scale(1.05);filter:saturate(1)}
.activity-compact-card>div{position:absolute;left:0;right:0;bottom:0;padding:1.35rem;color:var(--ivory)}
.activity-compact-card h3{font-family:Adam,'Roboto Condensed',sans-serif;font-size:clamp(1.35rem,1.8vw,2rem);line-height:.98;color:var(--ivory);margin:.5rem 0 0}
.activity-compact-card .activity-date{display:inline-flex;width:max-content;max-width:100%;padding:.35rem .55rem;border-radius:999px;background:var(--yellow);color:var(--black);font-size:.68rem;letter-spacing:.1em}
.activity-compact-card p:last-child:not(.activity-date){color:rgba(245,241,232,.72);margin:.65rem 0 0}

.film-curiosities{margin-top:1.5rem;padding-top:1.35rem;border-top:1px solid rgba(18,18,18,.22)}
.film-curiosities h3{font-family:'Roboto Condensed',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.9rem;margin:0 0 .8rem;color:#8c201b}
.film-curiosities ul{margin:0;padding-left:1.25rem}.film-curiosities li{margin:.65rem 0;font-family:Minion,Georgia,serif;font-size:1.05rem;line-height:1.45}

.sponsor-strip{background:#fff;padding:clamp(1.4rem,3vw,2.5rem) var(--gutter);border-top:1px solid rgba(18,18,18,.12)}
.sponsor-strip img{width:min(100%,1600px);height:auto;margin:auto}

@media (max-width:1050px){.activity-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:310px}.activity-compact-card,.activity-compact-card:nth-child(1),.activity-compact-card:nth-child(2),.activity-compact-card:nth-child(3){grid-column:auto}}
@media (max-width:700px){.activity-compact-grid{grid-template-columns:1fr;grid-auto-rows:300px;gap:1rem}.activity-compact-card{display:block;border-radius:18px}.activity-compact-card img{position:absolute;height:100%;min-height:0}.activity-compact-card>div{position:absolute;padding:1.2rem}.sponsor-strip{padding:1rem}.film-dialog .dialog-copy{padding-bottom:3rem}}

.program-hero{display:grid;align-items:center;min-height:calc(100svh - var(--header));padding:calc(var(--header) + 2.5rem) var(--gutter) clamp(4rem,7vw,7rem);background:#0c0c0b url('assets/brand/background-space.png') center/cover}
.program-hero::before{z-index:-2;background:radial-gradient(circle at 8% 78%,rgba(228,54,43,.95) 0 4px,transparent 5px),repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),rgba(245,241,232,.055) calc(20% - 1px) 20%),linear-gradient(135deg,rgba(5,5,5,.58),rgba(5,5,5,.78) 58%,rgba(5,5,5,.56))}
.program-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(255,221,36,.08),transparent 1px) 0 22%/100% 18% repeat-y;pointer-events:none}
.program-hero-content{width:min(100%,var(--max));margin:0 auto;animation:program-in .75s var(--ease) both}
.program-heading-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(2rem,6vw,7rem);padding-bottom:clamp(1.5rem,3vw,2.4rem);margin-bottom:1.2rem}
.program-heading-row h2{font-size:clamp(4.25rem,7.3vw,7.2rem)}
.program-facts{min-width:270px;padding-left:2rem;border-left:1px solid rgba(255,221,36,.55);font-size:.78rem;line-height:1.75}
.program-hero .week-tabs{display:grid;grid-template-columns:repeat(2,minmax(160px,240px));gap:clamp(1.5rem,4vw,4rem);max-width:none;margin:0 0 1.25rem}
.program-hero .week-tab{text-align:left;padding:.85rem 0;font-size:.78rem}
.program-hero .date-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.5rem,1.2vw,1rem);max-width:none;margin:0;padding:0 0 clamp(1.5rem,3vw,2.5rem);overflow:visible;border-bottom:1px solid var(--line)}
.program-hero .date-tab{width:100%;min-width:0;padding:clamp(.85rem,1.4vw,1.25rem);border-color:rgba(245,241,232,.16);text-align:left;transition:transform .25s var(--ease),border-color .25s,background .25s}
.program-hero .date-tab:hover,.program-hero .date-tab:focus-visible{transform:translateY(-3px)}
.program-hero .date-tab strong{font-size:clamp(2.4rem,4.5vw,4.5rem)}
.program-hero .schedule-panel{grid-template-columns:minmax(240px,.38fr) minmax(0,1fr);gap:clamp(3rem,8vw,9rem);max-width:none;margin:0;padding-top:clamp(2rem,4vw,4rem)}
.program-hero .schedule-panel header{padding:0 0 0 clamp(1.2rem,2.5vw,2.2rem)}
.program-hero .schedule-day{font-size:clamp(2rem,3.2vw,3.6rem)}
.program-hero .schedule-list li{grid-template-columns:minmax(105px,150px) 1fr;gap:clamp(1.5rem,4vw,4rem);padding:clamp(1rem,1.8vw,1.6rem) 0}
.program-hero .schedule-time{font-size:clamp(1.8rem,3vw,3rem)}
.program-hero .schedule-title{font-size:clamp(1.05rem,1.8vw,1.7rem)}
.program-orbit{z-index:0;opacity:.2}.program-orbit-one{width:900px;height:430px;right:-270px;top:12%}.program-orbit-two{width:520px;height:250px;right:auto;left:-250px;bottom:-70px}.program-dot{z-index:0}.program-dot-red{right:auto;left:8%;top:auto;bottom:21%}

@media (max-width:1180px){.program-hero-content{width:100%}.program-heading-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.program-facts{text-align:right}.program-hero .schedule-panel{grid-template-columns:minmax(220px,.4fr) minmax(0,1fr)}}
@media (max-width:1050px){.program-heading-row{grid-template-columns:1fr;align-items:start;gap:1.25rem}.program-heading-row h2{font-size:clamp(3.6rem,10vw,6.2rem)}.program-facts{min-width:0;width:100%;padding-left:1rem;text-align:left}.program-hero .schedule-panel{grid-template-columns:minmax(200px,.38fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem)}}
@media (max-width:700px){.program-hero{min-height:auto;padding:calc(var(--header) + 2rem) var(--gutter) 4rem}.program-hero::before{background:radial-gradient(circle at 8% 82%,rgba(228,54,43,.9) 0 4px,transparent 5px),repeating-linear-gradient(90deg,transparent 0 calc(50% - 1px),rgba(245,241,232,.045) calc(50% - 1px) 50%)}.program-heading-row{grid-template-columns:1fr;align-items:start;gap:1.25rem}.program-heading-row h2{font-size:clamp(2.75rem,13vw,4rem)}.program-facts{min-width:0;width:100%;padding:0 0 0 1rem;text-align:left}.program-hero .week-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.program-hero .date-tabs{display:flex;gap:.55rem;margin-right:calc(var(--gutter) * -1);padding-right:var(--gutter);overflow:auto}.program-hero .date-tab{flex:0 0 82px;padding:.8rem .65rem}.program-hero .date-tab strong{font-size:2.15rem}.program-hero .schedule-panel{grid-template-columns:1fr;gap:1.5rem;padding-top:2rem}.program-hero .schedule-panel header{padding:0 0 1rem;border-left:0;border-bottom:1px solid var(--line)}.program-hero .schedule-day{font-size:clamp(1.75rem,9vw,2.5rem)}.program-hero .schedule-list li{grid-template-columns:72px 1fr;gap:1rem}.program-hero .schedule-time{font-size:1.35rem}.program-orbit{display:block;opacity:.12}.program-orbit-one{width:430px;height:210px;right:-260px;top:19%}.program-orbit-two{display:none}.program-dot-red{left:8%;bottom:8%}}
@media (max-width:700px){.brand{width:122px}.brand img{max-height:calc(var(--header) - 26px)}}
@media (max-width:700px){.footer-signature{display:grid;gap:.35rem;margin:0}.footer-signature>span,.footer-signature>a{display:block}.signature-separator{display:none}}
