/*
Theme Name: Nutcracker Columbia
Description: A cinematic, Broadway-inspired website for South Carolina Ballet’s Nutcracker.
Version: 2.0.0
Author: South Carolina Ballet
Text Domain: nutcracker
*/
:root{--ivory:#F8F3EA;--ink:#192435;--wine:#742C3D;--gold:#C7A46B;--muted:#6a6155;--rule:#C7A46B;--serif:'GT Super Display',Georgia,serif;--display:'GT Super Display',Georgia,serif;--pink:#E6C5CB;--night:#192435}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--night);color:var(--ivory);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.02}h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(48px,5.7vw,84px);letter-spacing:-1px;margin-bottom:28px}h2 em{font:inherit;color:var(--gold)}h3{font-family:var(--serif);font-size:32px}p{margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:2.8px;font-weight:700;margin-bottom:22px;line-height:1.6;text-transform:uppercase}.star{color:var(--gold)}.skip{position:fixed;top:-100px;left:15px;background:var(--ivory);color:var(--ink);padding:12px;z-index:999}.skip:focus{top:10px}.announcement{background:var(--wine);color:var(--ivory);text-align:center;padding:8px 12px;font-size:10px;letter-spacing:2.2px;font-weight:700}.announcement span{margin:0 18px;color:var(--gold)}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:25px;background:#192435;position:sticky;top:0;z-index:20;border-bottom:1px solid #C7A46B33}.admin-bar .header{top:32px}.brand{display:flex;flex-direction:column;flex-shrink:0;line-height:1.1}.brand-kicker{font-size:8px;font-weight:700;letter-spacing:2.1px;color:var(--gold);margin-bottom:7px}.brand-title{font-family:var(--serif);text-transform:uppercase;font-size:24px;font-weight:700;letter-spacing:-1px}.header nav{display:flex;gap:25px;font-size:10px;letter-spacing:1.2px;font-weight:700;text-transform:uppercase}.header nav a{padding:12px 0;border-bottom:1px solid transparent}.header nav a:hover{color:var(--gold);border-color:var(--gold)}.button{display:inline-flex;gap:35px;justify-content:center;align-items:center;background:var(--wine);color:var(--ivory);padding:16px 26px;font-size:13px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;line-height:1.5;border:1px solid var(--wine);transition:background .2s,color .2s,transform .2s;min-height:53px}.button:hover{background:#742C3D;border-color:#742C3D;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.gold,.header-ticket{background:var(--gold);color:var(--ink);border-color:var(--gold)}.gold:hover,.header-ticket:hover{background:#F8F3EA;border-color:#F8F3EA;color:#192435}.outline{background:transparent;color:inherit;border-color:currentColor}.outline:hover{background:var(--wine);border-color:var(--wine);color:var(--ivory)}.menu-toggle{display:none}.hero{position:relative;min-height:790px;min-height:min(850px,calc(100svh - 122px));overflow:hidden;background:#192435;text-align:center;isolation:isolate}.hero-art{position:absolute;inset:0;z-index:-3}.hero-art>img,.hero-video{height:100%;width:100%;object-fit:cover;object-position:50% 48%}.hero-art>img{filter:saturate(.8)}.hero-video{position:absolute;inset:0}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#192435e0 0%,#1924354d 35%,#19243500 48%,#192435cc 78%,#192435 100%)}.hero:before{content:'';position:absolute;inset:25px;z-index:-1;border:1px solid #C7A46B55;pointer-events:none}.hero-content{padding:45px 5% 55px;min-height:inherit;display:flex;align-items:center;flex-direction:column;width:100%;position:relative}.hero .eyebrow{color:var(--gold);font-size:10px;letter-spacing:4px;margin-bottom:10px;display:flex;align-items:center;gap:20px}.line{height:1px;width:45px;background:var(--gold)}.hero .eyebrow:after{content:'';height:1px;width:45px;background:var(--gold)}h1{font-family:var(--serif);font-weight:700} .hero h1{margin:0 0 130px;text-transform:uppercase;line-height:.92;letter-spacing:-.05em;filter:drop-shadow(0 5px 20px #000b)}.title-the{display:block;font-size:22px;letter-spacing:10px;font-weight:400;line-height:1.5;margin-bottom:7px}.title-main{display:block;font-size:clamp(62px,10.3vw,168px);background:linear-gradient(180deg,#F8F3EA 20%,#C7A46B 58%,#F8F3EA 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-tagline{font-family:var(--serif);font-size:clamp(23px,2.5vw,36px);line-height:1.2;margin: auto 0 13px;text-shadow:0 2px 10px #000}.hero-location{font-size:12px;color:#F8F3EA;letter-spacing:.7px;margin-bottom:22px}.hero-location span{padding:0 8px;color:var(--gold)}.hero-actions{display:flex;gap:12px;justify-content:center}.hero-actions .button{min-width:215px}.hero-secondary{background:#192435aa;border-color:#C7A46B;color:var(--ivory)}.hero-footnote{order:0;font-size:10px;letter-spacing:2.5px;color:var(--gold);margin:20px 0 0;font-weight:700}.hero-footnote span{padding:0 12px}.hero-scroll{position:absolute;bottom:40px;right:45px;writing-mode:vertical-rl;display:flex;align-items:center;gap:17px;font-size:8px;letter-spacing:2px;color:var(--gold)}.hero-scroll span{font-size:22px}.video-toggle{position:absolute;right:43px;top:43px;z-index:3;background:#192435cc;color:var(--ivory);border:1px solid var(--gold);padding:9px 14px;font-size:11px}.occasion-bar{display:flex;align-items:center;justify-content:center;gap:38px;background:var(--gold);color:#192435;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;padding:22px 4%}.occasion-bar .star{color:var(--wine);font-size:20px}.section{padding:100px 7%;scroll-margin-top:0}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;background:radial-gradient(ellipse at 10% 20%,#742C3D 0%,#742C3D 60%,#742C3D 100%);position:relative;overflow:hidden}.intro:after{content:'✦';font-size:360px;position:absolute;bottom:-170px;left:29%;color:#C7A46B0a;pointer-events:none;line-height:1}.intro .eyebrow{color:#C7A46B}.intro h2{font-size:clamp(45px,5.3vw,78px);margin:0}.intro-copy{max-width:510px;padding-top:15px;position:relative;z-index:1}.intro-copy>p:first-child{font-family:var(--serif);font-size:23px;line-height:1.55}.intro-copy>p:nth-child(2){font-size:13px;line-height:1.9;color:#E6C5CB}.text-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--gold);line-height:1.6}.text-link span{font-size:20px}.text-link:hover{color:#F8F3EA}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.section-heading h2{margin:0}.section-heading>p{font-size:13px;line-height:1.8;max-width:330px;margin-bottom:8px}.dates{background:var(--ivory);color:var(--ink);position:relative}.dates .eyebrow{color:#742C3D}.dates h2 em,.journal h2 em,.visit h2 em,.faq h2 em{color:var(--wine)}.dates .section-heading>p{color:var(--muted)}.filters{display:flex;gap:0;margin-bottom:30px;border-bottom:1px solid var(--rule)}.filters button{background:transparent;border:0;border-bottom:3px solid transparent;padding:14px 25px;color:var(--muted);font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:800}.filters button.active{border-bottom-color:var(--wine);color:var(--wine)}.performance-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.performance{display:grid;grid-template-columns:75px 1fr;gap:18px;align-items:center;background:#F8F3EA;border:1px solid #C7A46B;padding:26px 26px 22px;position:relative}.performance[hidden]{display:none}.date-block{line-height:1;text-align:center;border-right:1px solid #C7A46B;padding-right:18px}.date-block span{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--wine)}.date-block strong{display:block;font-size:56px;font-family:var(--display);font-weight:400;margin-top:8px;color:var(--wine)}.performance-day h3{font-family:Arial,Helvetica,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:10px}.performance-day time{font-size:27px;font-family:var(--serif);white-space:nowrap}.performance-features{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.performance-features span{font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.5px;border:1px solid #C7A46B;padding:5px 8px}.performance-features span:first-child{background:#E6C5CB}.price{grid-column:1/-1;border-top:1px dashed #C7A46B;padding-top:18px;font-size:20px;font-weight:700;margin-top:3px;display:flex;justify-content:space-between;align-items:center}.price small{font-size:9px;font-weight:400;color:var(--muted)}.performance .button{grid-column:1/-1;background:var(--wine);color:var(--ivory);border-color:var(--wine);justify-content:space-between;padding:12px 18px;min-height:46px;font-size:11px}.performance .button:hover{background:#742C3D}.ticket-note{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;margin:26px 0 0}.ticket-note a{color:var(--wine);text-decoration:underline}.enhance{background:#192435}.enhance .eyebrow{color:var(--gold)}.enhance .section-heading>p{color:#E6C5CB}.experience-grid{display:grid;gap:40px}.experience{display:grid;grid-template-columns:1.15fr 1fr;background:#192435;border:1px solid #C7A46B44;min-height:410px}.experience-image{position:relative;overflow:hidden;min-height:410px}.experience-image img{height:100%;width:100%;position:absolute;inset:0;transition:transform .5s}.experience:hover .experience-image img{transform:scale(1.03)}.experience-image>span{position:absolute;left:25px;bottom:25px;background:var(--gold);color:#192435;padding:8px 12px;font-size:9px;font-weight:800;letter-spacing:1.5px}.experience-copy{padding:45px;align-self:center}.experience-copy .eyebrow{font-size:9px;margin-bottom:17px}.experience-copy h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(32px,3.2vw,48px);line-height:1.1;margin-bottom:22px}.experience-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#E6C5CB}.experience-copy .experience-detail{color:#C7A46B!important;font-size:11px!important}.experience-copy small{display:block;color:#E6C5CB;font-size:10px;margin-top:17px}.experience:nth-child(2){grid-template-columns:1fr 1.15fr}.experience:nth-child(2) .experience-image{order:2}.media{background:#192435;position:relative}.media .eyebrow{color:var(--gold)}.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery-item{padding:0;background:none;border:0;text-align:left;color:inherit;min-width:0;position:relative;overflow:hidden}.gallery-item:first-child{grid-column:1/-1}.gallery-item img{width:100%;height:330px;transition:transform .5s,filter .3s;filter:saturate(.85)}.gallery-item:first-child img{height:500px;object-position:center 42%}.gallery-item:hover img{transform:scale(1.025);filter:saturate(1.1)}.gallery-item:after{content:'↗';position:absolute;right:22px;top:22px;border:1px solid #C7A46B99;color:var(--gold);background:#192435a6;width:43px;height:43px;display:grid;place-items:center;font-size:24px}.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:65px 28px 25px;background:linear-gradient(transparent,#192435e8);font-family:var(--serif);font-size:27px}.media-credit{font-size:10px;color:#8f9b98;margin:24px 0 0}.trailer{margin-top:45px}.trailer h3{font-family:var(--display);text-transform:uppercase;font-size:40px}.trailer video{width:100%;max-height:680px;display:block}.journal{background:var(--ivory);color:var(--ink)}.journal .eyebrow{color:var(--wine)}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.journal-image{display:block;overflow:hidden}.journal-image img{height:290px;width:100%;transition:transform .4s}.journal-image:hover img{transform:scale(1.04)}.journal-card .eyebrow{font-size:9px;letter-spacing:1px;margin:24px 0 14px}.journal-card .eyebrow span{margin:0 8px}.journal-card h3{font-size:29px;line-height:1.14;margin-bottom:17px}.journal-card>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8}.journal .text-link{color:var(--wine)}.visit{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;background:#E6C5CB;color:var(--ink);border-top:1px solid #C7A46B}.visit .eyebrow{color:var(--wine)}.visit>div>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:420px}.visit-info{border-left:1px solid #C7A46B;padding:12px 0 0 65px}.visit .address{font-family:var(--serif);font-size:33px!important;line-height:1.4!important}.visit .text-link{color:var(--wine)}.visit-links{display:flex;flex-direction:column;margin-top:35px}.visit-links a{border-top:1px solid #C7A46B;padding:14px 0;font-size:12px}.faq{background:var(--ivory);color:var(--ink);padding-left:max(7%,calc((100% - 1000px)/2));padding-right:max(7%,calc((100% - 1000px)/2))}.faq .eyebrow{color:var(--wine)}.faq details{border-bottom:1px solid var(--rule)}.faq summary{padding:22px 0;cursor:pointer;font-size:15px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:24px;color:var(--wine);line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;line-height:1.9;color:var(--muted);padding-right:20px}.closing{padding:110px 5%;text-align:center;background:radial-gradient(ellipse at center,#742C3D 0%,#742C3D 70%,#192435 100%);border-top:1px solid #C7A46B44}.closing .eyebrow{color:var(--gold)}.closing h2{font-size:clamp(55px,7vw,105px);margin-bottom:38px}.closing h2 em{display:block}footer{padding:65px 7% 25px;background:#192435;color:var(--ivory)}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-title{font-family:var(--serif);text-transform:uppercase;font-size:32px;font-weight:700;letter-spacing:-1.4px;display:block}.footer-top p:not(.eyebrow),.footer-top a:not(.footer-title){font-size:11px;color:#E6C5CB}.footer-top>div>a:not(.footer-title){display:block;margin-bottom:12px}.footer-top .eyebrow{font-size:9px;color:var(--gold);margin-bottom:18px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #C7A46B33;margin-top:45px;padding-top:23px;font-size:9px;color:#8f988f;letter-spacing:.5px}.footer-bottom .star{margin:0 10px}dialog{padding:18px;background:#192435;color:var(--ivory);border:1px solid #C7A46B77;max-width:92vw;max-height:92vh}dialog::backdrop{background:#192435ed}dialog img{max-height:75vh;width:auto;max-width:100%}dialog p{margin:12px 0 0;font-size:13px}.dialog-close{position:absolute;right:24px;top:24px;color:#111;background:var(--gold);width:40px;height:40px;border:0;font-size:26px}.article-main{background:var(--ivory);color:var(--ink);padding:75px max(6%,calc((100% - 820px)/2))}.article-main h1{font-family:var(--serif);color:var(--wine);font-size:clamp(40px,5vw,68px);line-height:1.1;letter-spacing:-2px}.article-main .text-link{color:var(--wine)}.article-main .article-image{max-height:460px;width:100%;margin:30px 0}.article-content{font-size:16px;line-height:1.9}.article-content h2{font-size:35px;margin-top:38px}.article-content a{text-decoration:underline}.article-content img{height:auto}.archive-list{display:grid;gap:35px}.archive-list article{border-bottom:1px solid var(--rule);padding-bottom:25px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
@media(min-width:1600px){.section,.header,footer{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}.hero{min-height:850px}}
@media(max-width:1100px){.header{padding:0 3%;gap:15px}.header nav{gap:17px;font-size:9px;letter-spacing:.6px}.brand-title{font-size:20px}.header-ticket{padding:13px 17px;gap:15px;font-size:11px}.section{padding:75px 5%}.intro{gap:50px}.performance{padding:21px;grid-template-columns:65px 1fr;gap:15px}.performance-day time{font-size:24px}.occasion-bar{gap:22px;font-size:9px}.experience-copy{padding:30px}.experience,.experience-image{min-height:380px}.visit{gap:50px}.visit-info{padding-left:40px}.journal-image img{height:240px}.hero-scroll{display:none}}
@media(max-width:800px){.header{height:78px;padding:0 5%}.brand-title{font-size:22px}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:#192435;padding:25px 5% 30px;flex-direction:column;gap:6px;font-size:14px;letter-spacing:1.5px;border-bottom:1px solid #C7A46B55}.header nav.open{display:flex}.menu-toggle{display:flex;align-items:center;gap:9px;background:none;border:0;color:var(--ivory);font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-left:auto;padding:10px}.menu-toggle span{font-size:22px}.hero{min-height:720px}.hero-content{padding-top:65px;padding-bottom:60px}.hero h1{margin-bottom:180px}.hero-art>img{object-position:53% center}.hero:after{background:linear-gradient(180deg,#192435ee,#19243533 44%,#19243555 60%,#192435 100%)}.title-main{font-size:10.3vw}.title-the{font-size:20px}.hero-tagline{font-size:28px}.occasion-bar{gap:15px;font-size:9px;letter-spacing:.7px}.occasion-bar>span:last-child,.occasion-bar .star:nth-last-child(2){display:none}.intro{grid-template-columns:1fr;gap:25px}.intro-copy{max-width:650px;padding:0}.intro h2{font-size:64px}.section-heading{gap:25px;align-items:start}.section-heading>p{max-width:220px}.performance-list{grid-template-columns:repeat(2,1fr)}.performance{padding:24px}.experience,.experience:nth-child(2){grid-template-columns:1fr 1fr}.experience-copy{padding:25px}.experience-copy h3{font-size:35px}.experience-copy .text-link{font-size:10px;gap:15px}.experience-copy>p:not(.eyebrow){font-size:12px}.media-grid{gap:18px}.gallery-item:first-child img{height:370px}.gallery-item img{height:250px}.journal-grid{gap:20px}.journal-image img{height:210px}.journal-card h3{font-size:25px}.visit{gap:35px}.visit-info{padding-left:30px}.footer-top{gap:25px}.footer-title{font-size:26px}.faq{padding-left:7%;padding-right:7%}}
@media(max-width:560px){html{scroll-padding-top:86px}.announcement{font-size:8px;letter-spacing:1px;padding:8px 5px}.announcement span{margin:0 7px}.header{height:72px;padding:0 4%;gap:8px}.admin-bar .header{top:46px}.brand-kicker{font-size:6px;letter-spacing:1.1px;margin-bottom:5px}.brand-title{font-size:17px;letter-spacing:-.7px}.header-ticket{min-height:39px;padding:10px;font-size:9px;gap:8px;letter-spacing:.7px}.header-ticket span{font-size:15px}.menu-toggle{font-size:0;padding:7px;gap:0}.menu-toggle span{font-size:21px}.header nav{top:72px}.hero{min-height:650px;min-height:calc(90svh - 102px);max-height:790px}.hero-content{padding:50px 5% 40px}.hero:before{inset:12px}.hero .eyebrow{font-size:8px;letter-spacing:2px;gap:12px}.hero .eyebrow:after,.line{width:24px}.title-the{font-size:16px;letter-spacing:6px}.title-main{font-size:10.7vw;letter-spacing:-.05em}.hero h1{margin-bottom:180px}.hero-art>img{object-position:52% center}.hero-tagline{font-size:24px;max-width:260px;line-height:1.25;margin-bottom:15px}.hero-location{font-size:10px;letter-spacing:0;margin-bottom:20px}.hero-actions{gap:8px;width:100%;max-width:360px}.hero-actions .button{font-size:10px;letter-spacing:.5px;padding:13px 12px;min-width:0;gap:12px;flex:1;min-height:49px}.hero-actions .button span{font-size:16px}.hero-footnote{font-size:8px;letter-spacing:1.3px;margin-top:18px}.hero-footnote span{padding:0 7px}.occasion-bar{padding:17px 4%;gap:12px;font-size:8px;text-align:center;line-height:1.6}.occasion-bar .star{font-size:16px}.section{padding:60px 6%}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:17px}h2,.intro h2{font-size:48px;letter-spacing:-.5px}.intro-copy>p:first-child{font-size:21px}.intro-copy>p:nth-child(2){font-size:12px}.section-heading{flex-direction:column;gap:20px;margin-bottom:30px}.section-heading>p{max-width:none;font-size:12px;margin:0}.filters{margin-bottom:22px}.filters button{padding:12px 11px;font-size:9px;letter-spacing:.3px;flex:1}.performance-list{grid-template-columns:1fr;gap:17px}.performance{grid-template-columns:75px 1fr;padding:23px 25px;column-gap:23px;row-gap:15px}.date-block strong{font-size:54px}.performance-day time{font-size:29px}.performance-day h3{font-size:12px}.performance-features{margin-top:0}.price{font-size:19px}.performance .button{min-height:45px}.ticket-note{display:block;font-size:9px;line-height:1.8}.ticket-note a{display:block;margin-top:9px}.experience-grid{gap:28px}.experience,.experience:nth-child(2){grid-template-columns:1fr;min-height:0}.experience-image{min-height:240px}.experience:nth-child(2) .experience-image{order:0}.experience-image>span{left:18px;bottom:18px;font-size:8px;padding:6px 10px}.experience-copy{padding:28px 23px}.experience-copy h3{font-size:37px}.experience-copy>p:not(.eyebrow){font-size:12px}.media-grid{grid-template-columns:1fr;gap:18px}.gallery-item:first-child{grid-column:auto}.gallery-item:first-child img,.gallery-item img{height:270px}.gallery-item span{font-size:24px;padding:60px 20px 20px}.gallery-item:after{width:35px;height:35px;font-size:21px;top:16px;right:16px}.journal-grid{grid-template-columns:1fr;gap:38px}.journal-image img{height:280px}.journal-card h3{font-size:31px}.journal-card .eyebrow{margin-top:20px}.visit{grid-template-columns:1fr;gap:35px}.visit-info{border-left:0;border-top:1px solid #C7A46B;padding:28px 0 0}.visit .address{font-size:30px!important}.faq summary{font-size:13px;line-height:1.6}.closing{padding:75px 6%}.closing h2{font-size:54px}.footer-top{grid-template-columns:1fr 1fr;gap:28px}.footer-top>div:first-child{grid-column:1/-1}.footer-title{font-size:31px}.footer-top .eyebrow{font-size:8px;letter-spacing:1px}.footer-bottom{flex-direction:column;gap:8px;font-size:8px}.article-main{padding:50px 6%}.article-main h1{font-size:41px;letter-spacing:-1.5px}.article-content{font-size:14px}.article-content h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.hero-video{display:none}}
/* Keep poster typography and ticket navigation within narrow phone screens. */
.section>div,.section-heading>div{min-width:0}
@media(max-width:560px){h2,.intro h2{font-size:clamp(36px,11.4vw,48px)}}
@media(max-width:360px){.brand-title{font-size:14px}.brand-kicker{font-size:5.5px;letter-spacing:.9px}.header{gap:5px;padding:0 10px}.header-ticket{font-size:8px;gap:5px;white-space:nowrap;padding:10px 8px}.menu-toggle{padding:5px}.hero-location{font-size:9px}.hero-actions .button{font-size:9px;padding:12px 9px;gap:7px}.hero-footnote{font-size:7px;letter-spacing:1px}}

@font-face{font-family:'GT Super Display';src:url('assets/fonts/GT-Super-Display-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'GT Super Display';src:url('assets/fonts/GT-Super-Display-Regular-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
h1,.brand-title,.footer-title{font-weight:400}
h2,.experience-copy h3,.trailer h3{text-transform:none;letter-spacing:-.035em;line-height:1.08}
h2{font-size:clamp(42px,5vw,72px)}
h2 em{font-style:italic}
.hero h1{margin-top:20px;line-height:1.05}
.title-main{font-size:clamp(50px,9.6vw,150px);letter-spacing:-.045em}
.brand-title{letter-spacing:-.04em}
.intro h2{font-size:clamp(42px,4.8vw,70px)}
@media(max-width:800px){.intro h2{font-size:54px}.experience-copy h3{font-size:33px}}
@media(max-width:560px){h2,.intro h2{font-size:clamp(32px,9.5vw,43px)}.hero h1{margin-top:16px}.title-main{font-size:10vw}.experience-copy h3{font-size:33px}.closing h2{font-size:46px}.brand-title{font-size:17px}}
@media(max-width:360px){.brand-title{font-size:14px}.closing h2{font-size:40px}}

/* Nutcracker palette: burgundy, antique gold, ballet pink, midnight navy, warm ivory. */
.hero .title-main{background:linear-gradient(180deg,#F8F3EA 0%,#C7A46B 65%,#F8F3EA 100%);background-clip:text;-webkit-background-clip:text}
.intro{background:var(--wine)}
.intro-copy>p:nth-child(2),.enhance .section-heading>p,.experience-copy>p:not(.eyebrow){color:var(--ivory)}
.enhance{background:var(--night)}.experience{background:#F8F3EA08}
.experience:nth-child(2){background:var(--night);color:var(--ivory)}
.experience:nth-child(2) .eyebrow,.experience:nth-child(2) .text-link,.experience:nth-child(2) .experience-detail{color:var(--gold)!important}
.experience:nth-child(2) .experience-copy>p:not(.eyebrow),.experience:nth-child(2) small{color:var(--ivory)}
.visit{background:var(--night);color:var(--ivory)}
.visit .eyebrow,.visit h2 em,.visit .text-link{color:var(--gold)}
.visit .outline{background:transparent;border-color:var(--gold);color:var(--ivory)}
.visit .outline:hover{background:var(--gold);color:var(--night)}
.closing{background:linear-gradient(120deg,var(--wine),var(--night))}
.gold:hover,.header-ticket:hover{background:var(--pink);border-color:var(--pink)}
.text-link:hover{color:var(--pink)}.journal .text-link:hover{color:var(--night)}.visit .text-link:hover{color:var(--ivory)}
footer .footer-top p:not(.eyebrow),footer .footer-top a:not(.footer-title),.footer-bottom,.media-credit{color:var(--ivory)}
.footer-policy{display:flex;flex-wrap:wrap;gap:24px;margin-top:35px;padding-top:22px;border-top:1px solid #C7A46B55;font-size:11px;color:var(--ivory)}
.footer-policy a:hover{color:var(--gold)}
.contact-heading{padding:70px 7%;background:var(--wine)}
.contact-heading .eyebrow{color:var(--pink)}
.contact-heading h1{font-family:var(--display);font-size:clamp(48px,7vw,90px);margin-bottom:20px;font-weight:400}
.contact-heading>p:last-child{max-width:650px;font-size:16px;color:var(--ivory)}
.contact-main{background:var(--ivory);color:var(--night);padding:70px 7% 90px}
.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:65px;align-items:start}
.contact-grid h2{font-size:42px;margin-bottom:22px;color:var(--wine)}
.contact-grid h3{font-size:27px;margin:30px 0 12px}
.contact-aside{background:var(--pink);padding:35px}
.contact-aside a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.contact-aside p{font-size:13px;line-height:1.8}
.contact-form-note{font-size:12px;color:#55515A;line-height:1.8}
.contact-main div.wpforms-container-full{margin:0}
.contact-main div.wpforms-container-full .wpforms-field-label{color:var(--night);font-size:13px;font-weight:700}
.contact-main div.wpforms-container-full input[type=text],.contact-main div.wpforms-container-full input[type=email],.contact-main div.wpforms-container-full select,.contact-main div.wpforms-container-full textarea{border:1px solid #C7A46B;background:#fff;color:var(--night);border-radius:0;box-shadow:none;max-width:none;width:100%}
.contact-main div.wpforms-container-full .wpforms-field{padding:13px 0}
.contact-main div.wpforms-container-full .wpforms-submit{background:var(--wine)!important;color:var(--ivory)!important;border:1px solid var(--wine)!important;border-radius:0!important;padding:15px 28px!important;height:auto!important;font-size:12px!important;letter-spacing:1px;text-transform:uppercase;box-shadow:none!important}
.contact-main div.wpforms-container-full .wpforms-submit:hover{background:var(--night)!important;border-color:var(--night)!important}
.contact-main div.wpforms-container-full .wpforms-confirmation-container-full{background:var(--pink);border:1px solid var(--gold);color:var(--night)}
.article-content table{border-collapse:collapse;width:100%;font-size:13px;margin:25px 0}.article-content th,.article-content td{border:1px solid var(--rule);padding:12px;text-align:left;vertical-align:top}.article-content th{background:var(--pink)}
@media(max-width:1100px){.header nav{gap:15px}}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:35px}.contact-heading{padding:50px 6%}.contact-main{padding:45px 6%}.contact-aside{padding:28px}.contact-grid h2{font-size:36px}}
.article-content td{overflow-wrap:anywhere}

/* Midnight navy performance accents. */
.dates .eyebrow,.dates h2 em,.dates .date-block span,.dates .date-block strong,.dates .ticket-note a{color:var(--night)}
.dates .filters button.active{border-bottom-color:var(--night);color:var(--night)}
.performance .button{background:var(--night);border-color:var(--night)}
.performance .button:hover{background:var(--gold);border-color:var(--gold);color:var(--night)}
