:root{--night:#11120f;--paper:#f0e5d2;--amber:#e7a06b;--line:#3b3c33;--serif:'Cormorant Garamond',Georgia,serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--night);color:var(--paper);font-family:'DM Sans','Hiragino Kaku Gothic ProN',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:5px}[hidden]{display:none!important}em{font-style:normal;color:var(--amber)}.skip-link{position:fixed;left:10px;top:-80px;background:var(--paper);color:var(--night);padding:10px;z-index:10}.skip-link:focus{top:10px}.header{display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:25px;letter-spacing:.1em}.brand span{color:var(--amber);font-size:17px}.nav-cta{font-size:14px;border-bottom:1px solid var(--amber);padding-bottom:4px}.hero{position:relative;background:linear-gradient(90deg,#10120ff2 10%,#10120fc9 45%,#10120f35),url('./assets/haunted-town.webp') center/cover;padding:80px 5vw 70px;min-height:640px;display:flex;align-items:center;justify-content:space-between;gap:30px}.hero-inner{max-width:850px}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--amber);margin:0 0 22px}.event-label{font-size:16px;margin:0 0 22px;color:#e7ddcb}h1{font-size:clamp(37px,4.5vw,65px);font-weight:500;line-height:1.55;letter-spacing:.03em;margin:0 0 24px}.hero-lead{font-size:21px;line-height:1.8;margin:0 0 18px}.hero-small{color:#c9c4b9;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 24px;min-height:57px;border:1px solid transparent;font-size:16px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-amber{background:var(--amber);color:var(--night)}.button-amber:hover{background:#f6b784}.hero-prices{font-size:14px;margin:19px 0 0;color:#d1c8b9}.hero-prices strong{font-weight:500}.hero-prices small{font-size:12px;margin-left:10px}.hero-date{min-width:190px;display:flex;flex-direction:column;text-align:center;align-self:flex-end;border:1px solid #b79666;padding:20px;background:#11120fd9}.hero-date strong{font-family:var(--serif);font-size:66px;line-height:1.1;color:var(--amber);font-weight:400}.hero-date>span{font-size:12px;letter-spacing:.15em;margin:10px 0 20px}.hero-date b{font-size:19px;font-weight:500}.hero-date small{font-size:14px;color:#bfb6a4}.event-strip{display:flex;justify-content:space-around;gap:20px;padding:20px 5vw;background:#1b1b15;border-block:1px solid var(--line);font-size:14px}.section{padding:80px max(5vw,calc((100vw - 1280px)/2))}h2{font-weight:500;font-size:clamp(28px,3.1vw,43px);line-height:1.65;margin:0 0 25px}h3{font-weight:500;line-height:1.6}.lead{font-size:18px;color:#c5c1b5;margin:0 0 40px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.benefits article{border-top:1px solid #85704d;padding-top:20px}.benefits article>span{font-family:var(--serif);font-size:30px;color:var(--amber)}.benefits h3{font-size:22px;margin:10px 0}.benefits p{color:#bdb9ae;margin:0}.experience{background:#1a1814}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.section-heading>p{color:#c8c1b1;margin:0 0 25px}.muted{font-size:14px;color:#aaa596}.town-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.town-tabs button{background:#201d17;color:var(--paper);border:1px solid #64563e;padding:15px 10px;font-size:16px;min-height:66px}.town-tabs button span{color:var(--amber);margin-right:10px;font-family:var(--serif);font-size:22px}.town-tabs button:hover{background:#3a3021}.town-tabs button[aria-selected=true]{background:var(--amber);color:var(--night)}.town-tabs button[aria-selected=true] span{color:var(--night)}.town-panel{display:grid;grid-template-columns:1fr 1fr;background:#11120f;border:1px solid #665339;animation:arrive .35s ease-out}.town-panel>img{display:block;width:100%;height:auto;align-self:center}.town-copy{padding:30px;align-self:center}.town-copy .eyebrow{margin-bottom:15px}.town-copy h3{font-size:25px;margin:0 0 16px}.town-copy p:not(.eyebrow){color:#c8c1b2;margin:0 0 16px}.town-copy .example{font-family:var(--serif);font-size:23px;color:var(--amber)!important;margin:0!important}.final-note{display:flex;gap:30px;align-items:center;margin-top:28px;padding-top:25px;border-top:1px solid #68533b}.final-note>span{font-size:13px;letter-spacing:.08em;color:var(--amber);white-space:nowrap}.final-note p{margin:0;color:#c8c1b2;font-size:16px}.final-note strong{font-size:19px;color:var(--paper);font-weight:500}.host{display:grid;grid-template-columns:1fr 1fr;gap:60px}.host-name{font-family:var(--serif);font-size:45px;margin:0 0 15px;line-height:1.4}.host-name span{font-family:sans-serif;font-size:16px;margin-left:12px;color:#c3b7a0}.host p:not(.host-name):not(.eyebrow){color:#c1bdaf}.host-highlight{border-left:2px solid var(--amber);padding-left:20px;color:var(--paper)!important}.seats{background:var(--paper);color:var(--night);color-scheme:light}.seats .eyebrow{color:#8a492e}.seat-lead{color:#62594a;margin:0 0 35px}.seat-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.seat-card{padding:30px;border:1px solid #b3a184;display:flex;flex-direction:column}.correction-seat{background:#e7d1ac;border-color:#9b7650}.observer-seat{background:#f8efdf}.seat-top{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:#64513b}.seat-top b{font-weight:500;background:#8a462a;color:#fff2de;padding:3px 11px;white-space:nowrap}.seat-card h3{font-size:29px;margin:20px 0 15px}.seat-card h3 small{font-size:16px;font-weight:400;display:block;color:#69583f}.price{margin:0 0 22px;line-height:1;white-space:nowrap}.price strong{font-family:var(--serif);font-size:76px;font-weight:500;letter-spacing:-.04em}.price>span{font-size:14px}.seat-card ul{list-style:none;padding:22px 0 0;margin:0 0 30px;border-top:1px solid #b5a17f}.seat-card li{padding:6px 0;font-size:16px}.seat-card li:before{content:'✦';font-size:12px;margin-right:10px;color:#8c5632}.seat-card .button{width:100%;margin-top:auto}.button-dark{background:#15150f;color:var(--paper)}.button-outline{background:transparent;color:var(--night);border-color:#655942}.booking-status{font-size:14px;text-align:center;color:#6d5c44;margin:13px 0 0}.monitor-note{font-size:14px;color:#6e614b;line-height:1.9;margin:28px 0 0}.guide{display:grid;grid-template-columns:1fr 1fr;gap:60px}.calendar-link{font-size:14px;border-bottom:1px solid #a38559;padding-bottom:6px;display:inline-block;margin-top:15px}.guide dl{margin:0}.guide dl>div{display:grid;grid-template-columns:95px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.guide dt{color:#aca698;font-size:14px}.guide dd{margin:0;font-size:18px}.guide small{display:block;color:#aaa493;font-size:14px}.faq{padding-top:0}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:17px;padding:22px 0;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'＋';color:var(--amber)}.faq details[open] summary:after{content:'−'}.faq summary::-webkit-details-marker{display:none}.faq details p{max-width:850px;color:#bfb8aa;margin:0 0 25px}.participation-note{font-size:14px;color:#bfb5a4;margin:28px 0 0;padding:20px;border:1px solid #756247}.closing{text-align:center;padding:85px 5vw;background:linear-gradient(#11120fe8,#11120fb3),url('./assets/haunted-town.webp') center/cover}.closing>p:not(.eyebrow){font-size:16px;margin:20px 0 30px}.closing small{display:block;font-size:14px;margin-top:15px;color:#bfb6a5}footer{padding:25px 5vw;border-top:1px solid var(--line);font-size:12px;color:#a39c8c;text-align:center}.application-dialog{color:var(--paper);background:#1a1b17;border:1px solid #8f7450;padding:42px 35px 32px;width:min(530px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;text-align:center}.application-dialog::backdrop{background:#060707d9;backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:6px;right:10px;border:0;background:transparent;font-size:30px;width:44px;height:44px;color:#c5c1b3}.application-dialog h2{font-size:27px}.dialog-seat{font-size:20px;color:var(--amber)}.dialog-price{font-size:18px}.dialog-message{font-size:16px;color:#c0bbab}.dialog-date{display:flex;flex-direction:column;padding:18px 0;margin:25px 0;border-block:1px solid var(--line);font-size:14px}.application-dialog .button{width:100%;margin-bottom:18px}.dialog-return{font-size:14px;padding:9px 0;border:0;border-bottom:1px solid #85816f;background:transparent;color:var(--paper)}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.hero-date{display:none}.town-panel{grid-template-columns:1fr 1fr}.town-copy{padding:22px}.town-tabs button span{display:block;margin:0}.host,.guide{gap:35px}.price strong{font-size:65px}}@media(max-width:760px){.header{padding:19px 6vw}.brand{font-size:21px}.brand span{display:block;font-size:12px;line-height:1.1}.nav-cta{font-size:14px}.hero{padding:55px 6vw;min-height:0;background-position:62% center}.event-label{font-size:14px}h1{font-size:clamp(29px,6.8vw,45px);letter-spacing:0}.hero-lead{font-size:18px}.hero-small{font-size:16px}.hero-prices{font-size:14px;max-width:340px}.event-strip{font-size:12px;gap:10px;padding:17px 4vw;flex-wrap:wrap}.section{padding:55px 6vw}h2{font-size:28px}.lead{font-size:16px}.benefits{grid-template-columns:1fr;gap:25px;margin-top:30px}.benefits h3{font-size:21px}.benefits article>span{font-size:24px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{font-size:16px}.town-tabs{grid-template-columns:1fr 1fr;gap:8px}.town-tabs button{font-size:15px;padding:10px 7px;min-height:65px}.town-panel{grid-template-columns:1fr}.town-copy{padding:25px 22px}.town-copy h3{font-size:23px}.final-note{display:block}.final-note p{margin-top:10px}.host,.guide,.seat-grid{grid-template-columns:1fr;gap:28px}.host h2{margin-bottom:0}.host-name{font-size:38px}.seat-card{padding:25px 22px}.seat-top{font-size:13px}.price strong{font-size:75px}.guide dd{font-size:16px}.guide dl>div{grid-template-columns:72px 1fr;gap:12px}.faq{padding-top:0}.faq summary{font-size:16px}.closing{padding:65px 6vw}.closing h2{font-size:25px}.button{font-size:15px}.application-dialog{padding:40px 22px 26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Halloween festival identity */
:root{--night:#180e26;--paper:#fff2d6;--amber:#ff9a31;--line:#584369}body{background:#180e26}.header{background:#241236;border-bottom:1px solid #714490;padding:18px 5vw}.brand{font-weight:600}.nav-cta{background:#ff9a31;color:#24102a;padding:8px 20px;border:0;border-radius:4px;font-weight:600}.festival-hero{display:block;isolation:isolate;overflow:hidden;position:relative;text-align:center;padding:55px 5vw 58px;min-height:780px;background:radial-gradient(ellipse at 50% 15%,#743c8e80,transparent 65%),#251138}.hero-scene{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#25113875 0%,#25113815 25%,#25113880 66%,#251138 100%),url('./assets/haunted-town.webp') center 61%/cover;opacity:.8}.festival-hero .hero-inner{max-width:1100px;margin:auto;position:relative}.festival-kicker{font-size:16px;letter-spacing:.16em;margin:0 0 16px;color:#fff1cf}.festival-hero h1{font-family:var(--serif);font-weight:600;letter-spacing:-.035em;line-height:.84;margin:0 auto 27px;text-shadow:0 4px 0 #54240e,0 12px 40px #170620;font-size:clamp(78px,12.2vw,174px);color:#ffad43}.festival-hero h1>span{display:block;font-size:.43em;letter-spacing:.24em;padding-left:.24em;color:#fff0c9;line-height:1.2;margin-bottom:4px}.festival-hero h1 strong{font-weight:600;display:block}.festival-tagline{font-size:clamp(23px,2.8vw,37px);font-weight:600;line-height:1.6;margin:20px 0 10px;text-shadow:0 2px 18px #100918}.festival-hero .hero-lead{font-size:17px;margin:0 0 20px;color:#f5dfca}.festival-date{display:flex;gap:18px;align-items:center;justify-content:center;margin:15px auto 23px;width:max-content;max-width:100%;padding:12px 25px;border-block:1px solid #ffb8508c;background:#20102dcc}.festival-date>strong{font-family:var(--serif);font-size:57px;line-height:1;font-weight:600;color:#ffbd5d}.festival-date>span{font-size:13px;line-height:1.6;text-align:left;letter-spacing:.04em}.festival-date b{font-size:17px;font-weight:500}.festival-date .date-note{border-left:1px solid #a97d5d;padding-left:20px;font-size:12px}.hero-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.button-amber{background:#ff9a31;color:#291035;font-weight:600;box-shadow:0 5px 0 #ad4915;border-radius:4px}.button-amber:hover{background:#ffb251;transform:translateY(-3px)}.sound-button{border:1px solid #d3a5ed;background:#241136df;color:#fff1df;border-radius:4px;min-height:57px;padding:14px 20px;font-size:14px}.sound-button[aria-pressed=true]{background:#784a92;box-shadow:0 0 25px #cf8cdd55}.sound-status{min-height:22px;font-size:12px;color:#e3d3eb;margin:12px 0 0}.festival-hero .hero-prices{margin-top:10px;color:#f0ddcf}.festival-stamp{position:absolute;right:3vw;top:43px;display:flex;flex-direction:column;justify-content:center;align-items:center;width:115px;height:115px;border-radius:50%;background:#cfef73;color:#251138;transform:rotate(12deg);border:3px double #251138;box-shadow:0 0 0 5px #cfef73;font-size:12px;font-weight:600;line-height:1.3}.festival-stamp strong{font-family:var(--serif);font-size:45px;line-height:1}.mobile-only{display:none}.event-strip{background:#ff9a31;color:#261130;font-size:17px;font-weight:600;padding:17px 4vw;letter-spacing:.06em;border:0;transform:rotate(-1deg);position:relative;z-index:1;box-shadow:0 7px 0 #482543}.promise{text-align:center;background:radial-gradient(ellipse at 50% 0%,#5f2e6333,transparent 70%);padding-top:85px}.promise h2{font-size:clamp(30px,3.5vw,47px)}.promise .lead{color:#e0cedf}.benefits{text-align:left;gap:24px}.benefits article{background:#2c1a3b;border:1px solid #795290;padding:26px;border-radius:14px;transform:rotate(-1deg)}.benefits article:nth-child(2){transform:rotate(1deg)}.benefits article>span{font-family:inherit;font-size:13px;font-weight:600;color:#cfef73}.benefits h3{color:#fff0dc}.benefits p{color:#d1bddb}.experience{background:#211031}.section-heading{align-items:center}.section-heading h2{margin:0}.section-heading>p{margin:0;color:#d4bfdc}.town-tabs{gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.town-tabs button{overflow:hidden;padding:0 0 17px;border-radius:12px;background:#2b1839;border:2px solid #68487d;color:#fff1da;transition:transform .25s,border-color .25s,box-shadow .25s;font-weight:500}.town-tabs button img{display:block;width:100%;height:auto;margin-bottom:12px}.town-tabs button span{font-size:18px;color:#ffbc66;margin-right:8px}.town-tabs button:hover{transform:translateY(-7px) rotate(-1deg);background:#3e2452;border-color:#ffb24b}.town-tabs button[aria-selected=true]{background:#ff9a31;color:#291233;border-color:#ffbd61;box-shadow:0 0 25px #ff8a2428;transform:translateY(-5px)}.town-panel{display:block;background:#321c44;border:1px solid #866393;border-radius:12px}.town-panel>img{display:none}.town-copy{padding:27px 32px;display:grid;grid-template-columns:1fr 1.1fr;gap:8px 35px}.town-copy .eyebrow{grid-column:1;line-height:1.5;margin:0;font-size:12px;color:#cfef73}.town-copy h3{grid-column:1;margin:0;font-size:26px}.town-copy p:not(.eyebrow):not(.example){grid-column:2;grid-row:1/3;color:#e0cee5;margin:0;align-self:center}.town-copy .example{grid-column:1/-1;font-size:22px;padding-top:12px;color:#ffbe68!important}.final-note{border-color:#674578}.final-note>span{color:#cfef73}.final-note p{color:#cfbcd9}.host{position:relative;background:#2b1538;overflow:hidden;padding-block:60px}.host-decoration{position:absolute;right:3%;top:0;font-family:var(--serif);font-size:130px;color:#c492d90b;line-height:.9;pointer-events:none}.host p:not(.host-name):not(.eyebrow){color:#d7c0df}.host-name{color:#ffd1a3}.host-highlight{border-color:#cfef73}.seats{background:#fae1b4;background-image:radial-gradient(#d5a86c55 1px,transparent 1px);background-size:12px 12px;color:#281535}.seats h2 em{color:#a54824}.seats h2{margin-bottom:15px}.seat-card{border:2px solid #3f224a;border-radius:18px;padding:30px;position:relative;box-shadow:6px 7px 0 #4b255425}.correction-seat{background:#ffc076;transform:rotate(-1deg)}.observer-seat{background:#ead6f1;transform:rotate(1deg)}.seat-card ul{border-top:2px dashed #684477;padding-top:25px}.seat-card li{color:#392444}.seat-card li:before{color:#794090}.seat-card h3{font-size:32px}.seat-top b{background:#57266b;border-radius:4px}.button-dark{background:#41214e;color:#fff1d9;border-radius:4px;box-shadow:0 4px 0 #21102a}.button-outline{border:2px solid #503459;border-radius:4px;color:#382043}.seat-card .price{color:#352042}.price strong{font-weight:600}.guide{background:#1b112b}.guide dd{color:#f3e4f7}.guide dt,.guide small{color:#bda9ca}.faq{background:#1b112b}.faq details p{color:#cbb9d6}.participation-note{color:#cab9d3;border-color:#795285;border-radius:6px}.closing{background:linear-gradient(#1b112be0,#281133bc),url('./assets/haunted-town.webp') center/cover;padding-bottom:110px}.closing h2 em{color:#ffb347}.ticket-dock{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:25px;z-index:5;padding:10px 12px 10px 22px;background:#241330f0;border:1px solid #9d699d;box-shadow:0 8px 35px #08050c80;border-radius:10px;backdrop-filter:blur(12px);font-size:13px;max-width:calc(100% - 24px);white-space:nowrap}.ticket-dock b{color:#ffb24b;margin-right:12px}.ticket-dock a{font-size:14px;font-weight:600;padding:10px 18px;border-radius:5px;background:#ff9a31;color:#291433}footer{padding-bottom:95px;background:#1b112b}.application-dialog{background:#281735;border-color:#b083c8;border-radius:12px}.music-playing .festival-stamp{animation:music-sway 2s ease-in-out infinite}@keyframes music-sway{0%,100%{transform:rotate(12deg)}50%{transform:rotate(3deg)}}@media(max-width:1000px){.festival-stamp{width:88px;height:88px;top:20px;right:22px;font-size:10px}.festival-stamp strong{font-size:33px}.festival-hero{padding-top:65px;min-height:0}.town-tabs{gap:12px}.town-tabs button span{display:inline;margin-right:8px}.town-tabs button{font-size:14px}.town-copy h3{font-size:23px}}@media(max-width:760px){.header{padding:16px 5vw}.nav-cta{padding:7px 12px}.festival-hero{padding:67px 5vw 35px}.festival-kicker{font-size:13px;letter-spacing:.05em;margin-bottom:16px}.festival-hero h1{font-size:clamp(48px,12.5vw,95px);margin-bottom:23px;letter-spacing:-.04em}.festival-hero h1>span{font-size:.57em}.festival-tagline{font-size:24px;margin:20px 0 13px}.mobile-only{display:block}.festival-hero .hero-lead{font-size:15px;max-width:310px;margin:0 auto 20px}.festival-stamp{width:62px;height:62px;top:16px;right:16px;font-size:9px;box-shadow:0 0 0 3px #cfef73}.festival-stamp strong{font-size:26px}.festival-date{padding:12px 14px;gap:12px}.festival-date>strong{font-size:43px}.festival-date>span{font-size:11px}.festival-date b{font-size:14px}.festival-date .date-note{font-size:11px;padding-left:12px}.hero-actions{gap:12px}.hero-actions .button{width:100%;max-width:340px}.sound-button{min-height:44px;padding:10px 17px}.festival-hero .hero-prices{font-size:12px;margin:14px auto 0;max-width:310px}.sound-status{font-size:12px}.event-strip{font-size:13px;gap:15px;justify-content:center}.event-strip>span:last-child{display:none}.promise{padding-top:55px}.promise h2{font-size:28px}.benefits{gap:17px}.benefits article{padding:22px;transform:none}.benefits article:nth-child(2){transform:none}.section-heading h2{margin-bottom:18px}.section-heading>p{font-size:15px}.town-tabs{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.town-tabs button{font-size:14px;padding-bottom:13px}.town-tabs button img{margin-bottom:8px}.town-copy{display:block;padding:24px 22px}.town-copy .eyebrow{margin-bottom:12px}.town-copy h3{margin-bottom:15px;font-size:22px}.town-copy .example{font-size:22px}.host-decoration{font-size:95px}.host{padding-block:50px}.seat-card{transform:none;padding:25px 22px}.observer-seat{transform:none}.ticket-dock{bottom:10px;gap:10px;padding:8px 8px 8px 12px;width:calc(100% - 24px);justify-content:space-between}.ticket-dock>span{font-size:11px}.ticket-dock b{display:block;font-size:13px;margin:0}.ticket-dock a{font-size:13px;padding:10px 12px}.closing{padding-bottom:100px}.closing h2{font-size:27px}}
@media(max-width:1000px){.festival-stamp{font-size:12px;width:100px;height:100px}}@media(max-width:760px){.festival-stamp{display:none}.festival-date>span,.festival-date .date-note{font-size:12px}.ticket-dock>span{font-size:12px}}
.music-player{max-width:470px;margin:27px auto 0;padding:20px 23px 15px;background:linear-gradient(125deg,#512b6bf2,#2b153df5);border:1px solid #c990e0;border-radius:16px;box-shadow:0 12px 40px #12082066;text-align:left}.music-invite{font-size:14px;color:#ffe4bd;margin:0 0 14px;text-align:center}.music-play{display:flex;align-items:center;gap:16px;padding:0;width:100%;background:none;border:0;color:#fff0dc;text-align:left}.play-disc{display:grid;place-items:center;flex-shrink:0;width:62px;height:62px;border-radius:50%;background:#ffab43;color:#2c1437;font-size:25px;box-shadow:0 0 0 6px #ffab431c;transition:transform .2s,box-shadow .2s}.music-play:hover .play-disc{transform:scale(1.08);box-shadow:0 0 0 9px #ffab432b}.music-label{display:flex;flex-direction:column;gap:4px}.music-label strong{font-size:21px;font-weight:600;line-height:1.5}.music-label>span{font-size:12px;letter-spacing:.1em;color:#dfc2e7}.equalizer{display:flex;align-items:center;gap:4px;height:34px;margin-left:auto}.equalizer i{display:block;width:4px;height:10px;border-radius:3px;background:#d7f28d;transform-origin:center}.equalizer i:nth-child(2),.equalizer i:nth-child(4){height:22px}.equalizer i:nth-child(3){height:32px}.music-playing .equalizer i{animation:sound-bars .8s ease-in-out infinite alternate}.music-playing .equalizer i:nth-child(2){animation-delay:-.3s}.music-playing .equalizer i:nth-child(3){animation-delay:-.6s}.music-playing .equalizer i:nth-child(4){animation-delay:-.15s}.music-timeline{display:flex;align-items:center;gap:11px;margin-top:18px;font-size:12px;color:#d9c5e6;font-variant-numeric:tabular-nums}.music-timeline input{width:100%;min-width:0;accent-color:#ffae49;cursor:pointer}.music-timeline input:disabled{opacity:.45}.music-player .sound-status{margin:8px 0 0;text-align:center;font-size:12px;line-height:1.7}.dock-pause{color:#f5dfed;background:transparent;border:1px solid #b58abe;border-radius:5px;font-size:13px;padding:8px 10px;white-space:nowrap}.festival-hero h1{animation:poster-enter .85s cubic-bezier(.2,.7,.2,1) both}.just-arrived{animation:small-arrival .65s ease-out both}.town-tabs button img{transition:transform .45s ease}.town-tabs button:hover img{transform:scale(1.045)}.town-tabs button[aria-selected=true]{animation:card-select .4s ease-out}.button:active{transform:translateY(2px);box-shadow:none}.music-player{animation:small-arrival .7s .15s both}.festival-hero{padding-bottom:48px}@keyframes sound-bars{from{transform:scaleY(.35)}to{transform:scaleY(1)}}@keyframes poster-enter{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes small-arrival{from{opacity:.35;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes card-select{0%{translate:0 0}50%{translate:0 -5px}100%{translate:0 0}}@media(max-width:760px){.music-player{max-width:360px;padding:18px 17px 13px;margin-top:24px}.music-label strong{font-size:18px}.play-disc{width:53px;height:53px;font-size:22px}.music-play{gap:14px}.equalizer{gap:3px}.equalizer i{width:3px}.music-invite{font-size:14px}.music-label>span{font-size:12px;letter-spacing:.03em}.ticket-dock{flex-wrap:wrap}.dock-pause{font-size:12px;padding:7px 8px}.ticket-dock:has(.dock-pause:not([hidden]))>span{display:none}}@media(prefers-reduced-motion:reduce){.music-player,.festival-hero h1,.just-arrived,.music-playing .equalizer i,.town-tabs button[aria-selected=true]{animation:none!important}.town-tabs button:hover img{transform:none}}
.ticket-dock.has-music{width:min(780px,calc(100% - 24px));display:grid;grid-template-columns:auto 1fr auto;gap:10px 18px;padding:12px 18px}.ticket-dock.has-music>span{display:block}.ticket-dock.has-music .music-timeline{grid-column:1/-1;width:100%;margin:0;min-height:26px}.ticket-dock.has-music .music-timeline input{min-height:24px}.ticket-dock.has-music .dock-pause{background:#55316a;border-color:#c78bda}.music-playing footer{padding-bottom:140px}@media(max-width:760px){.ticket-dock.has-music{grid-template-columns:auto 1fr;padding:10px 12px;gap:6px 12px}.ticket-dock.has-music>span{display:none}.ticket-dock.has-music>a{text-align:center}.ticket-dock.has-music .music-timeline{gap:10px}.music-playing footer{padding-bottom:150px}}

/* Monitor participation terms */
.monitor-conditions{margin-top:38px;padding:28px clamp(20px,4vw,38px);border:1px solid #795285;border-radius:12px;background:#251632;color:#f4e7f5;scroll-margin-top:28px}.monitor-conditions .eyebrow{color:#d5ed88;margin:0 0 8px}.monitor-conditions h3{font-size:clamp(22px,3vw,28px);margin:0 0 14px;color:#fff0d5}.monitor-conditions>p{font-size:14px}.monitor-conditions ul{list-style:none;padding:0;margin:22px 0}.monitor-conditions li+li{margin-top:20px;padding-top:20px;border-top:1px solid #63426f}.monitor-conditions li strong{display:block;color:#fff0d5;font-size:16px}.monitor-conditions li p{margin:6px 0 0;font-size:14px;color:#ded0e5}.monitor-conditions .monitor-quote-note{margin-bottom:0;color:#d5c2df;font-size:13px}

.study-bonus{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center;margin:48px 0 0;padding:26px;background:linear-gradient(120deg,#382043,#20122e);border:1px solid #b58952;border-radius:14px;box-shadow:0 12px 36px #10071730;color:#fff0da}.study-bonus figure{margin:0;min-width:0}.study-bonus img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:7px}.study-bonus figcaption{font-size:10px;text-align:center;color:#cab8ce;margin-top:7px}.study-bonus .eyebrow{color:#d8e89e;font-size:10px;margin:0 0 10px}.bonus-label{display:inline-block;color:#291630;background:#ffce90;padding:3px 11px;border-radius:4px;font-size:12px;font-weight:bold}.study-bonus h3{font-size:clamp(23px,2.4vw,32px);line-height:1.5;margin:15px 0}.study-bonus h3 em{color:#ffbc69}.study-bonus .pack-name{font-family:Georgia,serif;font-size:22px;color:#ffda9e;margin:0 0 12px}.study-bonus-copy>p{font-size:14px;line-height:1.9}.study-bonus .bonus-detail{font-size:12px;color:#d5c3df;margin-bottom:0}@media(max-width:900px){.study-bonus{grid-template-columns:1fr;gap:20px;padding:20px}.study-bonus h3{font-size:26px}.study-bonus .pack-name{font-size:24px}}

.ticket-dock .dock-event{min-width:0;white-space:normal}.ticket-dock .dock-event>b{display:block;margin:0;font-size:13px;line-height:1.6}.ticket-dock .dock-language{display:inline-block;margin-left:8px;color:#d9ee94;font-size:12px}.ticket-dock .dock-time{display:block;font-size:12px;line-height:1.6;white-space:nowrap}@media(max-width:540px){.ticket-dock{flex-wrap:wrap;gap:6px 10px}.ticket-dock .dock-event{flex:1 1 auto}.ticket-dock .dock-language{font-size:11px;margin-left:5px}.ticket-dock .dock-time{font-size:11px}.ticket-dock .dock-pause:not([hidden]){order:3;flex-basis:100%;padding:4px 10px;min-height:32px}.ticket-dock>a{font-size:12px;padding:9px 10px}footer{padding-bottom:150px}}

/* Keep the same mobile composition on desktop. */
@media(min-width:761px){.hero-date{display:none}.town-panel{grid-template-columns:1fr 1fr}.town-copy{padding:22px}.town-tabs button span{display:block;margin:0}.host,.guide{gap:35px}.price strong{font-size:65px}.header{padding:19px 6vw}.brand{font-size:21px}.brand span{display:block;font-size:12px;line-height:1.1}.nav-cta{font-size:14px}.hero{padding:55px 6vw;min-height:0;background-position:62% center}.event-label{font-size:14px}h1{font-size:clamp(29px,6.8vw,45px);letter-spacing:0}.hero-lead{font-size:18px}.hero-small{font-size:16px}.hero-prices{font-size:14px;max-width:340px}.event-strip{font-size:12px;gap:10px;padding:17px 4vw;flex-wrap:wrap}.section{padding:55px 6vw}h2{font-size:28px}.lead{font-size:16px}.benefits{grid-template-columns:1fr;gap:25px;margin-top:30px}.benefits h3{font-size:21px}.benefits article>span{font-size:24px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{font-size:16px}.town-tabs{grid-template-columns:1fr 1fr;gap:8px}.town-tabs button{font-size:15px;padding:10px 7px;min-height:65px}.town-panel{grid-template-columns:1fr}.town-copy{padding:25px 22px}.town-copy h3{font-size:23px}.final-note{display:block}.final-note p{margin-top:10px}.host,.guide,.seat-grid{grid-template-columns:1fr;gap:28px}.host h2{margin-bottom:0}.host-name{font-size:38px}.seat-card{padding:25px 22px}.seat-top{font-size:13px}.price strong{font-size:75px}.guide dd{font-size:16px}.guide dl>div{grid-template-columns:72px 1fr;gap:12px}.faq{padding-top:0}.faq summary{font-size:16px}.closing{padding:65px 6vw}.closing h2{font-size:25px}.button{font-size:15px}.application-dialog{padding:40px 22px 26px}.festival-stamp{width:88px;height:88px;top:20px;right:22px;font-size:10px}.festival-stamp strong{font-size:33px}.festival-hero{padding-top:65px;min-height:0}.town-tabs{gap:12px}.town-tabs button span{display:inline;margin-right:8px}.town-tabs button{font-size:14px}.town-copy h3{font-size:23px}.header{padding:16px 5vw}.nav-cta{padding:7px 12px}.festival-hero{padding:67px 5vw 35px}.festival-kicker{font-size:13px;letter-spacing:.05em;margin-bottom:16px}.festival-hero h1{font-size:clamp(48px,12.5vw,95px);margin-bottom:23px;letter-spacing:-.04em}.festival-hero h1>span{font-size:.57em}.festival-tagline{font-size:24px;margin:20px 0 13px}.mobile-only{display:block}.festival-hero .hero-lead{font-size:15px;max-width:310px;margin:0 auto 20px}.festival-stamp{width:62px;height:62px;top:16px;right:16px;font-size:9px;box-shadow:0 0 0 3px #cfef73}.festival-stamp strong{font-size:26px}.festival-date{padding:12px 14px;gap:12px}.festival-date>strong{font-size:43px}.festival-date>span{font-size:11px}.festival-date b{font-size:14px}.festival-date .date-note{font-size:11px;padding-left:12px}.hero-actions{gap:12px}.hero-actions .button{width:100%;max-width:340px}.sound-button{min-height:44px;padding:10px 17px}.festival-hero .hero-prices{font-size:12px;margin:14px auto 0;max-width:310px}.sound-status{font-size:12px}.event-strip{font-size:13px;gap:15px;justify-content:center}.event-strip>span:last-child{display:none}.promise{padding-top:55px}.promise h2{font-size:28px}.benefits{gap:17px}.benefits article{padding:22px;transform:none}.benefits article:nth-child(2){transform:none}.section-heading h2{margin-bottom:18px}.section-heading>p{font-size:15px}.town-tabs{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.town-tabs button{font-size:14px;padding-bottom:13px}.town-tabs button img{margin-bottom:8px}.town-copy{display:block;padding:24px 22px}.town-copy .eyebrow{margin-bottom:12px}.town-copy h3{margin-bottom:15px;font-size:22px}.town-copy .example{font-size:22px}.host-decoration{font-size:95px}.host{padding-block:50px}.seat-card{transform:none;padding:25px 22px}.observer-seat{transform:none}.ticket-dock{bottom:10px;gap:10px;padding:8px 8px 8px 12px;width:calc(100% - 24px);justify-content:space-between}.ticket-dock>span{font-size:11px}.ticket-dock b{display:block;font-size:13px;margin:0}.ticket-dock a{font-size:13px;padding:10px 12px}.closing{padding-bottom:100px}.closing h2{font-size:27px}.festival-stamp{font-size:12px;width:100px;height:100px}.festival-stamp{display:none}.festival-date>span,.festival-date .date-note{font-size:12px}.ticket-dock>span{font-size:12px}.music-player{max-width:360px;padding:18px 17px 13px;margin-top:24px}.music-label strong{font-size:18px}.play-disc{width:53px;height:53px;font-size:22px}.music-play{gap:14px}.equalizer{gap:3px}.equalizer i{width:3px}.music-invite{font-size:14px}.music-label>span{font-size:12px;letter-spacing:.03em}.ticket-dock{flex-wrap:wrap}.dock-pause{font-size:12px;padding:7px 8px}.ticket-dock:has(.dock-pause:not([hidden]))>span{display:none}.ticket-dock.has-music{grid-template-columns:auto 1fr;padding:10px 12px;gap:6px 12px}.ticket-dock.has-music>span{display:none}.ticket-dock.has-music>a{text-align:center}.ticket-dock.has-music .music-timeline{gap:10px}.music-playing footer{padding-bottom:150px}.study-bonus{grid-template-columns:1fr;gap:20px;padding:20px}.study-bonus h3{font-size:26px}.study-bonus .pack-name{font-size:24px}.ticket-dock{flex-wrap:wrap;gap:6px 10px}.ticket-dock .dock-event{flex:1 1 auto}.ticket-dock .dock-language{font-size:11px;margin-left:5px}.ticket-dock .dock-time{font-size:11px}.ticket-dock .dock-pause:not([hidden]){order:3;flex-basis:100%;padding:4px 10px;min-height:32px}.ticket-dock>a{font-size:12px;padding:9px 10px}footer{padding-bottom:150px}}
