:root{--paper:#f3f1eb;--ink:#141413;--lime:#c5f836;--muted:#6e6d67;--line:#c6c5bd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #588600;outline-offset:5px}.skip{position:absolute;left:15px;top:-100px;z-index:30;background:var(--lime);padding:15px}.skip:focus{top:10px}.preview-bar{min-height:29px;background:#deded6;font-size:10px;letter-spacing:.07em;padding:8px 3.3%;display:flex;gap:15px;align-items:center}.preview-bar span{font-weight:800}.preview-bar a{margin-left:auto;text-decoration:underline}header{padding:20px 3.3%;display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--ink);background:var(--paper)}.logo{font-size:45px;font-weight:950;letter-spacing:-3.4px;line-height:.9;white-space:nowrap}.logo span{display:block;font-size:8px;font-weight:500;letter-spacing:1.6px;margin-top:10px}nav{display:flex;gap:36px;margin:auto}nav a{padding:10px 0;font-size:15px;border-bottom:3px solid transparent}nav a.active{border-color:var(--ink)}.header-cta,.button,button.primary{background:var(--lime);padding:16px 22px;font-weight:700;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:14px}.button.light{background:var(--paper)}.button.outline{background:transparent;border:1px solid currentColor}.button.dark{background:var(--ink);color:var(--paper)}.wrap{padding:65px 4.5%}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:600}.hero{position:relative;min-height:620px;color:#fff;overflow:hidden;background:#080709 url('assets/hero.png') center/cover}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),transparent)}.hero-content{position:relative;padding:60px 4.5%;display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-size:clamp(80px,11.7vw,190px);line-height:.82;letter-spacing:-.075em;margin:35px 0 30px;font-weight:950}.hero-foot{position:absolute;bottom:40px;right:4.5%;text-align:right;font-size:11px;letter-spacing:2px;line-height:1.7}.hero .eyebrow{color:#ccc}.hero-buttons{display:flex;gap:12px;margin-top:25px}.ticker{display:flex;align-items:center;gap:20px;background:var(--lime);padding:20px 4.5%;font-size:13px;font-weight:700}.ticker .label{font-size:10px;letter-spacing:2px;white-space:nowrap}.ticker .arrow{margin-left:auto;font-size:25px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:7px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:24px}.section-heading h2,.page-title{font-size:clamp(48px,7vw,108px);letter-spacing:-.065em;line-height:.94;margin:0;font-weight:900}.section-heading a{font-size:13px;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.event-card{display:block}.poster{height:360px;position:relative;overflow:hidden;background:#222 center/cover;color:white;padding:24px;display:flex;flex-direction:column;justify-content:space-between}.poster:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 80%)}.poster>*{z-index:1;position:relative}.poster.garden{background-image:url('assets/garden.png');color:#17120d}.poster.pool{background-image:url('assets/pool.png');color:#072839}.poster.hero{min-height:0;background-image:url('assets/hero.png')}.poster.garden:after,.poster.pool:after{background:linear-gradient(0deg,rgba(255,255,255,.6),transparent)}.poster .mini-brand{font-size:25px;letter-spacing:-1.5px;font-weight:900;border-bottom:1px solid;padding-bottom:14px}.poster h3{font-size:46px;line-height:.9;letter-spacing:-2px;margin:0 0 16px}.poster .date{font-size:11px;letter-spacing:2px}.poster .lineup{font-size:14px;font-weight:700}.card-caption{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:12px}.event-card:hover .poster{filter:brightness(1.05)}.event-card:hover .card-caption{border-color:var(--ink)}.club-band{display:grid;grid-template-columns:1fr 1fr;min-height:440px;background:var(--lime)}.club-band .copy{padding:65px 9%}.club-band h2{font-size:clamp(45px,5vw,80px);letter-spacing:-.06em;line-height:.94;margin:20px 0}.club-band p{max-width:350px;line-height:1.6}.club-art{background:#000 url('assets/rings.png') center/cover}.page-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.page-intro p{font-size:16px;line-height:1.6;max-width:360px;color:var(--muted)}.filters{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:25px;margin:35px 0 0}.filter-group{display:flex;gap:8px;flex-wrap:wrap}.filter-group button{background:transparent;border:1px solid var(--line);padding:12px 18px;font-size:12px}.filter-group button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}input[type=search]{padding:13px 15px;background:transparent;border:1px solid var(--line);width:260px;max-width:100%}.event-row{display:grid;grid-template-columns:150px 75px 1fr 150px 35px;gap:25px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.event-row .thumb{width:150px;height:105px;object-fit:cover}.dayblock{text-align:center}.dayblock strong{display:block;font-size:48px;letter-spacing:-3px;line-height:1}.dayblock span{font-size:10px;letter-spacing:1.5px}.event-row h2{font-size:clamp(25px,3.4vw,50px);line-height:1;margin:0 0 8px;letter-spacing:-2px}.event-row p{font-size:12px;margin:0;color:var(--muted)}.event-row .time{font-size:13px}.event-row .time small{display:block;margin-top:7px;color:var(--muted)}.event-row .arrow{font-size:27px}.empty{padding:55px 0;color:var(--muted)}.artist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 22px;margin-top:30px}.portrait{position:relative;aspect-ratio:480/260;overflow:hidden;background:#ddd}.portrait img{position:absolute;width:320%;max-width:none;height:auto;top:-99.23%;left:-8.33%;filter:grayscale(1);transition:filter .3s,transform .3s}.portrait.p1 img{left:-111.67%}.portrait.p2 img{left:-212.5%}.portrait.p3 img,.portrait.p4 img,.portrait.p5 img{top:-237.3%}.portrait.p4 img{left:-111.67%}.portrait.p5 img{left:-212.5%}.artist-card:hover img{filter:grayscale(0)}.artist-name{display:flex;align-items:center;gap:12px;margin-top:12px}.artist-name h2{font-size:40px;letter-spacing:-2px;margin:0}.badge{font-size:9px;font-weight:700;padding:5px 9px;background:var(--lime);text-transform:uppercase}.artist-card p{font-size:11px;color:var(--muted);letter-spacing:.5px}.artist-name .arrow{margin-left:auto}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.detail-grid .poster{height:620px}.detail-grid .poster h3{font-size:85px}.detail-copy h1{font-size:clamp(55px,6.5vw,100px);line-height:.9;letter-spacing:-.06em;margin:25px 0}.detail-copy p{line-height:1.6;color:var(--muted)}.detail-copy .actions{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.notice{font-size:12px!important;background:#e8e6dd;padding:15px;line-height:1.6;color:#56564d!important}.lineup-row{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font-size:22px;font-weight:700}.lineup-row span{font-size:12px;font-weight:400}.back{font-size:12px;text-decoration:underline;display:inline-block;margin-bottom:30px}.profile .portrait{aspect-ratio:1.4}.profile .portrait img{top:-75.4%}.profile .portrait.p3 img,.profile .portrait.p4 img,.profile .portrait.p5 img{top:-180.2%}.tags{display:flex;gap:7px;margin:20px 0}.tags span{border:1px solid var(--line);padding:8px 12px;font-size:11px}.club-title{font-size:clamp(70px,10vw,160px);letter-spacing:-.07em;line-height:.85;margin:25px 0 45px}.club-visual{height:350px;background:#08090b url('assets/rings.png') center/cover;display:flex;justify-content:center;align-items:center;color:white;font-size:clamp(60px,10vw,150px);font-weight:900;letter-spacing:-.07em}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.three-col h2{font-size:16px}.three-col p{font-size:14px;line-height:1.7;color:var(--muted)}.radio-panel{background:#09090a url('assets/rings.png') center/cover;min-height:400px;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center}.play{font-size:32px;width:90px;height:90px;border-radius:50%;border:0;background:var(--lime);margin:30px 0;color:#111}.radio-panel p{color:#ccc;font-size:13px}.radio-panel audio{width:min(100%,500px)}.radio-side{display:flex;flex-direction:column;justify-content:center;padding:25px}.radio-side h2{font-size:46px;letter-spacing:-2px;line-height:1.05}.radio-side p{line-height:1.7;color:var(--muted)}footer{padding:50px 4.5% 20px;border-top:1px solid var(--line);margin-top:40px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:50px}.footer-top p{font-size:24px;letter-spacing:-.7px;line-height:1.2}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:18px;font-size:9px;letter-spacing:1px}.footer-bottom a{text-decoration:underline}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#171717;color:white;padding:16px 25px;max-width:90%;z-index:20;font-size:13px;display:none}.admin-title{font-size:clamp(40px,5vw,70px);letter-spacing:-3px;line-height:1;margin:25px 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}.panel{padding:28px;border:1px solid var(--line);background:#faf9f4}.panel h2{font-size:19px;margin-top:0}.panel label{display:block;font-size:12px;margin:18px 0 7px}.panel select,.panel input{width:100%;padding:13px;background:var(--paper);border:1px solid var(--line)}.stepper{display:flex;gap:25px;padding:20px 0;border-block:1px solid var(--line);font-size:12px}.stepper b{background:var(--lime);padding:7px 11px;border-radius:50%;margin-right:7px}.status-row{display:flex;gap:12px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.status-good{color:#3f6300}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.small{font-size:12px;line-height:1.7;color:var(--muted)}.text-page{max-width:800px}.text-page h1{font-size:65px;letter-spacing:-4px}.text-page p{line-height:1.8;color:var(--muted)}
@media(min-width:1600px){main,header,footer,.preview-bar{max-width:1800px;margin-inline:auto}}@media(max-width:900px){header{gap:15px}.logo{font-size:36px}nav{gap:19px}.header-cta{padding:13px;font-size:11px}.hero{min-height:560px}.hero-foot{display:none}.cards{gap:15px}.poster{height:300px;padding:20px}.poster h3{font-size:36px}.artist-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{gap:30px}.detail-grid .poster{height:500px}.detail-grid .poster h3{font-size:60px}.event-row{grid-template-columns:90px 55px 1fr 100px 20px;gap:15px}.event-row .thumb{width:90px;height:90px}.event-row h2{letter-spacing:-1px}.three-col{gap:25px}.page-intro{align-items:start;flex-direction:column;gap:15px}}
@media(max-width:600px){.preview-bar{font-size:8px;gap:8px;flex-wrap:wrap;line-height:1.5}.preview-bar a{margin-left:auto}header{padding:20px 5% 12px;flex-wrap:wrap}.logo{font-size:35px}.logo span{font-size:6px}.header-cta{margin-left:auto;order:1}nav{order:2;width:100%;justify-content:space-between;margin-top:10px;font-size:12px}.hero{min-height:510px}.hero-content{padding:45px 6%}.hero h1{font-size:24vw;margin-top:45px}.hero-buttons{gap:8px;flex-wrap:wrap}.button{padding:14px 16px;font-size:12px}.ticker{padding:16px 5%;gap:10px;align-items:start;font-size:11px}.ticker .label{font-size:8px;padding-top:3px}.ticker .arrow{font-size:20px}.wrap{padding:45px 5%}.section-heading{align-items:start}.section-heading h2{font-size:44px}.section-heading a{font-size:10px;white-space:normal}.cards{grid-template-columns:1fr;gap:28px}.poster{height:390px;padding:25px}.poster h3{font-size:60px}.club-band{grid-template-columns:1fr}.club-band .copy{padding:40px 6%}.club-art{height:220px}.page-title{font-size:64px}.page-intro{margin-bottom:20px}.page-intro p{font-size:14px}.event-row{grid-template-columns:46px 1fr 20px;gap:12px}.event-row .thumb{display:none}.event-row .time{grid-column:2;grid-row:auto;font-size:11px}.event-row .time small{display:inline;margin-left:10px}.event-row h2{font-size:26px;letter-spacing:-1.1px}.event-row .arrow{grid-column:3;grid-row:1 / span 2}.dayblock{grid-row:1 / span 2}.dayblock strong{font-size:37px}.dayblock span{font-size:8px}.artist-grid{gap:28px 12px}.artist-name{flex-wrap:wrap;gap:7px}.artist-name h2{font-size:30px}.artist-name .badge{font-size:7px}.artist-card p{font-size:9px;line-height:1.6}.artist-name .arrow{display:none}.portrait{aspect-ratio:480/350}.portrait img{top:-73.7%}.portrait.p3 img,.portrait.p4 img,.portrait.p5 img{top:-176.3%}.detail-grid{grid-template-columns:1fr}.detail-grid .poster{height:450px}.detail-copy h1{font-size:65px}.three-col{grid-template-columns:1fr;gap:25px}.club-title{font-size:21vw}.club-visual{height:220px}.footer-top{align-items:start;flex-direction:column;margin-bottom:30px}.footer-top p{font-size:23px}.footer-bottom{flex-direction:column;font-size:8px}.admin-grid{grid-template-columns:1fr}.panel{padding:20px}.stepper{flex-wrap:wrap;line-height:2}.filters{margin-top:20px}.radio-side{padding:10px 0}.text-page h1{font-size:48px}.profile .portrait{aspect-ratio:1.4}.profile .portrait img{top:-75.4%}.profile .portrait.p3 img,.profile .portrait.p4 img,.profile .portrait.p5 img{top:-180.2%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Revision 2: Hï Ibiza-inspired hierarchy, using a local Helvetica fallback until licensed webfonts are supplied. */
:root{--paper:#f7f7f5;--lime:#e6e6e1;--line:#dadad5}
body{font-family:'Neue Haas Grotesk Display','Helvetica Now Display','Helvetica Neue',Helvetica,Arial,sans-serif}
header{position:relative;z-index:12;border:0;max-width:440px;margin:auto;padding:24px 28px;background:transparent;justify-content:space-between;gap:35px;flex-wrap:nowrap}
header .logo{font-size:35px;letter-spacing:-2px}header .logo span{font-size:6px;letter-spacing:1px}
.menu-toggle{border:0;background:#e3e3df;border-radius:40px;padding:14px 21px;display:flex;align-items:center;gap:16px;font-size:14px}.menu-toggle span{font-size:17px}
header nav{position:absolute;top:92px;left:20px;right:20px;display:flex;flex-direction:column;gap:0;padding:25px;background:#161616;color:#fff;border-radius:26px;box-shadow:0 20px 60px #0002;margin:0;width:auto}
header nav[hidden]{display:none}header nav a{font-size:27px;padding:14px 12px;border-bottom:1px solid #454545}header nav a:last-child{font-size:14px;border:0;padding-top:25px}
.hi-hero{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - 125px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:60px 3% 100px;background:#fafafa}
.hi-hero .ambient{position:absolute;z-index:-1;border-radius:50%;filter:blur(70px);opacity:.36;animation:drift 15s ease-in-out infinite alternate}.a1{width:50vw;height:40vw;background:#cdddf7;left:-5%;top:10%}.a2{width:40vw;height:30vw;background:#e5d5f0;right:-5%;bottom:0;animation-delay:-5s!important}.a3{width:35vw;height:25vw;background:#e3edcf;left:45%;top:0;animation-delay:-10s!important}
.hi-hero h1{font-size:clamp(46px,7.8vw,130px);font-weight:700;letter-spacing:-.045em;line-height:1.04;margin:36px 0 20px}.hi-hero h1 span{display:inline-block}.hi-hero p{font-size:16px;margin:0 0 35px}.hero-kicker{font-weight:500;letter-spacing:1.5px;font-size:9px}.button,button.primary{border-radius:40px;background:#e6e6e2}.button.dark{background:#171717}.scroll-cue{position:absolute;bottom:25px;font-size:9px;letter-spacing:1.5px}
.section-heading h2,.page-title{font-weight:700;letter-spacing:-.04em;line-height:1;font-size:clamp(42px,6.4vw,90px)}.section-heading{margin-bottom:35px}.wrap{padding-top:70px;padding-bottom:70px}.cards{gap:28px}.poster{border-radius:25px;height:430px}.poster h3{font-weight:700;letter-spacing:-1.5px}.card-caption{border:0;font-size:11px;padding:20px 5px}.portrait{border-radius:24px;aspect-ratio:480/260!important}.portrait img,.profile .portrait img{top:-99.23%!important}.portrait.p3 img,.portrait.p4 img,.portrait.p5 img,.profile .portrait.p3 img,.profile .portrait.p4 img,.profile .portrait.p5 img{top:-237.3%!important}.artist-name h2{font-weight:700;font-size:32px;letter-spacing:-1px}.badge{border-radius:20px;background:#e3e3df}.club-editorial{padding:100px 8%;background:#e9e9e4}.club-editorial h2{font-size:clamp(45px,6.3vw,90px);font-weight:500;letter-spacing:-.04em;line-height:1;margin:35px 0}.editorial-body{max-width:590px;margin-left:auto}.editorial-body p{font-size:19px;line-height:1.6}.news-placeholder{padding:45px;border:1px solid var(--line);border-radius:24px}.news-placeholder p{font-size:24px;line-height:1.4;max-width:600px}.filter-group button,input[type=search]{border-radius:40px}.event-row h2{font-weight:700}.detail-copy h1{font-weight:700}.footer-top .logo{font-weight:800}.preview-bar{background:#ebebe7}.residents-section{padding-top:30px}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(10%,10%) scale(1.15)}}
@media(max-width:600px){header{max-width:360px;padding:20px 24px}header nav{top:80px}.hi-hero{min-height:580px;padding:60px 5% 95px}.hi-hero h1{font-size:11.5vw;letter-spacing:-.05em;line-height:1.1}.hi-hero p{font-size:13px}.hi-hero .ambient{filter:blur(45px);width:80vw;height:80vw}.wrap{padding:45px 5%}.section-heading h2{font-size:42px}.poster{height:420px}.club-editorial{padding:65px 6%}.club-editorial h2{font-size:48px}.editorial-body p{font-size:16px}.news-placeholder{padding:25px}.news-placeholder p{font-size:21px}.hero-kicker{font-size:7px;letter-spacing:1px}.portrait{border-radius:14px}.artist-name h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.hi-hero .ambient{animation:none}}
/* Animated typographic opening; the next section is the event programme. */
.logo img{display:block;width:145px;height:auto}.footer-top .logo img{width:180px}
.hi-hero{min-height:calc(100svh - 125px);justify-content:flex-start;padding-top:55px}
.hi-hero .kinetic{position:relative;width:100%;height:clamp(180px,23vw,360px);margin:45px 0 12px;font-size:clamp(68px,15.5vw,240px);font-weight:750;line-height:1;letter-spacing:-.055em}
.kinetic-word{position:absolute;inset:0;display:flex!important;align-items:center;justify-content:center;opacity:0;transform-origin:center;animation:word-cycle 12s cubic-bezier(.22,.75,.2,1) infinite;will-change:transform,opacity}
.kinetic-word.w1{animation-delay:0s}.kinetic-word.w2{animation-delay:3s}.kinetic-word.w3{animation-delay:6s}.kinetic-word.w4{animation-delay:9s;font-size:.82em}
.kinetic-caption{font-size:10px!important;letter-spacing:2px;margin-top:18px!important}.motion-toggle{background:none;border:none;position:absolute;right:30px;bottom:28px;font-size:10px;color:#666;padding:8px}.scroll-cue{background:none;border:0;padding:10px;font-family:inherit}.motion-paused .kinetic-word,.motion-paused .ambient{animation-play-state:paused}
@keyframes word-cycle{0%{opacity:0;transform:translateY(40px) scaleX(.86) scaleY(.8)}4%{opacity:1;transform:translateY(0) scaleX(1) scaleY(1)}17%{opacity:1;transform:translateY(0) scaleX(1.015) scaleY(1.05)}23%,100%{opacity:0;transform:translateY(-45px) scaleX(1.05) scaleY(.95)}}
@media(max-width:600px){.hi-hero{min-height:calc(100svh - 130px);padding-top:55px}.hi-hero .kinetic{font-size:18vw;height:220px;margin:35px 0 0}.kinetic-word.w4{font-size:.79em}.logo img{width:123px}.motion-toggle{right:12px;bottom:13px;font-size:8px}.scroll-cue{bottom:45px;font-size:8px}.hero-kicker{font-size:7px}.kinetic-caption{font-size:8px!important}.footer-top .logo img{width:150px}}
@media(prefers-reduced-motion:reduce){.kinetic-word{animation:none;transform:none;opacity:0}.kinetic-word.w1{opacity:1}.motion-toggle{display:none}}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.event-card,.artist-card,.detail-copy{min-width:0}.section-heading h2{min-width:0}.card-caption span{min-width:0}
@media(max-width:600px){.cards{grid-template-columns:minmax(0,1fr)}.poster h3{font-size:clamp(38px,10.8vw,58px)}.section-heading{flex-wrap:wrap;gap:15px}.section-heading h2{font-size:clamp(34px,10vw,42px)}.detail-grid .poster h3{font-size:clamp(40px,12vw,60px)}.detail-copy h1{overflow-wrap:anywhere}.stepper{gap:12px}}
/* Venue-first overview with a single schedule-driven countdown. */
.venue-heading .eyebrow{margin:0 0 15px}.venue-heading h2{font-size:clamp(40px,5.8vw,82px)}
.next-event-bar{display:flex;align-items:center;gap:30px;border-top:1px solid #171717;border-bottom:1px solid #171717;padding:25px 0;margin-bottom:30px}.next-label{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:1.6px;font-weight:700;min-width:100px}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ed303b;flex-shrink:0;box-shadow:0 0 0 0 #ed303b55;animation:signal-pulse 1.8s ease-out infinite}.next-summary{flex:1}.next-summary>a{font-size:29px;font-weight:700;letter-spacing:-1px}.next-summary>a span{font-size:20px;margin-left:15px}.next-summary p{font-size:11px;color:#686863;margin:8px 0 0}.countdown-wrap>.eyebrow{font-size:8px;letter-spacing:1.2px}.countdown{display:flex;gap:20px;margin-top:7px;font-variant-numeric:tabular-nums}.countdown>span{display:flex;flex-direction:column;align-items:center;min-width:37px}.countdown strong{font-size:30px;line-height:1;font-weight:600;letter-spacing:-1px}.countdown small{font-size:7px;letter-spacing:1px;margin-top:8px}.venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.venue-card{border:1px solid #d3d3cd;border-radius:25px;overflow:hidden;min-width:0;background:#fdfdfb}.venue-card.is-next{border-color:#252525}.venue-image{height:285px;position:relative;padding:24px;display:flex;flex-direction:column;justify-content:end;background:#121014 center/cover;color:#fff}.venue-image.garden{background-image:url('assets/garden.png');color:#211609}.venue-image.pool{background-image:url('assets/pool.png');color:#082836}.venue-image.hero{background-image:url('assets/hero.png');min-height:0}.venue-image-top{position:absolute;top:25px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.5px}.venue-image h3{font-size:clamp(30px,3vw,46px);letter-spacing:-1.7px;line-height:.95;margin:0;position:relative;z-index:1}.venue-image p{font-size:11px;margin:12px 0 0;position:relative;z-index:1}.venue-next{display:inline-flex;align-items:center;gap:8px;background:#fafafaee;color:#171717;padding:9px 11px;border-radius:30px;font-size:8px;font-weight:700;letter-spacing:.7px;position:relative;z-index:1}.venue-next .pulse-dot{width:6px;height:6px}.venue-body{padding:23px}.venue-date{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid #ddd}.venue-date strong{font-size:22px;letter-spacing:-.7px}.venue-date>span{font-size:12px;line-height:1.6;text-align:right}.venue-date small{font-size:10px;color:#777}.venue-body>.eyebrow{margin:24px 0 12px;font-size:8px}.venue-lineup a{display:flex;justify-content:space-between;padding:10px 0;font-size:22px;font-weight:600;letter-spacing:-.7px}.venue-lineup a span{font-size:16px;font-weight:400}.venue-event-link{border-top:1px solid #ddd;display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:20px;padding-top:20px}.venue-note{margin-top:22px;font-size:10px}.venue-empty{font-size:20px;line-height:1.5}.venue-image:before{content:none}
@keyframes signal-pulse{0%{box-shadow:0 0 0 0 #ed303b55;opacity:1}70%{box-shadow:0 0 0 7px #ed303b00;opacity:.7}100%{box-shadow:0 0 0 0 #ed303b00;opacity:1}}
@media(max-width:900px){.next-event-bar{flex-wrap:wrap;gap:20px}.next-label{min-width:85px}.countdown-wrap{margin-left:auto}.venue-grid{gap:15px}.venue-image{padding:18px;height:240px}.venue-image-top{left:18px;right:18px}.venue-image h3{font-size:30px}.venue-body{padding:18px}.venue-date strong{font-size:18px}.venue-next{font-size:7px;padding:7px;gap:5px}}
@media(max-width:600px){.next-event-bar{display:grid;grid-template-columns:1fr;gap:20px;padding:23px 0}.next-label{font-size:9px}.next-summary>a{font-size:30px}.next-summary p{line-height:1.6}.countdown-wrap{margin:0}.countdown{gap:30px;margin-top:12px;justify-content:space-between;max-width:330px}.countdown strong{font-size:36px}.countdown small{font-size:8px}.venue-grid{grid-template-columns:minmax(0,1fr);gap:25px}.venue-image{height:260px;padding:25px}.venue-image h3{font-size:43px}.venue-image-top{left:25px;right:25px}.venue-body{padding:25px}.venue-date strong{font-size:25px}.venue-next{font-size:8px;padding:9px 12px}.venue-heading h2{font-size:42px}.venue-note{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.pulse-dot{animation:none}}
/* Next event is the focal point; subsequent events are smaller and chronological. */
.featured-event{display:grid;grid-template-columns:1.12fr 1fr;border:1px solid #d4d4cf;border-radius:28px;overflow:hidden;background:#fff;min-height:590px}.featured-art{background:#171717 center/cover;display:flex;flex-direction:column;justify-content:space-between;padding:36px;min-width:0}.featured-art.garden{background-image:url('assets/garden.png');color:#21170e}.featured-art.pool{background-image:url('assets/pool.png');color:#092d40}.featured-art.hero{background-image:url('assets/hero.png');color:#fff;min-height:0}.featured-brand{font-size:46px;font-weight:800;letter-spacing:-3px;line-height:1;position:relative}.featured-brand>span{display:block;font-size:8px;letter-spacing:1.6px;margin-top:12px;font-weight:400}.featured-art-bottom{position:relative}.featured-art h3{font-size:clamp(52px,6.5vw,94px);letter-spacing:-.06em;line-height:.92;margin:20px 0}.featured-art-date{font-size:14px;font-weight:600;letter-spacing:.4px}.featured-info{padding:38px 40px;min-width:0}.featured-info .next-label{font-size:10px}.featured-venue{margin:30px 0 12px;color:#777}.featured-info>h3{font-size:clamp(34px,3.8vw,55px);font-weight:700;letter-spacing:-.045em;line-height:1;margin:0}.featured-date{font-size:14px;line-height:1.8;margin:18px 0 25px}.featured-date>span{color:#73736d;font-size:12px}.featured-info .countdown-wrap{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:20px 0}.featured-info .countdown{justify-content:space-between;max-width:320px;margin-top:15px;gap:15px}.featured-info .countdown strong{font-size:43px;font-weight:500}.featured-info .countdown small{font-size:8px}.featured-lineup-label{font-size:8px;margin:25px 0 14px}.featured-lineup{display:flex;gap:15px;flex-wrap:wrap}.featured-lineup a{font-size:23px;font-weight:600;letter-spacing:-.7px}.featured-cta{margin-top:28px;font-size:12px;padding:14px 20px}.following-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:45px 0 22px}.following-heading h3{font-size:27px;font-weight:600;letter-spacing:-1px;margin:0}.following-heading>.eyebrow{font-size:8px}.following-events .venue-image{height:200px}.following-events .venue-image h3{font-size:30px}.following-events .venue-body{padding:20px}.following-events .venue-body>.eyebrow{margin-top:0}.following-events .venue-lineup a{font-size:19px;padding:7px 0}.following-events .venue-event-link{margin-top:15px;padding-top:16px}
@media(max-width:900px){.featured-event{grid-template-columns:1fr 1fr}.featured-info{padding:30px 25px}.featured-art{padding:28px}.featured-art h3{font-size:55px}.featured-info>h3{font-size:36px}.following-events .venue-image-top{font-size:7px;letter-spacing:.5px}.following-events .venue-image h3{font-size:25px}}
@media(max-width:600px){.featured-event{grid-template-columns:minmax(0,1fr);border-radius:24px}.featured-art{min-height:310px;padding:28px}.featured-art.hero{min-height:310px}.featured-art h3{font-size:60px}.featured-brand{font-size:34px}.featured-info{padding:28px}.featured-info>h3{font-size:39px}.featured-info .countdown strong{font-size:38px}.featured-info .countdown{max-width:none;gap:10px}.featured-venue{margin-top:25px}.following-heading{align-items:start;flex-direction:column;gap:10px;margin-top:36px}.following-heading h3{font-size:26px}.following-events .venue-image{height:180px}.following-events .venue-image h3{font-size:32px}.following-events .venue-image-top{font-size:9px}.following-events .venue-body{padding:22px}.featured-cta{width:100%}}


/* Programme, destinations, people, club, stories, community. */
.header-visit{margin-left:auto;margin-right:24px;font-size:12px;font-weight:600}.featured-venue{display:block}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.destination,.venue-cover{background:#151515 center/cover;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.destination{min-height:450px;padding:28px;border-radius:3px}.destination.garden,.venue-cover.garden{background-image:url('assets/garden.png');color:#281c11}.destination.pool,.venue-cover.pool{background-image:url('assets/pool.png');color:#092b3e}.destination.hero,.venue-cover.hero{background-image:url('assets/hero.png')}.destination.hero:before,.venue-cover.hero:before{content:none}.destination h3{font-size:clamp(32px,3.5vw,55px);line-height:.95;letter-spacing:-.045em;margin:18px 0 25px}.destination p{font-size:12px}.destination-link{font-size:12px;border-top:1px solid currentColor;padding-top:18px;display:block}.venue-destinations{border-top:1px solid #d7d7d1}.inside-section{display:grid;grid-template-columns:1.35fr 1fr;background:#eae9e3}.inside-art{background:#151515 url('assets/rings.png') center/cover;color:#fff;padding:45px;min-height:570px;display:flex;flex-direction:column;justify-content:space-between}.inside-art h2,.community-section h2{font-size:clamp(68px,8vw,125px);line-height:.88;letter-spacing:-.06em;margin:40px 0 0}.inside-copy{padding:65px 50px;align-self:center}.inside-copy h3{font-size:clamp(45px,4.5vw,68px);line-height:.96;letter-spacing:-.05em;margin:30px 0}.inside-copy p{font-size:15px;line-height:1.8;max-width:380px;margin-bottom:30px}.community-section{background:#d9f99b;padding:65px 5%;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}.community-section>.eyebrow{grid-column:1/-1}.community-section h2{margin:0}.community-section p{line-height:1.8;margin:0 0 25px}.venue-cover{min-height:580px;padding:45px}.venue-cover h1{font-size:clamp(60px,9vw,140px);letter-spacing:-.055em;line-height:.9;margin:20px 0 0}.venue-programme{margin-top:70px}.venue-intro{padding-bottom:20px}.venue-intro+.venue-destinations{border:0}.venue-intro+.venue-destinations .section-heading{display:none}
@media(max-width:900px){.destination{padding:20px;min-height:370px}.inside-art{padding:30px;min-height:480px}.inside-copy{padding:35px}.header-visit{margin-right:15px}.destination h3{font-size:35px}}
@media(max-width:600px){.destination-grid{grid-template-columns:1fr}.destination{min-height:350px;padding:28px}.destination h3{font-size:48px}.inside-section{grid-template-columns:1fr}.inside-art{min-height:410px}.inside-copy{padding:40px 30px}.community-section{grid-template-columns:1fr;padding:45px 6%;gap:30px}.community-section>.eyebrow{grid-column:auto}.community-section h2{font-size:80px}.header-visit{font-size:10px;margin-right:12px}.venue-cover{min-height:380px;padding:28px}.venue-cover h1{font-size:60px}.venue-programme{margin-top:45px}.venue-programme h2{font-size:38px}}

/* Sheet-like month: Monday–Sunday columns, one row per calendar week. */
.month-toolbar{display:flex;align-items:center;gap:22px;border-top:1px solid #bbb;padding:25px 0}.month-toolbar h2{font-size:36px;letter-spacing:-1.2px;margin:0}.month-toolbar>.eyebrow{margin-left:auto;font-size:10px}.month-arrow{border:1px solid #ccc;background:transparent;border-radius:50%;width:42px;height:42px;cursor:pointer;font-size:22px;flex-shrink:0}.calendar-scroll{overflow-x:auto}.month-grid{min-width:1050px}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #d3d3cd}.weekdays{background:#171717;color:#fff;border:0}.weekdays>div{padding:18px 12px;font-size:10px;letter-spacing:1px}.calendar-week-label{padding:13px 12px;background:#eaeae4;font-size:10px;letter-spacing:1.5px;border:1px solid #d3d3cd;border-bottom:0}.month-cell{min-height:245px;border-right:1px solid #d3d3cd;border-bottom:1px solid #d3d3cd;min-width:0;padding:12px;background:#fff}.outside-month{background:#efefea}.cell-date{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:18px}.cell-date>span:first-child{font-size:22px;font-weight:600}.cell-date>span:last-child{font-size:7px;letter-spacing:.8px}.calendar-event{display:flex;flex-direction:column;min-height:180px;padding:14px 11px;background:#ddd center/cover;border-radius:3px}.calendar-event.garden{background-image:url('assets/garden.png');color:#281c11}.calendar-event.pool{background-image:url('assets/pool.png');color:#092b3e}.calendar-event.hero{background-image:url('assets/hero.png');color:#fff}.calendar-event.hero:before{content:none}.calendar-time{font-size:9px;font-weight:600}.calendar-event h3{font-size:21px;letter-spacing:-.6px;line-height:1;margin:28px 0 12px;overflow-wrap:anywhere}.calendar-event p{font-size:11px;line-height:1.5;margin:0 0 20px}.calendar-more{font-size:9px;margin-top:auto}.calendar-pending{padding:13px 0;color:#666}.calendar-pending h3{font-size:24px;line-height:1;letter-spacing:-.7px;margin:16px 0}.calendar-pending p{font-size:11px;line-height:1.6}.calendar-pending .eyebrow{font-size:8px;letter-spacing:1px}.open-stage-day{background:#f7f7f2}.calendar-mobile-hint{display:none;font-size:11px;color:#666}
@media(max-width:1100px){.calendar-mobile-hint{display:block}.month-toolbar h2{font-size:28px}.month-toolbar{gap:14px}}
@media(max-width:600px){.month-toolbar{flex-wrap:wrap;gap:12px}.month-toolbar h2{font-size:27px;flex:1;text-align:center}.month-toolbar>.eyebrow{width:100%;margin:0;text-align:center}.month-grid{min-width:1120px}.programme-page>.page-intro p{line-height:1.7}}
header{max-width:620px;gap:24px}.header-visit{white-space:nowrap;flex-shrink:0;margin:0 0 0 auto}.menu-toggle{flex-shrink:0}
@media(max-width:600px){header{max-width:100%;padding:20px;gap:14px}header .logo img{width:105px}header .logo span{font-size:5px;letter-spacing:.6px}.header-visit{font-size:10px}.menu-toggle{padding:12px 15px;gap:8px;font-size:12px}}

/* Shared landmark button, top right on every page. */
header{max-width:none;width:100%;padding:24px 4.5%;gap:20px}header .logo{order:0}header .menu-toggle{order:1;margin-left:auto}.header-visit{order:2;background:var(--lime);color:#141413;padding:16px 22px;border:1px solid #141413;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.6px;margin:0}.header-visit:hover{background:#d9ff74}header nav{left:auto;right:4.5%;width:min(380px,91%)}
@media(max-width:600px){header{padding:18px 5%;gap:10px}.header-visit{padding:13px 11px;font-size:10px;letter-spacing:.1px}header .menu-toggle{padding:12px;gap:6px}header .logo img{width:95px}header .logo span{font-size:4px}header nav{right:5%;width:90%}}

/* Always-visible navigation beneath the logo. */
header{display:grid;grid-template-columns:1fr auto;gap:24px 30px;align-items:center}header .logo{grid-column:1;grid-row:1;justify-self:start}.header-visit{grid-column:2;grid-row:1;justify-self:end}header nav{grid-column:1/-1;grid-row:2;position:static;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:32px;width:auto;padding:0;margin:0;background:transparent;color:var(--ink);border-radius:0;box-shadow:none}header nav a,header nav a:last-child{font-size:14px;font-weight:600;padding:8px 0;border:0;border-bottom:2px solid transparent;white-space:nowrap}header nav a.active{border-bottom-color:var(--ink)}header nav a:hover{border-bottom-color:#999}
@media(max-width:600px){header{gap:20px 16px}header nav{gap:16px;justify-content:space-between}header nav a,header nav a:last-child{font-size:11px;padding:7px 0}}

/* Persistent navigation, sponsor footer and a scalable DJ directory. */
header{position:sticky;top:0;background:rgba(247,247,244,.97);backdrop-filter:blur(14px);border-bottom:1px solid #deded7;padding-top:15px;padding-bottom:12px;gap:12px 30px}html{scroll-padding-top:150px}#home-events{scroll-margin-top:150px}.sponsor-strip{border-top:1px solid #d2d2cb;padding:35px 4.5%;text-align:center}.sponsor-logos{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:35px;margin:25px auto;max-width:1100px}.sponsor-placeholder{border:1px dashed #bcbcb5;color:#8a8a82;min-width:150px;height:60px;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:2px}.sponsor-strip .small{font-size:10px;color:#888}.dj-tools{align-items:center}.dj-tools input{flex:1;max-width:550px}.genre-select{display:flex;align-items:center;gap:15px;font-size:12px}.genre-select select{padding:12px;background:transparent;border:1px solid #aaa;border-radius:3px}.alphabet{display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid #ccc;padding:0 0 22px}.alphabet button{border:0;background:transparent;min-width:32px;padding:10px 8px;font-size:12px}.alphabet button.selected{background:#171717;color:#fff;border-radius:3px}.dj-count{font-size:12px;color:#777;margin:22px 0}.directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.directory-grid .artist-name h2{font-size:30px}.more-djs{display:block;margin:35px auto}.primfeed-link{display:inline-block;margin:24px 0;font-size:13px}.next-set{border-top:1px solid #ccc;padding:25px 0;margin-top:10px}.next-set h2{font-size:32px;letter-spacing:-1px;margin:15px 0 25px}.next-set dl{margin:0 0 25px}.next-set dl>div{display:grid;grid-template-columns:90px 1fr;gap:15px;margin:17px 0}.next-set dt{font-size:9px;letter-spacing:1px;padding-top:4px}.next-set dd{margin:0;font-size:15px;line-height:1.5}.compact-profile .detail-copy>h1{margin-top:12px}
@media(max-width:900px){.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){header{padding:12px 5%;gap:10px 16px}html{scroll-padding-top:130px}#home-events{scroll-margin-top:130px}.dj-tools{align-items:stretch;flex-direction:column}.genre-select{justify-content:space-between}.genre-select select{flex:1}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.directory-grid .artist-name h2{font-size:25px}.directory-grid .artist-name{gap:5px}.directory-grid .artist-card p{font-size:10px;line-height:1.5}.sponsor-logos{gap:15px}.sponsor-placeholder{min-width:125px;height:50px}.next-set h2{font-size:29px}}

/* Airy pastel light across the site; original sponsor artwork in monochrome. */
body{background:#fcfcfa;isolation:isolate}body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 12% 35%,#eaf7fa99,transparent 44%),radial-gradient(ellipse at 76% 15%,#f0ecfa80,transparent 43%),radial-gradient(ellipse at 60% 85%,#fbecef77,transparent 40%),radial-gradient(ellipse at 35% 10%,#edf7e966,transparent 40%)}.hi-hero{background:transparent}.hi-hero .ambient{opacity:.18}header{background:rgba(252,252,250,.92)}.sponsor-strip{background:rgba(255,255,255,.5)}.sponsor-logos{gap:70px;margin:25px auto 12px}.sponsor-bearded{position:relative;width:200px;height:112px;overflow:hidden;mix-blend-mode:multiply}.sponsor-bearded img{position:absolute;width:220px;max-width:none;left:-10px;top:-55px;filter:grayscale(1) invert(1) contrast(4)}.sponsor-rora{display:flex;align-items:center;gap:10px;mix-blend-mode:multiply}.sponsor-rora img{width:260px;max-width:100%;filter:grayscale(1) contrast(3)}.sponsor-rora>span{font-size:55px;font-weight:300;line-height:1}
/* A tighter next-event block with a compact schedule and line-up. */
.featured-event{min-height:430px;border-radius:20px;grid-template-columns:1fr 1fr}.featured-art{padding:28px}.featured-brand{font-size:36px}.featured-art h3{font-size:clamp(48px,5.3vw,76px);margin:14px 0 0}.featured-info{padding:25px 30px}.featured-venue{margin:16px 0 9px;font-size:8px}.featured-info>h3{font-size:clamp(30px,3.2vw,44px)}.featured-date{font-size:13px;margin:12px 0 15px;line-height:1.5}.featured-info .countdown-wrap{padding:12px 0;display:flex;align-items:center;gap:24px}.featured-info .countdown{margin:0;gap:15px;max-width:none}.featured-info .countdown strong{font-size:29px}.featured-info .countdown small{font-size:7px;margin-top:5px}.featured-lineup-label{margin:16px 0 8px}.featured-lineup{gap:14px}.featured-lineup a{font-size:20px}.featured-cta{margin-top:18px;padding:11px 17px;font-size:11px}.following-heading{margin:28px 0 18px}.following-events .venue-image{height:165px}.following-events .venue-body{padding:17px}.following-events .venue-lineup a{padding:4px 0;font-size:17px}
@media(max-width:600px){.featured-event{min-height:0}.featured-art,.featured-art.hero{min-height:210px;padding:22px}.featured-brand{font-size:28px}.featured-art h3{font-size:48px}.featured-info{padding:22px}.featured-info>h3{font-size:32px}.featured-info .countdown-wrap{gap:14px;justify-content:space-between}.featured-info .countdown{gap:9px}.featured-info .countdown>span{min-width:28px}.featured-info .countdown strong{font-size:25px}.featured-cta{width:auto}.sponsor-logos{gap:25px;flex-direction:column}.sponsor-rora img{width:230px}.sponsor-rora>span{font-size:45px}}

/* Compact centred black menu panel, inspired by the reference navigation. */
header{display:flex;justify-content:center;align-items:flex-start;padding:16px 4.5%;gap:0;min-height:94px;border:0;background:rgba(252,252,250,.88)}.menu-shell{position:relative;width:400px;display:flex;justify-content:space-between;align-items:center;padding:7px 10px 7px 20px;border-radius:28px;min-height:62px}.menu-shell .logo{display:block}.menu-shell .logo img{width:120px}.menu-shell .logo span{font-size:5px}.menu-shell .menu-toggle{display:block;order:0;margin:0;border-radius:30px;background:#e3e3df;color:#171717;padding:14px 20px;font-size:14px;min-width:78px}.menu-shell.is-open{background:#050505;color:white;border-radius:28px 28px 0 0}.menu-shell.is-open .logo img{filter:invert(1)}.menu-shell.is-open .menu-toggle{background:#414141;color:#fff}.menu-shell nav{position:absolute;top:100%;left:0;right:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:0;padding:45px 20px 32px;background:#050505;color:#fff;border-radius:0 0 28px 28px;box-shadow:0 28px 35px #0002;max-height:calc(100svh - 110px);overflow:auto}.menu-shell nav[hidden]{display:none}.menu-shell nav a,.menu-shell nav a:last-child{font-size:42px;line-height:1.08;font-weight:700;letter-spacing:-1.8px;text-transform:uppercase;padding:3px 0;border:0;color:#c5c5c5}.menu-shell nav a:hover,.menu-shell nav a.active{color:#fff;border:0}.menu-foot{font-size:8px;letter-spacing:1.2px;color:#888;margin-top:40px}.header-visit{position:absolute;right:4.5%;top:23px}.menu-shell .logo{order:0}html{scroll-padding-top:110px}#home-events{scroll-margin-top:0}
@media(max-width:900px){header{justify-content:flex-start}.menu-shell{width:350px}.header-visit{right:4.5%}}
@media(max-width:600px){header{padding:12px 5%;min-height:80px}.menu-shell{width:calc(100% - 115px);min-height:52px;padding:5px 6px 5px 10px;border-radius:20px}.menu-shell .logo img{width:80px}.menu-shell .logo span{font-size:3.5px;letter-spacing:.4px}.menu-shell .menu-toggle{font-size:12px;padding:12px 10px;min-width:54px}.header-visit{top:18px;right:5%;padding:13px 10px}.menu-shell nav{width:calc(90vw);max-width:400px;left:-0px;padding:32px 20px 25px;border-radius:0 20px 20px 20px}.menu-shell nav a,.menu-shell nav a:last-child{font-size:37px;line-height:1.15}.menu-shell.is-open{border-radius:20px 20px 0 0}.menu-foot{margin-top:30px}}

/* Direct community destinations, shared by home, venues and Community. */
.community-channels{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:12px}.community-channel{position:relative;display:block;background:rgba(255,255,255,.56);border:1px solid rgba(0,0,0,.18);border-radius:4px;padding:28px;color:#111;transition:background .2s,transform .2s}.community-channel:hover{background:#fff;transform:translateY(-3px)}.community-channel:focus-visible{outline:3px solid #111;outline-offset:4px}.community-channel img{display:block;width:40px;height:40px;object-fit:contain;filter:grayscale(1)}.community-channel h3{font-size:clamp(25px,3vw,40px);letter-spacing:-.045em;text-transform:uppercase;margin:30px 0 10px}.community-channel>span:last-child{font-size:13px;line-height:1.5}.channel-arrow{position:absolute;right:26px;top:24px;font-size:28px}@media(max-width:600px){.community-channels{grid-template-columns:1fr;gap:12px}.community-channel{padding:24px}.community-channel h3{margin-top:20px}}@media(prefers-reduced-motion:reduce){.community-channel{transition:none}.community-channel:hover{transform:none}}

.month-cell.is-today{outline:3px solid #111;outline-offset:-3px;background:#e5ffb9}.is-today .cell-date{background:#111;color:#fff;flex-wrap:wrap;gap:5px}.today-badge{font-size:9px;letter-spacing:.05em;background:#d9f99b;color:#111;padding:4px 5px;border-radius:3px}.calendar-today-button{border:1px solid #111;background:#d9f99b;color:#111;padding:10px 14px;border-radius:4px;font:inherit;font-size:12px;cursor:pointer}.calendar-today-button:hover{background:#c5f57b}.calendar-today-button:focus-visible{outline:3px solid #111;outline-offset:3px}

/* Visible, softly blended pastel light behind the club typography. */
body{background:#f8faf7}body:before{background:radial-gradient(ellipse at 5% 18%,rgba(155,220,238,.56),transparent 55%),radial-gradient(ellipse at 85% 12%,rgba(207,188,239,.48),transparent 53%),radial-gradient(ellipse at 90% 87%,rgba(245,184,203,.46),transparent 55%),radial-gradient(ellipse at 15% 90%,rgba(187,225,176,.48),transparent 54%)}header{background:rgba(248,250,247,.64)}.hi-hero .ambient{opacity:.26}.sponsor-strip{background:rgba(255,255,255,.25)}

/* Stronger display typography and one aligned countdown signal. */
.hi-hero .kinetic{font-family:"Arial Black","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:950;letter-spacing:-.06em}.hi-hero .hero-kicker{font-size:10.8px;font-weight:800}.hi-hero .kinetic-caption{font-size:12px!important;font-weight:800}.featured-info>h3{font-size:clamp(36px,3.8vw,52px);font-weight:900;letter-spacing:-.045em}.featured-date{font-size:16px;font-weight:800;line-height:1.45}.featured-date>span{font-size:19px}.featured-info .next-label,.featured-venue,.featured-lineup-label{font-weight:800}.featured-lineup a{font-size:23px;font-weight:850}.featured-info .countdown-wrap{display:flex;flex-wrap:wrap;gap:10px 20px;padding:15px 0;justify-content:flex-start}.countdown-signal{display:flex;align-items:center;gap:18px;min-width:0}.countdown-signal .pulse-dot{width:14px;height:14px;display:block}.featured-info .countdown strong{font-size:34px;font-weight:900}.featured-info .countdown small{font-size:8px;font-weight:800}.featured-info .countdown-wrap>.eyebrow{font-size:9px;font-weight:800}.following-events .venue-image-top{font-size:11px;font-weight:800}.following-events .venue-image h3{font-weight:900}.following-events .venue-image p{font-size:13px;font-weight:750}.following-events .venue-lineup a{font-weight:800}@media(max-width:600px){.hi-hero .hero-kicker{font-size:8.4px}.hi-hero .kinetic-caption{font-size:9.6px!important}.featured-info>h3{font-size:36px}.featured-date{font-size:15px}.featured-date>span{font-size:18px}.featured-info .countdown strong{font-size:29px}.countdown-signal{gap:14px}.featured-info .countdown{gap:10px}.featured-lineup a{font-size:21px}}

/* Fine separators between countdown units. */
.featured-info .countdown>span{position:relative}.featured-info .countdown>span+span:before{content:"";position:absolute;left:-8px;top:5px;bottom:5px;width:1px;background:rgba(20,20,19,.22)}@media(max-width:600px){.featured-info .countdown>span+span:before{left:-5.5px}}

.featured-info .next-label{font-size:14px;font-weight:850;letter-spacing:1.5px}

/* Upcoming dates sit above artwork; live state follows the final set end. */
.following-events .venue-card{background:transparent;border:0;border-radius:0;overflow:visible}.following-event-heading{padding:0 0 14px;display:flex;flex-direction:column;gap:7px}.following-event-heading h4{font-size:25px;line-height:1;margin:0;font-weight:900;text-transform:uppercase;letter-spacing:-.8px}.following-event-heading>span{font-size:14px;font-weight:800}.following-events .venue-image{border-radius:16px 16px 0 0}.following-events .venue-body{background:#fdfdfb;border:1px solid #d3d3cd;border-top:0;border-radius:0 0 16px 16px}.countdown-signal .pulse-dot.is-live{background:#21a557;box-shadow:0 0 0 0 #21a55744;animation:live-signal 1.8s ease-out infinite}@keyframes live-signal{70%{box-shadow:0 0 0 9px #21a55700}100%{box-shadow:0 0 0 0 #21a55700}}.now-live-link{font-size:30px;font-weight:900;letter-spacing:-1px;display:flex;align-items:center;gap:16px}.now-live-link:hover{text-decoration:underline;text-underline-offset:5px}.featured-info .countdown-wrap>[hidden]{display:none}.community-channel h3{margin-bottom:0}@media(prefers-reduced-motion:reduce){.countdown-signal .pulse-dot.is-live{animation:none}}

/* One programme surface: no flyer and no duplicate line-up. */
.featured-event.event-board{display:block;min-height:0;border:1px solid #cbd2c8;border-radius:18px;background:radial-gradient(ellipse at 0% 100%,#dff4c8 0,transparent 60%),radial-gradient(ellipse at 100% 0%,#e3e5f5 0,transparent 65%),#f3f6ed}
.event-board .featured-info{padding:28px 36px 32px}
.event-board-top{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #15151530;padding-bottom:22px}
.event-board .countdown-wrap{border:0;padding:0;gap:20px;margin:0}
.event-board-main{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;padding-top:32px}
.board-venue{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.2px;margin-bottom:18px}
.event-board-title h3{font-size:clamp(42px,5.4vw,76px);font-weight:950;line-height:.95;letter-spacing:-.055em;margin:0;max-width:650px}
.event-board .featured-date{margin:22px 0 0;font-size:17px;line-height:1.6}
.event-board .featured-date>span{font-size:18px;color:#30372e}
.event-board .featured-cta{margin-top:23px}
.event-board .featured-lineup-label{margin:0 0 8px;display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1px}
.featured-lineup-label>span{font-size:9px;color:#555d50}
.board-lineup>a{display:block;padding:19px 0;border-bottom:1px solid #15151530}
.board-dj-name{display:flex;justify-content:space-between;align-items:center;font-size:clamp(28px,3vw,43px);font-weight:900;letter-spacing:-1.3px;line-height:1}
.board-dj-name>span{font-size:24px;font-weight:500}
.board-set-time{display:block;margin-top:10px;font-size:13px;font-weight:750;letter-spacing:.3px}
.board-lineup>a:hover .board-dj-name{text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){.event-board .featured-info{padding:22px}.event-board-top{align-items:flex-start;flex-direction:column;gap:20px}.event-board-main{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:25px}.event-board-title h3{font-size:48px}.event-board .featured-date{font-size:15px}.event-board .featured-date>span{font-size:16px}.event-board .countdown-wrap{gap:14px}.event-board .countdown strong{font-size:29px}.event-board .featured-cta{margin-top:18px}.board-dj-name{font-size:34px}.board-lineup>a{padding:17px 0}}

/* Editorial chapter between the kinetic opening and the programme. */
.stories-section{position:relative;padding:80px 4.5% 70px;scroll-margin-top:100px}
.stories-heading{text-align:center;margin:0 auto 46px;max-width:1100px}
.stories-heading .eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px}
.stories-heading h2{font-size:clamp(50px,8.5vw,120px);font-weight:950;letter-spacing:-.065em;line-height:.95;margin:22px 0}
.stories-heading>p:last-child{font-size:14px;margin:0}
.story-stack{max-width:1050px;margin:auto;padding-bottom:6vh}
.story-panel{position:sticky;top:112px;height:clamp(360px,65svh,610px);margin-bottom:15vh;border-radius:28px;overflow:hidden;background:#151515;color:white;isolation:isolate;z-index:var(--story-order);opacity:var(--story-fade,1);transform:scale(var(--story-scale,1));transform-origin:center top;will-change:transform,opacity}
.story-panel:last-child{margin-bottom:0}
.story-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 37%;z-index:-2}
.story-panel:first-child>img{object-position:center 32%}
.story-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0004,transparent 35%,#000a 100%)}
.story-number,.story-preview-label{position:absolute;top:25px;font-size:10px;font-weight:800;letter-spacing:1.5px}.story-number{left:28px}.story-preview-label{right:28px}
.story-panel-copy{position:absolute;bottom:38px;left:30px;right:30px;text-align:center}
.story-panel-copy .eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px}
.story-panel-copy h3{font-size:clamp(34px,5vw,68px);font-weight:950;line-height:.96;letter-spacing:-.045em;margin:14px 0 24px}
.story-button{background:#fff;color:#151515;border:0;font-size:12px;padding:15px 23px}.story-button:hover{background:#dff5c8}
.stories-note{text-align:center;font-size:10px;line-height:1.6;color:#62645e;margin:10px auto 0}
.story-detail{max-width:1050px}.story-detail-image{width:100%;max-height:530px;object-fit:cover;border-radius:22px;margin:25px 0}.story-intro{font-size:23px;line-height:1.5;max-width:750px}
#home-events{position:relative;z-index:4}
@media(max-width:600px){.stories-section{padding:50px 5% 40px}.stories-heading{margin-bottom:30px}.stories-heading h2{font-size:54px}.stories-heading>p:last-child{font-size:12px;line-height:1.6}.story-panel{top:100px;height:480px;max-height:70svh;border-radius:20px;margin-bottom:10vh}.story-panel-copy{left:20px;right:20px;bottom:28px}.story-panel-copy h3{font-size:39px}.story-number,.story-preview-label{font-size:8px;top:20px}.story-number{left:20px}.story-preview-label{right:20px}.story-detail .page-title{font-size:44px}}
@media(prefers-reduced-motion:reduce){.story-panel{position:relative;top:auto;opacity:1!important;transform:none!important;will-change:auto;margin-bottom:25px}}

.story-panel .story-photo{position:absolute;inset:0;z-index:-2;background-image:url('assets/artist-concept.png');background-size:320% auto;background-repeat:no-repeat;background-color:#171717;background-position:3.79% 33.64%}
.story-panel .story-photo-1{background-position:50% 33.64%}.story-panel .story-photo-2{background-position:96.4% 33.64%}
.story-detail-image.story-photo{height:460px;background-image:url('assets/artist-concept.png');background-size:320% auto;background-position:3.79% 33.64%}.story-detail-image.story-photo-1{background-position:50% 33.64%}.story-detail-image.story-photo-2{background-position:96.4% 33.64%}
@media(max-width:600px){.story-panel .story-photo,.story-detail-image.story-photo{background-size:auto 394%}.story-detail-image.story-photo{height:360px}}
#home-stories{scroll-margin-top:0}
/* Shared type scale, guided by Hï's 90 / 44 / 16 / 12 px hierarchy. */
:root{--type-display:clamp(40px,6.4vw,90px);--type-title:clamp(30px,3.45vw,44px);--type-body:15px;--type-label:12px}
body{font-size:var(--type-body);line-height:1.5}
.section-heading h2,.venue-heading h2,.page-title,.stories-heading h2,.inside-art h2,.community-section h2,.club-title,.venue-cover h1{font-size:var(--type-display);line-height:1;letter-spacing:-.05em}
.hi-hero .kinetic{font-size:clamp(64px,13vw,190px)}
.hi-hero .hero-kicker{font-size:12px}.hi-hero .kinetic-caption{font-size:12px!important}
.story-panel-copy h3,.event-board-title h3,.featured-info>h3,.inside-copy h3,.detail-copy h1,.destination h3{font-size:var(--type-title);line-height:1.05;letter-spacing:-.035em}
.story-panel-copy .eyebrow,.stories-heading .eyebrow,.board-venue,.featured-info .next-label,.featured-lineup-label{font-size:12px;line-height:1.35}
.stories-heading>p:last-child,.inside-copy p,.community-section p,.detail-copy p,.editorial-body p,.text-page p{font-size:15px;line-height:1.5}
.button,.story-button,.featured-cta,.event-board .featured-cta,.menu-shell .menu-toggle,.section-heading>a{font-size:16px;line-height:24px}
.menu-shell nav a,.menu-shell nav a:last-child{font-size:36px;line-height:1.15;letter-spacing:-1px}
.event-board .featured-date,.event-board .featured-date>span{font-size:16px;line-height:1.5}
.board-dj-name{font-size:30px;line-height:1.1;letter-spacing:-.8px}.board-set-time{font-size:12px}
.featured-info .countdown strong{font-size:30px}.featured-info .countdown small{font-size:9px}.now-live-link{font-size:26px}
.following-heading h3,.month-toolbar h2,.community-channel h3,.artist-name h2,.directory-grid .artist-name h2{font-size:28px;line-height:1.1}
.following-event-heading h4{font-size:22px}.following-event-heading>span{font-size:13px}.following-events .venue-image h3{font-size:28px}.following-events .venue-lineup a{font-size:18px}
.story-intro{font-size:18px;line-height:1.5}.story-panel-copy h3{margin:14px 0 22px}
@media(max-width:600px){.hi-hero .kinetic{font-size:15.5vw;height:170px}.hi-hero .hero-kicker{font-size:10px}.hi-hero .kinetic-caption{font-size:11px!important}.stories-heading h2,.story-detail .page-title{font-size:40px}.story-panel-copy h3,.event-board-title h3,.inside-copy h3{font-size:32px}.menu-shell nav a,.menu-shell nav a:last-child{font-size:30px}.board-dj-name{font-size:26px}.featured-info .countdown strong{font-size:27px}.community-channel h3,.artist-name h2,.directory-grid .artist-name h2{font-size:24px}.following-heading h3,.month-toolbar h2{font-size:24px}}
@media(max-width:600px){.story-panel .story-photo-0,.story-detail-image.story-photo-0{background-position:13.8% 33.64%}.story-panel .story-photo-2,.story-detail-image.story-photo-2{background-position:86.2% 33.64%}}

/* Compact venue-led programme: one glance, one shared surface. */
#home-events{max-width:1120px;margin-inline:auto;padding-top:38px;padding-bottom:45px}
#home-events .venue-heading{margin-bottom:20px;align-items:end;gap:20px}
#home-events .venue-heading .eyebrow{font-size:11px;margin-bottom:8px}
#home-events .venue-heading h2{font-size:clamp(30px,3.4vw,46px);line-height:1.05;letter-spacing:-.045em}
#home-events .venue-heading>a{font-size:13px;white-space:nowrap}
.featured-event.event-board{border-radius:16px;border-color:var(--venue-border);color:var(--venue-ink);background:var(--venue-bg);border-top:4px solid var(--venue-accent)}
.venue-theme-garden{--venue-ink:#483326;--venue-accent:#967454;--venue-border:#d6c4ac;--venue-bg:radial-gradient(ellipse at 100% 0%,#dfcbb1,transparent 60%),linear-gradient(120deg,#faf4e9,#eee1ce)}
.venue-theme-wambo{--venue-ink:#153c46;--venue-accent:#388f9e;--venue-border:#a6ccd0;--venue-bg:radial-gradient(ellipse at 100% 0%,#a8d8e1,transparent 60%),linear-gradient(120deg,#f4efde,#daedf0)}
.venue-theme-clubroom{--venue-ink:#f6f2ff;--venue-accent:#b89de8;--venue-border:#554969;--venue-bg:radial-gradient(ellipse at 100% 0%,#49305e,transparent 65%),linear-gradient(120deg,#17161d,#282335)}
.event-board .featured-info{padding:19px 25px 22px}.event-board-top{gap:18px;padding-bottom:14px;border-color:var(--venue-border)}
.event-board-main{grid-template-columns:1fr 1.05fr;gap:30px;padding-top:20px}
.event-board .board-venue{font-size:10px;letter-spacing:.8px;margin-bottom:10px}
.event-board-title h3{font-size:clamp(29px,3vw,38px);line-height:1.02;letter-spacing:-.035em}
.event-board .featured-date{margin-top:13px;font-size:14px;line-height:1.6}.event-board .featured-date>span{font-size:14px;color:inherit}
.event-board .featured-cta{font-size:12px;line-height:18px;padding:9px 14px;margin-top:15px;background:var(--venue-ink);color:#fff}
.venue-theme-clubroom .featured-cta{background:#eee6ff;color:#211a2d}
.event-board .featured-lineup-label{font-size:10px;margin-bottom:3px}.event-board .featured-lineup-label>span{color:inherit;opacity:.7;font-size:9px}
.board-lineup>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-color:var(--venue-border)}
.board-dj-name{font-size:25px;gap:9px;letter-spacing:-.7px}.board-dj-name>span{font-size:16px}.board-set-time{margin:0;font-size:11px;white-space:nowrap}
.event-board .countdown strong{font-size:27px}.event-board .countdown small{font-size:8px}.event-board .next-label{font-size:11px}
.event-board .countdown-wrap{gap:13px}.event-board .countdown-signal{gap:13px}.event-board .countdown-wrap>.eyebrow{font-size:8px}
.venue-theme-clubroom .countdown>span+span:before{background:#ffffff44}
#home-events .following-heading{margin-top:23px;margin-bottom:15px}#home-events .following-heading h3{font-size:23px}
@media(max-width:700px){.event-board .featured-info{padding:17px 19px}.event-board-top{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}.event-board-main{grid-template-columns:1fr;gap:20px;padding-top:17px}.event-board .board-venue{margin-bottom:8px}.event-board .featured-date{margin-top:10px}.event-board .featured-cta{margin-top:12px}.board-lineup>a{padding:11px 0}.board-dj-name{font-size:24px}#home-events .venue-heading{flex-wrap:wrap;gap:12px}#home-events .venue-heading h2{font-size:32px}.event-board .countdown strong{font-size:25px}.event-board .countdown-wrap{gap:9px}.event-board .countdown-signal{gap:12px}}

/* The same stacked scroll rhythm for each night of the weekly programme. */
.event-stack{position:relative;padding-bottom:30px}
.event-stack .event-panel{position:sticky;top:115px;z-index:var(--event-order);margin-bottom:16vh;opacity:var(--story-fade,1);transform:scale(var(--story-scale,1));transform-origin:center top;will-change:transform,opacity}
.event-stack .event-panel:last-child{margin-bottom:0}
.event-panel .event-board-top>.eyebrow{font-size:10px;margin:0;opacity:.65}
@media(max-width:700px){.event-stack .event-panel{top:96px;margin-bottom:12vh}.event-panel .event-board-top>.eyebrow{display:none}}
@media(prefers-reduced-motion:reduce){.event-stack .event-panel{position:relative;top:auto;opacity:1!important;transform:none!important;will-change:auto;margin-bottom:24px}}

/* Calm, rounded editorial cards; set starts sit immediately beside the DJ. */
.featured-event.event-board{border:0;border-radius:28px;background:var(--venue-bg)}
.event-board .featured-info{padding:24px 30px 26px}
.event-board .board-lineup>a{justify-content:flex-start;gap:18px;padding:13px 0}
.event-board .board-set-time{flex:0 0 72px;text-align:left;font-size:12px;font-weight:700;line-height:1.4}
.event-board .board-dj-name{font-size:25px}
.venue-theme-garden{--venue-bg:linear-gradient(125deg,#f4eadb,#e7d7c0)}
@media(max-width:700px){.featured-event.event-board{border-radius:22px}.event-board .featured-info{padding:19px 21px 22px}.event-board .board-lineup>a{gap:14px;padding:11px 0}.event-board .board-set-time{flex-basis:70px}.event-board .board-dj-name{font-size:24px}}

/* Venue names, a prominent date and calculated door opening. */
.event-board .featured-date{margin-top:18px}
.event-board .event-date-day{font-size:22px;font-weight:850;line-height:1.2;letter-spacing:-.5px;margin:0 0 8px}
.event-board .event-doors{font-size:14px;font-weight:800;line-height:1.4;letter-spacing:.4px;margin:0}
.event-board-title h3 a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){.event-board .featured-date{margin-top:14px}.event-board .event-date-day{font-size:21px}.event-board .event-doors{font-size:13px}}

/* Set times use the countdown numeral treatment. */
.event-board .board-set-time{flex-basis:100px;font-size:25px;font-weight:900;letter-spacing:-1px;line-height:1;font-variant-numeric:tabular-nums}
.event-board .board-set-time small{font-size:10px;font-weight:800;letter-spacing:0}
@media(max-width:700px){.event-board .board-set-time{flex-basis:92px;font-size:23px}}

/* Consistent black type on event and floor cards. */
.event-board{--venue-ink:#000;color:#000}
.venue-theme-clubroom{--venue-bg:linear-gradient(125deg,#eee8f5,#d5c7e5);--venue-border:#baaccb}
.event-board .featured-cta{background:transparent;color:#000;border:1px solid #000}
.event-board .featured-lineup-label>span{opacity:1}
.venue-theme-clubroom .countdown>span+span:before{background:#0003}
.destination,.venue-cover{color:#000!important;background-color:#eee;background-blend-mode:screen}

/* More visible status pulse, with reduced-motion support. */
.countdown-signal .pulse-dot{animation:status-pulse-red 1.5s ease-out infinite}
.countdown-signal .pulse-dot.is-live{animation:status-pulse-green 1.5s ease-out infinite}
@keyframes status-pulse-red{0%{transform:scale(.95);box-shadow:0 0 0 0 #ed303b88}45%{transform:scale(1.18)}80%,100%{transform:scale(.95);box-shadow:0 0 0 15px #ed303b00}}
@keyframes status-pulse-green{0%{transform:scale(.95);box-shadow:0 0 0 0 #21a55788}45%{transform:scale(1.18)}80%,100%{transform:scale(.95);box-shadow:0 0 0 15px #21a55700}}
@media(prefers-reduced-motion:reduce){.countdown-signal .pulse-dot,.countdown-signal .pulse-dot.is-live{animation:none}}

/* Countdown and live status grouped in the upper-left corner. */
.event-board-top:has(.countdown-wrap){flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px}
.event-board-top:has(.countdown-wrap) .countdown-wrap{margin:0;justify-content:flex-start}
.event-board-top:has(.countdown-wrap) .countdown-signal{justify-content:flex-start}

/* A schedule-driven progress line beneath the currently playing DJ. */
.board-lineup>a{position:relative}
.board-lineup>a.is-playing:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#000;transform:scaleX(var(--set-progress,0));transform-origin:left;transition:transform 1s linear;pointer-events:none}
@media(prefers-reduced-motion:reduce){.board-lineup>a.is-playing:after{transition:none}}

.event-board-top:has(.countdown-wrap) .next-label{display:none}

/* Original HI LIFE interviews, with black editorial type and intact photography. */
.story-panel.real-story{background:#e9e4dc;color:#000;isolation:isolate}
.real-story .story-original-photo{position:absolute;inset:0 0 0 auto;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:-2}
.real-story .story-panel-copy{left:30px;right:30px;width:auto;bottom:38px;color:#000}
.real-story .story-number,.real-story .story-preview-label{color:#000;background:#e9e4dc;padding:7px 10px}
.real-story .story-button{color:#000;background:transparent;border:1px solid #000}
.real-story .story-card-intro{display:none}
.real-story:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(233,228,220,.15) 48%,rgba(233,228,220,.92) 85%,#e9e4dc 100%);pointer-events:none}
main>.stories-section:first-child{padding-top:150px}
.real-interview{color:#000}.story-series{font-size:16px;font-weight:800;margin:35px 0 8px}
.real-interview .page-title{margin-top:0}.interview-original{display:block;width:100%;max-height:650px;object-fit:contain;background:#080808;border-radius:22px}
.interview-body{max-width:720px;margin:45px auto}.interview-question{margin:38px 0}.interview-question h2{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:0 0 12px}.interview-body p{font-size:17px;line-height:1.8}.interview-source{border-top:1px solid #0003;padding-top:24px;margin-top:40px;font-size:13px!important}.interview-source a{text-decoration:underline}
@media(max-width:700px){.story-panel.real-story{height:480px;max-height:70svh}.real-story .story-original-photo{top:0;width:100%;height:100%;object-position:60% 35%}.real-story .story-panel-copy{left:22px;right:22px;width:auto;bottom:24px}.real-story .story-panel-copy h3{margin:8px 0 12px}.real-story .story-card-intro{font-size:14px;line-height:1.5;margin-bottom:16px}.real-story .story-preview-label{display:none}.interview-question h2{font-size:21px}.interview-body p{font-size:16px}}

/* Series title replaces the redundant corner labels on story cards. */
.real-story .story-panel-copy .eyebrow{font-size:20px;line-height:1.3;font-weight:850;letter-spacing:1.2px}
@media(max-width:700px){.real-story .story-panel-copy .eyebrow{font-size:17px}}

/* A single editorial baseline keeps the portrait and story title calm. */
.real-story:after{background:linear-gradient(180deg,transparent 40%,rgba(233,228,220,.08) 51%,rgba(233,228,220,.85) 82%,#e9e4dc 100%)}
.real-story .story-panel-copy{left:40px;right:40px;bottom:32px;text-align:left;display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:24px}
.real-story .story-panel-copy .eyebrow{grid-column:1;margin:0 0 10px;font-size:15px;line-height:1.3;font-weight:750;letter-spacing:1.5px}
.real-story .story-panel-copy h3{grid-column:1;margin:0;font-size:42px;line-height:1;letter-spacing:-1.3px}
.real-story .story-button{grid-column:2;grid-row:1 / 3;align-self:end;border-radius:0;border:0;border-bottom:1px solid #000;padding:0 0 8px;font-size:13px;line-height:1.4;background:transparent}
@media(max-width:700px){.real-story .story-panel-copy{left:24px;right:24px;bottom:26px;display:block}.real-story .story-panel-copy .eyebrow{font-size:13px;margin:0 0 8px}.real-story .story-panel-copy h3{font-size:34px;margin:0 0 20px}.real-story .story-button{display:inline-flex;font-size:12px}}

/* The whole story is a semantic link; dissolve into the article. */
a.story-panel{display:block;text-decoration:none;cursor:pointer}
a.story-panel:focus-visible{outline:3px solid #000;outline-offset:6px}
.real-story .story-panel-copy{pointer-events:none}
a.story-panel.story-opening{animation:story-dissolve .38s ease-in forwards}
.story-arriving{animation:story-arrive .45s ease-out both}
@keyframes story-dissolve{to{opacity:0;filter:blur(8px)}}
@keyframes story-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){a.story-panel.story-opening,.story-arriving{animation:none}}

.real-story .story-original-photo[src$="story-fredy.webp"]{object-position:center 65%}

.event-board .event-weekday{display:block;font-size:27px;line-height:1.1;font-weight:900;letter-spacing:-.6px;text-transform:uppercase;margin-bottom:7px;color:#000}
.event-board .event-calendar-date{display:block;font-size:17px;font-weight:750;line-height:1.3;letter-spacing:0}
@media(max-width:700px){.event-board .event-weekday{font-size:24px}}

.event-board-top:empty{display:none}
.event-board-top:empty+.event-board-main{padding-top:0}
