@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&family=Oswald:wght@400;500;600;700&family=Anton&display=swap');
:root{--wine:#3c0b18;--white:#fff7f1;--red:#fb303b;--muted:#c39aa5;--line:#ffffff23}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#21080f;color:var(--white);font-family:'Golos Text',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{position:absolute;top:0;left:0;right:0;height:100px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 5%;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,Arial,sans-serif;font-size:17px;font-weight:800;letter-spacing:-.5px;line-height:1.4}.brand span{display:block;font-size:11px;font-weight:400;letter-spacing:.5px;color:#d5b5bd}nav{display:flex;gap:32px;font-size:12px}nav a:hover{color:#ff5c68}.header-cta{border-bottom:1px solid var(--red);padding:10px 0;font-size:12px}.menu{display:none}.hero{height:100svh;min-height:780px;max-height:1100px;position:relative;isolation:isolate;overflow:hidden;background:#22070e}.hero-video{position:absolute;inset:0;z-index:-3}.hero-video video{width:100%;height:100%;object-fit:cover;object-position:60% center}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#1c060fba,#24050b20 75%),linear-gradient(0deg,#21080f 0%,#21080f70 25%,#16040b20 65%,#1c060fbb)}.hero-content{height:100%;display:flex;flex-direction:column;justify-content:center;padding:125px 7% 50px;position:relative}.hero-location{font-size:13px;letter-spacing:.1px;margin:0 0 20px;color:#f2d4d9}h1{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:clamp(90px,13.4vw,216px);line-height:.83;letter-spacing:-.075em;margin:18px 0 38px}h1>span{display:block;width:max-content}.neon-title{color:transparent;-webkit-text-stroke:1.7px #ff6672;text-shadow:0 0 25px #ff203340,0 0 75px #d80b3560;animation:neon-arrive 2s ease-out both}.hero-bottom{display:flex;align-items:center;gap:70px;margin-top:18px}.hero-bottom p{font-size:15px;line-height:1.65;margin:0;color:#f2d5da}.button{display:inline-flex;justify-content:center;align-items:center;padding:20px 33px;font-size:13px;font-weight:500;transition:background .2s,box-shadow .2s;border:1px solid transparent}.red{background:#df2535;color:white;box-shadow:0 0 35px #f7233325}.red:hover{background:#fa3445;box-shadow:0 0 40px #f7233360}.sound{position:absolute;right:5%;bottom:42px;background:#250d1680;color:#efcbd1;border:1px solid #ba77825c;border-radius:0;font-size:10px;padding:10px 13px}.scroll-link{position:absolute;bottom:45px;left:7%;font-size:10px;color:#e0aeb9}.neon-trace{position:absolute;z-index:-1;right:8%;top:-20%;width:32%;height:145%;border-right:2px solid #ff3c52;border-radius:50%;transform:rotate(26deg);box-shadow:8px 0 16px #ff193e80,18px 0 75px #ff193e70;opacity:.65;animation:light-arrive 2.4s cubic-bezier(.2,.65,.3,1) both}.trace-two{width:50%;right:-28%;transform:rotate(-30deg);opacity:.3;animation-delay:.18s}@keyframes light-arrive{0%{opacity:0;translate:130px 0}25%{opacity:1}55%{opacity:.3}100%{translate:0 0}}@keyframes neon-arrive{0%{opacity:0;text-shadow:none}15%{opacity:1}17%{opacity:.4}20%{opacity:1}100%{opacity:1}}.section{padding:105px 7%}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(38px,4.4vw,70px);font-weight:500;letter-spacing:-.055em;line-height:1.09;margin:0}.kicker{font-size:12px;line-height:1.7;color:#dba6b5;margin:0 0 25px}.intro{background:#410c1c;display:grid;grid-template-columns:1.2fr 1fr;gap:12%;position:relative}.intro:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#cc2941}.intro-copy{padding-top:40px}.intro-copy p,.about-text>p,.cta-copy p{font-size:14px;line-height:1.9;color:#d3aeb9;margin:0 0 23px}.intro-copy .lead{font-size:21px;line-height:1.55;color:var(--white);letter-spacing:-.4px}.text-link{display:inline-block;font-size:12px;padding:7px 0 10px;border-bottom:1px solid #eb3b53;margin-top:12px}.text-link:hover{color:#ff6c80}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:#240a13}.about-photo{height:650px;position:relative}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.about-photo:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 65px #6b0e2530}.about-text h2{font-size:clamp(45px,5vw,80px);max-width:450px}.about-text blockquote{font-size:23px;line-height:1.5;margin:35px 0 25px;color:#f7c9d3;letter-spacing:-.5px}.about-text>p.kicker{font-size:12px;color:#dba6b5}.about-text>p{max-width:440px}.moments{background:#490e22}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:45px}.title-row>p{font-size:12px;line-height:1.85;color:#cea4b1;max-width:280px;margin:0 0 5px}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}figure{margin:0;min-width:0}.film{height:420px;background:#290a13;position:relative}.film video{width:100%;height:100%;object-fit:cover}figcaption{font-size:11px;color:#d5a4b5;padding-top:17px}.schedule{background:#290914}.schedule-intro{max-width:620px;font-size:14px;color:#cfacb7;line-height:1.85;margin:0 0 38px}.filters{display:flex;flex-wrap:wrap;gap:25px;margin-bottom:14px;border-bottom:1px solid var(--line)}.filters button{font-size:12px;background:none;border:0;border-bottom:2px solid transparent;color:#c695a5;padding:14px 0;margin-bottom:-1px}.filters .active{color:var(--white);border-color:var(--red)}.schedule-row{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;gap:25px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.row-number{display:none}.group-name{font-family:Manrope,Arial,sans-serif;font-size:28px;letter-spacing:-1px}.level{display:block;font-family:'Golos Text',Arial,sans-serif;font-size:10px;letter-spacing:0;color:#c57d92;margin-top:8px;text-transform:lowercase;line-height:1.5}.time{font-size:23px;letter-spacing:-.8px}.day{display:block;font-size:10px;letter-spacing:0;text-transform:lowercase;color:#c99dab;margin-top:8px}.location{font-size:12px;color:#edc9d4}.availability{display:none}.row-link{display:inline-block;font-size:11px;color:#ff7081;padding:8px 0;border-bottom:1px solid #a8334e}.row-link:hover{color:white}.schedule-note{display:flex;justify-content:space-between;gap:40px;align-items:center;padding-top:30px}.schedule-note p{max-width:530px;color:#c99aaa;font-size:12px;line-height:1.85;margin:0}.schedule-note a{white-space:nowrap;margin:0}.faq{background:#390b1c}.faq-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:9%}.faq h2{font-size:43px}details{border-bottom:1px solid var(--line);padding:23px 0}details:first-child{padding-top:7px}summary{font-size:13px;display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;line-height:1.5}summary::-webkit-details-marker{display:none}summary span{color:#f4506b;font-size:19px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;line-height:1.85;color:#d2a5b3;max-width:450px}.final-cta{padding:100px 7%;background:#710e28;display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:end;border-top:1px solid #b32b4550}.final-cta h2{font-size:clamp(42px,5vw,80px)}.final-cta .kicker{color:#e9adb8}.cta-copy p{color:#efc4cd;font-size:14px}.final-cta .red{background:#f02c42}footer{padding:40px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px;background:#1d080e}footer p{font-size:11px;color:#b38393}footer>div{display:flex;gap:25px;font-size:11px}footer>a:last-child{font-size:10px;color:#b38393}[hidden]{display:none!important}:focus-visible{outline:2px solid #ff7684;outline-offset:6px}
@media(min-width:1700px){.section,.final-cta{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}@media(max-width:1000px){header{gap:20px}nav{gap:20px;font-size:11px}.hero{min-height:760px}h1{font-size:15.5vw}.hero-bottom{gap:45px}.intro{gap:7%}.about{gap:7%}.about-photo{height:580px}.film{height:360px}.schedule-row{grid-template-columns:1fr 1fr 1fr auto;gap:15px}.group-name{font-size:25px}.time{font-size:21px}.location{font-size:11px}.faq-grid{gap:7%}}
@media(max-width:700px){html{scroll-padding-top:20px}header{height:80px;padding:0 6%;gap:18px}.brand{font-size:13px}.brand span{font-size:9px}.header-cta{margin-left:auto;font-size:10px}.menu{display:block;color:var(--white);background:none;border:0;font-size:21px;padding:5px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#290914f5;padding:25px 6%;font-size:14px;flex-direction:column;gap:24px;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{min-height:720px;height:100svh;max-height:1000px}.hero-video video{object-position:62% center}.hero-shade{background:linear-gradient(0deg,#21080f 0%,#21080fc0 30%,#28061722 75%,#1f050cb0),linear-gradient(90deg,#24050c50,transparent)}.hero-content{padding:140px 6% 95px;justify-content:flex-end}.hero-location{font-size:11px;margin-bottom:14px}h1{font-size:22vw;letter-spacing:-.075em;margin:18px 0 27px;line-height:.88}.neon-title{-webkit-text-stroke:1.2px #ff6f7c}.hero-bottom{display:block;margin-top:0}.hero-bottom p{font-size:13px;line-height:1.7;margin-bottom:22px}.button{padding:18px 26px;font-size:12px}.sound{bottom:32px;right:6%;font-size:9px}.scroll-link{left:6%;bottom:43px;font-size:9px}.neon-trace{right:8%;top:-15%;width:75%;height:115%;opacity:.45;box-shadow:8px 0 16px #ff193e60,18px 0 65px #ff193e60}.trace-two{right:-70%;width:95%;opacity:.2}.section{padding:58px 6%}h2{font-size:39px;letter-spacing:-2px}.kicker{font-size:10px;margin-bottom:22px}.intro{grid-template-columns:1fr;gap:28px}.intro-copy{padding-top:0}.intro-copy .lead{font-size:19px}.intro-copy p,.about-text>p,.cta-copy p{font-size:12px;line-height:1.9}.intro-copy p:last-of-type{margin-bottom:12px}.about{grid-template-columns:1fr;gap:32px}.about-photo{height:500px}.about-text h2{font-size:50px}.about-text blockquote{font-size:21px;margin:25px 0}.about-text>p{max-width:100%}.title-row{display:block;margin-bottom:27px}.title-row>p{font-size:11px;margin-top:20px;max-width:100%}.film-grid{grid-template-columns:1fr;gap:28px}.film{height:285px}.film video{object-fit:cover}figcaption{font-size:10px;padding-top:12px}.schedule-intro{font-size:12px;margin-bottom:20px}.filters{gap:21px}.filters button{font-size:10px;padding:13px 0}.schedule-row{grid-template-columns:1fr auto;gap:14px;padding:25px 0}.group-name{font-size:25px}.level{font-size:9px;max-width:220px}.time{font-size:20px;grid-row:2;grid-column:1}.day{font-size:9px;display:inline-block;margin-left:12px}.location{grid-column:1;grid-row:3;font-size:10px}.row-link{grid-column:2;grid-row:1/4;font-size:10px}.schedule-note{display:block;padding-top:23px}.schedule-note p{font-size:11px}.schedule-note a{margin-top:17px}.faq-grid{grid-template-columns:1fr;gap:32px}.faq h2{font-size:38px}summary{font-size:12px}details p{font-size:11px}.final-cta{padding:55px 6%;grid-template-columns:1fr;gap:27px}.final-cta h2{font-size:43px}.final-cta .kicker{font-size:10px}.cta-copy p{font-size:12px}footer{padding:30px 6%;gap:25px;flex-wrap:wrap}footer>.brand{width:60%}footer p{margin-left:auto}footer>div{font-size:10px;gap:22px}footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.neon-trace,.neon-title{animation:none}}

/* Expressive type and a continuous wine-coloured stage. */
body{font-family:Onest,Arial,sans-serif;background:#280914}
main{overflow:hidden;position:relative;background:radial-gradient(ellipse 75% 17% at 8% 23%,#77152d80,transparent 80%),radial-gradient(ellipse 80% 16% at 98% 39%,#9a193855,transparent 75%),radial-gradient(ellipse 100% 20% at 0% 78%,#690f3066,transparent 75%),linear-gradient(165deg,#280914,#340c1c 40%,#260b14 70%,#3d0b1e)}
.brand{font-family:'Russo One',Arial,sans-serif;font-weight:400;letter-spacing:-.3px}.brand span{font-family:Onest,Arial,sans-serif}
h1{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:clamp(130px,17vw,260px);letter-spacing:-.018em;line-height:.86;transform:skew(-6deg);transform-origin:left center;margin:10px 0 30px}
h1>span:last-child{margin-left:45px}.neon-title{-webkit-text-stroke:1.5px #ff6b78;text-shadow:0 0 35px #ff1e4855,0 0 90px #e6113c66}
h2,.group-name{font-family:'Russo One',Arial,sans-serif;font-weight:400;letter-spacing:-.035em}
h2{font-size:clamp(33px,3.7vw,59px);line-height:1.12}
.hero{min-height:690px;height:90svh;max-height:900px;background:transparent}
.hero-shade{background:linear-gradient(90deg,#210611af,#24050b10 75%),linear-gradient(0deg,#280914 0%,#28091485 19%,#16040b20 65%,#1c060faa)}
.hero-content{padding-top:115px;padding-bottom:75px}.hero-location{margin-bottom:12px}.hero-bottom{margin-top:4px;gap:35px}.hero-bottom p{font-size:16px}.hero-bottom .button{margin-left:8px}.button{border-radius:52% 48% 48% 52% / 50% 50% 50% 50%;padding:20px 35px;font-weight:600;min-height:60px;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{transform:translateY(-2px)}.red{background:linear-gradient(125deg,#fc253f,#c91437);box-shadow:0 8px 35px #e71b3438,inset 0 1px 0 #ff879477}.sound{border-radius:100px;padding:11px 16px}
.section{padding:62px 7%;position:relative;background:transparent}.intro{gap:6%;grid-template-columns:1.15fr 1fr;padding-top:30px;padding-bottom:45px;align-items:center}.intro:before{display:none}.intro-title h2{max-width:600px}.intro-copy{padding-top:0}.kicker{margin-bottom:19px}.intro-copy .lead{font-size:19px}.intro-copy p{margin-bottom:17px;font-size:13px;line-height:1.8}.text-link{margin-top:5px}
.about{grid-template-columns:1.05fr 1fr;gap:6%;padding-top:20px;padding-bottom:35px;isolation:isolate}.about:before{content:'';position:absolute;z-index:-1;width:80%;height:85%;left:-20%;top:5%;background:radial-gradient(ellipse,#b52a3d38,transparent 69%);pointer-events:none}.about-photo{height:610px;margin-left:-30px;transform:rotate(-3deg);border-radius:46% 46% 35% 39% / 36% 40% 29% 31%;overflow:hidden;mask-image:linear-gradient(0deg,transparent,#000 20%,#000 94%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 20%,#000 94%,transparent)}.about-photo img{object-position:50% 28%;object-fit:cover;transform:scale(1.05)}.about-photo:after{box-shadow:none;background:linear-gradient(90deg,#400d1b75,transparent 18%,transparent 82%,#340c1c80);border-radius:inherit}.about-text h2{font-size:clamp(50px,5.9vw,90px);line-height:1.02;transform:skew(-4deg);max-width:none;margin-left:-4px}.about-text blockquote{font-size:20px;line-height:1.5;margin:25px 0 20px}.about-text>p{font-size:13px;line-height:1.8;margin-bottom:15px}.about-text>p.kicker{font-size:12px}
.moments{padding-top:45px;padding-bottom:55px}.title-row{gap:35px;margin-bottom:30px}.title-row>p{font-size:12px}.film-grid{gap:25px;align-items:center}.film{height:340px;border-radius:38px 85px 38px 38px;overflow:hidden;background:transparent}.film-grid figure:nth-child(2){margin-top:65px}.film-grid figure:nth-child(2) .film{border-radius:85px 38px 38px 38px}.film video{border-radius:inherit}.film-grid figcaption{padding-left:18px}
.schedule{padding-top:38px}.schedule-intro{margin-bottom:20px;font-size:13px}.schedule-row{padding:22px 0}.group-name{font-size:24px}.level{font-family:Onest,Arial,sans-serif;letter-spacing:0}.time{font-family:Onest,Arial,sans-serif;font-size:22px}.filters{gap:26px}.filters button{font-size:12px}.schedule-note{padding-top:23px}.faq{padding-top:35px;padding-bottom:55px}.faq h2{font-size:36px}.faq-grid{gap:7%;align-items:start}details{padding:18px 0}
.final-cta{padding:65px 7% 60px;background:radial-gradient(ellipse at 80% 100%,#a51b3c,#710e28 65%);border:0;border-radius:90px 130px 0 0;gap:7%;position:relative;margin-top:15px}.final-cta h2{font-size:clamp(36px,4vw,62px)}.final-cta .red{background:linear-gradient(120deg,#ff4054,#e52142)}.cta-copy p{font-size:13px;line-height:1.8;margin-bottom:18px}footer{padding-top:30px;padding-bottom:30px;background:#280914;border:0}
@media(min-width:1700px){.section,.final-cta{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}
@media(max-width:1000px){h1{font-size:20vw}.hero{min-height:700px}.section{padding-top:48px;padding-bottom:48px}.intro{gap:5%}.intro h2{font-size:38px}.about-photo{height:560px;margin-left:-15px}.about{gap:4%}.about-text h2{font-size:66px}.about-text blockquote{font-size:18px}.film{height:290px}.film-grid figure:nth-child(2){margin-top:40px}.group-name{font-size:21px}.faq h2{font-size:31px}.final-cta{border-radius:65px 90px 0 0}}
@media(max-width:700px){
.hero{height:86svh;min-height:620px;max-height:850px}.hero-content{padding:100px 6% 90px;justify-content:flex-end}.hero-location{font-size:11px;margin-bottom:18px}h1{font-size:27vw;letter-spacing:-.015em;margin:0 0 25px;line-height:.89}h1>span:last-child{margin-left:15px}.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.hero-bottom p{font-size:14px;line-height:1.4;margin:0}.hero-bottom .button{margin-left:0}.button{font-size:12px;min-height:52px;padding:17px 27px}.sound{bottom:25px;padding:10px 13px}.scroll-link{bottom:38px}.hero-shade{background:linear-gradient(0deg,#280914,#280914bb 24%,#28061722 78%,#1f050cb0),linear-gradient(90deg,#24050c50,transparent)}
.section{padding:35px 6%}.intro{grid-template-columns:1fr;gap:24px;padding-top:20px;padding-bottom:25px}.kicker{font-size:11px;margin-bottom:14px}.intro h2,h2{font-size:34px;line-height:1.13}.intro-title h2{max-width:440px}.intro-copy .lead{font-size:18px;line-height:1.55}.intro-copy p{font-size:12px;line-height:1.8;margin-bottom:14px}.about{grid-template-columns:1fr;gap:0;padding-top:10px;padding-bottom:25px}.about-photo{height:510px;max-width:440px;width:100%;margin:0 auto -45px;transform:rotate(-3deg);border-radius:46% 46% 35% 39% / 36% 40% 29% 31%;mask-image:linear-gradient(0deg,transparent,#000 26%,#000 94%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 26%,#000 94%,transparent)}.about-text{position:relative;z-index:1}.about-text h2{font-size:58px;line-height:1.02}.about-text blockquote{font-size:19px;margin:22px 0 17px}.about-text>p{font-size:12px}.about-text>p.kicker{font-size:10px;margin-bottom:12px}.moments{padding-top:30px}.title-row{margin-bottom:25px}.title-row>p{font-size:11px;margin-top:16px}.film-grid{grid-template-columns:1fr;gap:22px}.film,.film-grid figure:nth-child(2) .film{height:255px;border-radius:27px 60px 27px 27px}.film-grid figure:nth-child(2){margin-top:0}.film-grid figure:nth-child(2) .film{border-radius:60px 27px 27px 27px}.film-grid figcaption{padding-left:10px;font-size:10px}.schedule{padding-top:30px}.schedule-intro{font-size:12px;line-height:1.8;margin-bottom:15px}.filters{gap:20px}.filters button{font-size:10px}.schedule-row{padding:21px 0}.group-name{font-size:22px;letter-spacing:-.6px}.time{font-size:20px}.faq{padding-top:25px;padding-bottom:40px}.faq h2{font-size:31px}.faq-grid{gap:25px}.final-cta{margin-top:0;padding:40px 6%;gap:23px;border-radius:48px 70px 0 0}.final-cta h2{font-size:34px}.final-cta .kicker{font-size:10px}.cta-copy p{font-size:12px}.brand{font-size:12px}.brand span{font-size:9px}footer{padding:25px 6%}}
.hero-video{mask-image:linear-gradient(0deg,transparent,#000 16%);-webkit-mask-image:linear-gradient(0deg,transparent,#000 16%)}
.hero-shade{mask-image:linear-gradient(0deg,transparent,#000 15%);-webkit-mask-image:linear-gradient(0deg,transparent,#000 15%)}
.intro{align-items:start}
@media(max-width:700px){.hero-video,.hero-shade{mask-image:linear-gradient(0deg,transparent,#000 13%);-webkit-mask-image:linear-gradient(0deg,transparent,#000 13%)}}

.hero-neon{position:absolute;inset:0;z-index:-1;pointer-events:none;mask-image:linear-gradient(0deg,transparent,#000 15%);-webkit-mask-image:linear-gradient(0deg,transparent,#000 15%)}.hero-neon .neon-trace{z-index:auto}

/* Selective visual cues from the supplied FitMaker reference. */
.brand b{font-weight:400;color:#ff4559}.red-word{color:#ff5269}
.header-cta{border:1px solid #ff3a5280;background:#8e182a33;border-radius:999px;padding:11px 23px;transition:background .2s,box-shadow .2s}.header-cta:hover{background:#e32940;box-shadow:0 0 25px #f32a4538}
.portrait-stage{position:relative;isolation:isolate;min-width:0}.portrait-halo{position:absolute;z-index:-1;width:110%;height:78%;left:-9%;top:11%;border-radius:50%;background:radial-gradient(ellipse at 38% 32%,#ea4b3044,transparent 60%),linear-gradient(140deg,#c34b26,#c71b3c 56%,#710e29);box-shadow:0 0 70px #f3273e27;transform:rotate(-12deg)}.portrait-halo:before{content:'';position:absolute;inset:-16px;border:1px solid #ff543244;border-radius:50%;transform:rotate(7deg)}.portrait-halo:after{content:'';position:absolute;inset:20%;border-radius:50%;background:#ed1f3480;filter:blur(55px)}
.about-photo{width:100%;margin-left:0;transform:rotate(-3deg);border-radius:45% 45% 35% 35% / 38% 38% 26% 30%;mask-image:radial-gradient(ellipse 75% 100% at 50% 43%,#000 48%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse 75% 100% at 50% 43%,#000 48%,transparent 76%)}
.film{box-shadow:0 0 0 1px #ee4b6140,0 14px 45px #16070e66}.film:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#bd16262a,transparent 48%);box-shadow:inset 0 1px 0 #ff796c38}
.filters{display:inline-flex;gap:0;border:1px solid #ed3c5555;border-radius:999px;padding:4px;margin-bottom:20px}.filters button{border:0;border-radius:999px;padding:11px 19px;margin:0;transition:background .2s,color .2s}.filters button.active{background:#dc243f;color:#fff}.filters button:hover{color:#fff;background:#bd1f3938}.filters button.active:hover{background:#ee304c}
@media(max-width:1000px){.portrait-halo{width:112%;left:-6%;height:70%;top:15%}.filters button{padding:10px 17px}}
@media(max-width:700px){.header-cta{padding:9px 14px;font-size:10px}.portrait-stage{margin:0 0 -36px}.portrait-halo{width:94%;left:3%;height:72%;top:14%;box-shadow:0 0 50px #f3273e30}.about-photo{margin:0 auto;max-width:440px;height:510px}.filters{display:flex;width:100%;max-width:390px;justify-content:space-between;flex-wrap:nowrap;border-radius:999px;gap:0}.filters button{padding:10px 9px;font-size:10px;white-space:nowrap}.film:after{background:linear-gradient(135deg,#bd16262a,transparent 48%)}}

/* Quiet section breaks and unified, condensed typography. */
h2,.group-name,.brand{font-family:Oswald,'Arial Narrow',Arial,sans-serif;font-weight:500;letter-spacing:-.015em}
h2{font-size:clamp(40px,4.6vw,70px);line-height:1.08;text-transform:uppercase;color:#fff7f1}
.intro h2{font-size:clamp(40px,4.4vw,67px);max-width:580px}.about-text h2{font-size:clamp(58px,6.5vw,98px);line-height:1.02;transform:none;letter-spacing:-.02em}.faq h2{font-size:44px}.final-cta h2{font-size:clamp(42px,4.8vw,72px)}
.red-word,.brand b{color:inherit}.red-word{font:inherit}.brand{font-size:21px;letter-spacing:.02em}.brand span{font-family:Onest,Arial,sans-serif;font-size:10px;letter-spacing:.04em;color:#c4b3af}.group-name{font-size:28px;text-transform:none}
.kicker,.about-text>p.kicker,.hero-location{color:#c5b3af}.intro-copy p,.about-text>p,.cta-copy p,.title-row>p,.schedule-intro,.schedule-note p,details p,figcaption{color:#c1b2ad}.intro-copy .lead{color:#f5ece6}.about-text blockquote{color:#eee0d9}.hero-bottom p{color:#f5ece6}
.section-seam{height:46px;position:relative;pointer-events:none;margin:0 5%;isolation:isolate}.section-seam svg{width:100%;height:100%;display:block;overflow:visible}.section-seam:after{content:'';position:absolute;inset:4px 15% 0;background:radial-gradient(ellipse at center,#b15c4b0c,transparent 70%);z-index:-1}.section-seam:nth-of-type(even) svg{transform:scaleX(-1)}
.intro{padding-bottom:24px}.about{padding-top:20px;padding-bottom:20px}.moments{padding-top:28px;padding-bottom:28px}.schedule{padding-top:28px;padding-bottom:28px}.faq{padding-top:28px}
.about:before{background:radial-gradient(ellipse,#8f283325,transparent 70%)}.moments{background:radial-gradient(ellipse at 80% 40%,#58122225,transparent 72%)}.schedule{background:radial-gradient(ellipse at 12% 55%,#16081025,transparent 74%)}
.neon-title{-webkit-text-stroke-color:#f04048;text-shadow:0 0 35px #f2263350,0 0 90px #da142c55}.level,.day{color:#b29a95}.row-link{color:#ef7774}.filters button{color:#bcaaa5}.filters button.active{background:#c92532}.filters button.active:hover{background:#e3303a}.red{background:linear-gradient(120deg,#e52b34,#b51f30)}.final-cta .red{background:linear-gradient(120deg,#ee363c,#d12733)}.portrait-halo{background:radial-gradient(ellipse at 38% 32%,#c54c2e40,transparent 60%),linear-gradient(140deg,#ad4429,#b51e32 56%,#710e29)}
@media(max-width:1000px){.intro h2{font-size:44px}.about-text h2{font-size:76px}.faq h2{font-size:38px}.group-name{font-size:26px}}
@media(max-width:700px){h2,.intro h2{font-size:40px;line-height:1.1}.about-text h2{font-size:65px;line-height:1.02}.faq h2{font-size:38px}.final-cta h2{font-size:43px}.brand{font-size:16px}.brand span{font-size:9px}.group-name{font-size:26px}.section-seam{height:30px;margin:0 6%}.intro{padding-bottom:18px}.about{padding-top:8px;padding-bottom:15px}.moments,.schedule,.faq{padding-top:24px}.moments,.schedule{padding-bottom:20px}}

/* Warm scarlet accents, kept distinct from rose. */
:root{--heading-accent:#e04930}h2 .red-word{color:var(--heading-accent)}.brand b{color:inherit}

/* Brass details and varied editorial alignment for the later sections. */
:root{--brass:#c6a66a;--brass-soft:#8f7447}
.intro{border-top:1px solid #c6a66a38;border-bottom:1px solid #c6a66a24}
.intro-title .kicker{display:flex;align-items:center;gap:12px}
.intro-title .kicker:before{content:"";width:28px;height:1px;background:var(--brass)}
.about-text{max-width:570px;margin-left:auto;padding:24px 0 24px 5%;border-left:1px solid #c6a66a45}
.about-text .kicker{display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid #c6a66a70;border-radius:999px;color:#d3b77f!important;letter-spacing:.08em;text-transform:uppercase;font-size:10px!important}
.about-text .kicker:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--brass)}
.about-text blockquote{border-left:2px solid var(--brass);padding-left:18px;margin-left:-20px}
.moments{border-top:1px solid #c6a66a20;border-bottom:1px solid #c6a66a20}
.moments .title-row{align-items:center}
.moments .title-row>h2{order:2;text-align:right;max-width:650px}
.moments .title-row>p{order:1;border-left:1px solid var(--brass);padding:10px 0 10px 17px;color:#d3b77f;max-width:260px}
.film-grid{grid-template-columns:1.12fr .88fr;gap:5%;align-items:start}
.film-grid figure:nth-child(2){margin-top:86px}
.film-grid figure:nth-child(2) figcaption{text-align:right;padding-right:16px}
.film{outline:1px solid #c6a66a35;outline-offset:5px}
.film-grid figure:nth-child(2) .film{outline-color:#c6a66a55}
.schedule .title-row{flex-direction:row-reverse;align-items:center}
.schedule .title-row>h2{text-align:right}
.schedule .title-row>p{border-right:1px solid var(--brass);padding:9px 16px 9px 0;text-align:right;color:#d3b77f}
.schedule-intro{margin-left:auto;margin-right:0;text-align:right;max-width:545px}
.filters{border-color:#c6a66a70}
.filters button.active{background:#c6a66a;color:#2a1111}
.filters button:hover{background:#c6a66a20}
.filters button.active:hover{background:#d4b77d}
.schedule-row{border-color:#c6a66a36}
.row-number{color:var(--brass)}
.row-link{color:#d2b372;border-color:#c6a66a70}
.schedule-note{border-top:1px solid #c6a66a50}
.schedule-note .text-link,.text-link{border-color:#c6a66a90}
details{border-color:#c6a66a30}
details summary span{color:var(--brass)}
.final-cta{background:#4b1020;border-top:1px solid #c6a66a50}
.final-cta .kicker{color:#d2b372}
.final-cta .button.red{background:#c6a66a;color:#2a1111;box-shadow:none}
.final-cta .button.red:hover{background:#d6b979}
footer .brand b{color:var(--brass)}footer>p{color:#d3b77f}footer>div a:hover,footer>a:last-child:hover{color:var(--brass)}
@media(max-width:700px){
.about-text{margin:0 0 0 7%;padding:18px 0 12px 16px;border-left:1px solid #c6a66a55}
.about-text blockquote{margin-left:-17px;padding-left:14px}
.moments .title-row{align-items:flex-start;flex-direction:column;gap:18px}
.moments .title-row>h2{order:1;text-align:left;align-self:flex-end}
.moments .title-row>p{order:2;margin:0 0 0 5%;max-width:245px}
.film-grid{grid-template-columns:1fr;gap:26px}
.film-grid figure:nth-child(2){margin-top:0;margin-left:8%}
.film-grid figure:nth-child(2) .film{height:235px}
.schedule .title-row{align-items:flex-start;flex-direction:column;gap:16px}
.schedule .title-row>h2{text-align:left;align-self:flex-end}
.schedule .title-row>p{align-self:flex-start;text-align:left;border-right:0;border-left:1px solid var(--brass);padding:8px 0 8px 14px}
.schedule-intro{text-align:left;margin-left:5%}
.filters{border-color:#c6a66a70}
}

/* Give the schedule a gentle tonal pause and center its main headline. */
.schedule{
  background:linear-gradient(180deg,#35101d 0%,#300d1a 36%,#290914 100%);
  border-top:1px solid #c6a66a28;
  border-bottom:1px solid #c6a66a20;
  overflow:hidden;
}
.schedule .title-row{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
  margin-bottom:28px;
}
.schedule .title-row>h2{
  text-align:center;
  font-family:Onest,Arial,sans-serif;
  font-weight:700;
  font-size:clamp(48px,6vw,78px);
  line-height:1.05;
  letter-spacing:-.045em;
  text-transform:none;
}
.schedule .title-row>h2 .red-word{color:#c6a66a}
.schedule .title-row>p{
  align-self:center;
  text-align:center;
  border:0;
  border-top:1px solid #c6a66a7a;
  padding:12px 18px 0;
  color:#d3b77f;
  max-width:none;
}
.schedule-intro{
  margin:0 auto 28px;
  text-align:center;
  max-width:650px;
}
.schedule-row{
  grid-template-columns:minmax(0,1.1fr) minmax(145px,.9fr) minmax(0,1fr) auto;
  min-width:0;
}
.schedule-row>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px){
  .schedule-row{grid-template-columns:minmax(0,1fr) minmax(140px,.8fr) minmax(0,1fr) auto;gap:12px}
}
@media(max-width:700px){
  .schedule .title-row{align-items:center;gap:12px;margin-bottom:22px}
  .schedule .title-row>h2{font-size:clamp(38px,10vw,52px);text-align:center;align-self:center}
  .schedule .title-row>p{align-self:center;border-top:1px solid #c6a66a7a;border-left:0;padding:10px 12px 0;text-align:center}
  .schedule-intro{margin:0 auto 18px;text-align:center}
}

/* A more considered masthead over the opening dance footage. */
header{
  top:14px;
  left:4%;
  right:4%;
  height:72px;
  padding:0 26px;
  border:1px solid #c6a66a52;
  border-radius:999px;
  background:#260811c7;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  box-shadow:0 12px 34px #10030955;
}
header:after{
  content:"";
  position:absolute;
  height:1px;
  left:10%;right:10%;bottom:-1px;
  background:#c6a66a55;
  pointer-events:none;
}
header .brand{position:relative;z-index:1;white-space:nowrap;font-family:Onest,Arial,sans-serif;font-weight:700;letter-spacing:.035em}
header .brand b{color:#d4b77d;font-weight:700}
header .brand span{letter-spacing:.12em;text-transform:uppercase;color:#c5aaa5}
header nav{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  gap:4px;
  padding:5px;
  border:1px solid #ffffff12;
  border-radius:999px;
  background:#17050b7a;
}
header nav a{
  position:relative;
  display:block;
  padding:11px 16px;
  border-radius:999px;
  color:#f4e9e2;
  font-size:12px;
  letter-spacing:.025em;
  transition:color .2s,background .2s;
}
header nav a:hover,header nav a:focus-visible{color:#e0c487;background:#c6a66a1c}
header .header-cta{
  position:relative;
  z-index:1;
  padding:11px 19px;
  border:1px solid #c6a66a90;
  border-radius:999px;
  background:#c6a66a;
  color:#2a1111;
  font-size:11px;
  font-weight:700;
  letter-spacing:.025em;
  transition:background .2s,transform .2s;
}
header .header-cta:hover{background:#d7be87;transform:translateY(-1px);box-shadow:none}
@media(max-width:1000px) and (min-width:701px){
  header{left:3%;right:3%;padding:0 19px;gap:12px}
  header nav{gap:0}
  header nav a{padding:10px 11px;font-size:11px}
  header .brand{font-size:17px}
  header .header-cta{padding:10px 14px}
}
@media(max-width:700px){
  header{top:10px;left:4%;right:4%;height:62px;padding:0 15px;gap:12px;border-radius:999px}
  header:after{left:12%;right:12%}
  header .brand{font-size:13px}
  header .brand span{font-size:8px}
  header .header-cta{margin-left:auto;padding:9px 13px;font-size:10px}
  header .menu{position:relative;z-index:2;display:block;color:#f7eee7;background:transparent;border:1px solid #c6a66a66;border-radius:50%;width:36px;height:36px;font-size:17px;line-height:1}
  header nav{display:none;top:calc(100% + 10px);left:0;right:0;transform:none;padding:10px;border:1px solid #c6a66a66;border-radius:22px;background:#260811f2;box-shadow:0 16px 34px #10030975;flex-direction:column;align-items:stretch;gap:3px}
  header nav.open{display:flex}
  header nav a{padding:14px 16px;font-size:13px}
}
