@font-face{font-family:Anton;src:url('assets/fonts/anton.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--poster-blue:#0758c9;--gutter:clamp(23px,4.5vw,86px)}
h1,h2,h3{font-family:Anton,'Arial Narrow',sans-serif;font-weight:400;letter-spacing:-.025em}
.asset-masks{position:absolute;pointer-events:none;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html{scroll-padding-top:106px}
section[id],div[id]{scroll-margin-top:16px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(0,30,43,.98);border-bottom:1px solid #fff4de22;box-shadow:0 4px 25px #0003}
.desktop-nav a{font-size:15px}
.header-actions{gap:24px}
.motion-toggle{font-size:12px;color:var(--muted);gap:8px;padding-inline:0;min-height:44px}
.motion-symbol{color:var(--gold)}
.button{border-radius:0;box-shadow:3px 4px 0 #0002;min-height:54px;font-weight:700;transition:background 180ms ease,transform 180ms ease}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button-gold,.header-cta{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.header-cta:hover{background:var(--ivory);color:var(--ink)}
.header-cta{font-size:14px;min-height:46px;padding:12px 19px}
.hero{display:block;position:relative;min-height:0;height:clamp(590px,calc(100svh - 96px),970px);padding:0;isolation:isolate;background:#001522;overflow:hidden;border-bottom:1px solid #fff4de22}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,#001522 99%);z-index:6}
.hero .hero-name{position:absolute;left:3%;top:-10px;width:94%;margin:0;font-size:clamp(180px,28vw,540px);line-height:1;letter-spacing:-.04em;text-align:center;color:var(--ivory);z-index:1;text-wrap:initial}
.hero-name>span{display:block;white-space:nowrap}
.scene-lights{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.scene-lights i{position:absolute;top:-12%;width:clamp(260px,30vw,760px);height:140%;transform-origin:50% 0;clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);background:linear-gradient(180deg,#d8efff77,#84b4e922 72%,transparent)}
.scene-lights .light-left{left:-7%;animation:posterLightLeft 8s ease-in-out infinite alternate}
.scene-lights .light-right{right:-9%;animation:posterLightRight 10s ease-in-out infinite alternate;background:linear-gradient(180deg,#fff4de88,#f4c54218 75%,transparent)}
.hero .hero-media{position:absolute;left:35%;top:-2%;height:auto;width:58%;max-width:none;z-index:3;margin:0;align-self:auto}
.hero .hero-portrait{display:block;position:relative;width:100%;height:auto;object-fit:initial;border-radius:0;clip-path:url(#blue-artist-mask);mask-image:linear-gradient(#000 73%,transparent 96%);object-position:initial}


.hero-tent-wrap{position:absolute;right:-2%;bottom:-8%;width:33%;height:58%;z-index:3}
.hero .hero-tent{position:static;height:100%;width:100%;padding:0;background:transparent;box-shadow:none;transform:none;mask-image:linear-gradient(transparent,#000 18%,#000 64%,transparent);animation:tentSway 7s ease-in-out infinite}
.hero-tent img{width:100%;height:100%;object-fit:cover;object-position:50% 5%;aspect-ratio:auto}
.hero .hero-copy{position:absolute;left:var(--gutter);bottom:68px;max-width:56%;padding:0;z-index:8;align-self:auto;text-align:left}
.hero-copy .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:10px}
.hero-copy h2{font-size:clamp(52px,6.5vw,115px);line-height:1.02;white-space:nowrap;font-style:italic;letter-spacing:-.015em}
.hero-copy h2 span{color:var(--gold)}
.hero .hero-description{font-size:clamp(15px,1.35vw,23px);line-height:1.5;margin:12px 0 24px;max-width:none}
.hero-actions{gap:27px;align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}
.hero-actions .button{min-width:210px;padding:16px 25px;font-size:16px}
.hero-actions .text-link{font-size:14px;min-height:44px;gap:16px;border-color:transparent}
.scene-note{position:absolute;right:5%;top:20%;z-index:2;font-style:italic;font-weight:700;transform:rotate(-9deg);font-size:clamp(18px,2.8vw,44px);line-height:1.05;text-transform:uppercase;letter-spacing:-.035em;color:#8fb8df}
.scene-curtain{position:absolute;top:0;bottom:0;width:54%;z-index:5;pointer-events:none;background:repeating-linear-gradient(90deg,#490e1b 0,#a61f2e 9%,#d6353d 13%,#60101d 21%);box-shadow:inset -10px 0 30px #25040bb3;transform-origin:top center}
.scene-curtain.curtain-left{left:0;transform:translateX(-88%)}
.scene-curtain.curtain-right{right:0;transform:translateX(88%)}
.scene-tools{position:absolute;bottom:19px;left:var(--gutter);right:var(--gutter);z-index:9;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}
.scene-tools button{background:transparent;color:var(--ivory);padding:10px 0;min-height:44px;display:flex;align-items:center;gap:14px}
.scene-tools button span{font-size:19px;color:var(--gold)}
.scene-tools>a{padding:10px 0;min-height:44px;display:flex;gap:9px;align-items:center}
.scene-tools>a::before{content:'';height:2px;width:25px;background:var(--red);margin-right:5px}
.scene-tools>a>span:first-child{color:var(--muted)}
.stage-marquee{overflow:hidden;background:var(--red);border-block:1px solid var(--gold);padding:17px 0}
.marquee-track{width:max-content;display:flex;animation:posterMarquee 24s linear infinite}
.marquee-track>span{display:flex;align-items:center;gap:35px;white-space:nowrap;padding-right:35px;font-family:Anton,sans-serif;text-transform:uppercase;font-size:29px;line-height:1.2;letter-spacing:.02em}
.marquee-track b{font-size:20px;color:var(--gold);font-weight:400}
.motion-scene[data-in-view="false"] *,.motion-scene[data-in-view="false"] *::after{animation-play-state:paused!important}
.section{padding-block:100px}
.section-intro h2{font-size:clamp(54px,7.5vw,132px);line-height:1.01;text-wrap:balance}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:600}
.paper{background:var(--ivory)}
.paper::before{display:none}
.functions{display:grid;grid-template-columns:1fr 1.36fr;column-gap:6%;align-items:center;position:relative;isolation:isolate;overflow:hidden}
.functions::after{content:'';position:absolute;left:-12%;top:64%;width:128%;height:70px;transform:rotate(-20deg);background:var(--poster-blue);z-index:-1}
.functions .section-intro{margin:0;max-width:100%;align-self:start;padding-top:35px}
.functions .section-intro h2{font-size:clamp(54px,7.7vw,142px)}
.functions .section-intro>p:last-child{font-size:17px;max-width:24ch;margin-top:24px}
.ticket{display:block;position:relative;overflow:visible;border:0;border-radius:0;background:var(--red);color:var(--ivory);transform:rotate(2deg);padding:40px 42px 190px;box-shadow:8px 10px 0 #001e2b15;min-width:0}
.ticket::before,.ticket::after{display:none}
.ticket-main{padding:0;position:relative;z-index:2}
.ticket-country{font-size:14px;letter-spacing:.16em;font-weight:600}
.ticket h3{font-family:Anton,sans-serif;font-size:clamp(64px,7.4vw,132px);line-height:1.1;margin-top:14px;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere}
.ticket-status{font-family:Anton,sans-serif;font-size:34px;text-transform:uppercase;color:var(--gold);margin:25px 0 9px}
.ticket-description{font-size:16px;line-height:1.6;max-width:29ch;margin:0 0 25px}
.ticket-main .button{background:var(--gold);color:var(--ink);border-color:var(--gold);font-size:14px}
.ticket-stub{position:absolute;right:-24px;bottom:-15px;width:53%;height:240px;padding:0;display:block;border:0;background:var(--ink);transform:rotate(-7deg);border:5px solid var(--ivory);box-shadow:0 8px 20px #001e2b30}
.ticket-stub img{width:100%;height:100%;object-fit:cover;object-position:50% 5%}
.ticket-stub p{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#001e2bee);padding:27px 13px 12px;margin:0;text-align:left;font-size:11px;color:var(--ivory)}
.functions-links{grid-column:1/-1;justify-content:flex-end;margin-top:35px;gap:28px;position:relative;z-index:1}
.functions-links>p{font-size:13px;margin-right:auto;background:var(--ivory);padding:7px 0}
.paper-star{right:auto;left:5%;top:auto;bottom:21%;font-size:65px;color:var(--red);animation:posterStar 16s linear infinite}
.show{background:#06182c;position:relative;overflow:hidden}
.show .section-intro{max-width:100%;margin-bottom:55px}
.show .section-intro h2{font-size:clamp(54px,8vw,142px)}
.show-composition{display:grid;grid-template-columns:1.3fr .9fr .85fr;gap:35px;align-items:center}
.show-photo .portrait-arch{padding:0;border:0;border-radius:0;background:transparent}
.show-photo.photo-globe .portrait-arch{height:600px}
.photo-artist{padding:0;transform:rotate(4deg)}
.photo-artist .portrait-arch{height:490px;border:7px solid var(--ivory)}
.show-photo img{width:100%;height:100%;object-fit:cover;border-radius:0;object-position:50% 20%}
.show-photo figcaption{font-size:15px;line-height:1.7;margin-top:16px}
.show-story{padding:0;position:relative;z-index:1}
.show-story h3{font-size:48px;line-height:1.08;text-transform:uppercase}
.show-story .star-rule{margin:25px 0}
.show-story>p:not(.program-note){font-size:17px;line-height:1.7}
.show-story .act-list{font-size:14px;line-height:1.8;margin:20px 0}
.show-story .program-note{font-size:12px;line-height:1.7}
.legacy{grid-template-columns:1.1fr 1fr;gap:8%;overflow:hidden}
.legacy-year{font-family:Anton,sans-serif;font-size:clamp(150px,18vw,310px);color:var(--red);text-shadow:none;line-height:1;margin:12px 0 27px}
.legacy h2{font-size:clamp(42px,4.6vw,84px);line-height:1.08}
.legacy .eyebrow{font-size:11px}
.legacy-photo{transform:rotate(3deg)}
.photo-matte{padding:9px;background:var(--ink)}
.legacy-photo img{object-position:50% 40%;min-height:450px}
.legacy-photo figcaption{font-size:13px}
.legacy-stamp{display:none}
.glimpse{background:var(--poster-blue);grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}
.glimpse h2{font-size:clamp(48px,6vw,110px)}
.glimpse .eyebrow{color:var(--gold)}
.reel-link{border:7px solid var(--ivory);padding:0;transform:rotate(-3deg);background:var(--ink)}
.reel-link>img{height:470px;filter:none}
.reel-caption{font-size:14px;padding:17px}
.play-button{border-radius:0;background:var(--gold);color:var(--ink);box-shadow:5px 6px 0 #0004;border:0}
.glimpse-copy>p:not(.eyebrow){font-size:19px;max-width:36ch}
.gallery{background:var(--ink);overflow:hidden}
.gallery .section-intro{text-align:left;max-width:none;margin-bottom:50px}
.gallery .section-intro h2{font-size:clamp(60px,10vw,180px);line-height:1.04}
.gallery .section-intro>p{display:inline-block;background:var(--red);padding:10px 20px;transform:rotate(-2deg);font-size:16px;margin-top:23px}
.gallery-grid{display:grid;grid-template-columns:1.25fr .87fr 1fr;gap:42px 25px;align-items:start}
.gallery-item>a{padding:0;border:0;background:transparent;box-shadow:none}
.gallery-grid .gallery-item:nth-child(n){padding-top:0;align-self:start}
.gallery-grid .gallery-item:nth-child(2),.gallery-grid .gallery-item:nth-child(5){padding-top:70px;transform:rotate(3deg)}
.gallery-grid .gallery-item:nth-child(3){padding-top:22px}
.gallery-item figcaption{font-size:15px;text-align:left;color:var(--ivory);line-height:1.6}
.gallery-hover{left:auto;right:12px;bottom:13px;padding:10px 14px;border:1px solid #fff4decc;background:#001e2bd9;gap:20px;font-size:13px}
.gallery-controls{display:none}
.gallery-end .button{border-radius:0;font-size:15px}
.visit{grid-template-columns:1fr 1fr;gap:10%}
.visit-intro h2{font-size:clamp(50px,6vw,106px);line-height:1.02}
.faq h3{font-family:'DM Sans',sans-serif;font-weight:600;font-size:23px;letter-spacing:0}
.faq summary{font-size:16px;min-height:80px}
.faq details>p{font-size:15px;line-height:1.8}
.finale{background:var(--red);padding-block:95px}
.finale h2{font-size:clamp(50px,7.4vw,140px);line-height:1.05}
.finale-rays{opacity:.2}
.finale .circus-star{animation:posterStar 20s linear infinite}
.finale p{font-size:12px}
.site-footer nav a,.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.photo-dialog{border-radius:0}
.photo-navigation button{border-radius:0}
.menu-toggle{min-height:44px;min-width:44px}
.menu-dialog nav a{font-family:Anton,sans-serif;text-transform:uppercase;line-height:1.18;font-size:clamp(29px,7vw,58px)}
@keyframes posterLightLeft{from{transform:rotate(-26deg)}to{transform:rotate(28deg)}}
@keyframes posterLightRight{from{transform:rotate(25deg)}to{transform:rotate(-24deg)}}
@keyframes posterMarquee{to{transform:translateX(-50%)}}
@keyframes posterStar{to{transform:rotate(360deg)}}
@keyframes tentSway{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(2deg)}}
@media(min-width:2000px){.hero .hero-copy{bottom:92px}.hero .hero-media{width:51%;left:39%;top:-10%}.hero-tent-wrap{height:62%}.hero .hero-name{font-size:27vw;max-height:70%}}
@media(max-width:1200px){.desktop-nav{gap:21px}.header-actions{gap:18px}.hero .hero-copy{max-width:60%}.hero-copy h2{font-size:6.4vw}.hero .hero-description{font-size:16px}.hero-actions{gap:20px}.hero-actions .button{font-size:14px;min-width:175px}.hero-actions .text-link{font-size:12px}.show-composition{gap:25px;grid-template-columns:1.2fr 1fr}.show-story{grid-column:1/-1;display:grid;grid-template-columns:.65fr 1.35fr;gap:15px 40px}.show-story h3{grid-row:1/4}.show-story .star-rule{display:none}.show-story .program-note{grid-column:2}.show-photo.photo-globe .portrait-arch{height:520px}.photo-artist .portrait-arch{height:450px}.ticket{padding:35px 31px 170px}.ticket h3{font-size:9vw}.ticket-stub{height:210px}.hero .hero-media{top:1%}}
@media(max-width:900px){html{scroll-padding-top:86px}.site-header{height:76px}.hero{height:clamp(650px,calc(100svh - 76px),1040px)}.hero .hero-name{top:20px;font-size:28vw}.hero .hero-media{width:83%;left:20%;top:5%}.hero-tent-wrap{width:43%;height:47%;right:-9%;bottom:4%}.hero .hero-copy{max-width:76%;bottom:78px;left:var(--gutter)}.hero-copy h2{font-size:8.8vw}.hero .hero-description{font-size:18px;margin:13px 0 20px}.hero-copy .eyebrow{font-size:10px;justify-content:flex-start}.hero-actions{justify-content:flex-start;flex-direction:row}.scene-note{top:38%;right:5%;font-size:26px}.section{padding-block:80px}.functions{grid-template-columns:1fr 1.2fr;gap:6%}.functions .section-intro h2{font-size:8vw}.ticket h3{font-size:9vw}.ticket-description{font-size:15px}.ticket-status{font-size:29px}.legacy{gap:6%}.legacy-year{font-size:21vw}.legacy h2{font-size:5.2vw}.glimpse h2{font-size:7vw}.glimpse{gap:7%}.reel-link>img{height:380px}.glimpse-copy>p:not(.eyebrow){font-size:17px}.visit-intro h2{font-size:7vw}.gallery-grid{gap:35px 20px}.gallery .section-intro h2{font-size:11vw}.gallery-item figcaption{font-size:13px}.footer-message{font-size:19px}}
@media(max-width:600px){
  :root{--gutter:23px}
  .site-header{height:74px;padding-inline:18px;gap:11px}
  .header-actions{gap:16px}
  .motion-toggle{font-size:10px;gap:7px;min-height:44px}
  .motion-toggle [data-motion-label]{max-width:64px;line-height:1.35;text-align:left}
  .site-header .brand{height:72px;width:105px}.site-header .brand img{height:105px;width:105px;margin-top:-15px}
  .menu-toggle{font-size:12px;gap:7px}
  .hero{height:clamp(650px,calc(100svh - 74px),860px);padding:0}
  .hero .hero-name{top:14px;left:1%;width:98%;font-size:30vw;line-height:1;letter-spacing:-.03em}
  .hero .hero-media{width:127%;left:-6%;top:5%;max-width:none;margin:0}
  
  .hero-tent-wrap{width:54%;height:43%;right:-5%;bottom:12%}
  .scene-curtain{width:54%;background:repeating-linear-gradient(90deg,#490e1b 0,#a61f2e 11%,#d6353d 17%,#60101d 29%)}
  .scene-lights i{width:245px;top:-12%;height:128%}.scene-lights .light-left{left:-110px}.scene-lights .light-right{right:-100px}
  .scene-note{top:34%;right:6%;font-size:20px}
  .hero .hero-copy{left:var(--gutter);right:var(--gutter);bottom:78px;max-width:none;padding:0}
  .hero-copy .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:7px}
  .hero-copy h2{font-size:11.5vw;line-height:1.04;white-space:nowrap}
  .hero .hero-description{font-size:13px;line-height:1.55;margin:10px 0 16px;max-width:30ch}
  .hero-actions{gap:7px;flex-direction:column;align-items:stretch;justify-content:flex-start}
  .hero-actions .button{width:100%;min-height:54px;min-width:0;font-size:16px;padding:14px 21px;justify-content:space-between}
  .hero-actions .text-link{min-height:42px;align-self:flex-start;font-size:12px;gap:14px;padding-bottom:0}
  .scene-tools{bottom:12px;left:var(--gutter);right:var(--gutter);gap:8px;align-items:center;font-size:10px;flex-wrap:wrap}
  .scene-tools button{font-size:10px;gap:7px;min-height:44px;padding:9px 0}
  .scene-tools>a{gap:4px;font-size:10px;min-height:44px}
  .scene-tools>a::before{width:15px;margin-right:2px}
  .stage-marquee{padding-block:15px}.marquee-track>span{font-size:23px;gap:23px;padding-right:23px}.marquee-track b{font-size:17px}
  .section{padding-block:62px}
  .section-intro h2{font-size:15vw;line-height:1.03}
  .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:17px}
  .functions{display:block;overflow:hidden}
  .functions .section-intro{padding:0;margin-bottom:35px;max-width:100%}
  .functions .section-intro h2{font-size:17vw}
  .functions .section-intro>p:last-child{font-size:16px;margin-top:18px;max-width:none}
  .functions::after{top:66%;height:48px;transform:rotate(-24deg)}
  .ticket{padding:30px 24px 163px;margin:0 8px 0 2px;transform:rotate(1.5deg)}
  .ticket h3{font-size:20vw;line-height:1.04;margin-top:13px}
  .ticket-country{font-size:11px;letter-spacing:.14em}
  .ticket-status{font-size:28px;margin:20px 0 10px}
  .ticket-description{font-size:15px;margin-bottom:22px;max-width:25ch}
  .ticket-main .button{font-size:14px;min-height:50px;padding:13px 15px;gap:14px}
  .ticket-stub{right:-14px;bottom:-14px;width:54%;height:185px;transform:rotate(-7deg);border-width:5px}
  .ticket-stub img{width:100%;height:100%;flex-shrink:1;object-position:50% 0}
  .ticket-stub p{font-size:10px;padding:27px 10px 10px;line-height:1.5}
  .functions-links{justify-content:flex-start;margin-top:36px;gap:26px}
  .functions-links>p{width:100%;font-size:12px;text-align:left;background:transparent;margin:0;padding:0}
  .functions-links .text-link{font-size:13px}
  .paper-star{display:none}
  .show .section-intro{margin-bottom:30px}
  .show .section-intro h2{font-size:15vw}
  .show-composition{grid-template-columns:1.2fr 1fr;gap:28px 13px}
  .show-photo.photo-globe .portrait-arch{height:320px}
  .photo-artist .portrait-arch{height:270px;border-width:4px}
  .show-photo figcaption{font-size:12px;margin-top:14px}
  .show-story{display:block;grid-column:1/-1;padding:0}
  .show-story h3{font-size:33px;line-height:1.15}
  .show-story h3 br{display:none}
  .show-story>p:not(.program-note){font-size:16px;margin-top:19px}
  .show-story .act-list{font-size:14px;line-height:1.85;margin:18px 0}
  .show-story .program-note{font-size:12px}
  .legacy{display:block}
  .legacy-year{font-size:43vw;margin:0 0 20px;line-height:1}
  .legacy h2{font-size:13vw}
  .legacy-copy>p:not(.eyebrow):not(.legacy-year){font-size:17px;margin:23px 0}
  .legacy-photo{width:94%;margin:36px auto 0;transform:rotate(2deg)}
  .legacy-photo img{min-height:0;max-height:none}
  .legacy-photo figcaption{font-size:12px;margin-top:17px}
  .glimpse{display:flex;flex-direction:column;align-items:stretch;gap:34px}
  .glimpse-copy{order:0}
  .glimpse h2{font-size:15vw}
  .glimpse-copy>p:not(.eyebrow){font-size:17px}
  .reel-link{order:1;width:91%;max-width:none;margin-left:2%;border-width:5px}
  .reel-link>img{height:360px;object-position:50% 25%}
  .reel-caption{font-size:14px;padding:17px 13px}
  .gallery .section-intro{margin-bottom:25px}
  .gallery .section-intro h2{font-size:19vw}
  .gallery .section-intro>p{font-size:14px;margin-top:18px;padding:10px 13px;max-width:29ch;line-height:1.6}
  .gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}
  .gallery-controls>p{font-size:12px;color:var(--muted)}
  .gallery-controls>div{display:flex;gap:8px}
  .gallery-controls button{width:44px;min-height:44px;border:1px solid var(--gold);background:transparent;color:var(--gold);font-size:24px;border-radius:0}
  .gallery-controls button:hover{background:var(--red)}
  .gallery-grid{display:flex;gap:18px;overflow-x:auto;margin-inline:-2px;padding:4px 2px 17px;scroll-snap-type:x proximity;scroll-padding-inline:2px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
  .gallery-grid .gallery-item:nth-child(n){padding:0;transform:none;flex:0 0 86%;min-width:0;scroll-snap-align:start;align-self:flex-start}
  .gallery-item img{aspect-ratio:3/4;height:auto;object-fit:cover;object-position:50% 24%}
  .gallery-item a[data-gallery="carpa"] img{object-position:50% 5%}
  .gallery-item figcaption{font-size:14px;text-align:left;margin-top:13px;line-height:1.6}
  .gallery-hover{font-size:12px;right:9px;bottom:10px;padding:10px 13px;gap:18px;left:auto}
  .gallery-end{margin-top:32px}
  .gallery-end .button{font-size:13px;padding:13px 17px;gap:16px}
  .visit{display:block}
  .visit-intro h2{font-size:15.5vw}
  .visit-intro>p:not(.eyebrow){font-size:17px;max-width:none}
  .faq{margin-top:45px}
  .faq h3{font-size:22px}
  .faq summary{font-size:15px;min-height:76px;gap:15px}
  .faq details>p{font-size:15px;padding-right:0}
  .finale{padding-block:68px}
  .finale h2{font-size:14vw;line-height:1.1;letter-spacing:-.015em}
  .finale p{font-size:10px}
  .site-footer nav{font-size:13px}
  .footer-bottom{font-size:10px}
  .photo-dialog{padding:14px;max-width:calc(100% - 20px);width:calc(100% - 20px)}
  .photo-navigation button{font-size:12px}
}
@media(max-width:370px){:root{--gutter:20px}.site-header{padding-inline:13px}.header-actions{gap:10px}.hero .hero-description{font-size:12px}.scene-tools{font-size:9px}.scene-tools>a,.scene-tools button{font-size:9px}.hero-copy .eyebrow{font-size:7px}.hero .hero-media{width:131%;left:-8%;top:6%}}
@media(prefers-reduced-motion:reduce){.scene-lights{display:none}.scene-curtain{display:none}.hero-tent{animation:none!important}.marquee-track{transform:none}.gallery-grid{scroll-snap-type:none}}
@media print{.scene-curtain,.scene-lights,.scene-note,.scene-tools,.stage-marquee,.gallery-controls{display:none!important}.site-header{position:static}.hero{height:auto;min-height:0;padding:25px}.hero .hero-name,.hero .hero-copy,.hero .hero-media{position:static;width:auto;max-width:none}.hero .hero-name{font-size:60px}.hero .hero-copy h2{font-size:40px}.hero-tent-wrap{display:none}.hero .hero-media{width:250px}.hero .hero-portrait{clip-path:none;mask-image:none}.functions{display:block}.ticket{transform:none}.gallery-grid{display:grid;overflow:visible}.gallery-grid .gallery-item:nth-child(n){transform:none;padding:0}}

/* Preserve all strands of the original hat and feather its dark background. */

.hero .hero-name{top:0;font-size:26.5vw}
@media(max-width:600px){.hero .hero-name{top:14px;font-size:28.5vw}}

.hero .hero-copy{isolation:isolate}
.hero-copy::before{content:'';position:absolute;inset:-35px -24px -50px;z-index:-1;pointer-events:none;background:linear-gradient(transparent,#001522d9 30%,#001522ed);filter:blur(12px)}
@media(min-width:901px){.hero-copy::before{inset:-24px -35px -55px;background:radial-gradient(ellipse at 33% 70%,#001522e6,transparent 73%)}}

.ticket-stub img{max-width:none;padding:0;border:0}.show-story h3{font-family:Anton,'Arial Narrow',sans-serif}
@media(max-width:600px){.show-story h3 br{display:block}}

@media(min-width:901px){.hero .hero-name{top:20px}}

/* Clip the montage without creating a focus-scroll container. */
.hero{overflow:clip}


/* Festival composition from the supplied Cayenne posters. */
.hero-mascot{position:absolute;left:3.5%;top:11%;width:43%;z-index:7;margin:0;pointer-events:none}
.hero-mascot img{width:100%;height:auto;clip-path:none;mask-image:none;filter:drop-shadow(0 15px 18px #0007);animation:mascotFloat 8s ease-in-out 2;transform-origin:72% 67%}
.hero .hero-copy::before{background:radial-gradient(ellipse at 33% 70%,#001522ee,transparent 74%)}
.festival-bunting{position:absolute;width:23%;height:auto;z-index:2;pointer-events:none;opacity:.9}
.bunting-left{left:4%;top:2%;transform:rotate(-10deg)}
.bunting-right{right:4%;top:2%;transform:rotate(10deg)}
.scene-curtain::after{content:'';position:absolute;top:8px;bottom:8px;width:12px;background:radial-gradient(circle at center,#fff4de 0 20%,#f4c542 22% 39%,transparent 44%) center top/12px 32px repeat-y;filter:drop-shadow(0 0 5px #f4c54299)}
.curtain-left::after{right:10px}.curtain-right::after{left:10px}
.photo-artist .portrait-arch{border-color:var(--gold)}
.photo-artist img{object-position:50% 37%}
.mascot-welcome{position:relative;width:min(100%,460px);margin:42px 0 0;isolation:isolate}
.mascot-welcome::before{content:'';position:absolute;inset:16% 5% 5%;z-index:-1;background:var(--gold);clip-path:polygon(2% 55%,21% 20%,53% 0,100% 35%,85% 94%,34% 100%);transform:rotate(-3deg)}
.mascot-welcome img{width:100%;height:auto;filter:drop-shadow(0 8px 8px #001e2b20)}
.mascot-welcome figcaption{font-family:Anton,sans-serif;font-size:24px;color:var(--red);text-transform:uppercase;position:absolute;right:-8px;bottom:-18px;transform:rotate(-7deg)}
.gallery-poster>a{border:3px solid var(--gold);background:var(--red)}
.gallery-poster img{object-fit:contain;object-position:center;aspect-ratio:1289/1600}
@keyframes mascotFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@media(min-width:1700px){.hero-mascot{top:15%;width:43%;left:3%}}
@media(max-width:900px){.hero-mascot{width:62%;left:2%;top:37%}.festival-bunting{width:32%;top:1%}.hero .hero-copy::before{background:linear-gradient(transparent,#001522d9 35%,#001522ed)}}
@media(max-width:600px){.hero-mascot{width:94%;left:3%;top:auto;bottom:283px;z-index:7}.hero .hero-tent-wrap{width:49%;height:32%;right:0;bottom:23%;opacity:.8}.festival-bunting{width:35%;top:1%;opacity:.85}.bunting-left{left:0}.bunting-right{right:0}.scene-note{top:30%;right:4%;font-size:17px}.mascot-welcome{width:100%;margin-top:35px}.mascot-welcome figcaption{font-size:20px;right:3px;bottom:-14px}.photo-artist img{object-position:50% 34%}.gallery-grid .gallery-poster img{aspect-ratio:1289/1600;object-fit:contain}.hero .hero-copy::before{background:linear-gradient(transparent,#001522dc 35%,#001522ed)}}
@media(max-width:370px){.hero-mascot{bottom:279px;left:1%;width:98%}}
@media(prefers-reduced-motion:reduce){.hero-mascot img{animation:none!important;transform:none}.festival-bunting{transform:none}}
@media print{.hero-mascot,.festival-bunting{display:none}.mascot-welcome{max-width:250px}}

@media(min-width:601px) and (max-width:900px){.hero-mascot{top:auto;bottom:298px}}

@media(min-width:601px) and (max-width:900px){.hero-mascot{width:54%;left:1.5%}.hero .hero-media{left:30%;width:80%}}
