*{box-sizing:border-box}:root{--bg:#04060a;--text:#f0f0ed;--muted:#8e929b;--line:rgba(255,255,255,.10)}html{background:var(--bg)}body{margin:0;color:var(--text);font-family:Arial,Helvetica,sans-serif;background:radial-gradient(ellipse at 0 12%,rgba(38,25,68,.32),transparent 34%),radial-gradient(ellipse at 100% 90%,rgba(8,34,66,.42),transparent 38%),var(--bg);background-attachment:fixed;min-height:100vh}a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:5}.nav{display:flex;gap:clamp(13px,1.55vw,28px)}.nav a{font-size:9px;letter-spacing:.15em;color:#96999f;white-space:nowrap;padding:38px 0 34px;border-bottom:2px solid transparent}.nav a:hover,.nav a.active{color:#fff;border-bottom-color:#fff}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:25px;height:1px;background:#fff;margin:7px}.home-screen,.page{width:min(1400px,90vw);margin:auto}.home-screen{height:calc(100svh - 88px);display:flex;align-items:center}.kicker{font-size:9px;letter-spacing:.3em;color:#a0a2a8;margin:0 0 28px}.home-screen h1,.page>h1{font-family:"Arial Narrow",Arial,sans-serif;font-weight:800;letter-spacing:-.055em;line-height:.82;margin:0}.home-screen h1{font-size:clamp(58px,9vw,142px)}.quiet{font-family:Georgia,serif;font-style:italic;font-size:22px;color:#999;margin-top:45px}.page{padding:clamp(85px,10vw,145px) 0 120px;min-height:calc(100vh - 150px)}.page>h1{font-size:clamp(65px,10vw,150px);margin-bottom:70px}.prose,.intro{max-width:720px;font-size:clamp(18px,1.6vw,24px);line-height:1.65;color:#c4c5c9}.prose p{margin:0 0 26px}.prose p:first-child{color:#fff}.small{font-size:10px!important;letter-spacing:.2em;color:#888!important;margin-top:55px!important}.mail-label{font-size:9px;letter-spacing:.25em;color:#8e929b;margin:55px 0 9px}.mail-address{font-size:clamp(22px,2.3vw,34px)!important;margin:0 0 16px!important;color:#fff!important}.mail-address a{border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:4px}.mail-secondary{font-size:14px!important;color:#8e929b!important;margin-top:22px!important}.mail-secondary a{color:#c5c6ca}.members{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 30px}.member{border-top:1px solid var(--line);padding-top:18px}.portrait{aspect-ratio:4/5;background:linear-gradient(145deg,#15171b,#090a0d);display:flex;align-items:center;justify-content:center;color:#50535a;font-size:9px;letter-spacing:.25em}.member h2{font-size:20px;font-weight:500;margin:19px 0 7px}.member p{font-size:9px;letter-spacing:.18em;color:#8d9096;margin:0}.empty{border-top:1px solid var(--line);padding-top:30px;max-width:720px}.empty p{font-size:22px}.albums{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:70px}.album>div{aspect-ratio:1;background:#0b0d11;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#50535a;font-size:9px;letter-spacing:.2em}.album h2{font-size:18px;font-weight:500;margin:17px 0 6px}.album p{font-size:8px;letter-spacing:.17em;color:#777}.collab{border-top:1px solid var(--line);margin-top:100px;padding-top:65px;max-width:1050px}.collab h2{font-size:clamp(30px,4vw,60px);line-height:1.1}.site-footer{height:62px;padding:0 5vw;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#686b72;font-size:8px;letter-spacing:.18em}.site-footer div{display:flex;gap:25px}@media(max-width:1050px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:88px;left:0;right:0;background:#07090e;padding:25px 5vw 35px;flex-direction:column}.nav.open{display:flex}.nav a{font-size:12px;padding:9px 0;border:0}.members{grid-template-columns:repeat(2,1fr)}.albums{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.site-header{height:76px}.retro-brand img{width:128px}.nav{top:76px}.home-screen{height:calc(100svh - 76px)}.home-screen h1{font-size:clamp(48px,14vw,76px);line-height:.88}.page>h1{font-size:clamp(58px,18vw,100px)}.members,.albums{grid-template-columns:1fr}.portrait{aspect-ratio:5/4}.site-footer{height:auto;padding-top:22px;padding-bottom:22px;flex-direction:column;align-items:flex-start;gap:20px}}
.site-header .nav{margin-left:auto}

/* V3.7 HOME: restored previous sans-serif display style, slightly reduced */
.home-copy h1{
  font-family:"Arial Narrow",Arial,sans-serif;
  font-weight:800;
  letter-spacing:-.055em;
  line-height:.86;
  font-size:clamp(52px,7.6vw,118px);
  margin:0;
}

/* Umlaut clipping fix */
.page-title,
.page-hero h1,
main h1 {
  line-height: 1.06;
  padding-top: 0.10em;
  overflow: visible;
}

/* V3.8 — band name on HOME */
.home-band-title{
  margin:0 0 18px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(22px,2.4vw,38px);
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.1;
  color:#f2f2ef;
}


/* === V3.9 HOME hierarchy === */
body.home .hero-title,
body.home .hero h1 {
  font-size: clamp(3.2rem, 7.4vw, 7.8rem);
  line-height: 0.92;
}

body.home .hero-kicker,
body.home .eyebrow {
  font-size: clamp(0.62rem, 0.75vw, 0.82rem);
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

body.home .hero-slogan,
body.home .hero-claim {
  font-size: clamp(2.25rem, 5.2vw, 5.5rem);
  line-height: 0.96;
}

/* Common fallback selectors for current markup */
body.home .band-name {
  font-size: clamp(3.2rem, 7.4vw, 7.8rem);
  line-height: 0.92;
  margin-bottom: 1.25rem;
}
body.home .claim {
  font-size: clamp(2.25rem, 5.2vw, 5.5rem);
  line-height: 0.96;
}


/* === V3.10 HOME hierarchy refinement === */
/* Brand clearly dominates; tribute stays restrained; claim steps back. */
body.home .band-name {
  font-size: clamp(4.8rem, 9.6vw, 10rem) !important;
  line-height: 0.88 !important;
  letter-spacing: 0.015em !important;
  font-weight: 700 !important;
  margin-bottom: 1.15rem !important;
}

body.home .hero-kicker,
body.home .eyebrow {
  font-size: clamp(0.62rem, 0.75vw, 0.82rem) !important;
  letter-spacing: 0.34em !important;
}

body.home .claim,
body.home .hero-slogan,
body.home .hero-claim {
  font-size: clamp(1.8rem, 4.05vw, 4.3rem) !important;
  line-height: 0.98 !important;
}

/* If current HOME markup uses generic title/heading classes */
body.home .hero-title {
  font-size: clamp(4.8rem, 9.6vw, 10rem) !important;
  line-height: 0.88 !important;
  letter-spacing: 0.015em !important;
}
body.home .hero h1:not(.band-name):not(.hero-title) {
  font-size: clamp(1.8rem, 4.05vw, 4.3rem) !important;
  line-height: 0.98 !important;
}

@media (max-width: 700px) {
  body.home .band-name,
  body.home .hero-title {
    font-size: clamp(3.2rem, 14vw, 5.2rem) !important;
  }
  body.home .claim,
  body.home .hero-slogan,
  body.home .hero-claim,
  body.home .hero h1:not(.band-name):not(.hero-title) {
    font-size: clamp(1.65rem, 8.2vw, 2.8rem) !important;
  }
}


/* === V3.11 direct HOME hero sizing === */
body.home .home-brand {
  display: block !important;
  font-size: clamp(5.4rem, 9vw, 9rem) !important;
  line-height: .9 !important;
  letter-spacing: .01em !important;
  font-weight: 700 !important;
  margin: 0 0 1rem 0 !important;
  max-width: 1100px !important;
}

body.home .home-tribute {
  display: block !important;
  font-size: clamp(.62rem, .72vw, .8rem) !important;
  line-height: 1.2 !important;
  letter-spacing: .34em !important;
  margin: 0 0 2.4rem 0 !important;
}

body.home .home-claim {
  display: block !important;
  font-size: clamp(2.2rem, 4.4vw, 4.5rem) !important;
  line-height: .98 !important;
  letter-spacing: -.025em !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  body.home .home-brand {
    font-size: clamp(3rem, 13vw, 5rem) !important;
  }
  body.home .home-claim {
    font-size: clamp(1.8rem, 8.5vw, 3rem) !important;
  }
}


/* === V3.12: one exact left edge for the complete HOME typography === */
body.home .home-brand,
body.home .home-tribute,
body.home .home-claim {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
  transform: none !important;
  position: relative !important;
  left: 0 !important;
}

/* The claim had its own inner offset in the previous layout. Remove it. */
body.home .hero-copy,
body.home .hero-content,
body.home .hero-text {
  text-align: left !important;
}

body.home .home-claim,
body.home .home-claim * {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}

/* === V3.14 HOME: softer off-white for large typography === */
body.home .home-brand,
body.home .home-claim {
  color: #D6D4D0 !important;
}

/* === V3.15 HOME: darker type, exact shared left edge, subtle grid === */
body.home {
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    radial-gradient(ellipse at 0 12%,rgba(38,25,68,.25),transparent 34%),
    radial-gradient(ellipse at 100% 90%,rgba(8,34,66,.38),transparent 38%),
    var(--bg) !important;
  background-size: 86px 86px,86px 86px,auto,auto,auto !important;
  background-attachment: fixed !important;
}
body.home .home-screen { width:90vw !important; max-width:1400px !important; margin-left:auto !important; margin-right:auto !important; }
body.home .home-copy { width:100% !important; margin:0 !important; padding:0 !important; }
body.home .home-brand,
body.home .home-claim {
  color:#B8B2AC !important;
  margin-left:0 !important;
  padding-left:0 !important;
  text-align:left !important;
  position:static !important;
  transform:none !important;
  text-indent:0 !important;
}

/* === V3.16 FOLLOW-UP PAGES: HOME typography size + color === */
body:not(.home) .page > h1 {
  color:#B8B2AC !important;
  font-size:clamp(2.2rem,4.4vw,4.5rem) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
  padding-top:.12em !important;
  overflow:visible !important;
}
@media (max-width:760px){
  body:not(.home) .page > h1 {font-size:clamp(1.8rem,8.5vw,3rem) !important;}
}

/* V3.17 legal pages */
.legal-page > h1{margin-bottom:60px}
.legal-copy{max-width:820px;color:#aeadab;font-size:16px;line-height:1.75}
.legal-copy h2{margin:46px 0 12px;color:#c6c4bf;font-size:13px;line-height:1.35;
  letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.legal-copy h2:first-child{margin-top:0}
.legal-copy p{margin:0 0 18px}
.legal-copy a{color:#c6c4bf;border-bottom:1px solid rgba(198,196,191,.25)}
.legal-copy a:hover{border-bottom-color:#c6c4bf}

/* V3.18 BAND */
.band-page > h1{margin-bottom:72px}
.band-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:1100px;background:rgba(198,196,191,.10);border:1px solid rgba(198,196,191,.10)}
.band-member{min-height:150px;padding:30px 28px;background:rgba(4,7,12,.72);display:flex;flex-direction:column;justify-content:flex-end}
.band-member h2{margin:0 0 8px;color:#c6c4bf;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.15;letter-spacing:.035em}
.band-member p{margin:0;color:#85888b;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:850px){.band-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.band-grid{grid-template-columns:1fr}.band-member{min-height:120px}}


/* === V3.19: consistent typography palette on all subpages === */
body:not(.home) .page > h1,
body:not(.home) .page h2,
body:not(.home) .collab h2,
body:not(.home) .member h2,
body:not(.home) .album h2,
body:not(.home) .band-member h2 {
  color:#B8B2AC !important;
}

/* No harsh pure white in subpage copy */
body:not(.home) .prose,
body:not(.home) .intro,
body:not(.home) .empty,
body:not(.home) .legal-copy {
  color:#AAA6A1 !important;
}

body:not(.home) .prose p:first-child,
body:not(.home) .mail-address,
body:not(.home) .mail-address a,
body:not(.home) .legal-copy a,
body:not(.home) .mail-secondary a {
  color:#B8B2AC !important;
}

body:not(.home) .kicker,
body:not(.home) .mail-label,
body:not(.home) .small,
body:not(.home) .member p,
body:not(.home) .album p,
body:not(.home) .band-member p {
  color:#85817D !important;
}


/* === V3.20: subtle grid on all subpages; HOME unchanged === */
body:not(.home)::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size:86px 86px;
  background-position:0 0;
}


/* === V3.21: grid fixed on subpages === */
/* The previous pseudo-element sat behind the body background.
   The grid is now part of the actual page background, so it is visible. */
body:not(.home){
  background:
    linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
    radial-gradient(ellipse at 0 12%, rgba(38,25,68,.32), transparent 34%),
    radial-gradient(ellipse at 100% 90%, rgba(8,34,66,.42), transparent 38%),
    var(--bg) !important;
  background-size:
    86px 86px,
    86px 86px,
    auto,
    auto,
    auto !important;
  background-position:
    0 0,
    0 0,
    0 0,
    0 0,
    0 0 !important;
  background-attachment: fixed !important;
}

/* Disable the ineffective V3.20 overlay */
body:not(.home)::before{
  content:none !important;
}

/* === V3.22 DAS ORIGINAL: chronological studio-album gallery === */
.original-page{padding-bottom:110px}
.discography-intro{max-width:760px;margin-bottom:58px}
.discography-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:48px 28px;
  max-width:1280px;
}
.discography-card{min-width:0}
.discography-cover{
  aspect-ratio:1/1;
  width:100%;
  overflow:hidden;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(184,178,172,.10);
}
.discography-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.discography-meta{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:baseline;
  padding-top:14px;
}
body:not(.home) .discography-meta h2{
  margin:0 !important;
  font-size:.88rem !important;
  line-height:1.2 !important;
  letter-spacing:.075em !important;
  color:#B8B2AC !important;
}
.discography-meta p{
  margin:0;
  color:#77736f;
  font-size:.72rem;
  letter-spacing:.10em;
}
.album-placeholder{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:10px;
  color:#77736f;
  background:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),
    rgba(3,6,10,.7);
  background-size:43px 43px;
}
.album-placeholder span{font-size:1rem;letter-spacing:.13em}
.album-placeholder small{font-size:.62rem;letter-spacing:.15em;color:#5f5c59}
.original-collab{margin-top:110px}
@media(max-width:1050px){.discography-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.discography-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}}
@media(max-width:430px){.discography-grid{grid-template-columns:1fr}}

/* === V3.24 collaborations / connections === */
.connections{margin-top:110px;max-width:1180px}
body:not(.home) .connections > h2{
  margin:0 0 22px !important;
  color:#B8B2AC !important;
  font-size:clamp(1.7rem,3vw,3rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.02em !important;
}
.connections-intro{max-width:760px;margin:0 0 50px;color:#AAA6A1;line-height:1.65}
.connections-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(184,178,172,.10);
  border:1px solid rgba(184,178,172,.10);
}
.connection{padding:34px 32px 30px;background:rgba(4,7,12,.74);min-height:210px}
.connection h3{margin:0 0 26px;color:#B8B2AC;font-size:1rem;letter-spacing:.09em}
.connection p{margin:0 0 17px;color:#A7A29D;line-height:1.45}
.connection strong{font-weight:600;color:#B8B2AC}
.connection span{font-size:.78rem;letter-spacing:.035em;color:#77736f}
@media(max-width:720px){.connections-grid{grid-template-columns:1fr}.connection{min-height:auto}}

/* === V3.25 DAS ORIGINAL title === */
.original-title{
  white-space:nowrap;
  font-size:clamp(3.8rem,7vw,7.4rem) !important;
}
@media(max-width:700px){
  .original-title{
    white-space:normal;
    font-size:clamp(3.1rem,13vw,5rem) !important;
  }
}

/* === V3.26 SHOP === */
.shop-page{max-width:1280px}
.shop-intro{
  margin:24px 0 58px;
  max-width:720px;
  color:#AAA6A1;
  font-size:clamp(1rem,1.4vw,1.15rem);
  line-height:1.6;
}
.shop-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:42px 28px;
}
.shop-item{min-width:0}
.shop-image{
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(184,178,172,.08);
}
.shop-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.shop-item h2{
  margin:18px 0 5px;
  color:#B8B2AC;
  font-size:1rem;
  letter-spacing:.08em;
  font-weight:650;
}
.shop-item p{
  margin:0;
  color:#77736F;
  font-size:.82rem;
  letter-spacing:.025em;
}
@media(max-width:900px){
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .shop-grid{grid-template-columns:1fr;gap:34px}
  .shop-intro{margin-bottom:40px}
}

/* === V3.27 DAS ORIGINAL: collaborations without boxes === */
.connections-grid{
  gap:44px 56px !important;
  background:transparent !important;
  border:0 !important;
}
.connection{
  padding:0 !important;
  background:transparent !important;
  min-height:0 !important;
  border:0 !important;
}

/* === V3.30 SHOP === */
.shop-image{
  background:rgba(184,178,172,.055) !important;
  border:0 !important;
  padding:14px !important;
}
.shop-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  filter:none !important;
}
.shop-price{
  margin-top:11px;
  color:#B8B2AC;
  font-size:1rem;
  font-weight:650;
  letter-spacing:.035em;
}
.shop-info{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:56px;
  margin-top:92px;
  padding-top:34px;
  border-top:1px solid rgba(184,178,172,.12);
}
.shop-info h2{
  margin:0 0 10px;
  color:#B8B2AC;
  font-size:.9rem;
  letter-spacing:.09em;
}
.shop-info p{
  margin:0;
  max-width:470px;
  color:#85817D;
  font-size:.86rem;
  line-height:1.6;
}
@media(max-width:650px){
  .shop-info{grid-template-columns:1fr;gap:30px}
}

/* === V3.32 MEDIA === */
.media-page{
  min-height:calc(100vh - 160px);
}
.media-intro{
  max-width:1040px;
  padding-top:clamp(32px,6vh,78px);
}
.media-intro > p{
  max-width:720px;
  margin:34px 0 0;
  color:#AAA6A1;
  font-size:clamp(1rem,1.35vw,1.18rem);
  line-height:1.65;
}
@media(max-width:700px){
  .media-intro > p{margin-top:26px;}
}

/* === V3.41 BAND: portraits without cards === */
.band-grid{
  gap:52px 34px !important;
  background:transparent !important;
  border:0 !important;
}
.member{
  position:relative;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  min-height:0 !important;
}
.member::before{
  content:"";
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  margin:0 0 20px;
  background:
    radial-gradient(ellipse at 50% 34%, rgba(184,178,172,.055), transparent 30%),
    linear-gradient(145deg, rgba(184,178,172,.04), rgba(8,34,66,.10));
  border:0;
}
.member h2,
.member h3{
  margin-top:0 !important;
}
@media(max-width:900px){
  .band-grid{gap:42px 26px !important;}
}
@media(max-width:620px){
  .band-grid{gap:42px !important;}
  .member::before{margin-bottom:17px;}
}

/* === V3.43 BAND: image placeholders === */
.band-member::before{
  content:none !important;
  display:none !important;
}
.band-member{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}
.member-photo{
  width:100%;
  aspect-ratio:4 / 5;
  margin:0 0 20px;
  overflow:hidden;
  background:rgba(184,178,172,.035);
}
.member-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:brightness(.72) contrast(.92);
  opacity:.72;
}

/* === V3.44 NORMAL SUBPAGE HEADINGS ===
   BAND · THE SHOW · LIVE · MEDIA · SHOP · BOOKING
   use one shared H1 treatment. DAS ORIGINAL remains its intentional special case.
*/
body:not(.home) .page > h1,
body:not(.home) .media-intro > h1{
  color:#B8B2AC !important;
  font-size:clamp(2.2rem,4.4vw,4.5rem) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
  padding-top:.12em !important;
  overflow:visible !important;
}

/* === V3.45 MEDIA vertical alignment === */
.media-intro{
  padding-top:0 !important;
}

/* === V3.46 MEDIA exact top alignment === */
.media-page{
  padding-top:0 !important;
}
.media-intro{
  padding-top:0 !important;
  margin-top:0 !important;
}
body:not(.home) .media-intro > h1{
  margin-top:0 !important;
  transform:translateY(-28px);
}
@media(max-width:700px){
  body:not(.home) .media-intro > h1{
    transform:translateY(-18px);
  }
}

/* === V3.47 MEDIA fine vertical alignment === */
body:not(.home) .media-intro > h1{
  transform:translateY(-6px) !important;
}
@media(max-width:700px){
  body:not(.home) .media-intro > h1{
    transform:translateY(-4px) !important;
  }
}

/* === V3.48 MEDIA aligned to DAS ORIGINAL vertical start === */
.media-intro{
  transform:translateY(150px) !important;
}
body:not(.home) .media-intro > h1{
  transform:none !important;
}
@media(max-width:700px){
  .media-intro{
    transform:translateY(70px) !important;
  }
  body:not(.home) .media-intro > h1{
    transform:none !important;
  }
}

/* === V3.49 BOOKING === */
.booking-intro{
  max-width:900px;
}
.booking-intro h1{
  color:#B8B2AC !important;
  font-size:clamp(2.2rem,4.4vw,4.5rem) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
  margin:0 0 34px;
}
.booking-lead{
  max-width:760px;
  margin:0 0 12px;
  color:#AAA6A1;
  font-size:clamp(1.05rem,1.5vw,1.28rem);
  line-height:1.55;
}
.booking-copy{
  max-width:760px;
  margin:0 0 34px;
  color:#85817D;
  line-height:1.6;
}
.booking-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border:1px solid rgba(184,178,172,.46);
  color:#B8B2AC;
  background:rgba(184,178,172,.025);
  text-decoration:none;
  font-weight:700;
  letter-spacing:.10em;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.booking-button:hover,
.booking-button:focus-visible{
  background:rgba(184,178,172,.08);
  border-color:rgba(184,178,172,.72);
  transform:translateY(-1px);
}

/* === V3.50 LIVE === */
.live-intro{
  max-width:900px;
}
.live-intro h1{
  color:#B8B2AC !important;
  font-size:clamp(2.2rem,4.4vw,4.5rem) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
  margin:0 0 34px;
}
.live-intro p{
  max-width:760px;
  margin:0;
  color:#AAA6A1;
  font-size:clamp(1.05rem,1.5vw,1.28rem);
  line-height:1.55;
}

/* === V3.52 REHABILITATION ===
   BAND is the visual master. Concrete page inset; no undefined custom variable.
*/
@media(min-width:701px){
  body:not(.home) main.page{
    padding-left:64px !important;
    padding-right:64px !important;
  }
  .show-intro,
  .live-intro,
  .media-intro,
  .shop-intro,
  .booking-intro,
  .original-intro{
    margin-left:0 !important;
    padding-left:0 !important;
  }
}

/* BOOKING: smaller headline, as agreed */
.booking-intro h1{
  font-size:clamp(2rem,3.5vw,3.6rem) !important;
}

/* Keep V3.50's page-specific vertical treatments; only horizontal alignment is normalized here. */

/* === V3.53 HORIZONTAL ALIGNMENT FIX ===
   THE SHOW is the reference.
   Remove the extra V3.52 inset from pages where <main> itself carries .page.
*/
@media(min-width:701px){
  body:not(.home) main.page{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* === V3.54 UNIFIED SUBPAGE HEADLINES ===
   THE SHOW is the typographic reference.
   DAS ORIGINAL remains the deliberate special case.
*/
body:not(.home) :is(
  .band-page,
  .show-page,
  .live-page,
  .media-page,
  .shop-page,
  .booking-page
) h1{
  color:#B8B2AC !important;
  font-size:clamp(2.2rem,4.4vw,4.5rem) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
  font-weight:700 !important;
}

/* Neutralize page-specific headline sizing that accumulated in earlier versions. */
body:not(.home) .media-intro > h1,
body:not(.home) .live-intro > h1,
body:not(.home) .booking-intro > h1{
  font-size:clamp(2.2rem,4.4vw,4.5rem) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
  font-weight:700 !important;
}

/* DAS ORIGINAL intentionally keeps its own .original-title sizing. */

/* =========================================================
   V3.55 — CANONICAL SUBPAGE LAYOUT
   One geometry for BAND · THE SHOW · LIVE · MEDIA · SHOP · BOOKING.
   Content is unchanged. DAS ORIGINAL shares the same position,
   but intentionally keeps its larger title size.
   ========================================================= */

/* One fixed canvas for every subpage. */
body:not(.home) .page{
  width:min(1400px,90vw) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:clamp(85px,10vw,145px) 0 120px !important;
}

/* Kill historical page-specific offsets/transforms. */
body:not(.home) :is(
  .band-page,.live-page,.media-page,.shop-page,.booking-page,.original-page
){
  max-width:none !important;
  transform:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body:not(.home) :is(
  .live-intro,.media-intro,.booking-intro,.shop-intro,.original-intro
){
  transform:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  padding-top:0 !important;
}

/* Identical main headline typography on all normal subpages. */
body:not(.home) :is(
  .band-page,.live-page,.media-page,.shop-page,.booking-page
) > h1,
body:not(.home) main > .page:not(.original-page) > h1{
  font-family:"Arial Narrow",Arial,sans-serif !important;
  font-size:clamp(2.2rem,4.4vw,4.5rem) !important;
  font-weight:800 !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
  color:#B8B2AC !important;
  margin:0 0 54px !important;
  padding:0 !important;
  transform:none !important;
}

/* THE SHOW is structurally plain .page, so it is covered explicitly. */
body:not(.home) main > section.page > h1{
  font-family:"Arial Narrow",Arial,sans-serif;
}

/* Consistent lead-copy start and appearance on the sparse pages. */
.page-lead{
  max-width:760px !important;
  margin:0 !important;
  color:#AAA6A1 !important;
  font-size:clamp(1.05rem,1.5vw,1.28rem) !important;
  line-height:1.55 !important;
}

/* Preserve BOOKING content while removing wrapper-dependent spacing. */
.booking-page .booking-lead{
  max-width:760px;
  margin:0 0 12px !important;
}
.booking-page .booking-copy{
  max-width:760px;
  margin:0 0 34px !important;
}

/* SHOP intro now follows the same headline rhythm. */
.shop-page > .shop-intro{
  margin-top:0 !important;
}

/* DAS ORIGINAL: same x/y start as the others, only the title size is special. */
.original-page > .original-title{
  margin-top:0 !important;
  padding-top:0 !important;
  transform:none !important;
}

/* Mobile: same principle, just a smaller shared canvas. */
@media(max-width:700px){
  body:not(.home) .page{
    width:90vw !important;
    padding:72px 0 90px !important;
  }
  body:not(.home) main > .page:not(.original-page) > h1{
    font-size:clamp(2rem,8.5vw,3rem) !important;
    line-height:.98 !important;
    margin-bottom:38px !important;
  }
}

/* =========================================================
   V3.56 — FIXED SUBPAGE GRID
   The visible content is unchanged.
   Every navigational subpage now uses one measurable frame:
   same title x/y, same title typography, same title-zone height,
   same first-content y-position and same intro typography.
   ========================================================= */

:root{
  --psb-page-width: min(1400px, 90vw);
  --psb-page-top: clamp(85px, 10vw, 145px);
  --psb-title-size: clamp(2.2rem, 4.4vw, 4.5rem);
  --psb-title-leading: .96;
  --psb-title-zone-lines: 3;
  --psb-title-gap: 46px;
  --psb-intro-size: clamp(1.05rem, 1.35vw, 1.18rem);
  --psb-intro-leading: 1.62;
}

/* ONE canvas. No page-specific horizontal or vertical offsets. */
body:not(.home) main > .page{
  width:var(--psb-page-width) !important;
  max-width:1400px !important;
  margin:0 auto !important;
  padding:var(--psb-page-top) 0 120px !important;
  transform:none !important;
}

/* ONE title treatment for every item in the main navigation.
   DAS ORIGINAL deliberately gives up its former oversized exception here:
   zero visual jump is the higher-priority rule in V3.56. */
body:not(.home) .page-title{
  display:block !important;
  width:100% !important;
  min-height:calc(var(--psb-title-size) * var(--psb-title-leading) * var(--psb-title-zone-lines)) !important;
  margin:0 0 var(--psb-title-gap) !important;
  padding:0 !important;
  transform:none !important;
  white-space:normal !important;
  overflow:visible !important;

  font-family:"Arial Narrow", Arial, Helvetica, sans-serif !important;
  font-size:var(--psb-title-size) !important;
  font-weight:800 !important;
  line-height:var(--psb-title-leading) !important;
  letter-spacing:-.025em !important;
  color:#B8B2AC !important;
}

/* Remove all historical wrapper nudges that could still influence geometry. */
body:not(.home) :is(
  .live-intro,.media-intro,.booking-intro,.shop-intro,.original-intro
){
  margin-left:0 !important;
  margin-right:0 !important;
  padding:0 !important;
  transform:none !important;
}

/* The first textual layer now has one visual scale and starts at the
   exact same Y coordinate after the fixed three-line title zone. */
body:not(.home) :is(
  .prose,
  .page-lead,
  .shop-intro,
  .booking-lead,
  .discography-intro
){
  max-width:760px !important;
  margin-top:0 !important;
  color:#AAA6A1 !important;
  font-size:var(--psb-intro-size) !important;
  line-height:var(--psb-intro-leading) !important;
}

/* First-content margins: no hidden browser/default spacing. */
.band-page > .band-grid,
.page > .prose,
.live-page > .page-lead,
.media-page > .page-lead,
.shop-page > .shop-intro,
.booking-page > .booking-lead,
.original-page > .discography-intro{
  margin-top:0 !important;
}

/* Keep the already-approved internal content rhythm. */
.page > .prose p:first-child{margin-top:0 !important;}
.shop-page > .shop-intro{margin-bottom:58px !important;}
.booking-page > .booking-lead{margin-bottom:12px !important;}
.original-page > .discography-intro{margin-bottom:58px !important;}

/* Mobile uses the exact same system, only scaled down. */
@media(max-width:700px){
  :root{
    --psb-page-top:72px;
    --psb-title-size:clamp(2rem, 8.5vw, 3rem);
    --psb-title-gap:34px;
    --psb-intro-size:1.05rem;
  }
  body:not(.home) main > .page{
    width:90vw !important;
    padding:var(--psb-page-top) 0 90px !important;
  }
}


/* =========================================================
   V3.57 — STOP THE LAST HORIZONTAL JUMP
   SHOP and DAS ORIGINAL are much taller than the other pages.
   Their vertical scrollbar changed the usable viewport width,
   which moved the centered 90vw page canvas by a few pixels.
   Reserve that scrollbar space on EVERY page.
   ========================================================= */
html{
  overflow-y:scroll;
  scrollbar-gutter:stable;
}


/* =========================================================
   V3.58 — DAS ORIGINAL: align title start with all subpages
   ========================================================= */
body:not(.home) .original-page{
  padding-top:var(--psb-page-top) !important;
}

body:not(.home) .original-page > .page-title{
  margin-top:0 !important;
  padding-top:0 !important;
  transform:none !important;
}


/* =========================================================
   V3.63 — ONE TITLE-TO-CONTENT GAP
   Same spacing after the main page title on every subpage.
   ========================================================= */
:root{
  --psb-title-gap:38px;
}

body:not(.home) .page-title{
  margin-bottom:var(--psb-title-gap) !important;
}

/* Remove any first-content top spacing that could make individual pages
   visually deviate from the shared title gap. */
body:not(.home) .page-title + *{
  margin-top:0 !important;
}

/* THE SHOW: question and answer belong together; normal paragraph rhythm
   resumes only after that combined block. */
body:not(.home) .page > .prose > p:first-child{
  margin-top:0 !important;
}


/* =========================================================
   V3.64 — HOME: vertical final alignment
   Center the complete HOME typography in the actually visible
   area between header and footer, not in the area behind the footer.
   ========================================================= */
body.home .home-screen{
  height:calc(100svh - 88px - 62px) !important;
  min-height:560px;
}

@media(max-width:650px){
  body.home .home-screen{
    height:calc(100svh - 76px) !important;
    min-height:520px;
  }
}


/* =========================================================
   V3.65 — TRUE TITLE-TO-CONTENT SPACING
   The gap is now measured from the visible bottom of each title.
   No invisible three-line title box remains.
   ========================================================= */
body:not(.home) .page-title{
  min-height:0 !important;
  height:auto !important;
  margin-bottom:var(--psb-title-gap) !important;
}

/* MEDIA: these three words are one closing phrase and stay on one line
   whenever the viewport is wide enough for them. */
.media-page .keep-together{
  white-space:nowrap;
}

@media(max-width:520px){
  .media-page .keep-together{
    white-space:normal;
  }
}


/* =========================================================
   V3.66 — MEDIA COPY: ONE LINE ON DESKTOP
   The complete sentence stays on one line at desktop widths.
   ========================================================= */
@media(min-width:901px){
  body:not(.home) .media-page .prose{
    max-width:none !important;
    width:max-content !important;
  }

  body:not(.home) .media-page .prose p{
    white-space:nowrap !important;
    max-width:none !important;
    width:max-content !important;
  }
}

/* =========================================================
   FINAL — UNIFIED TITLE-TO-CONTENT RHYTHM
   One visible gap after every main subpage title.
   ========================================================= */
:root{
  --psb-title-gap:38px;
}

body:not(.home) .page-title{
  min-height:0 !important;
  height:auto !important;
  margin-top:0 !important;
  margin-bottom:var(--psb-title-gap) !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  transform:none !important;
}

body:not(.home) .page-title + *{
  margin-top:0 !important;
  padding-top:0 !important;
  transform:none !important;
}

/* Neutralize older wrapper spacing on the first content layer. */
body:not(.home) :is(
  .band-page > .band-grid,
  .page > .prose,
  .live-page > .page-lead,
  .media-page > .prose,
  .media-page > .page-lead,
  .shop-page > .shop-intro,
  .booking-page > .booking-lead,
  .original-page > .discography-intro
){
  margin-top:0 !important;
  padding-top:0 !important;
  transform:none !important;
}

@media(max-width:700px){
  :root{
    --psb-title-gap:34px;
  }
}

/* =========================================================
   V3.67 — FINAL: IDENTICAL TITLE → FIRST CONTENT GAP
   Applies one shared visible spacing rule to every subpage.
   ========================================================= */
:root{
  --psb-title-content-gap:38px;
}

body:not(.home) main > .page > .page-title{
  min-height:0 !important;
  height:auto !important;
  margin:0 0 var(--psb-title-content-gap) 0 !important;
  padding:0 !important;
  transform:none !important;
}

body:not(.home) main > .page > .page-title + *{
  margin-top:0 !important;
  padding-top:0 !important;
  transform:none !important;
}

@media(max-width:700px){
  :root{
    --psb-title-content-gap:34px;
  }
}

/* =========================================================
   V3.68 — PROGRAM
   Chronological live repertoire.
   ========================================================= */
.program-page{padding-bottom:120px;}
.program-list{max-width:1040px;margin:0;padding:0;list-style:none;counter-reset:program-song;columns:2;column-gap:64px;}
.program-list li{counter-increment:program-song;break-inside:avoid;position:relative;margin:0;padding:17px 0 17px 42px;border-top:1px solid rgba(255,255,255,.10);color:#B8B2AC;font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.35;}
.program-list li::before{content:counter(program-song, decimal-leading-zero);position:absolute;left:0;top:20px;color:#686B72;font-size:.68rem;letter-spacing:.12em;}
.program-list li:last-child{border-bottom:1px solid rgba(255,255,255,.10);}
@media(max-width:700px){.program-list{columns:1;column-gap:0}.program-list li{padding-top:15px;padding-bottom:15px}.program-list li::before{top:18px}}

/* V3.69 PROGRAM FINAL */
.program-intro{max-width:760px;margin:0 0 46px!important;color:#AAA6A1;font-size:var(--psb-intro-size,clamp(1.05rem,1.5vw,1.28rem));line-height:1.55}
.program-list{display:block!important;columns:auto!important;max-width:920px!important;margin:0!important;padding:0!important;list-style:none!important;counter-reset:none!important}
.program-list li{counter-increment:none!important;display:flex!important;align-items:baseline;justify-content:space-between;gap:32px;margin:0!important;padding:17px 0!important;border-top:1px solid rgba(255,255,255,.10);color:#B8B2AC;font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.35}
.program-list li::before{content:none!important;display:none!important}
.program-list li:last-child{border-bottom:1px solid rgba(255,255,255,.10)}
.program-song{min-width:0}.program-year{flex:0 0 auto;color:#686B72;font-size:.72rem;letter-spacing:.12em;font-variant-numeric:tabular-nums}
@media(max-width:700px){.program-intro{margin-bottom:36px!important}.program-list li{gap:20px;padding:15px 0!important}}
