:root{--navy:#08182c;--navy2:#102846;--gold:#f5bd48;--coral:#ed6759;--teal:#198b86;--cream:#fff8ec;--ink:#102139;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--gold);padding:.8rem 1.2rem;z-index:99}.skip-link:focus{top:1rem}.site-header{height:84px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:white;position:relative;z-index:20;border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:12px}.brand-logo{display:block;width:54px;height:54px;border-radius:50%;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(245,189,72,.45);flex:0 0 auto}.brand-logo img{width:100%;height:100%;object-fit:cover;transform:scale(1.16)}.brand-copy{display:flex;flex-direction:column;line-height:1.05;text-transform:uppercase;letter-spacing:.11em}.brand-copy strong{font-size:.83rem}.brand-copy small{font-size:.64rem;color:#b9c5d1;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:.88rem;font-weight:600}.site-header nav a:not(.nav-cta):hover{color:var(--gold)}.nav-cta{padding:11px 18px;border:1px solid var(--gold);color:var(--gold);border-radius:2px}.nav-cta:hover{background:var(--gold);color:var(--navy)}.menu-toggle{display:none;background:none;border:1px solid #6c7785;color:white;padding:8px 12px}
.hero{min-height:700px;height:calc(100vh - 84px);max-height:850px;position:relative;color:white;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center top}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,17,.96) 0%,rgba(2,8,17,.76) 32%,rgba(2,8,17,.15) 66%,rgba(2,8,17,.2) 100%),linear-gradient(0deg,rgba(2,8,17,.7),transparent 35%)}.hero-content{position:relative;z-index:2;max-width:var(--max);margin:auto;padding:9vh 24px}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:700;color:#dbe3ed}.eyebrow span{display:block;width:34px;height:2px;background:var(--gold)}.eyebrow.dark{color:#55606e}.eyebrow.centered{justify-content:center}.hero h1,.intro h2,.programs h2,.productions h2,.connect h2{font:700 clamp(3.6rem,7.1vw,6.6rem)/.9 "Playfair Display",serif;letter-spacing:-.035em;margin:25px 0}.hero h1 em,.intro h2 em,.programs h2 em,.productions h2 em,.connect h2 em{font-weight:700;color:var(--gold)}.hero-lead{max-width:545px;color:#d8dee6;font-size:1.13rem;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 22px;font-weight:700;font-size:.9rem}.primary{background:var(--gold);color:var(--navy)}.primary:hover{background:#ffd16e}.text-button{padding-left:0;border-bottom:1px solid rgba(255,255,255,.5)}.hero-note{position:absolute;right:max(24px,calc((100vw - var(--max))/2));bottom:28px;z-index:2;border-left:2px solid var(--gold);padding-left:15px;display:flex;flex-direction:column;font-size:.85rem;color:#c9d2db}.hero-note strong{color:white;font-size:1rem}
.intro,.heritage,.creative-team,.community,.programs,.productions,.festival,.values,.connect{padding:110px max(24px,calc((100vw - var(--max))/2))}.upcoming{display:grid;grid-template-columns:1.15fr .85fr;background:#0a4283;color:white}.upcoming-art{min-height:540px;overflow:hidden}.upcoming-art img{width:100%;height:100%;object-fit:cover}.upcoming-copy{padding:80px max(32px,calc((100vw - var(--max))/2));padding-left:clamp(42px,6vw,90px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.upcoming-copy .eyebrow{color:#d8efff}.upcoming-copy h2{font:700 clamp(3rem,5vw,5rem)/.95 "Playfair Display",serif;letter-spacing:-.035em;margin:18px 0 22px;max-width:560px}.upcoming-copy>p:not(.eyebrow):not(.show-date){color:#d8efff;max-width:520px}.show-date{display:flex;align-items:center;gap:14px;margin:26px 0 0;text-transform:uppercase;letter-spacing:.16em;color:#b7ff43;font-size:.78rem;font-weight:700}.show-date strong{font:700 3rem/1 "Playfair Display",serif;color:white;letter-spacing:0}.shrek-button{margin-top:18px;background:#b7e337;color:#082b24}.shrek-button:hover{background:#d1f466}.wonka-upcoming{grid-template-columns:.85fr 1.15fr;background:#74286f}.wonka-upcoming .upcoming-art{order:2}.wonka-upcoming .upcoming-copy{order:1;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:clamp(42px,6vw,90px)}.wonka-upcoming .upcoming-copy .eyebrow,.wonka-upcoming .upcoming-copy>p:not(.eyebrow){color:#f8dff5}.season-label{margin:25px 0 0!important;color:#ffd057!important;text-transform:uppercase;letter-spacing:.18em;font-weight:800}.registration-note{margin-top:18px!important;padding:13px 17px;border:1px solid #ffd057;color:#ffd057!important;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:800}.intro{display:grid;grid-template-columns:.6fr 1.45fr .8fr;gap:55px;align-items:start}.section-label{font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;padding-top:16px;border-top:2px solid var(--coral)}.intro h2,.heritage h2,.creative-team h2,.community h2,.programs h2,.productions h2,.festival h2,.connect h2{font-size:clamp(2.8rem,5vw,4.8rem);color:var(--navy);margin:0 0 30px}.intro h2 em,.heritage h2 em,.creative-team h2 em,.community h2 em,.programs h2 em,.festival h2 em{color:var(--coral)}.intro-copy>p{max-width:650px;color:#526071}.quote-card{background:var(--navy);color:white;padding:35px 30px;margin-top:15px;box-shadow:12px 12px 0 var(--gold)}.quote-mark{color:var(--gold);font:4rem/.5 "Playfair Display"}.quote-card blockquote{margin:15px 0 25px;font:italic 700 1.45rem/1.4 "Playfair Display"}.gold-rule{display:block;width:35px;height:2px;background:var(--gold)}.quote-card p{text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;color:#aebbc9}
.heritage{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;background:white;align-items:center}.heritage-story>p:not(.eyebrow){max-width:700px;color:#526071}.director-card{background:var(--navy);color:white;padding:42px 38px;border-top:5px solid var(--gold);box-shadow:14px 14px 0 #e9dfce}.director-role{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:.72rem;font-weight:700}.director-card h3{font:700 2.35rem "Playfair Display";margin:12px 0 18px}.director-card>p{color:#c3ccd7}.director-card blockquote{margin:28px 0 0;padding-top:24px;border-top:1px solid #405066;font:italic 700 1.25rem/1.45 "Playfair Display";color:var(--gold)}
.creative-team{background:var(--navy);color:white;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:end}.creative-team .eyebrow{color:#c8d4df}.creative-team h2{color:white;margin-top:22px}.creative-team h2 em{color:var(--gold)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.team-card{min-height:285px;padding:28px 24px;background:var(--navy2);border-top:4px solid var(--gold);display:flex;flex-direction:column}.team-card:nth-child(2){border-color:var(--teal)}.team-card:nth-child(3){border-color:var(--coral)}.team-initials{width:56px;height:56px;border:1px solid #5c6c7e;display:grid;place-items:center;color:var(--gold);font-weight:800;letter-spacing:.08em}.team-card h3{font:700 1.65rem/1.1 "Playfair Display";margin:auto 0 12px}.team-card p{margin:0;color:#bfcbd7;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;line-height:1.7}.production-partners{grid-column:1/-1;margin-top:6px;padding-top:42px;border-top:1px solid #405066;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}.partners-heading h3{font:700 2rem/1.1 "Playfair Display";margin:14px 0 10px}.partners-heading>p:last-child{margin:0;color:#aebbc9;max-width:390px}.partners-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.partner-card{background:#132b46;border-left:4px solid var(--gold);padding:24px;display:flex;align-items:center;gap:20px}.partner-card:nth-child(2){border-color:var(--teal)}.partner-mark{flex:0 0 48px;width:48px;height:48px;border:1px solid #5c6c7e;display:grid;place-items:center;color:var(--gold);font-weight:800;letter-spacing:.08em}.partner-card h4{font:700 1.35rem/1.15 "Playfair Display";margin:0 0 8px}.partner-card p{margin:0;color:#bfcbd7;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700}
.community{background:#edf5ff;display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}.community-logo{background:white;padding:38px 32px 30px;border-top:6px solid #1654a3;box-shadow:14px 14px 0 var(--gold);text-align:center}.community-logo img{width:100%;height:auto}.community-logo span{display:inline-block;margin-top:24px;padding:8px 16px;background:var(--gold);color:var(--navy);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.community-copy>p:not(.eyebrow){color:#526071;max-width:650px}.community-note{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin-top:30px;padding-top:26px;border-top:1px solid #cbd9e8}.community-note strong{font:700 1.35rem "Playfair Display";color:#1654a3}.community-note span{color:#526071}
.programs{background:#f2e9d9}.programs-head{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end}.programs-head>p{color:#576477;margin-bottom:32px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.program-card{position:relative;min-height:360px;padding:32px;color:white;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s}.program-card:hover{transform:translateY(-7px)}.program-card.coral{background:var(--coral)}.program-card.teal{background:var(--teal)}.program-card.gold{background:var(--gold);color:var(--navy)}.number{position:absolute;right:25px;top:22px;opacity:.65;font-size:.78rem}.card-icon{font-size:3.2rem;margin:30px 0}.program-card h3{font:700 2rem "Playfair Display";margin:0}.program-card p{opacity:.92}.program-card a{margin-top:auto;font-size:.83rem;font-weight:700;border-top:1px solid rgba(255,255,255,.35);padding-top:18px;display:flex;justify-content:space-between}.gold a{border-color:rgba(8,24,44,.25)}
.productions{background:var(--navy);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.productions h2{color:white}.productions h2 em{color:var(--gold)}.production-copy>p:last-child{color:#aebaca;max-width:480px}.show-list{border-top:1px solid #405066}.show-list>div{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:14px;padding:19px 0;border-bottom:1px solid #405066}.show-list span{color:var(--gold);font-size:.78rem;font-weight:700}.show-list strong{font:700 1.32rem "Playfair Display"}.show-list small{color:#9caabd;text-transform:uppercase;letter-spacing:.12em;text-align:right}.festival{background:var(--cream);display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center}.jtf-logo{display:block;width:min(285px,100%);margin:0 0 32px;padding:14px 18px;background:white;border:1px solid #e4ddd1;box-shadow:8px 8px 0 var(--gold)}.jtf-logo img{width:100%;height:auto}.jtf-logo:hover{transform:translateY(-2px)}.festival-heading h2{margin-top:20px}.festival-link{display:inline-block;border-bottom:2px solid var(--coral);padding:0 0 5px;font-size:.83rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.festival-link:hover{color:var(--coral)}.festival-milestones{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.award-card,.return-card{position:relative;padding:38px}.award-card{background:var(--gold);color:var(--navy);box-shadow:12px 12px 0 var(--navy)}.return-card{background:var(--teal);color:white;display:flex;flex-direction:column;justify-content:space-between}.festival-year{display:block;font:700 1rem "DM Sans",sans-serif;letter-spacing:.18em}.award-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:700;margin:42px 0 10px}.award-card h3,.return-card h3{font:700 2.15rem/1.05 "Playfair Display";margin:0 0 18px}.award-card>p:last-child,.return-card>div>p:last-child{line-height:1.65;margin-bottom:0}.return-card .festival-year{color:#d7fffb}.return-card .award-kicker{color:#d7fffb}.values{background:white}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;margin-top:55px}.values-grid>div{padding:25px;border-right:1px solid #e4ddd1;display:flex;flex-direction:column}.values-grid>div:last-child{border:0}.values-grid strong{font:italic 700 2rem "Playfair Display";color:var(--coral)}.values-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em}.connect{position:relative;overflow:hidden;text-align:center;background:var(--navy2);color:white}.connect .eyebrow{justify-content:center}.connect h2{color:white}.connect h2 em{color:var(--gold)}.connect>p:not(.eyebrow){color:#bdc7d2;max-width:680px;margin-left:auto;margin-right:auto}.connect-art span{position:absolute;color:rgba(245,189,72,.15);font-size:8rem}.connect-art span:nth-child(1){left:8%;top:5%}.connect-art span:nth-child(2){right:10%;bottom:5%;font-size:5rem}.connect-art span:nth-child(3){right:2%;top:5%;font-size:3rem}.connect-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:26px}.connect .button{margin-top:0}.outline-button{border:1px solid var(--gold);color:var(--gold)}.outline-button:hover{background:rgba(245,189,72,.1)}
footer{padding:50px max(24px,calc((100vw - var(--max))/2));background:#050d19;color:#98a6b7;display:grid;grid-template-columns:1.2fr 1fr auto;gap:30px;align-items:center;font-size:.82rem}.footer-brand{color:white}.footer-brand .brand-logo{width:64px;height:64px}.footer-brand+.p{margin:0}footer>div{display:flex;gap:14px 22px;color:white;flex-wrap:wrap;justify-content:flex-end}footer>small{grid-column:1/-1;padding-top:20px;border-top:1px solid #263344}
@media(min-width:1101px){.hero>img{width:125%;left:8%}}
@media(max-width:1100px) and (min-width:801px){.hero>img{object-position:25% top}}
@media(max-width:800px){.site-header{height:72px}.menu-toggle{display:block}.site-header nav{position:absolute;top:72px;left:0;right:0;background:var(--navy);padding:22px 24px;flex-direction:column;align-items:stretch;display:none}.site-header nav.open{display:flex}.nav-cta{text-align:center}.hero{height:auto;min-height:760px}.hero>img{object-position:66% top}.hero-shade{background:linear-gradient(90deg,rgba(2,8,17,.9),rgba(2,8,17,.32)),linear-gradient(0deg,rgba(2,8,17,.85),transparent)}.hero-content{padding-top:90px}.hero h1{font-size:clamp(3.3rem,15vw,5.2rem)}.hero-lead{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-note{display:none}.upcoming,.wonka-upcoming{grid-template-columns:1fr}.upcoming-art{min-height:0;aspect-ratio:1400/669}.wonka-upcoming .upcoming-art{order:1;aspect-ratio:1400/596}.upcoming-copy,.wonka-upcoming .upcoming-copy{order:2;padding:60px 24px 70px}.intro,.heritage,.creative-team,.community,.programs,.productions,.festival,.values,.connect{padding-top:75px;padding-bottom:75px}.intro,.heritage,.creative-team,.community,.programs-head,.productions,.festival{grid-template-columns:1fr}.intro{gap:28px}.heritage,.creative-team,.community{gap:40px}.team-grid{grid-template-columns:1fr}.team-card{min-height:210px}.production-partners{grid-column:auto;grid-template-columns:1fr;gap:26px;padding-top:38px}.partners-grid{grid-template-columns:1fr}.community-logo{box-shadow:9px 9px 0 var(--gold)}.community-note{grid-template-columns:1fr;gap:8px}.director-card{padding:34px 28px;box-shadow:9px 9px 0 #e9dfce}.programs-head{gap:10px}.program-grid{grid-template-columns:1fr}.program-card{min-height:310px}.productions,.festival{gap:35px}.festival-milestones{grid-template-columns:1fr}.show-list>div{grid-template-columns:58px 1fr;gap:10px}.show-list small{grid-column:2;font-size:.65rem;text-align:left}.values-grid{grid-template-columns:1fr 1fr}.values-grid>div:nth-child(2){border-right:0}.values-grid>div{border-bottom:1px solid #e4ddd1}.values-grid>div:nth-child(3){border-bottom:0}.values-grid>div:nth-child(4){border-bottom:0}footer{grid-template-columns:1fr}footer>small{grid-column:1}}
@media(max-width:430px){.brand-logo{width:46px;height:46px}.brand-copy strong{font-size:.72rem}.brand-copy small{font-size:.57rem}.hero h1{font-size:3.5rem}.hero-content{padding-left:20px;padding-right:20px}.intro h2,.creative-team h2,.community h2,.programs h2,.productions h2,.festival h2,.connect h2{font-size:2.75rem}.community-logo{padding:28px 20px 24px}.show-list strong{font-size:1.25rem}.award-card,.return-card{padding:30px}footer>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.program-card{transition:none}}
