/* A continuous editorial atmosphere inspired by the supplied JAW art. */
.night-page{background:#130e17;position:relative}
.night-page:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 35% 12% at 12% 18%,#de70eb28,transparent),radial-gradient(ellipse 40% 14% at 85% 36%,#f7a7ff20,transparent),radial-gradient(ellipse 40% 12% at 20% 60%,#be58c924,transparent),radial-gradient(ellipse 30% 15% at 80% 83%,#e781f229,transparent)}
.night-page>.night-current{z-index:1;opacity:.88;mix-blend-mode:screen}
.night-page main,.night-page header,.night-page footer,.mobile-cta{position:relative;z-index:2}
.night-page .hero-image:after{content:"";position:absolute;inset:0;background:url('assets/jaw-light-ribbon.jpg') center/cover;mix-blend-mode:screen;opacity:.24;animation:ambientDrift 14s ease-in-out infinite alternate}
.night-page .intro,.night-page .lineup,.night-page .route,.night-page .apparel,.night-page .schedule,.night-page .registration,.night-page .faq{background-color:transparent}
.night-page .intro:before,.night-page .apparel:before,.night-page .schedule:before,.night-page .registration:before{content:"";position:absolute;inset:0;z-index:-1;background:url('assets/jaw-purple-haze.jpg') center/cover no-repeat;opacity:.15;mix-blend-mode:screen;pointer-events:none}
.night-page .apparel:before{background-image:url('assets/jaw-runners-shadow.jpg');opacity:.15}.night-page .schedule:before{background-image:url('assets/jaw-night-legs.jpg');opacity:.13}.night-page .registration:before{background-image:url('assets/jaw-purple-haze.jpg');opacity:.11}
.night-page h2{font-size:clamp(62px,7.5vw,120px);line-height:.99;overflow-wrap:anywhere}.night-page .intro h2,.night-page .route h2,.night-page .schedule h2,.night-page .pricing-heading h2,.night-page .faq h2{font-size:clamp(61px,7vw,112px)}
.night-page .lineup h2{font-size:clamp(60px,7vw,112px)}.night-page .benefits>h3{font-size:clamp(46px,5.8vw,88px)}.night-page .eyebrow{font-weight:800;letter-spacing:.12em}.night-page .hero-copy .eyebrow{font-size:14px;color:#f2b5fb}.night-page .jaw-logo{filter:invert(1) drop-shadow(0 0 10px #e781f277)}.site-header.is-scrolled .jaw-logo{filter:invert(1) drop-shadow(0 0 16px #e781f2aa)}
.night-page .ticker{background:#fff;color:#181019;padding:20px 0;box-shadow:0 0 45px #fff7}.night-page .ticker>.ticker-track{animation-duration:15s}.ticker .strap-logo{filter:none;opacity:1;width:168px;height:56px;margin:0 48px}.night-page .ticker .ticker-group{color:#181019}
.night-page .water-pin span{display:none}.night-page .landmarks li.water-stop{border-bottom:1px solid #de70eb66}.night-page .landmarks li.water-stop button{color:#f4b7fd}.night-page .water-pin{width:29px;height:29px}.night-page .water-pin svg{width:14px;height:17px}
.night-page .route-map-stage{border:1px solid #f4b7fd65;border-radius:24px;box-shadow:0 25px 90px #de70eb25}.night-page .route-map-stage .image-button>img{width:100%;height:auto;object-fit:contain}.night-page .route-reference{min-width:0}.night-page .route-selected{border-radius:15px;background:#de70eb16}
.night-page .apparel-showcase{background:radial-gradient(circle at 50% 34%,#f3e2f5,#b68fc2 68%,#6c4b77);border:1px solid #fff9;box-shadow:0 20px 100px #de70eb2c;border-radius:28px}.night-page .shirt-window{left:50%;width:78%;top:55px;height:315px;max-width:390px;transform:translateX(-50%);background:#fff;border-radius:16px}.night-page .shirt-window>img{width:150%;left:-25%;top:-14%;max-width:none;height:auto;object-fit:contain}.night-page .shirt-window.is-back>img{top:-119%}.night-page .apparel h2 .apparel-word{text-shadow:0 0 50px #f2a5ffad;font-weight:900}
.night-page .date-block{border:0;padding:0}.night-page .date-block strong{font-weight:900;text-shadow:0 0 50px #de70eb77}.night-page .schedule-grid h2 span{color:#f29eff}
.night-page .benefits li{background:radial-gradient(circle at 80% 10%,#e781f236,transparent 65%),linear-gradient(145deg,#301c37bb,#130e17cc);box-shadow:inset 0 1px #ffffff35,0 10px 38px #0005}.night-page .benefits li:nth-child(2n){transform:translateY(17px)}
@keyframes ambientDrift{to{transform:scale(1.15) translate(2%,-2%);opacity:.38}}
@media(max-width:760px){.night-page h2,.night-page .intro h2,.night-page .route h2,.night-page .schedule h2,.night-page .pricing-heading h2,.night-page .faq h2,.night-page .lineup h2{font-size:clamp(45px,12vw,72px)}.night-page .hero-copy .eyebrow{font-size:10px}.night-page .ticker>.ticker-track{animation-duration:12s}.ticker .strap-logo{width:130px;height:44px;margin:0 22px}.night-page .shirt-window{top:70px;height:275px}.night-page .benefits li:nth-child(2n){transform:none}}
@media(prefers-reduced-motion:reduce){.night-page .hero-image:after{animation:none}.night-page .ticker>.ticker-track{animation:none}}

.night-page .route-map-stage .image-button{background:#1e1025}.night-page .route-map-stage .image-button>span{background:#241329;color:#fff}.night-page .pin-a{left:18.8%;top:34.2%}.night-page .pin-b{left:23%;top:68.4%}.night-page .pin-c{left:56%;top:69.7%}.night-page .pin-d{left:78.5%;top:57.9%}.night-page .pin-e{left:82%;top:39.5%}.night-page .water-pin{left:64%;top:68%;background:#fff;color:#5b2162;border-color:#de70eb;box-shadow:0 0 0 5px #de70eb55}.night-page .route-copy h2{max-width:860px}.night-page .route-copy .landmarks button{font-size:clamp(15px,1.4vw,19px);font-weight:600}.night-page .landmarks li.water-stop b{border-color:#de70eb;background:#de70eb;color:#211724;font-size:13px}.night-page .route-selected strong{font-size:clamp(24px,2.7vw,36px)}
.night-page .schedule-grid h2{max-width:750px}.night-page .schedule-grid>div>p{font-size:clamp(17px,1.5vw,22px);line-height:1.6;max-width:620px}.night-page .timeline h3{font-size:clamp(25px,2.6vw,38px);line-height:1.13}.night-page .timeline p{font-size:clamp(13px,1.15vw,17px)}.night-page .date-block>div{font-size:clamp(19px,1.6vw,27px)}.night-page .date-block>div>span{font-size:11px;color:#ecaff5}.night-page .benefits li>span{font-size:clamp(20px,1.75vw,27px)}.night-page .benefits li{min-height:260px}
.night-page .intro-body .intro-lead{font-size:clamp(28px,2.3vw,38px)}.night-page .intro-body>p:not(.intro-lead){font-size:clamp(17px,1.25vw,21px)}.night-page .vibe-caption h3{font-size:clamp(34px,3.8vw,58px)}.night-page .vibe-caption p{font-size:clamp(13px,1.1vw,17px)}
.night-page .hero-image img{filter:contrast(1.12) saturate(1.18)}.night-page .hero-image:after{opacity:.35}.night-page .site-header .jaw-logo{filter:invert(1) drop-shadow(0 0 14px #f8b8ff99)}.night-page .price-ticket{box-shadow:0 0 40px #de70eb1d,inset 0 1px #fff6}.night-page .price-ticket .ticket-price{font-size:clamp(42px,4vw,64px)}
@media(max-width:760px){.night-page h2,.night-page .intro h2,.night-page .route h2,.night-page .schedule h2,.night-page .pricing-heading h2,.night-page .faq h2,.night-page .lineup h2{font-size:clamp(43px,11.6vw,77px);line-height:1.04}.night-page .schedule h2{font-size:clamp(43px,11.2vw,72px)}.night-page .vibe-caption h3{font-size:clamp(31px,7.6vw,43px)}.night-page .timeline h3{font-size:clamp(21px,5.6vw,29px)}.night-page .timeline p{font-size:13px}.night-page .benefits li{min-height:215px}.night-page .benefits li>span{font-size:17px}.night-page .date-block>div{font-size:17px}.night-page .shirt-window{top:60px;height:275px}.night-page .route-map-stage .image-button>span{font-size:9px}}
@media(max-width:360px){.night-page h2,.night-page .intro h2,.night-page .route h2,.night-page .schedule h2,.night-page .pricing-heading h2,.night-page .faq h2,.night-page .lineup h2{font-size:42px}.night-page .apparel h2 .apparel-word{font-size:50px}.night-page .timeline h3{font-size:20px}.night-page .shirt-window{height:245px}}
.night-page .shirt-window>img{width:155%;left:-27.5%;top:0;transform:translateY(-1%);transition:transform .45s ease}.night-page .shirt-window.is-back>img{top:0;transform:translateY(-54%)}.night-page .water-pin{left:66%;top:64%}.night-page .apparel h2 .wear-line{font-size:clamp(30px,3.8vw,56px);line-height:1.05}
@media(max-width:760px){.night-page .apparel h2 .wear-line{font-size:clamp(27px,7vw,34px)}}
.night-page .schedule-grid h2 span{white-space:normal;overflow-wrap:anywhere}.night-page .schedule-grid>div,.night-page .schedule-grid .timeline{min-width:0}
@media(max-width:1000px){.night-page .schedule-grid{grid-template-columns:minmax(0,1fr);gap:38px}.night-page .schedule-grid>div{min-width:0}}

