/* Original static flow artwork; decorative layers never intercept controls. */
.hero,.music-section,.lane-panel,.booking-early,.gallery-section,.about,.gallery-page-intro,.page-epk .press-hero,.links-main,.site-footer{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-30px -44px 0 48%;background:url('/assets/flow-ribbon.svg') no-repeat 65% 46%/760px 760px}
.hero-copy{position:relative;background:var(--surface);box-shadow:-24px 0 0 24px var(--surface)}
.hero-portrait{isolation:isolate}
.hero-portrait::before{inset:18px -18px -18px 18px;background:var(--orange)}
.booking-guidance{max-width:34ch;margin-top:16px;font-size:16px;line-height:1.5}
.booking-early,.gallery-section,.lane-panel,.gallery-page-intro,.page-epk .press-hero,.site-footer{background-image:url('/assets/print-grain.svg')}
.booking-early::before{content:"";position:absolute;pointer-events:none;z-index:-1;right:0;top:0;bottom:0;width:28%;background:url('/assets/flow-ribbon.svg') center/420px 420px;opacity:.18}
.music-section::before{content:"";position:absolute;pointer-events:none;z-index:-1;top:26px;right:0;width:190px;height:110px;background:radial-gradient(circle,var(--teal) 1.2px,transparent 1.8px) 0 0/9px 9px;clip-path:polygon(24% 0,100% 0,100% 76%,0 100%)}
.lane-panel::before{content:"";position:absolute;z-index:-1;pointer-events:none;right:-160px;top:-80px;bottom:-120px;width:70%;background:url('/assets/flow-ribbon.svg') center/100% 100% no-repeat;opacity:.65}
.lane-panel-copy{position:relative;z-index:1}
.lane-panel-copy>p,.lane-panel-copy .text-link{background:var(--ink);width:fit-content;box-shadow:0 0 0 8px var(--ink)}
.gallery-section::before{content:"";position:absolute;z-index:-1;pointer-events:none;right:0;top:0;width:42%;height:230px;background:url('/assets/flow-ribbon.svg') right center/600px 600px;opacity:.12}
.production-art{background:var(--teal);padding:12px;transform:rotate(2deg);box-shadow:16px 16px 0 var(--orange)}
.production-art img{border:1px solid var(--ink)}
.production-art figcaption{transform:rotate(-2deg);color:var(--ink)}
.about{background:var(--panel);padding:56px 36px;margin-left:-36px;margin-right:-36px;border-top:5px solid var(--teal)}
.about::after{content:"";position:absolute;pointer-events:none;left:32px;bottom:24px;width:150px;height:42px;background:repeating-linear-gradient(120deg,var(--orange) 0 3px,transparent 3px 12px)}
.gallery-page-intro,.page-epk .press-hero{overflow:hidden}
.gallery-page-intro::before,.page-epk .press-hero::before{content:"";position:absolute;pointer-events:none;z-index:-1;right:-100px;top:-180px;width:440px;height:600px;background:url('/assets/flow-ribbon.svg') center/cover;opacity:.28}
.gallery-page-intro>div,.page-epk .press-hero>div{position:relative;background:var(--teal);box-shadow:0 0 0 16px var(--teal)}
/* A saturated artist cover leads into calm, scannable link surfaces. */
.links-main{--text:var(--ink);--secondary:#55514A;--line:#CAC6BE;--panel:#E8E5DE;--focus:var(--ink);max-width:1208px;min-height:0;padding:24px 44px 36px;color:var(--ink);background:var(--orange)}
.links-hero,.links-layout,.links-main>.hub-bottom,.links-main>.copy-status{max-width:1120px;margin-left:auto;margin-right:auto}
.links-hero{position:relative;display:grid;grid-template-columns:1fr 46%;align-items:center;gap:24px;min-height:320px;overflow:clip}
.links-hero-copy{position:relative;z-index:1;padding:24px 0}
.links-hero h1{font-size:clamp(68px,8.8vw,120px);line-height:.86;letter-spacing:-.045em}
.links-hero-copy p{margin-top:24px;font-size:14px;max-width:28ch;line-height:1.5;color:var(--ink)}
.links-hero-art{align-self:stretch;overflow:hidden}
.links-hero-art img{width:100%;height:100%;max-height:320px;object-fit:cover;object-position:50% 50%}
.links-layout{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:0;padding-top:24px;align-items:stretch}
.links-music,.links-connect{padding:28px 28px 24px;background:var(--paper)}
.links-connect{--secondary:#153D38;--line:#17887C;--panel:#52C2B5;background:var(--teal)}
.links-layout h2{font-size:27px;letter-spacing:-.03em;margin-bottom:14px}
.links-layout h2::after{content:"";display:inline-block;width:32px;height:4px;margin:0 0 5px 12px;background:var(--orange)}
.links-connect h2::after{background:var(--ink)}
.links-main .hub-feature{grid-template-columns:88px minmax(0,1fr) 20px;gap:20px;min-height:120px;align-items:center;padding:15px 0;margin:0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.links-main .hub-feature img{width:88px;height:88px}
.links-main .hub-feature strong{font-size:26px;letter-spacing:-.025em;order:-1}
.links-music > a.hub-feature strong{font-family:CutTape,OpenGroove,sans-serif;font-size:26px;line-height:1.1;letter-spacing:0;text-transform:uppercase;padding-right:.2em}
.links-main .hub-feature small{font-size:12px}
.links-main .hub-feature>span>span{font-size:12px;color:var(--secondary)}
.links-main .hub-link{min-height:57px;padding:10px 0;margin:0;background:transparent;color:var(--text);border:0;border-bottom:1px solid var(--line);border-radius:0}
.links-main .hub-link>span:not(.arrow){flex:1;flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}
.links-main .hub-link strong{font-size:16px}
.links-main .hub-link small{font-size:12px;color:var(--secondary)}
.links-main .hub-booking{margin-top:16px;padding:12px;background:var(--ink);color:var(--paper);border-color:var(--ink);--focus:var(--ink)}
.links-main .hub-booking small{color:var(--paper)}
.links-main .hub-booking:is(:hover,:focus-visible){background:var(--paper);color:var(--ink)}
.links-main .hub-booking:is(:hover,:focus-visible) small{color:var(--ink)}
.links-main .hub-shop{margin-top:16px;padding:12px;background:var(--orange);border-color:var(--orange);--focus:var(--ink);--secondary:var(--ink)}
.links-main .hub-shop:is(:hover,:focus-visible){background:var(--paper)}
.links-main>.hub-bottom{justify-content:flex-start;gap:34px;margin-top:28px;font-size:12px}
.links-main>.hub-bottom .text-link{min-height:44px;gap:8px}
.links-main>.hub-bottom .copy-link{margin-left:auto}
.links-main>.copy-status{min-height:20px;color:var(--ink)}
.links-main :is(.hub-link,.hub-feature):hover{transform:none}
.links-main a:hover strong{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}
.links-main :is(.hub-link,.hub-feature):is(:hover,:focus-visible){background:var(--panel)}
.links-main :is(.hub-link,.hub-feature):active{opacity:.72}
.links-main .hub-feature-upcoming:is(:hover,:active){transform:none;scale:1;opacity:1}
.page-links .site-footer{background:none;padding-top:0}
.desktop-nav .nav-shop{background:var(--orange);color:var(--ink);padding:8px 12px;gap:8px}
.desktop-nav .nav-shop:hover{color:var(--ink);background:var(--teal)}
.mobile-menu .mobile-shop{background:var(--orange);color:var(--ink);font-weight:700}
.shop-section{display:flex;justify-content:space-between;align-items:end;gap:32px;margin:0 -44px;padding:52px 44px 56px;background:var(--teal);color:var(--ink);border-top:8px solid var(--orange)}
.shop-section .eyebrow{margin-bottom:12px}
.shop-section h2{font-size:clamp(56px,7vw,104px);line-height:.9}
.shop-section p:last-child{font-size:16px;margin-top:20px}
.shop-button{background:var(--ink);color:var(--paper);min-width:210px}
.shop-button:hover{background:var(--paper);color:var(--ink);border-color:var(--ink)}
.site-footer{border-top:6px solid var(--orange)}
@media(max-width:1100px){.hero::before{inset:-20px -32px 0 46%;background-size:680px 680px}}
@media(max-width:820px){.hero::before{inset:26% -32px 0 12%;background-size:780px 780px}.hero-copy{box-shadow:0 0 0 22px var(--surface)}.lane-panel::before{width:100%;top:36%;right:-100px}.about::after{display:none}}
@media(max-width:820px){.links-main{padding:24px 24px 28px}.links-hero{min-height:280px}.links-hero-art img{max-height:280px}.links-music,.links-connect{padding:24px 20px}.links-main .hub-link>span:not(.arrow){flex-direction:column;gap:0}}
@media(max-width:1100px){.shop-section{margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px}}
@media(max-width:700px){.links-layout{grid-template-columns:1fr;gap:0;padding-top:20px}.links-layout h2{font-size:24px;margin-bottom:5px}}
@media(max-width:640px){.hero::before{inset:38% -24px -16px -24px;background-size:640px 640px;background-position:50% 55%}.hero-copy{box-shadow:0 0 0 18px var(--surface)}.hero-portrait::before{inset:12px -12px -12px 12px}.music-section::before{width:92px;height:65px;top:34px;opacity:.5}.booking-early::before{width:35%;opacity:.15}.production-art{box-shadow:8px 8px 0 var(--orange);padding:8px}.about{padding:34px 24px;margin-left:-24px;margin-right:-24px}.gallery-page-intro::before{right:-240px}
 .shop-section{display:block;margin:0 -24px;padding:40px 24px 44px}.shop-section h2{font-size:64px}.shop-section p:last-child{font-size:14px;margin-top:14px}.shop-button{margin-top:28px;width:100%}
 .links-main{padding:0 0 24px}.links-hero{grid-template-columns:1fr 43%;min-height:234px;gap:12px}.links-hero-copy{padding:28px 0 28px 24px}.links-hero h1{font-size:clamp(52px,15vw,76px)}.links-hero-copy p{font-size:11px;margin-top:18px;max-width:180px}.links-hero-art img{max-height:234px}.links-layout{padding-top:0}.links-music,.links-connect{padding:24px}.links-layout h2{font-size:24px;margin-bottom:5px}.links-main>.hub-bottom,.links-main>.copy-status{margin-left:24px;margin-right:24px}
 .links-main .hub-feature{grid-template-columns:68px minmax(0,1fr) 20px;min-height:95px;gap:14px;padding:12px 0}.links-main .hub-feature img{width:68px;height:68px}.links-main .hub-feature strong{font-size:21px}.links-music > a.hub-feature strong{font-size:20px}.links-main .hub-feature small,.links-main .hub-feature>span>span{font-size:11px}.links-main .hub-link{min-height:51px;padding:8px 0}.links-main .hub-booking{padding:12px}.links-main .hub-link strong{font-size:15px}.links-main .hub-link small{font-size:11px}.links-main>.hub-bottom{margin-top:18px;gap:20px}.links-main>.hub-bottom .copy-link{margin-left:0}
}

@media print{.hero::before,.lane-panel::before,.booking-early::before,.gallery-section::before,.music-section::before,.about::after,.gallery-page-intro::before,.page-epk .press-hero::before,.links-hero::before{display:none}.page-epk .press-hero,.site-footer{background-image:none}.page-epk .press-hero>div{background:transparent;box-shadow:none}}

/* gpt-taste adaptation: editorial pacing and progressive native motion. */
@media(min-width:1101px){
 .music-section{padding-top:104px;padding-bottom:112px}
 .production-section{padding-top:112px;padding-bottom:112px;align-items:start}
 .production-copy{position:sticky;top:42px}
 .art-section{padding-top:100px;padding-bottom:80px}
 .dates-section{padding-top:72px;padding-bottom:90px}
 .lane-panel{padding-top:96px;padding-bottom:108px}
}
.photo-open{overflow:hidden}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .photo-open img{transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .3s}
 .photo-open:hover img{transform:scale(1.025)}
 .hub-link,.hub-feature{transition:transform .25s,border-color .25s}
 .hub-link:hover,.hub-feature:hover{transform:translateX(3px)}
}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .production-art,.art-liquid{animation:art-arrive linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
  @keyframes art-arrive{from{opacity:.8;translate:0 18px}to{opacity:1;translate:0 0}}
 }
}
@media(prefers-reduced-motion:reduce){.production-copy{position:static}.production-art,.art-liquid{opacity:1;translate:none}}
@media print{.production-copy{position:static}.production-art,.art-liquid{animation:none;opacity:1;translate:none}}

/* Redesign audit: readable wraps, clear navigation states, practical targets. */
h2,h3{text-wrap:balance}
.hero-intro,.about-copy p,.production-copy p,.press-bio p{text-wrap:pretty}
.gig time,.gig-time,.gallery-position,.photo-count{font-variant-numeric:tabular-nums}
.desktop-nav>a{min-height:44px;display:inline-flex;align-items:center}
.mobile-menu nav a{min-height:44px;display:flex;align-items:center}
.mobile-menu nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:6px;font-weight:600}
@media(hover:hover){.desktop-nav>a:hover,.footer-links>a:hover{text-decoration:underline;text-underline-offset:6px}}
@media(prefers-reduced-motion:no-preference){.button:active,.gallery-controls button:active,.photo-dialog button:active{transform:translateY(1px)}}

/* Apple interaction principles adapted to Lane's solid editorial surfaces. */
.more-dates summary span{display:inline-block;transform-origin:center;transform:rotate(0deg)}
.more-dates[open] summary span{transform:rotate(45deg)}
@media(prefers-reduced-motion:no-preference){
 :root[data-input=pointer] .more-dates summary span{transition:transform 150ms cubic-bezier(.23,1,.32,1)}
}
/* The artwork follows the scroll; its copy, photographs and mark stay anchored. */
.hero[data-flow-fallback],.lane-panel[data-flow-fallback],.production-section[data-flow-fallback]{overflow:clip}
.hero[data-flow-fallback]::before,.lane-panel[data-flow-fallback]::before,.production-section[data-flow-fallback]::before{content:none}
.scroll-ribbon{position:absolute;pointer-events:none;z-index:-1}
/* Oversized art gives the two scroll layers room to flow behind anchored content. */
.lane-panel::before{inset:-35%;width:auto;height:auto;background:url('/assets/groove-field.webp') center/cover no-repeat;opacity:1}
.flow-accent{position:absolute;pointer-events:none;z-index:0;inset:-20% -20% -20% 35%;background:url('/assets/flow-ribbon.svg') center/contain no-repeat;opacity:.7}
.lane-collage{z-index:1}
.lane-panel{overflow:clip}
.lane-panel-copy{align-self:center;background:var(--ink);padding:24px}
@media(max-width:640px){.lane-panel-copy{padding:20px}}
.production-section{position:relative;isolation:isolate;overflow:clip;margin:60px -44px 0;padding:96px 44px;gap:9%;align-items:start}
.production-section::before{content:"";position:absolute;pointer-events:none;z-index:-1;inset:-35%;background:url('/assets/groove-field.webp') center/cover no-repeat}
.production-copy,.production-notes{position:relative;background:var(--surface);padding:32px;align-self:start}
.production-copy{position:relative;top:auto}
.production-details{margin:0;border:0;padding:0}
.production-notes .text-link{margin-top:28px;font-size:14px}
.production-section h2{font-size:clamp(40px,4.5vw,64px)}
.music-meta>span{display:block;line-height:1.6}
.music-meta .music-release{font-size:14px;font-weight:600;margin:12px 0}
.music-presenter{font-size:12px;font-weight:600;line-height:1.5}
@media(max-width:1100px){.production-section{margin-left:-32px;margin-right:-32px;padding:72px 32px;gap:32px}}
@media(max-width:820px){.production-section{grid-template-columns:1fr;gap:24px}.production-copy,.production-notes{max-width:600px}.production-notes{margin-left:auto}}
@media(max-width:640px){.production-section{margin:40px -24px 0;padding:48px 24px}.production-copy,.production-notes{padding:24px}.production-section h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.scroll-ribbon,.flow-accent{transform:none!important}}
@media print{.scroll-ribbon,.flow-accent{display:none}.hero::before,.lane-panel::before,.production-section::before{display:none}.production-section{margin:0;padding:32px 0}.production-copy,.production-notes{padding:0}}
body{font-size:1.0625rem}
.theme-switch,.copy-link{min-height:44px}
.button,.hub-link,.hub-feature,.gallery-controls button,.photo-dialog button,.theme-switch,.copy-link,.mobile-menu>summary{transition:scale 100ms ease-out}
:root[data-input=pointer] :is(.button,.hub-link,.hub-feature,.gallery-controls button,.photo-dialog button,.theme-switch,.copy-link,.mobile-menu>summary):active:not(:disabled){scale:.97}
:root[data-input=keyboard] :is(.button,.hub-link,.hub-feature,.gallery-controls button,.photo-dialog button):active{transform:none;scale:1}
@media(prefers-reduced-motion:reduce){
 :root[data-input=pointer] :is(.button,.hub-link,.hub-feature,.gallery-controls button,.photo-dialog button,.theme-switch,.copy-link,.mobile-menu>summary):active{scale:1;transform:none;opacity:.8}
}
@media(prefers-contrast:more){
 :root{--secondary:var(--text);--line:var(--text)}
 .mobile-menu>nav,.photo-dialog,.photo-dialog button{border:2px solid currentColor}
 :focus-visible{outline-width:4px}
}
