
:root{--black:#050505;--ink:#0a0a0a;--panel:#101010;--white:#f4f4f1;--muted:#a9a9a4;--line:rgba(255,255,255,.16);--line-strong:rgba(255,255,255,.32);--max:1280px;--pad:clamp(1.25rem,4vw,4rem);--space:clamp(5rem,10vw,9rem);--display:"Arial Black","Helvetica Neue",Arial,sans-serif;--body:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black);color-scheme:dark}body{margin:0;background:var(--black);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.6;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}picture{display:block}img{display:block;max-width:100%}button{font:inherit;color:inherit}.skip-link{position:fixed;top:.7rem;left:.7rem;z-index:1000;background:#fff;color:#000;padding:.7rem 1rem;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1rem var(--pad);border-bottom:1px solid transparent;transition:.25s;background:linear-gradient(#000b,#0000)}.site-header.is-scrolled,.site-header.menu-active{background:rgba(5,5,5,.94);backdrop-filter:blur(14px);border-bottom-color:var(--line)}.wordmark{font-family:var(--display);font-weight:900;letter-spacing:-.04em;font-size:1.05rem;white-space:nowrap}.wordmark span{font-family:var(--body);font-size:.64em;letter-spacing:.12em;margin-left:.25rem}.desktop-nav{display:flex;gap:clamp(1rem,2.2vw,2rem);align-items:center}.desktop-nav a,.header-cta,.menu-toggle{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.desktop-nav a{color:#c9c9c5}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:#fff}.header-cta{border:1px solid var(--line-strong);padding:.68rem 1rem}.header-cta:hover,.header-cta:focus-visible{background:#fff;color:#000}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:.58rem .75rem}.mobile-menu{display:none}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden;background:#000}.hero-picture,.hero-picture:after{position:absolute;inset:0}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:50% 44%;filter:contrast(1.08) brightness(.9) saturate(.88)}.hero-picture:after{content:"";background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.4) 40%,rgba(0,0,0,.08) 78%),linear-gradient(0deg,rgba(5,5,5,.72) 0%,transparent 45%)}.hero-inner{position:relative;z-index:1;width:min(var(--max),100%);margin:0 auto;padding:9rem var(--pad) clamp(4rem,8vw,7rem)}.eyebrow,.section-label{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#d2d2cf}.eyebrow{display:flex;gap:.7rem;align-items:center}.eyebrow:before{content:"";width:1.8rem;height:1px;background:#fff}.hero h1{font-family:var(--display);font-size:clamp(5.4rem,15vw,13.5rem);letter-spacing:-.07em;line-height:.72;margin:1.3rem 0 0;max-width:10ch}.hero h1 span{display:block;font-family:var(--body);font-size:.12em;letter-spacing:.25em;margin:1.8rem 0 0 .4rem;color:#d5d5d1}.hero-lede{font-size:clamp(1.08rem,1.7vw,1.35rem);max-width:39rem;color:#e1e1dc;margin:2rem 0 0;text-shadow:0 2px 18px #000}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.1rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:1px solid var(--line-strong);padding:.85rem 1.1rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;min-height:46px}.button--solid{background:#fff;color:#000;border-color:#fff}.button:hover,.button:focus-visible{background:#fff;color:#000}.hero-side{position:absolute;z-index:1;right:var(--pad);bottom:2rem;writing-mode:vertical-rl;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:#b8b8b4}
.section{position:relative;padding:var(--space) var(--pad)}.section-inner{width:min(var(--max),100%);margin:0 auto}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.65fr);align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.section h2{font-family:var(--display);font-size:clamp(3.5rem,8vw,8rem);letter-spacing:-.065em;line-height:.8;margin:.8rem 0 0}.section-intro{color:#bdbdb8;max-width:34rem;margin:0 0 .4rem auto}.section--light{background:#e9e8e3;color:#090909}.section--light .section-label,.section--light .section-intro{color:#555550}.section--marble{background:#0b0b0b url('/assets/marble-dark.webp') center/cover fixed}.section--marble:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.46)}.section--marble .section-inner{position:relative}
.about-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(2.4rem,8vw,8rem);align-items:start}.about-portrait{aspect-ratio:4/5;overflow:hidden;background:#111}.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) contrast(1.1)}.about-copy>p:first-child{font-size:clamp(1.35rem,2.5vw,2.2rem);line-height:1.35;margin-top:0}.about-copy p{max-width:48rem}.proof-grid{border-top:1px solid #222;margin-top:3rem}.proof-item{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #222}.proof-item span{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#64645f}.proof-item strong{font-size:.92rem;font-weight:600}
.listen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.embed-card{min-height:330px;border:1px solid var(--line);background:rgba(0,0,0,.58);padding:1.2rem;display:flex;flex-direction:column;justify-content:space-between}.embed-card h3{font-family:var(--display);font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em;margin:.3rem 0}.embed-card p{color:#b8b8b4;max-width:30rem}.embed-slot{margin-top:1.6rem}.embed-placeholder{border:1px solid var(--line);padding:1.25rem;background:#090909;display:grid;gap:.9rem}.embed-placeholder small{color:#999}.embed-slot iframe{border:0;width:100%;min-height:352px}.embed-slot iframe.soundcloud{min-height:300px}
.gallery-grid{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:29rem 20rem;gap:.75rem}.gallery-item{position:relative;overflow:hidden;background:#111;cursor:zoom-in;border:0;padding:0}.gallery-item:first-child{grid-row:1/3}.gallery-item picture{width:100%;height:100%}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:transform .5s ease,filter .25s}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.025);filter:grayscale(.15) contrast(1.03)}.gallery-caption{position:absolute;inset:auto .85rem .75rem;color:#fff;background:#000b;padding:.35rem .5rem;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase}.lightbox{position:fixed;inset:0;z-index:100;background:#000e;display:none;place-items:center;padding:2rem}.lightbox.open{display:grid}.lightbox img{max-width:min(90vw,1200px);max-height:86vh;object-fit:contain}.lightbox button{position:absolute;right:1.3rem;top:1.2rem;background:#000;border:1px solid #fff;padding:.55rem .8rem}
.release-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.release-grid--catalogue{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.release-card{border:1px solid var(--line);background:#0c0c0c;min-width:0;display:flex;flex-direction:column}.release-card--featured{border-top:2px solid #fff}.release-artwork{aspect-ratio:1;position:relative;overflow:hidden;background:#191919}.release-artwork img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.3s}.release-card:hover .release-artwork img{filter:grayscale(0);transform:scale(1.02)}.release-artwork>span{position:absolute;top:.65rem;left:.65rem;background:#000d;border:1px solid var(--line);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .5rem}.release-copy{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem 1rem .5rem}.release-copy h3{font-family:var(--display);font-size:clamp(1.7rem,2.7vw,2.75rem);letter-spacing:-.045em;line-height:.92;margin:0}.release-copy p{color:#999;margin:.45rem 0 0;font-size:.72rem}.release-copy time{font-size:.58rem;letter-spacing:.16em;color:#aaa}.release-links{display:flex;gap:1rem;padding:.55rem 1rem 1rem;margin-top:auto}.release-links a{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #777}.release-links a:hover,.release-links a:focus-visible{border-color:#fff}.catalogue-top{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-top:clamp(3.5rem,7vw,6rem);padding-top:2rem;border-top:1px solid var(--line)}.catalogue-top h3{font-family:var(--display);font-size:clamp(2.4rem,5vw,5rem);letter-spacing:-.05em;line-height:.85;margin:0}.catalogue-top a{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid #777}
.eye-break{height:min(66vw,760px);min-height:420px;position:relative;overflow:hidden}.eye-break picture{width:100%;height:100%}.eye-break img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.66)}.eye-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0009,transparent,#0007)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);align-items:end}.contact-copy h2{font-family:var(--display);font-size:clamp(4rem,9vw,9.5rem);line-height:.78;letter-spacing:-.065em;margin:.8rem 0 1.5rem}.contact-copy p{color:#b9b9b4;max-width:40rem}.contact-panel{border:1px solid var(--line);padding:clamp(1.25rem,3vw,2.2rem);background:#0b0b0b}.contact-panel small{display:block;text-transform:uppercase;letter-spacing:.18em;color:#999}.email-link{display:block;font-family:var(--display);font-size:clamp(1.5rem,3.5vw,3.4rem);line-height:1.05;margin:1rem 0;overflow-wrap:anywhere}.social-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.2rem}.social-row a{border:1px solid var(--line);padding:.55rem .75rem;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase}.social-row a:hover,.social-row a:focus-visible{background:#fff;color:#000}
.site-footer{border-top:1px solid var(--line);padding:1.4rem var(--pad);display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;background:#050505}.site-footer p{margin:0;text-align:center;color:#888;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.footer-links{display:flex;gap:1rem;justify-self:end}.footer-links a,.cookie-settings{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#aaa;background:none;border:0;padding:0}.footer-links a:hover,.cookie-settings:hover{color:#fff}
.cookie-banner{position:fixed;z-index:120;left:1rem;bottom:1rem;width:min(420px,calc(100% - 2rem));background:#0b0b0b;border:1px solid var(--line-strong);padding:1rem;box-shadow:0 20px 50px #0009;display:none}.cookie-banner.open{display:block}.cookie-banner p{font-size:.78rem;color:#c5c5c0;margin:0 0 .8rem}.cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap}.cookie-actions button{border:1px solid var(--line-strong);background:#111;padding:.55rem .7rem;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.cookie-actions button:first-child{background:#fff;color:#000}
.legal-static{max-width:900px;margin:0 auto;padding:10rem var(--pad) 6rem}.legal-static h1{font-family:var(--display);font-size:clamp(3.5rem,8vw,7rem);line-height:.82;letter-spacing:-.06em}.legal-static h2{font-family:var(--display);font-size:1.7rem;letter-spacing:-.025em;margin-top:2.5rem}.legal-static p,.legal-static li{color:#c1c1bd}.legal-static a{text-decoration:underline}.press-hero{padding:11rem var(--pad) 5rem;background:#0b0b0b url('/assets/marble-dark.webp') center/cover}.press-hero-inner,.press-main{width:min(var(--max),100%);margin:auto}.press-hero h1{font-family:var(--display);font-size:clamp(4.5rem,11vw,11rem);line-height:.75;letter-spacing:-.07em;margin:1rem 0}.press-main{padding:var(--space) var(--pad)}.press-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,7vw,7rem)}.press-photo img{filter:grayscale(1);width:100%;height:auto}.press-copy h2{font-family:var(--display);font-size:clamp(2.4rem,5vw,5rem);line-height:.85;letter-spacing:-.05em}.credential-list{border-top:1px solid var(--line);margin-top:2rem}.credential-list div{display:grid;grid-template-columns:10rem 1fr;gap:1rem;border-bottom:1px solid var(--line);padding:1rem 0}.credential-list dt{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:#999}.credential-list dd{margin:0}
@media(max-width:900px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-menu{position:fixed;inset:0;z-index:45;background:#060606;padding:7rem var(--pad) 3rem;display:none}.mobile-menu.open{display:flex}.mobile-menu nav{display:flex;flex-direction:column;width:100%}.mobile-menu a{font-family:var(--display);font-size:clamp(2.6rem,12vw,5rem);line-height:1.05;padding:.4rem 0;border-bottom:1px solid var(--line)}.hero h1{font-size:clamp(5rem,22vw,9rem)}.hero-side{display:none}.section-head,.about-grid,.contact-grid{grid-template-columns:1fr}.section-intro{margin-left:0}.listen-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-template-rows:30rem 23rem 23rem}.gallery-item:first-child{grid-row:auto}.release-grid,.release-grid--catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-item,.credential-list div{grid-template-columns:1fr;gap:.3rem}.site-footer{grid-template-columns:1fr;justify-items:start}.site-footer p{text-align:left}.footer-links{justify-self:start;flex-wrap:wrap}.section--marble{background-attachment:scroll}}
@media(max-width:580px){.hero-picture img{object-position:53% 48%}.hero-picture:after{background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.08)),linear-gradient(0deg,rgba(5,5,5,.62),transparent 58%)}.hero h1{font-size:clamp(4.6rem,25vw,7rem)}.hero h1 span{font-size:.14em;line-height:1.5;margin-top:1.2rem}.actions{align-items:stretch}.button{width:100%}.section{padding-top:4.6rem;padding-bottom:4.6rem}.gallery-grid{grid-template-rows:27rem 20rem 20rem}.release-grid,.release-grid--catalogue{grid-template-columns:1fr}.catalogue-top{align-items:flex-start;flex-direction:column}.release-copy h3{font-size:2rem}.contact-copy h2{font-size:4rem}.site-header{padding-top:.8rem;padding-bottom:.8rem}}

/* One-page press section, refined contact treatment and motion system */
section[id]{scroll-margin-top:4.75rem}
55%{transform:translateX(125%)}100%{transform:translateX(260%)}}}
.hero-picture img{animation:heroDrift 16s ease-out both}.hero .eyebrow{animation:heroRise .8s .75s both}.hero h1{animation:heroRise .95s .84s cubic-bezier(.16,1,.3,1) both}.hero .hero-lede{animation:heroRise .8s 1s both}.hero .actions{animation:heroRise .8s 1.1s both}.hero-side{animation:heroFade .8s 1.25s both}.site-header{animation:heroFade .7s 1.05s both}
@keyframes heroDrift{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes heroRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes heroFade{from{opacity:0}to{opacity:1}}
body.motion-ready [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}body.motion-ready [data-reveal].is-visible{opacity:1;transform:none}
.desktop-nav a[aria-current="true"]{color:#fff}.desktop-nav a[aria-current="true"]:after{content:"";display:block;height:1px;background:#fff;margin-top:.25rem;animation:navLine .35s both}@keyframes navLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.button,.header-cta,.social-row a{transition:background-color .2s,color .2s,border-color .2s,transform .2s}.button:hover,.header-cta:hover,.social-row a:hover{transform:translateY(-2px)}
.embed-slot{position:relative}.embed-loading{min-height:300px;border:1px solid var(--line);display:grid;place-items:center;background:#080808;color:#aaa;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;overflow:hidden}.embed-loading:after{content:"";width:4rem;height:1px;background:#fff;position:absolute;animation:embedPulse 1.1s ease-in-out infinite}@keyframes embedPulse{0%,100%{transform:translateX(-2.8rem);opacity:.25}50%{transform:translateX(2.8rem);opacity:1}}.embed-slot iframe.embed-enter{opacity:0;transform:translateY(10px);transition:.45s}.embed-slot iframe.embed-enter.is-ready{opacity:1;transform:none}
.lightbox{opacity:0;transition:opacity .25s}.lightbox.open{opacity:1}.lightbox img{transform:scale(.97);transition:transform .35s cubic-bezier(.22,1,.36,1)}.lightbox.open img{transform:scale(1)}

.contact-section{background:#050505;padding-top:clamp(5rem,9vw,8rem)}.contact-heading{border-top:1px solid var(--line);padding-top:1.4rem}.contact-heading-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,8vw,8rem);align-items:end}.contact-heading h2{font-family:var(--display);font-size:clamp(4.4rem,10.3vw,10.8rem);line-height:.76;letter-spacing:-.07em;margin:1rem 0 0}.contact-heading-grid>p{color:#b8b8b3;max-width:34rem;margin:0 0 .6rem}.contact-email{position:relative;display:grid;grid-template-columns:13rem minmax(0,1fr) auto;gap:1.25rem;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(1.5rem,3.5vw,3rem) 0;margin-top:clamp(3rem,6vw,5rem);transition:background .35s,color .35s,padding .35s}.contact-email:before{content:"";position:absolute;inset:0 50% 0 50%;background:#f4f4f1;z-index:0;transition:inset .5s cubic-bezier(.22,1,.36,1)}.contact-email>*{position:relative;z-index:1}.contact-email:hover:before,.contact-email:focus-visible:before{inset:0}.contact-email:hover,.contact-email:focus-visible{color:#050505;padding-left:1.2rem;padding-right:1.2rem}.contact-email-label{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#92928d}.contact-email:hover .contact-email-label,.contact-email:focus-visible .contact-email-label{color:#41413e}.contact-email strong{font-family:var(--display);font-size:clamp(2rem,4.5vw,5.1rem);line-height:.92;letter-spacing:-.055em;white-space:nowrap}.contact-arrow{font-size:clamp(2rem,5vw,5rem);line-height:1}.contact-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.contact-meta>div{padding:1.5rem 1.5rem 1.7rem 0}.contact-meta>div+div{border-left:1px solid var(--line);padding-left:1.5rem}.contact-meta span,.contact-socials>span{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:#858580}.contact-meta p{font-size:.9rem;color:#c4c4bf;margin:.55rem 0 0;max-width:24rem}.contact-socials{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding-top:1.4rem}.contact-socials .social-row{margin-top:0;justify-content:flex-end}.social-row a{background:#080808}
@media(max-width:900px){.contact-heading-grid{grid-template-columns:1fr}.contact-heading-grid>p{margin-top:1.5rem}.contact-email{grid-template-columns:1fr auto}.contact-email-label{grid-column:1/-1}.contact-email strong{white-space:normal;overflow-wrap:normal;word-break:normal}.contact-meta{grid-template-columns:1fr}.contact-meta>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.contact-socials{flex-direction:column}.contact-socials .social-row{justify-content:flex-start}}
@media(max-width:580px){.loader-lockup strong{font-size:4.3rem}.contact-heading h2{font-size:4.25rem}.contact-email{gap:.8rem}.contact-email strong{font-size:clamp(1.65rem,8.8vw,2.4rem)}.contact-arrow{font-size:2.2rem}.contact-meta>div{padding-right:0}.contact-socials .social-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.contact-socials .social-row a{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}body.motion-ready [data-reveal]{opacity:1!important;transform:none!important}}

/* Booking section refinement */
.contact-heading-grid{
  grid-template-columns:minmax(0,1fr) minmax(250px,300px);
  gap:clamp(2rem,5vw,5rem);
  align-items:end;
}
.contact-heading h2{
  font-size:clamp(4.5rem,8vw,8.5rem);
  line-height:.78;
  max-width:100%;
}
.contact-heading-grid>p{
  max-width:300px;
  margin:0 0 .35rem;
}
.contact-email{
  grid-template-columns:11rem minmax(0,1fr) auto;
}
.contact-email strong{
  font-size:clamp(2rem,3.15vw,3.7rem);
  line-height:.95;
}
.contact-arrow{
  font-size:clamp(2rem,4vw,4rem);
}
@media(max-width:1100px){
  .contact-heading-grid{
    grid-template-columns:minmax(0,1fr) 260px;
    gap:2.5rem;
  }
  .contact-heading h2{font-size:clamp(4.2rem,7.5vw,7rem)}
  .contact-email strong{font-size:clamp(1.9rem,3.2vw,3.2rem)}
}
@media(max-width:900px){
  .contact-heading-grid{grid-template-columns:1fr;gap:0}
  .contact-heading h2{font-size:clamp(4.2rem,12vw,7rem)}
  .contact-heading-grid>p{max-width:34rem;margin-top:1.5rem}
  .contact-email{grid-template-columns:1fr auto}
  .contact-email strong{font-size:clamp(1.9rem,6vw,3rem)}
}
@media(max-width:580px){
  .contact-heading h2{font-size:4.25rem}
  .contact-email strong{font-size:clamp(1.55rem,8vw,2.25rem)}
}

/* 2026 hero photography update */
.hero-picture img{object-position:50% 50%;filter:contrast(1.06) brightness(.88) saturate(.92)}
.gallery-item:last-child img{filter:contrast(1.05) brightness(.9) saturate(.9)}
.gallery-item:last-child:hover img,.gallery-item:last-child:focus-visible img{filter:contrast(1.02) brightness(.95) saturate(1)}
@media(max-width:580px){.hero-picture img{object-position:55% 50%}}
/* PageSpeed/Core Web Vitals refinements */
@media (min-height:500px){
  .section{content-visibility:auto;contain-intrinsic-size:auto 900px}
}
.hero-picture img{will-change:auto}

/* Klein (UK) — CookieYes monochrome theme
   Colour-only/visual overrides. Consent behaviour remains controlled by CookieYes. */

/* Revisit consent control */
html body .cky-btn-revisit-wrapper{
  background:#050505!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.4)!important;
}
html body .cky-btn-revisit-wrapper .cky-btn-revisit{
  background:transparent!important;
}
html body .cky-btn-revisit-wrapper img,
html body .cky-btn-revisit img{
  filter:grayscale(1) brightness(0) invert(1)!important;
  opacity:1!important;
}

/* Cookie notice */
html body .cky-consent-container .cky-consent-bar{
  background:#050505!important;
  border:1px solid #343434!important;
  box-shadow:0 18px 60px rgba(0,0,0,.42)!important;
  color:#f4f4f1!important;
}
html body .cky-consent-container .cky-title{
  color:#fff!important;
}
html body .cky-consent-container .cky-notice-des,
html body .cky-consent-container .cky-notice-des p,
html body .cky-consent-container .cky-notice-des span{
  color:#c7c7c2!important;
}
html body .cky-consent-container .cky-notice-des a{
  color:#fff!important;
  text-decoration-color:#777!important;
}

/* Banner and preference buttons */
html body .cky-btn{
  border-radius:0!important;
  box-shadow:none!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
}
html body .cky-btn-accept{
  background:#f4f4f1!important;
  border-color:#f4f4f1!important;
  color:#050505!important;
}
html body .cky-btn-reject,
html body .cky-btn-customize,
html body .cky-btn-preferences,
html body .cky-btn-cancel,
html body .cky-btn-confirm{
  background:#050505!important;
  border-color:#f4f4f1!important;
  color:#f4f4f1!important;
}
html body .cky-btn-accept:hover,
html body .cky-btn-accept:focus-visible{
  background:#d8d8d3!important;
  border-color:#d8d8d3!important;
  color:#050505!important;
}
html body .cky-btn-reject:hover,
html body .cky-btn-reject:focus-visible,
html body .cky-btn-customize:hover,
html body .cky-btn-customize:focus-visible,
html body .cky-btn-preferences:hover,
html body .cky-btn-preferences:focus-visible,
html body .cky-btn-cancel:hover,
html body .cky-btn-cancel:focus-visible,
html body .cky-btn-confirm:hover,
html body .cky-btn-confirm:focus-visible{
  background:#f4f4f1!important;
  color:#050505!important;
}

/* Preference centre / modal */
html body .cky-overlay{
  background:rgba(0,0,0,.78)!important;
}
html body .cky-preference-center,
html body .cky-preference-header,
html body .cky-preference-body-wrapper,
html body .cky-footer-wrapper,
html body .cky-opt-out,
html body .cky-opt-out-body{
  background:#050505!important;
  border-color:#343434!important;
  color:#f4f4f1!important;
}
html body .cky-preference-center{
  box-shadow:0 22px 80px rgba(0,0,0,.62)!important;
}
html body .cky-preference-title,
html body .cky-preference-content-wrapper,
html body .cky-preference-content-wrapper p,
html body .cky-preference-content-wrapper span,
html body .cky-accordion-header,
html body .cky-accordion-btn,
html body .cky-accordion-header-des,
html body .cky-accordion-header-des p,
html body .cky-accordion-body,
html body .cky-accordion-body p,
html body .cky-opt-out-text{
  color:#f4f4f1!important;
}
html body .cky-preference-content-wrapper,
html body .cky-accordion-header-des,
html body .cky-accordion-body{
  color:#c7c7c2!important;
}
html body .cky-accordion-item,
html body .cky-accordion-wrapper,
html body .cky-audit-table,
html body .cky-cookie-des-table{
  background:#050505!important;
  border-color:#343434!important;
}
html body .cky-accordion-item + .cky-accordion-item,
html body .cky-preference-header,
html body .cky-footer-wrapper{
  border-color:#343434!important;
}
html body .cky-accordion-header .cky-always-active{
  color:#fff!important;
}

/* Switches: monochrome, while retaining their on/off state */
html body .cky-switch input + .cky-slider{
  background:#3b3b3b!important;
}
html body .cky-switch input:checked + .cky-slider{
  background:#f4f4f1!important;
}
html body .cky-switch input + .cky-slider:before{
  background:#f4f4f1!important;
}
html body .cky-switch input:checked + .cky-slider:before{
  background:#050505!important;
}
html body .cky-switch input:focus-visible + .cky-slider{
  outline:2px solid #fff!important;
  outline-offset:2px!important;
}

/* Close, expand and CookieYes artwork/icons */
html body .cky-banner-btn-close img,
html body .cky-btn-close img,
html body .cky-preference-center img,
html body [data-cky-tag="detail-powered-by"] img,
html body [data-cky-tag="optout-powered-by"] img{
  filter:grayscale(1) brightness(0) invert(1)!important;
}
html body .cky-banner-btn-close,
html body .cky-btn-close{
  color:#fff!important;
}

/* Footer/powered-by areas and tables */
html body [data-cky-tag="detail-powered-by"],
html body [data-cky-tag="optout-powered-by"],
html body .cky-footer-shadow{
  background:#050505!important;
  color:#a9a9a4!important;
  border-color:#343434!important;
}
html body .cky-audit-table th,
html body .cky-audit-table td,
html body .cky-cookie-des-table th,
html body .cky-cookie-des-table td{
  background:#050505!important;
  color:#d0d0cb!important;
  border-color:#343434!important;
}

@media (prefers-reduced-motion:reduce){
  html body .cky-consent-container *,
  html body .cky-modal *{transition:none!important;animation:none!important}
}


/* No Reply release campaign */
.no-reply-banner{position:relative;overflow:hidden;background:linear-gradient(120deg,#25134f 0%,#111052 45%,#080808 100%);padding:clamp(2rem,5vw,4rem) var(--pad)}.no-reply-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 45%,rgba(255,163,25,.85),transparent 24%),radial-gradient(circle at 88% 80%,rgba(255,46,143,.55),transparent 35%);mix-blend-mode:screen;pointer-events:none}.no-reply-banner__inner{position:relative;z-index:1;width:min(var(--max),100%);margin:0 auto;display:grid;grid-template-columns:minmax(180px,26vw) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:center}.no-reply-artwork{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#170b35;border:1px solid rgba(255,255,255,.38);box-shadow:18px 18px 0 rgba(0,0,0,.2)}.no-reply-artwork img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.23,1,.32,1)}.no-reply-artwork:hover img,.no-reply-artwork:focus-visible img{transform:scale(1.045)}.no-reply-artwork span{position:absolute;left:.7rem;bottom:.7rem;background:#050505e8;color:#fff;border:1px solid rgba(255,255,255,.35);padding:.35rem .5rem;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase}.no-reply-copy{max-width:760px}.no-reply-copy .section-label{color:#fff}.no-reply-copy h2{font-family:var(--display);font-size:clamp(3.8rem,9vw,9rem);letter-spacing:-.07em;line-height:.76;margin:.8rem 0 1.2rem}.no-reply-copy h2 span{display:block;color:#ff6a65}.no-reply-lede{font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.2;margin:0;max-width:34rem}.no-reply-platforms{color:#f0d8e7;margin:.8rem 0 0;max-width:38rem}.no-reply-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.55rem}.no-reply-links .button{border-color:rgba(255,255,255,.55);background:rgba(0,0,0,.16)}.no-reply-links .button--solid{background:#fff;color:#000;border-color:#fff}.no-reply-links .button:hover,.no-reply-links .button:focus-visible{background:#fff;color:#000}
@media(max-width:900px){.no-reply-banner__inner{grid-template-columns:minmax(150px,31vw) minmax(0,1fr);gap:1.5rem}.no-reply-copy h2{font-size:clamp(3.4rem,12vw,6rem)}.no-reply-links .button{padding:.75rem .8rem}}
@media(max-width:580px){.no-reply-banner{padding-top:1.35rem;padding-bottom:1.8rem}.no-reply-banner__inner{grid-template-columns:1fr;gap:1.8rem}.no-reply-artwork{width:min(72vw,320px);box-shadow:10px 10px 0 rgba(0,0,0,.2)}.no-reply-copy h2{font-size:clamp(4rem,20vw,6rem)}.no-reply-links{display:grid;grid-template-columns:1fr 1fr}.no-reply-links .button{width:100%;font-size:.6rem;padding:.75rem .45rem}}


/* Unified music library */
.section--music-library{background:#080808}.music-group{margin-top:clamp(3rem,7vw,6rem)}.music-group-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;border-top:1px solid var(--line);padding-top:1.4rem;margin-bottom:1.25rem}.music-group-head h3{font-family:var(--display);font-size:clamp(2.3rem,5vw,5rem);letter-spacing:-.055em;line-height:.85;margin:.55rem 0 0}.music-group-head>a{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid #777;white-space:nowrap}.music-group-head>a:hover,.music-group-head>a:focus-visible{border-color:#fff}.music-group--latest{margin-top:clamp(2.7rem,5vw,4.5rem)}.music-group--latest .release-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.music-group--catalogue{margin-top:clamp(4rem,9vw,8rem)}.music-group--catalogue .release-grid--catalogue{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.release-links{flex-wrap:wrap}
@media(max-width:1100px){.music-group--latest .release-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.music-group-head{align-items:flex-start;flex-direction:column;gap:.8rem}.music-group-head>a{white-space:normal}.music-group--latest .release-grid,.music-group--catalogue .release-grid--catalogue{grid-template-columns:1fr}.music-group{margin-top:3.8rem}}


/* Thin No Reply release strip */
.no-reply-hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(260px,30vw,390px);margin-top:4.75rem;background:#170b35 url('/assets/images/no-reply-cover.webp') center/cover no-repeat;color:#fff}.no-reply-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,4,26,.9) 0%,rgba(13,5,37,.58) 48%,rgba(8,4,26,.26) 100%),linear-gradient(0deg,rgba(5,5,5,.5),transparent 50%)}.no-reply-hero__inner{position:relative;z-index:1;width:min(var(--max),100%);min-height:inherit;margin:0 auto;padding:clamp(1.35rem,3vw,2.7rem) var(--pad);display:grid;grid-template-columns:minmax(155px,17vw) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,4.5rem)}.no-reply-hero__artwork{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,255,255,.7);background:#160b34;box-shadow:14px 14px 0 rgba(0,0,0,.26)}.no-reply-hero__artwork img{width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.23,1,.32,1)}.no-reply-hero__artwork:hover img,.no-reply-hero__artwork:focus-visible img{transform:scale(1.04)}.no-reply-hero__copy{max-width:700px}.no-reply-hero__eyebrow{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;margin:0 0 .55rem}.no-reply-hero__copy h1{font-family:var(--display);font-size:clamp(3.6rem,7vw,7rem);letter-spacing:-.08em;line-height:.73;margin:0}.no-reply-hero__copy h1 span{display:block;color:#ff6970}.no-reply-hero__out-now{font-size:clamp(1.05rem,1.7vw,1.5rem);font-weight:900;letter-spacing:.16em;line-height:1;margin:.9rem 0 .75rem}.no-reply-hero__listen{display:inline-flex;align-items:center;min-height:40px;border-bottom:1px solid rgba(255,255,255,.8);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}.no-reply-hero__listen:hover,.no-reply-hero__listen:focus-visible{color:#ffb0ae;border-color:#ffb0ae}.music-group--listen{margin-top:clamp(2rem,4vw,3.5rem)}.music-group-note{color:#bdbdb8;max-width:34rem;margin:0}.music-group--listen .listen-grid{margin-top:.25rem}
@media(max-width:900px){.no-reply-hero__inner{grid-template-columns:minmax(130px,22vw) minmax(0,1fr);gap:1.5rem}.no-reply-hero__copy h1{font-size:clamp(3.1rem,9vw,5.8rem)}}
@media(max-width:580px){.no-reply-hero{min-height:auto;margin-top:4.2rem}.no-reply-hero__inner{grid-template-columns:110px minmax(0,1fr);gap:1.2rem;padding-top:1.25rem;padding-bottom:1.4rem}.no-reply-hero__artwork{box-shadow:8px 8px 0 rgba(0,0,0,.25)}.no-reply-hero__copy h1{font-size:clamp(2.9rem,13vw,4.5rem)}.no-reply-hero__out-now{font-size:.9rem;margin:.65rem 0}.no-reply-hero__listen{font-size:.56rem;letter-spacing:.12em;min-height:34px}.music-group-note{margin-left:0}}

/* September 2026 final homepage refinements */
.photo-hero{
  position:relative;
  width:100%;
  height:clamp(520px,76svh,900px);
  min-height:520px;
  overflow:hidden;
  background:#050505;
}
.photo-hero__picture,
.photo-hero__picture img{
  width:100%;
  height:100%;
}
.photo-hero__picture img{
  object-fit:cover;
  object-position:50% 50%;
  filter:none;
  animation:heroDrift 16s ease-out both;
}
.photo-hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,0) 24%,rgba(0,0,0,0) 72%,rgba(0,0,0,.18) 100%);
}

/* No Reply strip: cover colours only in the background; no duplicated artwork lettering. */
.no-reply-hero{
  margin-top:0;
  min-height:clamp(300px,31vw,410px);
  background:
    radial-gradient(ellipse at -4% 45%,rgba(255,183,32,.98) 0%,rgba(255,111,46,.9) 8%,rgba(255,67,132,.62) 18%,rgba(83,24,107,.22) 34%,transparent 47%),
    radial-gradient(ellipse at 102% 108%,rgba(255,71,158,.92) 0%,rgba(255,62,150,.56) 24%,rgba(69,31,118,.18) 48%,transparent 62%),
    linear-gradient(118deg,#37104d 0%,#21104f 21%,#11114f 51%,#0a1556 78%,#091245 100%);
  color:#fff;
}
.no-reply-hero:after{
  background:linear-gradient(90deg,rgba(7,4,24,.35) 0%,rgba(7,4,24,.18) 45%,rgba(7,4,24,.06) 100%),linear-gradient(0deg,rgba(5,5,5,.2),transparent 52%);
}
.no-reply-hero__copy,
.no-reply-hero__eyebrow,
.no-reply-hero__copy h1,
.no-reply-hero__copy h1 span,
.no-reply-hero__out-now,
.no-reply-hero__listen{
  color:#fff;
}
.no-reply-hero__copy h1 span{display:block}
.no-reply-hero__listen{border-color:rgba(255,255,255,.86)}
.no-reply-hero__listen:hover,
.no-reply-hero__listen:focus-visible{
  color:#fff;
  border-color:#fff;
  opacity:.78;
}

/* One music section: players and catalogue share a single visual container and rhythm. */
.section--music-library .section-head{margin-bottom:clamp(2.4rem,5vw,4rem)}
.music-unified{
  border-top:1px solid var(--line);
  padding-top:1.4rem;
}
.music-unified__intro{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1.5rem;
  margin-bottom:1.25rem;
}
.music-unified__intro h3{
  font-family:var(--display);
  font-size:clamp(2.35rem,5vw,5rem);
  letter-spacing:-.055em;
  line-height:.85;
  margin:.55rem 0 0;
}
.music-unified__intro>a{
  font-size:.62rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  border-bottom:1px solid #777;
  white-space:nowrap;
}
.music-unified__intro>a:hover,
.music-unified__intro>a:focus-visible{border-color:#fff}
.music-unified .listen-grid{margin-top:0}
.music-library-row{
  display:grid;
  grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);
  align-items:end;
  gap:2rem;
  border-top:1px solid var(--line);
  padding-top:1.25rem;
  margin-top:clamp(3rem,6vw,5rem);
  margin-bottom:1.15rem;
}
.music-library-row p{margin:0}
.music-library-row p:last-child{
  color:#a9a9a4;
  max-width:36rem;
  justify-self:end;
}
.music-release-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:0;
}
.music-release-grid .release-card--featured{border-top:2px solid #fff}

@media(max-width:1100px){
  .music-release-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .photo-hero{height:70svh;min-height:500px}
  .music-release-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
  .photo-hero{height:68svh;min-height:430px;max-height:650px}
  .photo-hero__picture img{object-position:51% 49%}
  .no-reply-hero{min-height:auto}
  .no-reply-hero__inner{grid-template-columns:104px minmax(0,1fr)}
  .no-reply-hero__copy h1{font-size:clamp(2.8rem,13vw,4.3rem)}
  .music-unified__intro{align-items:flex-start;flex-direction:column;gap:.8rem}
  .music-unified__intro>a{white-space:normal}
  .music-library-row{grid-template-columns:1fr;gap:.45rem;margin-top:3.5rem}
  .music-library-row p:last-child{justify-self:start}
  .music-release-grid{grid-template-columns:1fr}
}

/* September 2026 v4 — restore the original editorial hero composition with the new supplied image */
.hero{
  min-height:100svh;
  height:100svh;
}
.hero-picture img{
  object-position:50% 50%;
  filter:contrast(1.06) brightness(.88) saturate(.92);
}
.hero-picture:after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.47) 38%,rgba(0,0,0,.10) 72%,rgba(0,0,0,.30) 100%),
    linear-gradient(0deg,rgba(5,5,5,.72) 0%,rgba(5,5,5,.16) 46%,rgba(5,5,5,.08) 100%);
}
.hero-inner{
  padding-top:9rem;
  padding-bottom:clamp(4rem,8vw,7rem);
}
.hero-lede{color:#fff}
.hero-side{color:#d0d0cb}
#release-catalogue{scroll-margin-top:6rem}

@media(max-width:900px){
  .hero{height:auto;min-height:100svh}
}
@media(max-width:580px){
  .hero-picture img{object-position:53% 50%}
  .hero-inner{padding-top:8.5rem;padding-bottom:3rem}
}

/* September 2026 v5 — tighter Live → Bookings rhythm + unified text colour */
:root{
  --site-text-dark:#f4f4f1;
  --site-text-light:#090909;
}

/* Remove the doubled section spacing between the Live gallery and Bookings. */
#gallery{
  padding-top:clamp(4rem,7vw,6rem);
  padding-bottom:clamp(2.25rem,4vw,4rem);
}
.contact-section{
  padding-top:clamp(2.25rem,4vw,4rem);
  padding-bottom:clamp(4rem,7vw,6rem);
}

/* Keep one text colour on dark sections instead of mixing several greys. */
body{color:var(--site-text-dark)}
.desktop-nav a,
.eyebrow,
.section-label,
.hero h1 span,
.hero-lede,
.hero-side,
.section-intro,
.embed-card p,
.embed-placeholder small,
.embed-loading,
.release-copy p,
.release-copy time,
.music-group-note,
.music-library-row p:last-child,
.contact-copy p,
.contact-panel small,
.contact-heading-grid>p,
.contact-email-label,
.contact-meta span,
.contact-socials>span,
.contact-meta p,
.site-footer p,
.footer-links a,
.cookie-settings,
.legal-static p,
.legal-static li,
.credential-list dt,
.gallery-caption,
.desktop-nav a:hover,
.desktop-nav a:focus-visible,
.desktop-nav a[aria-current="true"],
.footer-links a:hover,
.cookie-settings:hover,
.cookie-banner p,
.no-reply-artwork span,
.no-reply-copy .section-label,
.no-reply-copy h2 span,
.no-reply-platforms,
.no-reply-hero,
.no-reply-hero__copy,
.no-reply-hero__eyebrow,
.no-reply-hero__copy h1,
.no-reply-hero__copy h1 span,
.no-reply-hero__out-now,
.no-reply-hero__listen,
.no-reply-hero__listen:hover,
.no-reply-hero__listen:focus-visible{
  color:var(--site-text-dark);
}

/* The About section is intentionally light, so use one matching dark text colour there. */
.section--light,
.section--light .section-label,
.section--light .section-intro,
.section--light .proof-item span{
  color:var(--site-text-light);
}

/* Preserve deliberate inverse states for controls on light hover/fill backgrounds. */
.button--solid,
.button:hover,
.button:focus-visible,
.header-cta:hover,
.header-cta:focus-visible,
.social-row a:hover,
.social-row a:focus-visible,
.contact-email:hover,
.contact-email:focus-visible,
.contact-email:hover .contact-email-label,
.contact-email:focus-visible .contact-email-label{
  color:#050505;
}

@media(max-width:580px){
  #gallery{padding-top:4.6rem;padding-bottom:2.5rem}
  .contact-section{padding-top:2.5rem;padding-bottom:4.6rem}
}

/* September 2026 v7 — False Bay upcoming EP feature */
.upcoming-release{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(2rem,6vw,6rem);
  align-items:center;
  padding:clamp(1.5rem,3vw,2.5rem) 0 clamp(3.5rem,7vw,6rem);
  margin-bottom:clamp(3.5rem,7vw,6rem);
  border-bottom:1px solid var(--line);
}
.upcoming-release__artwork{
  position:relative;
  display:block;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid var(--line-strong);
  background:#0a1116;
}
.upcoming-release__artwork picture,
.upcoming-release__artwork img{width:100%;height:100%}
.upcoming-release__artwork img{
  object-fit:cover;
  transition:transform .55s cubic-bezier(.22,1,.36,1),filter .35s;
}
.upcoming-release__artwork:hover img,
.upcoming-release__artwork:focus-visible img{transform:scale(1.018);filter:brightness(1.04)}
.upcoming-release__artwork>span{
  position:absolute;
  top:.75rem;
  left:.75rem;
  padding:.4rem .55rem;
  border:1px solid rgba(255,255,255,.38);
  background:rgba(5,5,5,.78);
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.upcoming-release__copy{max-width:43rem}
.upcoming-release__copy h3{
  font-family:var(--display);
  font-size:clamp(3.7rem,7vw,7.2rem);
  line-height:.78;
  letter-spacing:-.065em;
  margin:.7rem 0 1.5rem;
}
.upcoming-release__copy h3 span{
  display:block;
  font-family:var(--body);
  font-size:.18em;
  line-height:1;
  letter-spacing:.2em;
  margin-top:.85rem;
}
.upcoming-release__lede{
  font-size:clamp(1.05rem,1.65vw,1.35rem);
  line-height:1.45;
  margin:0;
  max-width:39rem;
}
.upcoming-tracklist{
  list-style:none;
  padding:0;
  margin:clamp(1.6rem,3vw,2.4rem) 0;
  border-top:1px solid var(--line);
}
.upcoming-tracklist li{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:.8rem 0;
  border-bottom:1px solid var(--line);
}
.upcoming-tracklist strong{
  font-family:var(--display);
  font-size:clamp(1.25rem,2vw,1.85rem);
  line-height:1;
  letter-spacing:-.035em;
}
.upcoming-tracklist span{
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.18em;
}
.upcoming-release__preview{margin:0;max-width:38rem}
.upcoming-release__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.upcoming-release__platforms{
  margin:1rem 0 0;
  max-width:38rem;
  font-size:.78rem;
  letter-spacing:.01em;
}
.upcoming-release,
.upcoming-release .section-label,
.upcoming-release__lede,
.upcoming-release__preview,
.upcoming-release__platforms,
.upcoming-tracklist,
.upcoming-release__artwork>span{color:var(--site-text-dark)}

@media(max-width:900px){
  .upcoming-release{grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:2rem}
  .upcoming-release__copy h3{font-size:clamp(3.4rem,8vw,5.4rem)}
}
@media(max-width:720px){
  .upcoming-release{grid-template-columns:1fr;align-items:start}
  .upcoming-release__artwork{width:min(100%,620px)}
  .upcoming-release__copy{max-width:none}
  .upcoming-release__copy h3{font-size:clamp(4rem,16vw,6.2rem)}
}
@media(max-width:580px){
  .upcoming-release{padding-top:.6rem;padding-bottom:3.5rem;margin-bottom:3.5rem;gap:1.7rem}
  .upcoming-release__copy h3{margin-bottom:1.25rem}
  .upcoming-tracklist{margin:1.5rem 0}
}

/* September 2026 v8 — alternating False Bay release strip */
.false-bay-banner{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(250px,26vw,330px);
  background:
    radial-gradient(ellipse at 94% 86%,rgba(187,132,82,.42) 0%,rgba(106,76,58,.22) 22%,transparent 48%),
    radial-gradient(ellipse at 12% -15%,rgba(48,75,94,.42) 0%,transparent 48%),
    linear-gradient(118deg,#071018 0%,#0a151e 42%,#16222b 73%,#2b2725 100%);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.false-bay-banner:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,8,12,.16) 0%,rgba(3,8,12,.05) 62%,rgba(3,8,12,.24) 100%);
}
.false-bay-banner__inner{
  width:min(var(--max),100%);
  min-height:inherit;
  margin:0 auto;
  padding:clamp(1.2rem,2.6vw,2.25rem) var(--pad);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(170px,230px);
  align-items:center;
  gap:clamp(1.5rem,4vw,4.5rem);
}
.false-bay-banner__copy{max-width:760px}
.false-bay-banner__eyebrow,
.false-bay-banner__preview,
.false-bay-banner__tracks,
.false-bay-banner__listen,
.false-bay-banner__coming,
.false-bay-banner__copy h2,
.false-bay-banner__copy h2 span{color:#fff}
.false-bay-banner__eyebrow{
  margin:0 0 .48rem;
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.false-bay-banner__copy h2{
  margin:0;
  font-family:var(--display);
  font-size:clamp(3.4rem,6.5vw,6.7rem);
  line-height:.76;
  letter-spacing:-.075em;
}
.false-bay-banner__copy h2 span{display:block}
.false-bay-banner__preview{
  margin:.8rem 0 .45rem;
  font-size:clamp(.9rem,1.3vw,1.1rem);
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.false-bay-banner__tracks{
  margin:0 0 .55rem;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.55;
  text-transform:uppercase;
}
.false-bay-banner__tracks span{opacity:.46;margin:0 .22rem}
.false-bay-banner__listen{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  border-bottom:1px solid rgba(255,255,255,.86);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.false-bay-banner__listen:hover,
.false-bay-banner__listen:focus-visible{color:#fff;border-color:#fff;opacity:.76}
.false-bay-banner__coming{
  margin:.55rem 0 0;
  font-size:.66rem;
  line-height:1.45;
  opacity:.76;
}
.false-bay-banner__artwork{
  justify-self:end;
  position:relative;
  display:block;
  width:min(100%,230px);
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.55);
  background:#071018;
  box-shadow:-14px 14px 0 rgba(0,0,0,.2);
}
.false-bay-banner__artwork picture,
.false-bay-banner__artwork img{display:block;width:100%;height:100%}
.false-bay-banner__artwork img{
  object-fit:cover;
  transition:transform .35s cubic-bezier(.23,1,.32,1),filter .35s;
}
.false-bay-banner__artwork:hover img,
.false-bay-banner__artwork:focus-visible img{transform:scale(1.035);filter:brightness(1.05)}

@media(max-width:900px){
  .false-bay-banner__inner{grid-template-columns:minmax(0,1fr) 180px;gap:1.7rem}
  .false-bay-banner__artwork{width:180px;box-shadow:-10px 10px 0 rgba(0,0,0,.2)}
}
@media(max-width:580px){
  .false-bay-banner{min-height:auto}
  .false-bay-banner__inner{grid-template-columns:minmax(0,1fr) 122px;gap:1.1rem;padding-top:1.2rem;padding-bottom:1.3rem}
  .false-bay-banner__copy h2{font-size:clamp(2.75rem,13vw,4rem)}
  .false-bay-banner__preview{font-size:.78rem;margin:.6rem 0 .35rem}
  .false-bay-banner__tracks{font-size:.5rem;letter-spacing:.09em;line-height:1.45;margin-bottom:.4rem}
  .false-bay-banner__coming{font-size:.56rem;margin-top:.45rem}
  .false-bay-banner__listen{font-size:.54rem;letter-spacing:.11em;min-height:31px}
  .false-bay-banner__artwork{width:122px;box-shadow:-7px 7px 0 rgba(0,0,0,.2)}
}


/* September 2026 v9 — False Bay strip rebuilt as a true mirror of No Reply. */
.false-bay-banner{
  min-height:clamp(235px,24vw,305px);
  background:
    radial-gradient(ellipse at 104% 58%,rgba(224,139,77,.52) 0%,rgba(165,93,57,.28) 17%,rgba(61,55,54,.12) 36%,transparent 52%),
    radial-gradient(ellipse at 0% 15%,rgba(38,77,102,.34) 0%,transparent 44%),
    linear-gradient(112deg,#061019 0%,#081722 36%,#102533 68%,#26313a 86%,#4b392f 100%);
}
.false-bay-banner:after{
  background:linear-gradient(90deg,rgba(2,7,12,.22) 0%,rgba(2,7,12,.04) 56%,rgba(2,7,12,.13) 100%);
}
.false-bay-banner__inner{
  padding:clamp(1.25rem,2.35vw,2.15rem) var(--pad);
  grid-template-columns:minmax(0,1fr) minmax(155px,17vw);
  gap:clamp(1.5rem,4vw,4.5rem);
}
.false-bay-banner__copy{
  max-width:820px;
  align-self:center;
}
.false-bay-banner__eyebrow{margin-bottom:.52rem}
.false-bay-banner__copy h2{
  font-size:clamp(3.5rem,5.65vw,6.1rem);
  line-height:.76;
  letter-spacing:-.075em;
  white-space:nowrap;
}
.false-bay-banner__copy h2 span{display:inline}
.false-bay-banner__preview{
  margin:.78rem 0 .32rem;
  font-size:clamp(.86rem,1.15vw,1.03rem);
  letter-spacing:.07em;
}
.false-bay-banner__tracks{
  margin:0 0 .28rem;
  font-size:.59rem;
  letter-spacing:.12em;
  line-height:1.5;
}
.false-bay-banner__coming{
  margin:0 0 .38rem;
  max-width:36rem;
  font-size:.62rem;
  line-height:1.4;
  opacity:.76;
}
.false-bay-banner__listen{
  min-height:33px;
  font-size:.6rem;
  letter-spacing:.14em;
}
.false-bay-banner__artwork{
  width:100%;
  max-width:none;
  box-shadow:-14px 14px 0 rgba(0,0,0,.22);
}

@media(max-width:900px){
  .false-bay-banner__inner{
    grid-template-columns:minmax(0,1fr) minmax(130px,22vw);
    gap:1.5rem;
  }
  .false-bay-banner__artwork{width:100%;box-shadow:-10px 10px 0 rgba(0,0,0,.2)}
  .false-bay-banner__copy h2{font-size:clamp(3rem,8vw,5.1rem)}
}
@media(max-width:580px){
  .false-bay-banner__inner{
    grid-template-columns:minmax(0,1fr) 110px;
    gap:1.2rem;
    padding-top:1.15rem;
    padding-bottom:1.25rem;
  }
  .false-bay-banner__copy h2{
    font-size:clamp(2.55rem,12.6vw,3.8rem);
    white-space:normal;
  }
  .false-bay-banner__copy h2 span{display:block}
  .false-bay-banner__preview{font-size:.7rem;line-height:1.25;margin:.55rem 0 .28rem}
  .false-bay-banner__tracks{font-size:.47rem;letter-spacing:.075em;line-height:1.45}
  .false-bay-banner__coming{font-size:.52rem;line-height:1.35;margin-bottom:.28rem}
  .false-bay-banner__listen{font-size:.52rem;letter-spacing:.1em;min-height:29px}
  .false-bay-banner__artwork{width:110px;box-shadow:-7px 7px 0 rgba(0,0,0,.2)}
}

/* September 2026 v10 — False Bay uses the exact No Reply banner geometry, mirrored. */
.false-bay-banner{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(300px,31vw,410px);
  background:
    radial-gradient(ellipse at 104% 58%,rgba(224,139,77,.52) 0%,rgba(165,93,57,.28) 17%,rgba(61,55,54,.12) 36%,transparent 52%),
    radial-gradient(ellipse at 0% 15%,rgba(38,77,102,.34) 0%,transparent 44%),
    linear-gradient(112deg,#061019 0%,#081722 36%,#102533 68%,#26313a 86%,#4b392f 100%);
  color:var(--site-text-dark);
  border-top:0;
  border-bottom:0;
}
.false-bay-banner:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(270deg,rgba(7,4,24,.35) 0%,rgba(7,4,24,.18) 45%,rgba(7,4,24,.06) 100%),linear-gradient(0deg,rgba(5,5,5,.2),transparent 52%);
}
.false-bay-banner__inner{
  position:relative;
  z-index:1;
  width:min(var(--max),100%);
  min-height:inherit;
  margin:0 auto;
  padding:clamp(1.35rem,3vw,2.7rem) var(--pad);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(155px,17vw);
  align-items:center;
  gap:clamp(1.5rem,4vw,4.5rem);
}
.false-bay-banner__copy{
  max-width:700px;
  justify-self:start;
}
.false-bay-banner__eyebrow{
  font-size:.6rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:800;
  margin:0 0 .55rem;
  color:var(--site-text-dark);
}
.false-bay-banner__copy h2{
  font-family:var(--display);
  font-size:clamp(3.6rem,7vw,7rem);
  letter-spacing:-.08em;
  line-height:.73;
  margin:0;
  color:var(--site-text-dark);
  white-space:normal;
}
.false-bay-banner__copy h2 span{
  display:block;
  color:var(--site-text-dark);
}
.false-bay-banner__status{
  font-size:clamp(1.05rem,1.7vw,1.5rem);
  font-weight:900;
  letter-spacing:.16em;
  line-height:1;
  margin:.9rem 0 .75rem;
  color:var(--site-text-dark);
}
.false-bay-banner__listen{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  border-bottom:1px solid rgba(255,255,255,.86);
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--site-text-dark);
}
.false-bay-banner__listen:hover,
.false-bay-banner__listen:focus-visible{
  color:var(--site-text-dark);
  border-color:currentColor;
  opacity:.78;
}
.false-bay-banner__artwork{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.7);
  background:#071018;
  box-shadow:-14px 14px 0 rgba(0,0,0,.26);
  justify-self:end;
}
.false-bay-banner__artwork picture,
.false-bay-banner__artwork img{
  display:block;
  width:100%;
  height:100%;
}
.false-bay-banner__artwork img{
  object-fit:cover;
  transition:transform .35s cubic-bezier(.23,1,.32,1);
}
.false-bay-banner__artwork:hover img,
.false-bay-banner__artwork:focus-visible img{transform:scale(1.04)}
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(max-width:900px){
  .false-bay-banner__inner{
    grid-template-columns:minmax(0,1fr) minmax(130px,22vw);
    gap:1.5rem;
  }
  .false-bay-banner__copy h2{font-size:clamp(3.1rem,9vw,5.8rem)}
}
@media(max-width:580px){
  .false-bay-banner{min-height:auto}
  .false-bay-banner__inner{
    grid-template-columns:minmax(0,1fr) 110px;
    gap:1.2rem;
    padding-top:1.25rem;
    padding-bottom:1.4rem;
  }
  .false-bay-banner__artwork{box-shadow:-8px 8px 0 rgba(0,0,0,.25)}
  .false-bay-banner__copy h2{font-size:clamp(2.9rem,13vw,4.5rem)}
  .false-bay-banner__status{font-size:.9rem;margin:.65rem 0}
  .false-bay-banner__listen{font-size:.56rem;letter-spacing:.12em;min-height:34px}
}

/* September 2026 v11 — simplified final contact section */
.contact-section{
  padding-bottom:clamp(3.25rem,5vw,4.75rem);
}


/* =========================================================
   KLEIN (UK) 2026 monochrome artist identity refresh
   ========================================================= */
:root{
  --black:#000;
  --ink:#050505;
  --white:#fff;
  --muted:#b6b6b1;
  --line:rgba(255,255,255,.18);
  --line-strong:rgba(255,255,255,.42);
  --display:Impact,Haettenschweiler,"Arial Narrow Bold","Helvetica Neue Condensed Black",Arial,sans-serif;
}
body{background:#000;color:#fff}
body:before{
  content:"";position:fixed;inset:-6%;z-index:9998;pointer-events:none;
  background-image:url('/assets/brand/klein-grain.webp');background-size:760px 760px;background-repeat:repeat;
  opacity:.085;mix-blend-mode:screen;animation:kleinGrain 1.35s steps(2,end) infinite;
}
@keyframes kleinGrain{0%{transform:translate3d(-1%,0,0)}25%{transform:translate3d(1%,-1%,0)}50%{transform:translate3d(0,1%,0)}75%{transform:translate3d(-1%,1%,0)}100%{transform:translate3d(1%,0,0)}}
.site-header{background:linear-gradient(#000e,#0000);border-bottom-color:transparent}
.site-header.is-scrolled,.site-header.menu-active{background:rgba(0,0,0,.94)}
.wordmark{font-family:var(--display);font-stretch:condensed;letter-spacing:.01em}.wordmark span{font-family:var(--body);font-weight:700}

/* Brand hero: exact approved social-cover artwork */
.brand-hero{min-height:100svh;display:grid;grid-template-rows:1fr auto;background:#000;padding-top:4.75rem;overflow:hidden}
.brand-hero__visual{display:grid;place-items:center;min-height:0;overflow:hidden;padding:clamp(3.5rem,8vw,7rem) var(--pad) clamp(2.5rem,5vw,4rem)}
.brand-hero__visual img{width:min(100%,1480px);height:auto;max-height:70svh;object-fit:contain;filter:contrast(1.045);transform:scale(1.035);opacity:0;clip-path:inset(0 100% 0 0);animation:heroInkReveal 1.2s .18s cubic-bezier(.22,1,.36,1) forwards}
@keyframes heroInkReveal{to{opacity:1;clip-path:inset(0);transform:none}}
.brand-hero__footer{width:min(var(--max),100%);margin:0 auto;padding:0 var(--pad) clamp(1.6rem,3vw,2.6rem);display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
.brand-hero__line{font-size:clamp(.62rem,.8vw,.78rem);font-weight:800;letter-spacing:.19em;text-transform:uppercase;margin:0;color:#d9d9d5}.brand-hero__line span{opacity:.38;margin:0 .5rem}
.brand-hero__actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}
.brand-hero .button{background:#000;border-color:rgba(255,255,255,.5)}.brand-hero .button--solid{background:#fff;color:#000;border-color:#fff}.brand-hero .button:hover{background:#fff;color:#000}

/* Social directory */
.social-rail{position:relative;background:#000;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(3rem,5vw,5rem) var(--pad)}
.social-rail__inner{width:min(var(--max),100%);margin:0 auto}.social-rail__eyebrow{font-size:.62rem;letter-spacing:.22em;font-weight:800;margin:0 0 1rem;color:#9c9c98}
.social-rail__links{border-top:1px solid var(--line)}
.social-rail__links a{position:relative;display:grid;grid-template-columns:3.6rem 1fr auto;gap:1rem;align-items:center;min-height:clamp(64px,7vw,92px);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.social-rail__links a:before{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-101%);transition:transform .48s cubic-bezier(.22,1,.36,1);z-index:-1}
.social-rail__links a:hover:before,.social-rail__links a:focus-visible:before{transform:none}.social-rail__links a:hover,.social-rail__links a:focus-visible{color:#000}
.social-rail__links span{font-size:.58rem;letter-spacing:.16em;color:#777}.social-rail__links a:hover span{color:#333}.social-rail__links strong{font-family:var(--display);font-size:clamp(2rem,4vw,4.5rem);line-height:.84;letter-spacing:.01em;text-transform:uppercase}.social-rail__links b{font-size:1.25rem;font-weight:500;transition:transform .35s ease}.social-rail__links a:hover b{transform:translate(5px,-5px)}

/* Surprise free-download feature */
.free-drop{position:relative;padding:clamp(5rem,10vw,9rem) var(--pad);background:#000;border-bottom:1px solid var(--line);overflow:hidden}
.free-drop:after{content:"FREE";position:absolute;right:-.05em;bottom:-.22em;color:#fff;font-family:var(--display);font-size:clamp(11rem,29vw,35rem);line-height:.72;opacity:.035;pointer-events:none;letter-spacing:-.02em}
.free-drop__inner{position:relative;z-index:1;width:min(var(--max),100%);margin:0 auto}.free-drop__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,7vw,7rem);align-items:end}.free-drop h2{font-family:var(--display);font-size:clamp(5rem,12vw,12rem);line-height:.7;letter-spacing:.005em;margin:1rem 0 0}.free-drop__copy{padding-bottom:.5rem}.free-drop__copy p{font-size:clamp(1.05rem,1.6vw,1.35rem);color:#c9c9c4;max-width:31rem;margin:0 0 2rem}.free-drop__button{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid #fff;background:#fff;color:#000;padding:1.15rem 1.2rem;font-size:.7rem;letter-spacing:.15em;font-weight:900;text-transform:uppercase;cursor:pointer}.free-drop__button b{font-size:1rem;transition:transform .25s}.free-drop__button:hover b{transform:translate(5px,-5px)}

/* Bring the content sections into the same monochrome print world. */
.section--light{background:#000;color:#fff;border-bottom:1px solid var(--line)}
.section--light .section-label,.section--light .section-intro{color:#aaa}.section--light .proof-grid{border-color:var(--line)}.section--light .proof-item{border-color:var(--line)}.section--light .proof-item span{color:#8e8e8a}.section--light .about-copy>p:first-child{color:#fff}.section--light .about-copy p{color:#c7c7c2}
.section h2,.catalogue-top h3,.embed-card h3,.release-copy h3,.contact-heading h2{font-family:var(--display);font-stretch:condensed;letter-spacing:.005em}
.about-portrait,.gallery-item,.release-card,.embed-card{box-shadow:0 0 0 1px rgba(255,255,255,.02)}
.about-portrait img{filter:grayscale(1) contrast(1.18) brightness(.9)}
.section--music-library,.contact-section{background:#000}

/* More kinetic reveal without turning the site into an effects demo. */
body.motion-ready [data-reveal]{opacity:0;transform:translateY(48px);clip-path:inset(0 0 18% 0);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),clip-path .85s cubic-bezier(.22,1,.36,1)}
body.motion-ready [data-reveal].is-visible{opacity:1;transform:none;clip-path:inset(0)}
.release-card,.gallery-item{transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .3s}.release-card:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.42)}
.gallery-item:hover{transform:translateY(-4px)}

/* Floating free-drop teaser + modal */
.free-float{position:fixed;right:1rem;bottom:1rem;z-index:48;border:1px solid #fff;background:#fff;color:#000;padding:.72rem .9rem;font-size:.6rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 40px rgba(0,0,0,.35);transition:transform .25s}.free-float:hover{transform:translateY(-4px)}
.free-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:1rem;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .32s,visibility .32s}.free-modal.open{visibility:visible;opacity:1;pointer-events:auto}.free-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}
.free-modal__panel{position:relative;width:min(760px,100%);background:#000;border:1px solid rgba(255,255,255,.72);padding:clamp(1.5rem,5vw,4.2rem);box-shadow:0 28px 120px rgba(0,0,0,.75);overflow:hidden}.free-modal__panel:before{content:"";position:absolute;inset:0;background:url('/assets/brand/klein-grain.webp') center/700px repeat;opacity:.12;mix-blend-mode:screen;pointer-events:none}.free-modal__panel>*{position:relative;z-index:1}.free-modal__close{position:absolute;right:1rem;top:1rem;border:0;background:none;font-size:.58rem;letter-spacing:.14em;font-weight:800;cursor:pointer}.free-modal h2{font-family:var(--display);font-size:clamp(5rem,13vw,10rem);line-height:.68;letter-spacing:.005em;margin:1.2rem 0 1.8rem}.free-modal p{font-size:clamp(1rem,2vw,1.3rem);color:#c5c5c0;max-width:34rem}.free-modal__cta{display:flex;justify-content:space-between;align-items:center;background:#fff;color:#000;padding:1.15rem 1.25rem;margin-top:2rem;font-size:.68rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.free-modal small{display:block;margin-top:1rem;color:#777;letter-spacing:.12em;text-transform:uppercase;font-size:.55rem}

/* Footer becomes a real social exit point. */
.site-footer{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:2rem;padding:2rem var(--pad);background:#000}.footer-socials{display:flex;gap:.75rem 1.25rem;flex-wrap:wrap}.footer-socials a{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:#bbb;border-bottom:1px solid transparent}.footer-socials a:hover,.footer-socials a:focus-visible{color:#fff;border-color:#fff}.site-footer p{grid-column:1/-1;text-align:left;border-top:1px solid var(--line);padding-top:1rem;width:100%}

@media(max-width:900px){
  .brand-hero{min-height:88svh}.brand-hero__visual{padding-top:5rem}.brand-hero__visual img{width:115%;max-width:none}.brand-hero__footer{display:grid;gap:1.4rem}.brand-hero__actions{justify-content:flex-start}
  .free-drop__grid{grid-template-columns:1fr}.free-drop__copy{max-width:34rem}
  .site-footer{grid-template-columns:1fr}.footer-links{justify-self:start}.site-footer p{grid-column:auto}
}
@media(max-width:580px){
  .brand-hero{min-height:78svh;padding-top:4.1rem}.brand-hero__visual{padding:4rem .65rem 2rem}.brand-hero__visual img{width:132%}.brand-hero__line{line-height:1.65}.brand-hero__line span{margin:0 .18rem}.brand-hero__actions .button{flex:1}
  .social-rail__links a{grid-template-columns:2rem 1fr auto;min-height:62px}.social-rail__links strong{font-size:clamp(1.75rem,11vw,3rem)}
  .free-drop h2{font-size:clamp(4.6rem,23vw,7.2rem)}.free-float{right:.7rem;bottom:.7rem}
  .free-modal__panel{padding:4rem 1.25rem 1.5rem}.free-modal h2{font-size:clamp(4.2rem,23vw,6.6rem)}
}
@media(prefers-reduced-motion:reduce){body:before{animation:none}.brand-hero__visual img{animation:none;opacity:1;clip-path:none;transform:none}.social-rail__links a:before{transition:none}}

/* =========================================================
   September 2026 v13 — deployment QA fixes
   Hero scale, display typography, mobile layout, free modal
   ========================================================= */
:root{
  --display:"Helvetica Neue Condensed Black","HelveticaNeue-CondensedBlack","Arial Narrow Bold","Arial Narrow",Impact,Haettenschweiler,sans-serif;
}
html,body{max-width:100%;overflow-x:hidden}

/* The approved brand image is already an ultra-wide banner. Use a tight
   wordmark crop in the website hero so the identity has the same visual
   weight as the social headers instead of appearing as a tiny image. */
.brand-hero{
  min-height:100svh;
  padding-top:4.5rem;
  grid-template-rows:minmax(0,1fr) auto;
}
.brand-hero__visual{
  min-height:0;
  padding:clamp(3rem,6vh,5rem) var(--pad) clamp(2rem,4vh,3.5rem);
  display:grid;
  place-items:center;
}
.brand-hero__visual img{
  width:min(54vw,760px);
  max-width:760px;
  max-height:min(68svh,650px);
  height:auto;
  object-fit:contain;
  filter:contrast(1.04);
}
.brand-hero__footer{padding-bottom:clamp(1.5rem,3vh,2.5rem)}

/* Bring display text closer to the very tall / condensed campaign artwork. */
.wordmark,
.section h2,
.music-group-head h3,
.catalogue-top h3,
.free-drop h2,
.free-modal h2,
.contact-heading h2,
.social-rail__links strong,
.release-copy h3,
.embed-card h3,
.mobile-menu a{
  font-family:var(--display);
  font-weight:900;
  font-stretch:condensed;
}
.section h2,
.music-group-head h3,
.catalogue-top h3,
.free-drop h2,
.free-modal h2,
.contact-heading h2{
  letter-spacing:-.015em;
}
.section h2,
.contact-heading h2{line-height:.84}

/* The free-drop headline should feel intentional, not like overlapping type. */
.free-drop h2{
  font-size:clamp(5.2rem,10vw,10.5rem);
  line-height:.78;
  max-width:7.4ch;
}
.free-drop__copy{align-self:end}

/* Modal QA: preserve the poster feel but keep every line readable. */
.free-modal{padding:clamp(.75rem,2vw,1.5rem)}
.free-modal__panel{
  width:min(760px,calc(100vw - 2rem));
  max-height:calc(100dvh - 2rem);
  overflow:auto;
  overscroll-behavior:contain;
}
.free-modal h2{
  font-size:clamp(5rem,9.5vw,8.6rem);
  line-height:.78;
  max-width:6.4ch;
  margin:1.35rem 0 1.5rem;
}
.free-modal__close{z-index:4;background:#000;padding:.3rem .2rem}

/* Reduce visual competition around social rows while keeping the type large. */
.social-rail__links strong{letter-spacing:-.015em;line-height:.9}

/* Prevent long text blocks/buttons from producing horizontal overflow. */
.brand-hero__line,.free-drop__copy p,.free-modal p,.section-intro,.about-copy p{overflow-wrap:anywhere}

@media(max-width:900px){
  .brand-hero{min-height:92svh;padding-top:4.2rem}
  .brand-hero__visual{padding:clamp(2.5rem,6vh,4rem) 1rem 1.75rem}
  .brand-hero__visual img{width:min(72vw,600px);max-width:none;max-height:60svh}
  .brand-hero__footer{grid-template-columns:1fr;gap:1.25rem}
  .brand-hero__actions{justify-content:flex-start}
  .free-drop h2{font-size:clamp(4.8rem,16vw,7.5rem);max-width:7ch}
}

@media(max-width:580px){
  .site-header{padding-left:1rem;padding-right:1rem}
  .wordmark{font-size:.98rem;letter-spacing:-.01em}
  .wordmark span{font-size:.6em;margin-left:.18rem}

  .brand-hero{
    min-height:auto;
    padding-top:4rem;
  }
  .brand-hero__visual{
    min-height:54svh;
    padding:2.25rem .9rem 1.1rem;
  }
  .brand-hero__visual img{
    width:min(86vw,400px);
    max-height:50svh;
  }
  .brand-hero__footer{
    padding:0 1rem 1.35rem;
    gap:1rem;
  }
  .brand-hero__line{
    font-size:.58rem;
    letter-spacing:.135em;
    line-height:1.75;
  }
  .brand-hero__actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.55rem}
  .brand-hero__actions .button{width:100%;min-width:0;padding:.75rem .6rem;font-size:.58rem;letter-spacing:.1em}

  .social-rail{padding:3.25rem 1rem}
  .social-rail__links a{grid-template-columns:1.55rem minmax(0,1fr) 1rem;gap:.65rem;min-height:58px}
  .social-rail__links strong{font-size:clamp(2rem,10.5vw,2.7rem);letter-spacing:-.02em;white-space:nowrap}
  .social-rail__links span{font-size:.5rem}
  .social-rail__links b{font-size:.95rem}

  .free-drop{padding:4.5rem 1rem}
  .free-drop:after{font-size:55vw;right:-.08em;bottom:-.08em}
  .free-drop h2{
    font-size:clamp(4.1rem,20vw,5.7rem);
    line-height:.82;
    max-width:6.9ch;
    margin-top:.7rem;
  }
  .free-drop__copy p{font-size:1rem;line-height:1.55;margin-bottom:1.35rem}
  .free-drop__button{padding:1rem;font-size:.6rem;letter-spacing:.105em}

  .section h2,.contact-heading h2{font-size:clamp(4.2rem,20vw,6rem);line-height:.82}
  .music-group-head h3,.catalogue-top h3{line-height:.88}

  .free-modal{align-items:center;padding:.6rem}
  .free-modal__panel{
    width:calc(100vw - 1.2rem);
    max-height:calc(100dvh - 1.2rem);
    padding:3.35rem 1.05rem 1.15rem;
  }
  .free-modal h2{
    font-size:clamp(3.85rem,19vw,5.2rem);
    line-height:.8;
    max-width:6ch;
    margin:.55rem 0 1.1rem;
  }
  .free-modal p{font-size:.96rem;line-height:1.5;margin:.75rem 0}
  .free-modal__cta{padding:.95rem 1rem;margin-top:1.25rem;font-size:.58rem;letter-spacing:.1em}
  .free-modal small{font-size:.48rem;letter-spacing:.1em}
  .free-float{padding:.62rem .72rem;font-size:.52rem;letter-spacing:.12em}

  .section{padding-left:1rem;padding-right:1rem}
  .section-head{gap:1.2rem;margin-bottom:2.25rem}
  .section-intro{font-size:.96rem}
  .about-grid{gap:2rem}
  .contact-heading-grid{gap:1rem}
  .footer-socials{gap:.6rem 1rem}
}

@media(max-width:360px){
  .brand-hero__actions{grid-template-columns:1fr}
  .social-rail__links strong{font-size:1.95rem}
  .free-modal h2{font-size:3.7rem}
}

/* =========================================================
   September 2026 v18 — final visual reset + QA fixes
   Restores the original site display face and fixes hero/spacing/players.
   ========================================================= */
:root{
  --display:"Arial Black","Helvetica Neue",Arial,sans-serif;
  --body:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --black:#000;
  --white:#fff;
  --space:clamp(4.25rem,7vw,6.75rem);
}
html,body{max-width:100%;overflow-x:hidden}
body{background:#000;color:#fff}

/* Restore the original site display typography. */
.wordmark,.mobile-menu a,.section h2,.music-unified__intro h3,.music-library-row h3,
.embed-card h3,.release-copy h3,.free-drop h2,.contact-heading h2,
.social-rail__links strong,.catalogue-top h3,.music-group-head h3,.email-link{
  font-family:var(--display)!important;
  font-weight:900!important;
  font-stretch:normal!important;
}
.section h2,.contact-heading h2,.music-unified__intro h3,.music-library-row h3,
.embed-card h3,.free-drop h2,.social-rail__links strong,.release-copy h3{
  letter-spacing:-.055em!important;
}
.section h2,.contact-heading h2{line-height:.8}

/* HERO — real text, compact vertical footprint, brand-aware lockup. */
.brand-hero{
  min-height:72svh;
  padding-top:4.5rem;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  background:#000;
  position:relative;
  overflow:hidden;
}
.brand-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:url('/assets/brand/klein-grain.webp') center/760px repeat;
  opacity:.12;
  pointer-events:none;
}
.brand-hero__visual{
  position:relative;
  z-index:1;
  display:grid;
  place-items:end center;
  min-height:0;
  padding:clamp(2.5rem,5vh,4rem) var(--pad) clamp(1.25rem,2.2vh,2rem);
}
.brand-hero__wordmark,.hero h1.brand-hero__wordmark{
  display:grid;
  place-items:center;
  width:100%;
  max-width:none;
  margin:0;
  line-height:1;
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
  animation:none!important;
}
.brand-hero__lockup{
  display:inline-flex!important;
  align-items:flex-end;
  justify-content:center;
  gap:clamp(.55rem,.9vw,.85rem);
  margin:0!important;
  font-size:1rem!important;
  letter-spacing:0!important;
  color:#fff!important;
  transform:scaleX(.72);
  transform-origin:center bottom;
  white-space:nowrap;
}
.brand-hero__name,.hero h1.brand-hero__wordmark .brand-hero__name{
  display:inline-block!important;
  font-family:var(--display)!important;
  font-weight:900!important;
  font-size:clamp(8.2rem,16vw,14.5rem)!important;
  line-height:.76!important;
  letter-spacing:-.075em!important;
  margin:0!important;
  color:#fff!important;
}
.brand-hero__uk,.hero h1.brand-hero__wordmark .brand-hero__uk{
  display:inline-block!important;
  font-family:var(--body)!important;
  font-weight:800!important;
  font-size:clamp(1.05rem,1.65vw,1.6rem)!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  margin:0 0 .3em 0!important;
  color:#fff!important;
}
.brand-hero__footer{
  position:relative;
  z-index:1;
  width:min(var(--max),100%);
  margin:0 auto;
  padding:0 var(--pad) clamp(1.3rem,2.2vw,2rem);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1.25rem 2rem;
  align-items:center;
}
.brand-hero__line{font-size:clamp(.58rem,.72vw,.7rem);letter-spacing:.14em;line-height:1.55;margin:0}
.brand-hero__actions{display:flex;gap:.65rem;justify-content:flex-end;flex-wrap:wrap}
.brand-hero__actions .button{min-height:42px;padding:.72rem .95rem;font-size:.62rem}

/* Social links: bold but not oversized. */
.social-rail{padding:clamp(2.6rem,4.2vw,3.9rem) var(--pad)}
.social-rail__links a{min-height:clamp(54px,5.2vw,68px)}
.social-rail__links strong{font-size:clamp(1.8rem,3vw,3rem)!important;line-height:.95!important}

/* Sets + free downloads: two-line hierarchy, not a broken poster stack. */
.free-drop{padding:clamp(3.8rem,6vw,5.5rem) var(--pad)}
.free-drop__grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.free-drop h2{font-size:clamp(3.8rem,6.2vw,6rem)!important;line-height:.82!important;max-width:none!important;margin:.7rem 0 0!important}
.free-drop h2 .free-drop__line{display:block}
.free-drop h2 .free-drop__line--wide{white-space:nowrap}
.free-drop__copy{padding:0}
.free-drop__copy p{font-size:1rem;line-height:1.55;max-width:29rem;margin:0 0 1.25rem}
.free-drop__button{max-width:30rem;padding:1rem 1.05rem}
.free-drop:after{opacity:.018}
.no-reply-hero{margin-top:0}

/* About: no repeated standfirst, comfortable readable measure. */
#about{border-top:1px solid var(--line);padding-top:clamp(4.5rem,6.5vw,6rem);padding-bottom:clamp(4.5rem,6.5vw,6rem)}
.section-head--solo{grid-template-columns:1fr;margin-bottom:clamp(2rem,3vw,2.75rem)}
.about-grid{grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:clamp(2.5rem,5vw,5rem);align-items:start}
.about-portrait{max-width:420px}
.about-copy>p:first-child{font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.45}
.about-copy p{font-size:clamp(.96rem,1vw,1.03rem);line-height:1.68;max-width:49rem;color:#d0d0cb;margin:0 0 1rem}
.about-bookings{margin-top:1.5rem}

/* Music: one clear hierarchy and real players. */
.section--music-library{padding-top:clamp(4.25rem,6.5vw,6rem);padding-bottom:clamp(4.25rem,6.5vw,6rem)}
.section--music-library .section-head{margin-bottom:clamp(2rem,3vw,2.7rem)}
.music-unified{padding-top:0}
.music-unified__intro{margin-bottom:1rem}
.music-unified__intro h3{font-size:clamp(2.7rem,4.6vw,4.7rem)!important;line-height:.88!important;margin:.35rem 0 0}
.listen-grid{gap:1.2rem;align-items:start}
.embed-card{min-height:0;padding:1.15rem;background:#080808}
.embed-card>div:first-child{min-height:0}
.embed-card h3{font-size:clamp(2rem,3vw,3.15rem)!important;line-height:.9!important;margin:.25rem 0}
.embed-card p{font-size:.9rem;line-height:1.5;margin:.5rem 0 0;color:#b8b8b4}
.embed-slot{margin-top:1.1rem}
.spotify-stack{display:grid;gap:.65rem}
.spotify-track{border:0;border-radius:12px;background:#111}
.embed-slot iframe.soundcloud{min-height:456px;height:456px}
.music-library-row{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);align-items:end;gap:2rem;margin-top:clamp(2.8rem,4vw,3.6rem);padding-top:1.25rem;border-top:1px solid var(--line)}
.music-library-row h3{font-size:clamp(2.7rem,4.2vw,4.3rem)!important;line-height:.88!important;margin:.4rem 0 0}
.music-library-row>p{justify-self:end;max-width:28rem;color:#aaa;margin:0}

/* Tighter page rhythm — remove the large empty bands between sections. */
#gallery,.contact-section{padding-top:clamp(4.4rem,6.5vw,6rem);padding-bottom:clamp(4.4rem,6.5vw,6rem)}
.gallery-grid{margin-top:0}
.contact-heading h2{font-size:clamp(4rem,7.5vw,7.5rem)!important}

@media(max-width:900px){
  .brand-hero{min-height:68svh}
  .brand-hero__visual{place-items:center;padding:2.4rem 1rem 1rem}
  .brand-hero__lockup{transform:scaleX(.74)}
  .brand-hero__name,.hero h1.brand-hero__wordmark .brand-hero__name{font-size:clamp(7.5rem,23vw,11.5rem)!important}
  .brand-hero__uk,.hero h1.brand-hero__wordmark .brand-hero__uk{font-size:clamp(.95rem,3vw,1.35rem)!important}
  .brand-hero__footer{grid-template-columns:1fr;gap:.9rem}
  .brand-hero__actions{justify-content:flex-start}
  .about-grid{grid-template-columns:1fr;gap:2rem}
  .about-portrait{width:min(72vw,400px)}
  .music-library-row{grid-template-columns:1fr;gap:.7rem}
  .music-library-row>p{justify-self:start}
  .free-drop__grid{grid-template-columns:1fr}
  .free-drop h2{font-size:clamp(3.6rem,10vw,5rem)!important}
}
@media(max-width:580px){
  .site-header{padding-left:1rem;padding-right:1rem}
  .brand-hero{min-height:62svh;padding-top:4rem}
  .brand-hero__visual{padding:1.7rem .75rem .65rem}
  .brand-hero__lockup{transform:scaleX(.72);gap:.35rem}
  .brand-hero__name,.hero h1.brand-hero__wordmark .brand-hero__name{font-size:clamp(6.1rem,27vw,8.4rem)!important}
  .brand-hero__uk,.hero h1.brand-hero__wordmark .brand-hero__uk{font-size:clamp(.78rem,3.6vw,1rem)!important}
  .brand-hero__footer{padding:0 1rem 1.1rem;gap:.75rem}
  .brand-hero__line{font-size:.5rem;letter-spacing:.095em;line-height:1.55}
  .brand-hero__actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.5rem}
  .brand-hero__actions .button{width:100%;min-width:0;padding:.7rem .45rem;font-size:.53rem;letter-spacing:.08em}
  .social-rail{padding:2.6rem 1rem}
  .social-rail__links a{grid-template-columns:1.45rem minmax(0,1fr) 1rem;gap:.55rem;min-height:52px}
  .social-rail__links strong{font-size:clamp(1.6rem,8.4vw,2.15rem)!important;white-space:nowrap}
  .free-drop{padding:3.3rem 1rem}
  .free-drop h2{font-size:clamp(2.8rem,11.6vw,3.75rem)!important;line-height:.86!important}
  .free-drop h2 .free-drop__line--wide{white-space:nowrap}
  .free-drop__copy p{font-size:.96rem}
  #about,.section--music-library,#gallery,.contact-section{padding-top:3.6rem;padding-bottom:3.6rem}
  .about-portrait{width:100%;max-width:320px}
  .about-bookings{grid-template-columns:1fr;gap:.3rem}
  .listen-grid{grid-template-columns:1fr}
  .embed-card h3{font-size:clamp(1.95rem,9vw,2.6rem)!important}
  .embed-slot iframe.soundcloud{height:380px;min-height:380px}
  .music-library-row h3{font-size:clamp(2.3rem,10vw,3rem)!important}
  .section h2,.contact-heading h2{font-size:clamp(3.4rem,16vw,4.8rem)!important}
}
@media(max-width:360px){
  .brand-hero__actions{grid-template-columns:1fr}
  .free-drop h2{font-size:2.7rem!important}
  .free-drop h2 .free-drop__line--wide{white-space:normal}
}

/* Screenshot/layout reliability: do not reserve phantom intrinsic section heights. */
.section{content-visibility:visible!important;contain:none!important}
@media(max-width:580px){
  .free-drop h2{font-size:clamp(2.75rem,11vw,3.5rem)!important}
}

/* v20: preserve the v18 site and restore only the approved KLEIN brand-art hero. */
.brand-hero--asset{
  position:relative;
  min-height:78svh;
  padding-top:4.75rem;
  display:grid;
  grid-template-rows:1fr auto;
  align-items:center;
  background:#050505;
  overflow:hidden;
}
.brand-hero--asset:before{display:none!important;content:none!important}
.brand-hero--asset .brand-hero__art{
  display:block;
  width:min(100%,2048px);
  margin:auto;
  align-self:center;
  padding:0;
}
.brand-hero--asset .brand-hero__art img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  opacity:1;
  clip-path:none;
  transform:none;
  filter:none;
  animation:none;
}
.brand-hero--asset .brand-hero__meta{
  width:min(var(--max),100%);
  margin:0 auto;
  padding:0 var(--pad) clamp(1.6rem,3vw,2.6rem);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
}
.brand-hero--asset .brand-hero__line{
  margin:0;
  color:#d9d9d5;
  font-size:clamp(.58rem,.72vw,.7rem);
  font-weight:800;
  letter-spacing:.14em;
  line-height:1.55;
  text-transform:uppercase;
}
.brand-hero--asset .brand-hero__line span{
  color:inherit;
  opacity:.38;
  margin:0 .45rem;
}
.brand-hero--asset .brand-hero__actions{
  display:flex;
  gap:.65rem;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.brand-hero--asset .brand-hero__actions .button{
  min-height:42px;
  padding:.72rem .95rem;
  font-size:.62rem;
  background:#000;
  color:#fff;
  border-color:rgba(255,255,255,.5);
}
.brand-hero--asset .brand-hero__actions .button--solid{
  background:#fff;
  color:#000;
  border-color:#fff;
}
.brand-hero--asset .brand-hero__actions .button:hover,
.brand-hero--asset .brand-hero__actions .button:focus-visible{
  background:#fff;
  color:#000;
  border-color:#fff;
}
@media(max-width:900px){
  .brand-hero--asset{min-height:72svh;padding-top:4.2rem}
  .brand-hero--asset .brand-hero__art{width:100%;padding:1rem 0}
  .brand-hero--asset .brand-hero__meta{display:grid;grid-template-columns:1fr;gap:1.1rem;padding-bottom:1.25rem}
  .brand-hero--asset .brand-hero__actions{justify-content:flex-start}
}
@media(max-width:640px){
  .brand-hero--asset{min-height:72svh;padding-top:4rem}
  .brand-hero--asset .brand-hero__art{width:min(90vw,520px);padding:1rem 0}
  .brand-hero--asset .brand-hero__art img{width:100%;height:auto;object-fit:contain}
  .brand-hero--asset .brand-hero__meta{padding:0 1rem 1rem;gap:.9rem}
  .brand-hero--asset .brand-hero__line{font-size:.5rem;letter-spacing:.095em}
  .brand-hero--asset .brand-hero__line span{margin:0 .18rem}
  .brand-hero--asset .brand-hero__actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.5rem}
  .brand-hero--asset .brand-hero__actions .button{width:100%;min-width:0;padding:.7rem .45rem;font-size:.53rem;letter-spacing:.08em}
}
@media(max-width:420px){
  .brand-hero--asset .brand-hero__actions{grid-template-columns:1fr}
}

/* =========================================================
   September 2026 v21 — corrective feedback pass
   Preserve v20 structure; fix order, clipping, rhythm and contact.
   ========================================================= */

.brand-hero--asset{min-height:100svh}
.brand-hero--asset .brand-hero__meta{
  position:absolute;left:50%;bottom:clamp(1.35rem,2.6vw,2.2rem);
  transform:translateX(-50%);width:min(var(--max),calc(100% - var(--pad) - var(--pad)));
  margin:0;padding:0;justify-content:flex-end;pointer-events:none
}
.brand-hero--asset .brand-hero__actions{pointer-events:auto}

.social-rail__links a{grid-template-columns:3.6rem minmax(0,1fr) 2rem;padding-right:.35rem}
.social-rail__links b{
  display:grid;place-items:center;width:1.75rem;height:1.75rem;line-height:1;
  font-family:Arial,Helvetica,sans-serif;font-size:1.15rem;overflow:visible;justify-self:end
}
.social-rail__links a:hover b,.social-rail__links a:focus-visible b{transform:translate(2px,-2px)}

.section--music-library{padding-bottom:clamp(2.6rem,4vw,3.8rem)}
#gallery{padding-top:clamp(2.6rem,4vw,3.8rem);padding-bottom:clamp(3.2rem,5vw,4.6rem)}
#gallery .section-head{grid-template-columns:1fr;margin-bottom:clamp(1.5rem,2.5vw,2.2rem)}
.gallery-grid{grid-template-rows:22rem 14rem}

.contact-section{padding-top:clamp(3rem,4.5vw,4.4rem);padding-bottom:clamp(3rem,4.5vw,4.4rem)}
.contact-heading-grid{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(2rem,6vw,5rem)}
.contact-email{margin-top:clamp(1.8rem,3vw,2.6rem);padding:clamp(1.25rem,2vw,1.8rem) 0;transition:none}
.contact-email:before{display:none!important;content:none!important}
.contact-email:hover,.contact-email:focus-visible{color:inherit;padding-left:0;padding-right:0}
.contact-email:hover .contact-email-label,.contact-email:focus-visible .contact-email-label{color:#92928d}
.contact-arrow{transition:transform .2s}
.contact-email:hover .contact-arrow,.contact-email:focus-visible .contact-arrow{transform:translate(2px,-2px)}

.contact-social-icons{display:flex;flex-wrap:wrap;gap:.65rem;padding-top:1.25rem}
.contact-social-icons a{
  width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);
  background:#050505;transition:border-color .2s,background-color .2s,color .2s,transform .2s
}
.contact-social-icons a:hover,.contact-social-icons a:focus-visible{
  border-color:#fff;background:#fff;color:#000;transform:translateY(-2px)
}
.contact-social-icons svg{
  width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round
}
.contact-social-icons a:nth-child(6) svg path:last-child{fill:currentColor;stroke:none}

.site-footer{grid-template-columns:auto 1fr;align-items:center}
.site-footer .footer-links{justify-self:end}
.site-footer p{grid-column:1/-1}

@media(max-width:900px){
  .brand-hero--asset{min-height:88svh}
  .brand-hero--asset .brand-hero__meta{width:calc(100% - var(--pad) - var(--pad));bottom:1.15rem}
  .gallery-grid{grid-template-rows:24rem 17rem 17rem}
  .contact-heading-grid{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr;justify-items:start}
  .site-footer .footer-links{justify-self:start}
}
@media(max-width:580px){
  .brand-hero--asset{min-height:78svh}
  .brand-hero--asset .brand-hero__meta{width:calc(100% - 2rem);bottom:1rem}
  .brand-hero--asset .brand-hero__actions{grid-template-columns:1fr 1fr}
  .social-rail__links a{grid-template-columns:1.45rem minmax(0,1fr) 1.75rem;padding-right:.15rem}
  .social-rail__links b{width:1.55rem;height:1.55rem;font-size:1rem}
  .gallery-grid{grid-template-rows:22rem 16rem 16rem}
  .contact-email{grid-template-columns:1fr auto}
  .contact-social-icons{gap:.5rem}
  .contact-social-icons a{width:40px;height:40px}
}


/* =========================================================
   September 2026 v22 - PDF feedback pass
   ========================================================= */

:root{--body-copy-size:1rem}

/* Lighter paper/grain texture across the full site. */
body:before{opacity:.045;animation:none;background-size:820px 820px}

/* Header sits inside the hero texture rather than looking like a separate strip. */
.site-header{
  min-height:64px;
  background:rgba(0,0,0,.08);
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:none;
}
.site-header.is-scrolled,.site-header.menu-active{
  background:rgba(0,0,0,.88);
  border-bottom:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
}
.desktop-nav a,.header-cta,.menu-toggle{color:#fff}

/* Hero artwork now fills the complete hero, including behind the header. */
.brand-hero--asset{min-height:100svh;padding-top:0;background:#050505;isolation:isolate}
.brand-hero--asset .brand-hero__art{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;z-index:0}
.brand-hero--asset .brand-hero__art img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.brand-hero--asset:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,transparent 18%,transparent 72%,rgba(0,0,0,.44) 100%)}
.brand-hero--asset .brand-hero__meta{z-index:2}

/* Narrow social bar using the same icons as the contact/footer area. */
.social-bar{position:relative;z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(0,0,0,.72);padding:.85rem var(--pad)}
.social-bar__inner{width:min(var(--max),100%);margin:0 auto;display:flex;align-items:center;justify-content:center;gap:clamp(1rem,3vw,2.5rem)}
.social-bar__label{font-size:.58rem;letter-spacing:.18em;font-weight:800;color:#fff;white-space:nowrap}
.social-icon-links,.contact-social-icons{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap}
.social-icon-links a,.contact-social-icons a{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.26);background:rgba(0,0,0,.42);color:#fff;transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.social-icon-links a:hover,.social-icon-links a:focus-visible,.contact-social-icons a:hover,.contact-social-icons a:focus-visible{background:#fff;color:#000;border-color:#fff;transform:translateY(-2px)}
.social-icon-links svg,.contact-social-icons svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.social-icon-links a:nth-child(6) svg path:last-child,.contact-social-icons a:nth-child(6) svg path:last-child{fill:currentColor;stroke:none}

/* Free download is a clean popup trigger rather than a full editorial section. */
.free-drop--popup{padding:clamp(2rem,4vw,3.2rem) var(--pad);background:rgba(0,0,0,.74);border-bottom:1px solid var(--line)}
.free-drop--popup:after{display:none!important;content:none!important}
.free-drop--popup .free-drop__inner{width:min(900px,100%)}
.free-download-trigger{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem;border:1px solid #fff;background:#fff;color:#000;padding:1rem 1.15rem;text-align:left;cursor:pointer;transition:transform .2s,box-shadow .2s}
.free-download-trigger:hover,.free-download-trigger:focus-visible{transform:translateY(-2px);box-shadow:0 12px 38px rgba(0,0,0,.35)}
.free-download-trigger__label{font-size:.55rem;letter-spacing:.16em;font-weight:900}
.free-download-trigger strong{font-family:var(--display);font-size:clamp(2.2rem,4.5vw,4.3rem);line-height:.78;letter-spacing:-.01em;text-align:center}
.free-download-trigger__action{font-size:.58rem;letter-spacing:.12em;font-weight:900;text-transform:uppercase;white-space:nowrap}
.free-download-trigger__action b{font-size:1rem;margin-left:.3rem}

/* Standard body copy: same size, full white, consistent line-height. */
.about-copy p,
.section-intro,
.embed-card p,
.contact-card__copy,
.free-modal__copy{
  font-family:var(--body);
  font-size:var(--body-copy-size)!important;
  line-height:1.6!important;
  color:#fff!important;
  font-weight:400;
}
.about-copy>p:first-child{font-size:var(--body-copy-size)!important;line-height:1.6!important;color:#fff!important}

/* About booking contact is now a button. */
.about-bookings{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.6rem}
.about-bookings>span{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#fff}
.about-bookings__button{display:inline-flex;align-items:center;gap:.75rem;background:#fff;color:#000;border:1px solid #fff;padding:.78rem 1rem;font-size:.72rem;letter-spacing:.06em;font-weight:800}
.about-bookings__button:hover,.about-bookings__button:focus-visible{background:#000;color:#fff}

/* Make FALSE and BAY a deliberate, evenly spaced lock-up. */
.false-bay-banner__copy h2{display:flex!important;align-items:baseline;gap:.2em;white-space:nowrap}
.false-bay-banner__copy h2 span{display:inline!important;margin:0!important}

/* Spotify/SoundCloud players now use the same compact list rhythm. */
.listen-grid{align-items:stretch;gap:1rem}
.embed-card{height:100%;justify-content:flex-start}
.spotify-stack{display:grid;gap:.5rem}
.spotify-track{height:80px!important;min-height:80px!important;border-radius:0!important}
.embed-slot iframe.soundcloud{height:256px!important;min-height:256px!important}
.music-library-row{margin-top:1.35rem;padding-top:1rem;grid-template-columns:1fr}
.music-library-row>div{display:flex;align-items:end;justify-content:space-between;gap:1rem}
.music-release-grid{margin-top:.85rem}

/* Gallery wording and tighter join into the contact section. */
#gallery{padding-top:clamp(3.4rem,5vw,4.8rem);padding-bottom:clamp(3.4rem,5vw,4.8rem)}
#gallery .section-head{margin-bottom:1.3rem}

/* Contact is one centered, coherent unit. */
.contact-section{padding-top:clamp(3.6rem,5vw,5rem);padding-bottom:clamp(3.6rem,5vw,5rem)}
.contact-card{max-width:880px;text-align:center;display:grid;justify-items:center;gap:1rem}
.contact-card>.section-label{margin:0}
.contact-card h2{font-family:var(--display);font-size:clamp(4rem,8vw,7.2rem);line-height:.8;letter-spacing:-.015em;margin:.25rem 0 .1rem}
.contact-card__copy{max-width:37rem;margin:0 auto .4rem}
.contact-email-button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;background:#fff;color:#000;border:1px solid #fff;padding:.95rem 1.2rem;font-size:1rem;font-weight:800;line-height:1.2;max-width:100%}
.contact-email-button:hover,.contact-email-button:focus-visible{background:#000;color:#fff}
.contact-email-button span{overflow-wrap:anywhere}
.contact-social-icons--center{justify-content:center!important;padding-top:.5rem}

/* Free-download modal - opens from the dedicated section and shows SoundCloud. */
.free-modal{z-index:10020}
.free-modal__backdrop{border:0;padding:0;cursor:pointer}
.free-modal__panel{width:min(720px,calc(100vw - 2rem));padding:clamp(1.4rem,4vw,3rem);border-color:#fff}
.free-modal h2{font-size:clamp(4rem,9vw,7rem);line-height:.8;max-width:none;margin:1rem 0}
.free-modal__copy{margin:0 0 1rem;max-width:none}
.free-modal__player{border:1px solid var(--line);background:#090909;min-height:260px}
.free-modal__player iframe{display:block;width:100%;height:300px;border:0}
.free-modal__cta{margin-top:1rem}

/* Footer remains quiet beneath the stronger centered contact block. */
.site-footer{border-top:1px solid var(--line)}

@media(max-width:900px){
  .brand-hero--asset{min-height:88svh;padding-top:0}
  .brand-hero--asset .brand-hero__art{width:100%;height:100%;padding:0}
  .brand-hero--asset .brand-hero__art img{width:100%;height:100%;object-fit:cover}
  .listen-grid{grid-template-columns:1fr}
  .embed-slot iframe.soundcloud{height:256px!important;min-height:256px!important}
}
@media(max-width:640px){
  .brand-hero--asset{min-height:78svh;padding-top:0}
  .brand-hero--asset .brand-hero__art{width:100%;height:100%;padding:0}
  .brand-hero--asset .brand-hero__art img{width:100%;height:100%;object-fit:cover;object-position:center}
  .social-bar{padding:.7rem 1rem}
  .social-bar__inner{display:grid;gap:.55rem;justify-items:center}
  .social-bar__label{font-size:.5rem}
  .social-icon-links a,.contact-social-icons a{width:36px;height:36px}
  .free-drop--popup{padding:1.6rem 1rem}
  .free-download-trigger{grid-template-columns:1fr;text-align:center;justify-items:center;gap:.55rem;padding:1rem}
  .free-download-trigger strong{font-size:clamp(2.35rem,12vw,3.4rem)}
  .free-download-trigger__action{white-space:normal}
  .false-bay-banner__copy h2{gap:.16em;white-space:nowrap}
  .contact-card h2{font-size:clamp(3.7rem,18vw,5rem)}
  .contact-email-button{width:100%;font-size:.9rem}
  .free-modal__player iframe{height:260px}
}

/* v22 QA corrections */
.social-bar__inner{justify-content:center}
.music-library-row>div{display:block}
.music-library-row h3{margin-top:.35rem!important}
/* Keep the sharpened navigation immediately visible; no delayed fade-in. */
.site-header{animation:none!important;opacity:1!important}
