@font-face{font-family:Display;src:url('assets/display.otf')}@font-face{font-family:Body;src:url('assets/body.otf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#f4ecd7;color:#0b2791;font-family:Body,Arial,sans-serif;font-size:17px;line-height:1.5;--blue:#0b2791;--orange:#ff591d;--cream:#f4ecd7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,summary,select{-webkit-tap-highlight-color:transparent}a,button,summary,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid currentColor;outline-offset:5px}.skip{position:fixed;left:15px;top:-70px;background:var(--cream);padding:12px;z-index:30}.skip:focus{top:10px}.preview-bar{background:#091e66;color:var(--cream);font-size:12px;letter-spacing:.08em;padding:8px 4%;display:flex;justify-content:space-between;gap:10px}.preview-bar span{letter-spacing:0}header{background:var(--blue);color:var(--cream);padding:24px 4%;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{font-family:Display,Impact,sans-serif;font-size:35px;line-height:.95;display:block;letter-spacing:-1px}.logo span{display:block;font:11px Body,Arial;letter-spacing:.5em;margin-top:6px}nav{display:flex;gap:38px;align-items:center;font-size:15px}nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:7px}.button{border:1px solid transparent;background:var(--orange);color:#081e68;padding:17px 27px;border-radius:50px;font-weight:bold;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:16px;transition:transform .2s,background .2s}.button:hover{background:#ff743c;transform:translateY(-2px)}.button span[aria-hidden]{font-size:23px;line-height:1}.button.small{padding:12px 22px}.button.outline{border-color:var(--blue);background:transparent;display:flex;margin-top:24px}.button.outline:hover{background:var(--blue);color:var(--cream)}.hero{background:#1135a0 url('assets/hero.jpg') center 62%/cover;min-height:690px;color:var(--cream);padding:24px 4% 52px;position:relative;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,28,100,.08),transparent 60%,rgba(5,20,80,.78));z-index:-1}.hero-meta{display:flex;justify-content:space-between;gap:20px;font-size:13px;letter-spacing:.12em}.hero h1{font-family:Display,Impact,sans-serif;font-size:clamp(115px,23.1vw,350px);line-height:.87;letter-spacing:-.055em;margin:35px 0 55px;text-align:center;font-weight:900}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px}.hero-bottom>p{font-size:20px;line-height:1.25}.hero-bottom>div{text-align:center}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:bold;margin:0 0 22px}.hero-side{letter-spacing:.22em;font-size:12px!important}.art-note{position:absolute;right:4%;bottom:13px;font-size:11px;opacity:.8}.ribbon{background:var(--orange);color:#081e68;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:24px;padding:18px 20px;font-family:Display,Impact,sans-serif;font-size:28px;overflow:hidden;white-space:nowrap}.ribbon span{text-align:center}.section{padding:100px 6%}h2,h3,.ticket-title h1{font-family:Display,Impact,sans-serif;font-weight:900;letter-spacing:-.035em;line-height:.97;margin:0}h2{font-size:clamp(48px,6.5vw,95px)}h3{font-size:55px}.experience{display:grid;grid-template-columns:1.3fr 1fr;gap:60px}.experience h2 span{color:var(--orange)}.intro{padding-top:40px;max-width:480px}.lead{font-size:25px;line-height:1.3}.intro p{margin:0 0 24px}.text-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid;padding-bottom:5px;font-size:15px}.community-photo{margin:0;grid-column:1/-1;position:relative}.community-photo img{display:block;width:100%;height:470px;object-fit:cover;object-position:center 60%}.community-photo figcaption{font-size:12px;letter-spacing:.1em;margin-top:12px}.passes{background:#e8dfc7}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}.section-heading>p{max-width:300px}.pass-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--blue);border-bottom:1px solid var(--blue)}.pass{padding:30px 25px 34px;position:relative;border-right:1px solid var(--blue);display:flex;flex-direction:column}.pass:first-child{padding-left:0}.pass:last-child{border:0;padding-right:0}.pass .eyebrow{margin-bottom:12px;padding-right:35px}.pass-number{position:absolute;right:25px;top:25px;border:1px solid;border-radius:50%;width:32px;height:32px;font-size:14px;display:grid;place-items:center}.pass>p:not(.eyebrow):not(.fee){min-height:65px}.pass ul{padding-left:18px;font-size:15px;margin-bottom:25px;flex:1}.pass li{margin:8px 0}.price{font-family:Display;font-size:46px;line-height:1.1}.price span{font-family:Body;font-size:13px;display:inline-block;letter-spacing:0}.fee{font-size:13px;margin:8px 0}.pass-footnote{font-size:14px;max-width:850px;margin-top:25px}.community{background:var(--blue);color:var(--cream)}.community h2{font-size:clamp(50px,8.4vw,125px)}.community h2 span{color:var(--orange)}.community-copy{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:45px;max-width:1000px}.community-copy p:first-child{font-size:26px;line-height:1.3}.journey{display:grid;grid-template-columns:1fr 1fr;gap:70px}.questions{padding-top:25px}details{border-top:1px solid;padding:22px 0}details:last-child{border-bottom:1px solid}summary{font-size:19px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:25px;line-height:1}details[open] summary:after{content:'−'}details p{font-size:16px;max-width:480px}.closing{padding:85px 6%;text-align:center;background:var(--orange);color:var(--blue)}.closing h2{font-size:clamp(70px,12vw,170px);margin-bottom:30px}.closing .button{background:var(--blue);color:var(--cream)}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:45px 6%;background:var(--blue);color:var(--cream);font-size:14px}footer p span{opacity:.7;font-size:12px}.mobile-cta{display:none}.ticket-page header{border-bottom:1px solid #ffffff35}.ticket-main{padding:60px 6% 100px}.ticket-title h1{font-size:clamp(60px,8vw,110px)}.ticket-title h1 span{color:#c83b0a}.ticket-title>p:last-child{font-size:20px;margin:25px 0 50px}.ticket-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:55px;align-items:start}.ticket-toolbar{display:flex;gap:20px;justify-content:space-between;align-items:center}.ticket-toolbar h2{font-size:30px}.ticket-toolbar label{font-size:13px;display:flex;align-items:center;gap:10px}select{max-width:190px;border:1px solid var(--blue);border-radius:5px;background:transparent;color:var(--blue);padding:10px;font-size:14px}.currency-note{font-size:14px;min-height:42px;margin:18px 0 24px}.ticket-option{border-top:1px solid #0b279166;padding:25px 0;display:grid;grid-template-columns:1fr auto;gap:15px}.ticket-option:last-child{border-bottom:1px solid #0b279166}.ticket-option.selected{border-top:3px solid var(--orange);padding-top:23px}.ticket-option h3{font-size:39px;margin:5px 0 10px}.ticket-option .eyebrow{margin:0}.ticket-option p{font-size:15px;max-width:340px;margin:8px 0}.ticket-option .ticket-price{font-size:29px;font-family:Display}.ticket-option .ticket-fee{font-size:12px}.ticket-option details{padding:8px 0;border:0;font-size:14px}.ticket-option summary{font-size:14px;justify-content:start;gap:12px}.ticket-option summary:after{font-size:18px}.ticket-option ul{padding-left:18px;font-size:14px}.quantity{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--blue);border-radius:30px;overflow:hidden;margin-top:18px;width:135px}.quantity button{border:0;background:transparent;color:var(--blue);width:44px;height:44px;font-size:24px}.quantity button:hover{background:#0b279115}.quantity button:disabled{opacity:.3;cursor:default}.quantity output{font-size:18px;min-width:25px;text-align:center}.quantity button:focus-visible{outline-offset:-4px}.inclusions{margin-top:30px;border-left:3px solid var(--orange);padding-left:20px;font-size:15px}.inclusions .eyebrow{margin-bottom:10px}.order{background:#e8dfc7;padding:32px;border:1px solid var(--blue);position:sticky;top:25px}.order h2{font-size:55px}.order>p{font-size:15px}.order .eyebrow{font-size:12px}.order-line{display:flex;justify-content:space-between;gap:16px;font-size:15px;margin:13px 0}.empty-order{padding:25px 0;color:#475780;font-size:15px}.totals{border-top:1px solid #0b279155;margin-top:25px;padding-top:15px}.totals>div{display:flex;justify-content:space-between;gap:20px;font-size:15px;margin:10px 0}.totals .grand{border-top:1px solid #0b279155;padding-top:17px;margin-top:18px;font-size:24px}.grand small{font-size:13px}.order .button{width:100%;margin-top:15px}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.order .order-note{font-size:13px;margin-bottom:0}dialog{max-width:580px;width:calc(100% - 32px);border:1px solid var(--blue);padding:45px;background:var(--cream);color:var(--blue);max-height:90vh;overflow:auto}dialog::backdrop{background:#041343bb;backdrop-filter:blur(5px)}dialog h2{font-size:54px;margin-bottom:28px}.dialog-close{position:absolute;right:15px;top:8px;border:0;background:transparent;color:var(--blue);font-size:32px}.preview-notice{background:#e8dfc7;padding:20px;margin:25px 0;font-size:15px}.preview-notice p{margin:8px 0 0}.review-total{border-top:1px solid;padding-top:15px;font-size:23px;font-weight:bold}.local-payment{padding:30px;border:1px solid var(--blue)}.local-payment h3{font-size:40px}.local-payment p{font-size:17px}
@media(min-width:1550px){.hero{min-height:820px}.section,.ticket-main{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}}@media(max-width:900px){nav{gap:20px}.hero{min-height:580px}.hero h1{margin-top:80px}.section{padding:70px 5%}.experience{gap:30px}.pass{padding:25px 16px}.pass h3{font-size:40px}.pass-number{right:12px}.pass .eyebrow{font-size:11px}.pass>p:not(.eyebrow):not(.fee){min-height:95px}.journey{gap:35px}.ticket-layout{gap:25px;grid-template-columns:1.4fr 1fr}.ticket-toolbar{display:block}.ticket-toolbar label{margin-top:15px}.order{padding:23px}.ticket-main{padding:45px 4% 80px}.community-photo img{height:360px}}
@media(max-width:640px){.preview-bar{font-size:10px;padding:7px 4%;justify-content:center}.preview-bar span{display:none}header{padding:22px 5%;gap:15px}.logo{font-size:30px}nav{gap:15px}nav>a:not(.button){display:none}.ticket-page nav>a:not(.button){display:block;font-size:13px}.button.small{padding:11px 16px;font-size:13px;gap:12px}.hero{padding:22px 5% 55px;min-height:580px;background-position:center}.hero-meta{font-size:10px;letter-spacing:.08em;gap:15px}.hero-meta span:last-child{text-align:right}.hero h1{font-size:23vw;margin:70px 0 100px}.hero-bottom{display:block;text-align:center}.hero-bottom>p{display:none}.hero-bottom .eyebrow{font-size:11px}.hero-bottom .button{font-size:15px}.ribbon{display:flex;justify-content:start;font-size:22px;padding:13px 20px}.ribbon span{text-align:left}.section{padding:60px 6%}.experience{display:block}.intro{padding:30px 0}.lead{font-size:23px}.community-photo img{height:310px}.community-photo figcaption{font-size:10px}.section-heading{display:block;margin-bottom:30px}.pass-grid{display:block}.pass,.pass:first-child,.pass:last-child{padding:28px 0;border-right:0;border-bottom:1px solid var(--blue)}.pass:last-child{border-bottom:0}.pass>p:not(.eyebrow):not(.fee){min-height:0}.pass h3{font-size:60px}.pass .eyebrow{font-size:12px}.pass-number{right:0}.pass ul{margin-top:3px}.pass .button{margin-top:17px}.community h2{font-size:12vw}.community-copy{display:block;margin-top:30px}.community-copy p:first-child{font-size:23px}.journey{display:block}.journey h2{font-size:62px}.questions{padding-top:20px}summary{font-size:17px}.closing{padding:60px 5%}.closing h2{font-size:18vw}.closing .eyebrow{font-size:10px}footer{padding:35px 6% 105px;flex-wrap:wrap;font-size:12px}footer p:nth-child(2){display:none}.mobile-cta{display:flex;position:fixed;bottom:12px;left:4%;right:4%;z-index:10;box-shadow:0 5px 25px #0003;font-size:14px;padding:16px 22px}.mobile-cta span{font-size:12px}.ticket-layout{display:block}.ticket-title h1{font-size:14vw}.ticket-title>p:last-child{font-size:17px;margin-bottom:35px}.ticket-main{padding:40px 5% 50px}.ticket-toolbar h2{font-size:33px}.ticket-toolbar label{justify-content:space-between}.ticket-option h3{font-size:38px}.ticket-option>div:last-child{text-align:right}.ticket-option p{max-width:230px}.quantity{width:113px}.quantity button{width:36px}.order{margin-top:35px;position:static}.ticket-page footer{padding-bottom:35px}dialog{padding:36px 24px}dialog h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Official supplied logo: display its visible area without altering the PNG. */
.logo{width:180px;flex-shrink:0;line-height:1;letter-spacing:normal}
.brand-mark,.logo .brand-mark{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:1428/343;margin:0;letter-spacing:normal;font:inherit}
.brand-mark img{position:absolute;display:block;width:112.044818%;max-width:none;height:auto;left:-5.602241%;top:-194.460641%}
.hero h1.hero-brand{width:100%;margin:65px auto 85px;font-size:inherit;line-height:1;letter-spacing:normal}
footer .logo{width:200px}
@media(max-width:900px){.logo{width:160px}.hero h1.hero-brand{margin:75px auto 100px}}
@media(max-width:640px){.logo{width:140px}.hero h1.hero-brand{margin:95px auto 115px}footer .logo{width:170px}}

@media(max-width:640px){header .logo{width:clamp(105px,32vw,140px)}}

/* Featured full-length recap; intentional playback, original soundtrack. */
.recap{background:var(--blue);color:var(--cream);border-top:1px solid #f4ecd744}.recap h2 span{color:var(--orange)}.recap .section-heading{align-items:end}.recap-film{margin:35px 0 0}.recap-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#071338;border:1px solid #f4ecd755;object-fit:contain}.recap-film video:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.recap-film figcaption{display:flex;justify-content:space-between;gap:20px;padding:15px 0;font-size:12px;letter-spacing:.08em}.recap-film figcaption a{font-size:14px;letter-spacing:0;text-decoration:underline}.recap-link{display:flex;align-items:center;gap:16px;width:fit-content;margin-top:18px;color:var(--cream);font-size:15px;border-bottom:1px solid currentColor;padding-bottom:5px}.recap-link span{font-size:12px}@media(max-width:640px){.recap-film{margin-top:25px}.recap-film figcaption{align-items:flex-start;flex-direction:column;gap:10px}.recap .section-heading>p{font-size:17px}.recap-link{font-size:14px}}

/* Live checkout and payment return, using the festival palette and local fonts. */
#checkout-fields{border:0;margin:0;padding:0;min-width:0}.currency-label{font-size:14px}.customer-details{margin-top:40px;border-top:3px solid var(--orange);padding-top:30px}.customer-details h2,#payment-title{font-size:38px;margin-bottom:24px}.customer-details label:not(.consent){display:block;font-size:15px;margin:18px 0 7px}.customer-details input:not([type=checkbox]){display:block;width:100%;min-height:48px;border:1px solid var(--blue);border-radius:5px;background:var(--cream);color:var(--blue);padding:10px 12px}.ticket-page input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.attendee-fields{border:0;border-top:1px solid #0b279166;padding:16px 0 0;margin:30px 0 20px;min-width:0}.attendee-fields legend{font-size:22px;padding-right:15px}.consent{display:flex;align-items:flex-start;gap:12px;margin-top:25px;font-size:15px}.consent input{width:22px;height:22px;flex-shrink:0;accent-color:var(--blue)}.consent a{text-decoration:underline;text-underline-offset:3px}.server-quote{border-left:3px solid var(--orange);padding:12px 15px;margin:20px 0;font-size:15px}.checkout-error:empty{display:none}.checkout-error{padding:18px;border:2px solid #a72f09;color:#a72f09;overflow-wrap:anywhere}.availability{font-weight:bold}#payment-section{margin-top:45px;scroll-margin-top:25px}#checkout{min-width:0}#reservation{overflow-wrap:anywhere}.return-card{max-width:800px;margin:30px auto 60px;border:1px solid var(--blue);border-top:8px solid var(--orange);background:#e8dfc7;padding:50px}.return-card h1{font-family:Display,Impact,sans-serif;font-size:clamp(45px,7vw,85px);line-height:1;letter-spacing:-.035em;margin:0 0 28px;overflow-wrap:anywhere}.return-card #p{font-size:20px;overflow-wrap:anywhere}.return-card #p a{text-decoration:underline}.return-page{min-height:100vh;display:flex;flex-direction:column}.return-page main{flex:1}.ticket-option h3,.order-line span{overflow-wrap:anywhere}.ticket-option>div{min-width:0}@media(max-width:640px){.return-card{padding:28px 22px;margin:0 0 25px}.return-card #p{font-size:17px}.ticket-option{grid-template-columns:minmax(0,1fr) auto;gap:10px}.ticket-option h3{font-size:32px}.ticket-option .ticket-price{font-size:25px}.totals .grand{font-size:20px}.customer-details h2,#payment-title{font-size:33px}}@media(max-width:360px){.ticket-option{grid-template-columns:1fr}.ticket-option>div:last-child{text-align:left}.quantity{width:135px}}

/* social icons, header and footer (2026-10-09) */
.social{display:flex;gap:16px;align-items:center}.social a{display:inline-flex;width:22px;height:22px;color:var(--cream);opacity:.85;transition:opacity .15s}.social a:hover,.social a:focus-visible{opacity:1}.social svg{width:100%;height:100%}@media(max-width:640px){.social{gap:13px}.social a{width:20px;height:20px}footer .social{width:100%;justify-content:center}}
