*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:#f7f5ef;color:#241e1d;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#8b3e43}a:focus-visible{outline:2px solid #8b3e43;outline-offset:5px}.skip{position:fixed;top:-70px;padding:15px;background:white;z-index:20}.skip:focus{top:0}header{height:75px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:#f7f5ef;border-bottom:1px solid #d9d5cf;position:sticky;top:0;z-index:10}.brand{font-size:18px;font-weight:700;letter-spacing:-.6px}nav{display:flex;gap:27px;font-size:12px}.header-book{font-size:12px}main{display:grid;grid-template-columns:1fr 1fr;column-gap:7%;padding:65px 4% 55px;align-items:start}.hero{grid-column:1;grid-row:1/4;position:sticky;top:150px}.hero h1{color:#8b3e43;font-size:clamp(65px,8.5vw,140px);line-height:.86;letter-spacing:-.075em;margin:0 0 35px;font-weight:900}.socials{display:flex;gap:25px;font-size:12px}.section{grid-column:2;margin:0 0 55px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:20px}h2{font-size:23px;font-weight:500;letter-spacing:-.7px;margin:0}.small{font-size:9px;letter-spacing:.5px}.sets{display:grid;gap:0}.set{display:grid;grid-template-columns:120px 1fr;column-gap:20px;padding:20px 0;border-top:1px solid #d9d5cf;align-items:center}.set:last-child{border-bottom:1px solid #d9d5cf}.set-image{grid-row:1/3;position:relative;aspect-ratio:16/9;background:#8b3e43;overflow:hidden}.set-image img{display:block;width:100%;height:100%;object-fit:cover}.set-image .thumbnail{position:absolute;inset:0;opacity:0}.set-image .thumbnail.loaded{opacity:1}.play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:20px;background:#0002}.set h3{font-size:14px;font-weight:500;line-height:1.4;margin:0 0 7px}.set>.small{color:#8b3e43;font-size:9px}.track{display:grid;grid-template-columns:25px 1fr auto;gap:10px;align-items:center;border-top:1px solid #d9d5cf;padding:18px 0}.track:last-child{border-bottom:1px solid #d9d5cf}.track h3{font-size:17px;font-weight:400;letter-spacing:-.4px;margin:0}.platform{font-size:10px;color:#625957}.contact{margin-bottom:0}.contact h2{margin-bottom:23px}.contact>a{display:block;font-size:13px;margin:15px 0}footer{border-top:1px solid #d9d5cf;padding:23px 4%;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#625957}footer>div{display:flex;gap:20px}@media(max-width:760px){header{height:66px;padding:0 6%}.brand{font-size:16px}.header-book{display:none}nav{gap:17px;font-size:11px}main{display:block;padding:48px 6%}.hero{position:static;margin-bottom:60px}.hero h1{font-size:22vw;margin-bottom:25px}.socials{font-size:11px;gap:22px}.section{margin-bottom:45px}.contact{margin-bottom:0}.set{grid-template-columns:105px 1fr;gap:14px}.set h3{font-size:13px}.set>.small{font-size:8px}h2{font-size:22px}footer{padding:25px 6%;flex-wrap:wrap;line-height:1.5}.section-heading{margin-bottom:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Full-screen portrait direction. */
header.over-photo{position:absolute;top:0;left:0;right:0;background:transparent;color:#fff;border:0;height:90px;z-index:10}
header.over-photo a:hover{color:#fff;opacity:.7}
main{display:block;padding:0}.hero{position:relative;top:auto;height:100svh;min-height:640px;overflow:hidden;margin:0;background:#101514;color:#fff}
.hero-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 48%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0006,transparent 30%,transparent 55%,#0008)}
.hero h1{position:absolute;left:5%;bottom:8%;margin:0;color:#fff;font-size:clamp(80px,11vw,180px);line-height:.82;letter-spacing:-.065em}
.hero-down{position:absolute;right:5%;bottom:8%;font-size:11px;letter-spacing:1px;color:white}
.section{max-width:1120px;padding:65px 5%;margin:0 auto}.section-heading{margin-bottom:30px}.set{grid-template-columns:180px 1fr auto;padding:22px 0}.set-image{grid-row:auto}.set h3{font-size:18px;margin:0}.set>.small{font-size:10px}.music{padding-top:15px}.contact{padding-top:15px;padding-bottom:65px}.contact>a{display:inline-block;margin:20px 30px 0 0}
@media(max-width:760px){header.over-photo{height:75px}.hero{height:100svh;min-height:590px;margin:0}.hero-portrait{object-position:52% center}.hero h1{font-size:23vw;left:6%;bottom:11%}.hero-down{bottom:5%;left:6%;right:auto}.section{padding:45px 6%}.set{grid-template-columns:105px 1fr;gap:14px}.set-image{grid-row:1/3}.set h3{font-size:13px}.set>.small{font-size:8px}.music,.contact{padding-top:5px}.contact>a{display:block;margin:18px 0}}

.date-list{list-style:none;margin:0;padding:0}.date-row{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center;padding:28px 0;border-top:1px solid #d9d5cf}.date-row:last-child{border-bottom:1px solid #d9d5cf}.date-block{display:flex;align-items:center;gap:18px}.date-number{font-size:48px;font-weight:500;line-height:1;letter-spacing:-2px;color:#8b3e43;min-width:58px}.date-number.season{font-size:20px;letter-spacing:-1px;min-width:80px}.date-detail{font-size:11px;line-height:1.5;white-space:nowrap}.date-detail small{display:block;font-size:10px;color:#746963;margin-top:4px}.event-detail h3{font-size:20px;font-weight:500;letter-spacing:-.5px;margin:0}.event-detail p{font-size:13px;color:#746963;margin:8px 0 0}.dates-more{font-size:13px;margin:25px 0 0;color:#746963}
@media(max-width:760px){header.over-photo nav{gap:12px;font-size:10px}.date-row{grid-template-columns:100px 1fr;gap:15px;padding:24px 0}.date-block{gap:9px;align-items:flex-start;flex-direction:column}.date-number{font-size:38px;min-width:0}.date-number.season{font-size:18px}.date-detail{font-size:10px}.date-detail small{display:inline;margin-left:7px;font-size:9px}.event-detail h3{font-size:15px;line-height:1.4}.event-detail p{font-size:12px}}

/* Continuous photograph-to-page fade. */
body,header{background:#fff}
.hero{background:#fff}
.hero-shade{background:linear-gradient(to bottom,rgba(0,0,0,.34) 0%,rgba(0,0,0,.02) 34%,rgba(60,43,26,0) 52%,rgba(83,60,36,.18) 65%,rgba(131,102,69,.52) 76%,rgba(186,161,126,.84) 85%,rgba(230,218,199,.97) 93%,#fff 100%)}
.hero h1{bottom:30%;text-shadow:0 2px 25px rgba(0,0,0,.12)}
.hero-down{bottom:16%;color:#fff;text-shadow:0 1px 6px rgba(40,25,10,.5)}
.dates{padding-top:25px}
@media(max-width:760px){.hero h1{bottom:29%}.hero-down{bottom:20%}.dates{padding-top:15px}}

/* Long ombre: photograph -> warm brown through dates -> white at live sets. */
.hero{background:#aa8964}
.hero-shade{background:linear-gradient(to bottom,rgba(0,0,0,.34) 0%,rgba(0,0,0,.02) 34%,rgba(60,43,26,0) 52%,rgba(83,60,36,.12) 65%,rgba(131,102,69,.45) 80%,rgba(170,137,100,.85) 94%,#aa8964 100%)}
.dates{max-width:none;width:100%;margin:0;padding:40px max(5%,calc((100vw - 1008px)/2)) 80px;background:linear-gradient(to bottom,#aa8964 0%,#af906e 15%,#bea183 38%,#d2bda5 62%,#e9dfd2 82%,#f8f5f0 94%,#fff 100%)}
.dates .date-row{border-color:rgba(62,43,29,.20)}
.dates .event-detail p,.dates .date-detail small,.dates .dates-more{color:#554338}
.dates .date-number{color:#713036}
#sets{padding-top:30px;background:#fff}
@media(max-width:760px){.dates{padding:30px 6% 65px}#sets{padding-top:20px}}

/* Shared event and live-set title typography. */
.event-detail h3,.set h3{font-family:inherit;font-size:20px;font-weight:500;letter-spacing:-.5px;line-height:1.4;margin:0}
.hero-portrait,.hero-shade{pointer-events:none}
@media(max-width:760px){.event-detail h3,.set h3{font-size:15px}}

/* On-site booking enquiry panel. */
#booking{border:0;padding:0;width:min(620px,calc(100% - 32px));max-height:90svh;color:#241e1d;background:#fff;border-radius:0}
#booking::backdrop{background:rgba(25,19,15,.65)}
body:has(#booking[open]){overflow:hidden}
.booking-panel{padding:38px;position:relative}.booking-panel h2{font-size:36px;letter-spacing:-1px;margin-top:32px}
.booking-close{position:absolute;right:24px;top:20px;border:0;background:none;cursor:pointer;font:inherit;font-size:12px;color:inherit}
.booking-intro{font-size:14px;line-height:1.6;color:#625957;margin-bottom:28px}
#booking-form{display:grid;gap:18px}#booking-form label{display:grid;gap:8px;font-size:12px}
#booking-form input,#booking-form textarea{width:100%;border:1px solid #d9d5cf;border-radius:0;background:#fff;padding:12px;font:inherit;font-size:16px;color:inherit}#booking-form textarea{resize:vertical}
#booking-form input:focus,#booking-form textarea:focus{outline:2px solid #8b3e43;outline-offset:2px}
.booking-send{background:#8b3e43;color:white;border:0;padding:15px 24px;font:inherit;font-size:13px;cursor:pointer;justify-self:start}.booking-send:disabled{opacity:.6;cursor:wait}
.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#booking-status{font-size:13px;line-height:1.6;margin:0}
@media(max-width:760px){.booking-panel{padding:30px 24px}}
