
:root{
  --page:#07101a;
  --page-deep:#050b12;
  --ivory:#f0eee8;
}

*{box-sizing:border-box}

html{
  background:var(--page-deep);
  color:var(--ivory);
  font-family:Arial,Helvetica,sans-serif;
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--page-deep);
}

main{overflow:hidden}

.hero{
  position:relative;
  height:108svh;
  min-height:720px;
  background:var(--page);
  isolation:isolate;
}

.hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 50%;
  z-index:-3;
}

.hero-tone{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(
      to bottom,
      rgba(5,11,18,.015) 0%,
      rgba(5,11,18,.01) 48%,
      rgba(5,11,18,.035) 62%,
      rgba(5,11,18,.14) 72%,
      rgba(5,11,18,.36) 82%,
      rgba(5,11,18,.70) 92%,
      var(--page-deep) 100%
    ),
    linear-gradient(
      to right,
      rgba(3,9,16,.09) 0%,
      rgba(3,9,16,.01) 45%,
      rgba(3,9,16,.01) 76%,
      rgba(3,9,16,.08) 100%
    );
}

.hero-copy{
  position:absolute;
  top:clamp(8.2rem,15.5vh,12rem);
  left:clamp(2rem,4vw,4.2rem);
  display:grid;
  gap:clamp(2.6rem,4vw,4rem);
  text-shadow:0 1px 12px rgba(0,0,0,.12);
}

.artist{
  font-size:clamp(1.2rem,2vw,1.75rem);
  letter-spacing:.52em;
  font-weight:400;
  white-space:nowrap;
}

.release{
  display:grid;
  gap:1.15rem;
  font-size:clamp(.95rem,1.35vw,1.18rem);
  letter-spacing:.40em;
  font-weight:400;
}

.title{color:rgba(240,238,232,.80)}
.date{color:rgba(240,238,232,.58)}

.listen{
  width:max-content;
  margin-top:.25rem;
  color:rgba(240,238,232,.54);
  text-decoration:none;
  text-transform:lowercase;
  letter-spacing:.22em;
  font-size:.72em;
  border-bottom:1px solid rgba(240,238,232,.16);
  padding-bottom:.22rem;
  transition:color .18s ease,border-color .18s ease;
}

.listen:hover{
  color:rgba(240,238,232,.88);
  border-color:rgba(240,238,232,.40);
}

.lyrics{
  min-height:92svh;
  margin-top:-1px;
  display:grid;
  place-items:center;
  padding:clamp(8rem,15vh,12rem) 2rem;
  background:
    radial-gradient(circle at 50% 0%,rgba(33,51,69,.07),transparent 30rem),
    var(--page-deep);
}

.lyrics-inner{
  width:min(90vw,620px);
  display:grid;
  gap:clamp(2.6rem,5vh,4rem);
  text-align:center;
}

.lyrics p{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.08rem,1.55vw,1.48rem);
  line-height:1.55;
  letter-spacing:.025em;
  font-weight:400;
  color:rgba(240,238,232,.76);
}

.lyrics p:nth-child(2){color:rgba(240,238,232,.68)}
.lyrics p:nth-child(3){color:rgba(240,238,232,.78)}
.lyrics p:nth-child(4){color:rgba(240,238,232,.62)}

.passage{
  min-height:52svh;
  display:grid;
  place-items:center;
  padding:7rem 2rem;
  background:var(--page-deep);
}

.passage span{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(.78rem,.9vw,.92rem);
  letter-spacing:.20em;
  color:rgba(240,238,232,.30);
}

footer{
  padding:1.5rem clamp(1.5rem,4vw,4rem) 2.5rem;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
  background:var(--page-deep);
  color:rgba(240,238,232,.27);
  font-size:.68rem;
  letter-spacing:.10em;
}

.links{
  display:flex;
  gap:1.35rem;
  flex-wrap:wrap;
}

.links a{
  color:rgba(240,238,232,.40);
  text-decoration:none;
  transition:color .18s ease;
}

.links a:hover{
  color:rgba(240,238,232,.82);
}

@media(max-width:700px){
  .hero{
    height:103svh;
    min-height:620px;
  }

  .hero-image{
    object-position:61% 50%;
  }

  .hero-copy{
    top:15vh;
    left:1.65rem;
    gap:2.65rem;
  }

  .artist{
    font-size:1rem;
    letter-spacing:.42em;
  }

  .release{
    font-size:.82rem;
    letter-spacing:.34em;
    gap:1rem;
  }

  .listen{
    font-size:.78em;
  }

  .lyrics{
    min-height:84svh;
    padding:6.5rem 1.7rem;
  }

  .lyrics-inner{
    gap:2.4rem;
  }

  .lyrics p{
    font-size:1.03rem;
    line-height:1.55;
  }

  .passage{
    min-height:44svh;
  }

  footer{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}


/* v8 semantic-link normalization: preserves the v7 visual design */
.artist{
  margin:0;
}

.title{
  width:max-content;
  text-decoration:none;
}

.title:hover{
  color:rgba(240,238,232,.95);
}


/* Process page */
.process-page{min-height:100svh;background:#050b12;color:#f0eee8;}
.process-wrap{width:min(88vw,760px);margin:0 auto;padding:clamp(7rem,14vh,11rem) 0 clamp(8rem,16vh,13rem);}
.process-kicker{margin:0 0 3.2rem;font-family:Arial,Helvetica,sans-serif;font-size:.76rem;letter-spacing:.42em;font-weight:400;color:rgba(240,238,232,.40);}
.process-title{margin:0 0 clamp(5rem,10vh,8rem);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,4.4rem);font-weight:400;line-height:1.05;letter-spacing:-.02em;}
.process-copy{width:min(100%,620px)}
.process-copy p{margin:0 0 3.2rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.04rem,1.45vw,1.28rem);line-height:1.72;letter-spacing:.005em;color:rgba(240,238,232,.72);}
.process-copy p.process-emphasis{margin-top:5.2rem;color:rgba(240,238,232,.88);font-size:clamp(1.14rem,1.65vw,1.42rem);}
.process-contact{margin-top:6rem;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;letter-spacing:.14em;}
.process-contact a{color:rgba(240,238,232,.48);text-decoration:none;border-bottom:1px solid rgba(240,238,232,.14);padding-bottom:.22rem;}
.process-contact a:hover{color:rgba(240,238,232,.86);border-color:rgba(240,238,232,.34);}
.process-end{margin-top:8rem;font-family:Georgia,"Times New Roman",serif;font-size:.86rem;letter-spacing:.14em;color:rgba(240,238,232,.26);}
.process-back{display:inline-block;margin-top:3rem;font-family:Arial,Helvetica,sans-serif;font-size:.7rem;letter-spacing:.13em;color:rgba(240,238,232,.35);text-decoration:none;}
.process-back:hover{color:rgba(240,238,232,.75)}


/* -------------------------------------------------------
   v10b Process page
   Editorial, spacious, less document-like
-------------------------------------------------------- */
.process-page{
  margin:0;
  min-height:100%;
  background:
    radial-gradient(circle at 78% 6%, rgba(43,68,91,.09), transparent 30rem),
    #050b12;
  color:#f0eee8;
}

.process-shell{
  width:min(92vw,1180px);
  margin:0 auto;
  padding:clamp(2rem,4vw,4rem) 0 4rem;
}

.process-wordmark{
  display:inline-block;
  margin:0 0 clamp(8rem,18vh,13rem);
  font-family:Arial,Helvetica,sans-serif;
  font-size:.78rem;
  letter-spacing:.5em;
  color:rgba(240,238,232,.58);
  text-decoration:none;
}

.process-index{
  margin-bottom:2.25rem;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.64rem;
  letter-spacing:.26em;
  color:rgba(240,238,232,.28);
}

.process-intro{
  max-width:900px;
  padding-bottom:clamp(10rem,20vh,16rem);
}

.process-intro h1{
  max-width:9.5ch;
  margin:0 0 clamp(4rem,8vh,6rem);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,7.5vw,7.4rem);
  line-height:.97;
  font-weight:400;
  letter-spacing:-.045em;
  color:rgba(240,238,232,.94);
}

.process-lead{
  margin:0 0 clamp(4rem,7vh,6rem);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.25rem,2.2vw,1.9rem);
  line-height:1.42;
  color:rgba(240,238,232,.76);
}

.process-lead p{
  margin:.25rem 0;
}

.process-body{
  width:min(100%,620px);
  margin-left:auto;
  display:grid;
  gap:2.5rem;
}

.process-body p{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,1.28vw,1.16rem);
  line-height:1.82;
  color:rgba(240,238,232,.60);
}

.process-statement{
  width:min(100%,760px);
  margin-top:clamp(6rem,12vh,9rem);
  padding-top:2rem;
  border-top:1px solid rgba(240,238,232,.10);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.5rem,3.1vw,2.8rem);
  line-height:1.22;
  color:rgba(240,238,232,.88);
}

.refract-section{
  padding:clamp(8rem,16vh,13rem) 0;
  border-top:1px solid rgba(240,238,232,.06);
}

.refract-grid{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);
  gap:clamp(4rem,9vw,10rem);
  align-items:start;
}

.refract-title-wrap h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,7vw,6.8rem);
  line-height:.94;
  font-weight:400;
  letter-spacing:-.045em;
  color:rgba(240,238,232,.94);
}

.refract-copy{
  max-width:590px;
  padding-top:.5rem;
}

.refract-copy p{
  margin:0 0 2.6rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,1.3vw,1.17rem);
  line-height:1.8;
  color:rgba(240,238,232,.61);
}

.refract-copy .refract-lead{
  font-size:clamp(1.2rem,1.8vw,1.55rem);
  line-height:1.52;
  color:rgba(240,238,232,.78);
}

.refract-actions{
  display:flex;
  flex-direction:column;
  gap:.38rem;
  margin:clamp(3.5rem,7vh,5.5rem) 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.7rem,3.9vw,3.4rem);
  line-height:1.05;
  color:rgba(194,156,94,.88);
}

.refract-actions span:nth-child(2){
  margin-left:clamp(1.5rem,4vw,4rem);
}

.refract-actions span:nth-child(3){
  margin-left:clamp(3rem,8vw,8rem);
}

.refract-contact a,
.process-email{
  color:rgba(240,238,232,.72);
  text-decoration:none;
  border-bottom:1px solid rgba(240,238,232,.18);
  padding-bottom:.16rem;
}

.process-email{
  display:inline-block;
  margin-top:1rem;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.72rem;
  letter-spacing:.12em;
  color:rgba(240,238,232,.46);
}

.process-close{
  min-height:55vh;
  padding:clamp(8rem,16vh,13rem) 0 3rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  text-align:center;
}

.closing-line{
  margin-bottom:5rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,1.6vw,1.3rem);
  letter-spacing:.08em;
  color:rgba(240,238,232,.32);
}

.process-home{
  font-family:Arial,Helvetica,sans-serif;
  font-size:.64rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(240,238,232,.26);
  text-decoration:none;
}

.process-home:hover,
.process-wordmark:hover,
.process-email:hover,
.refract-contact a:hover{
  color:rgba(240,238,232,.82);
}

@media(max-width:760px){
  .process-shell{
    width:min(88vw,680px);
    padding-top:2rem;
  }

  .process-wordmark{
    margin-bottom:7rem;
  }

  .process-intro h1{
    max-width:8ch;
    font-size:clamp(3.2rem,15vw,5.2rem);
  }

  .process-body{
    margin-left:0;
  }

  .refract-grid{
    grid-template-columns:1fr;
    gap:4rem;
  }

  .refract-title-wrap h2{
    font-size:clamp(3.4rem,16vw,5.6rem);
  }

  .refract-actions{
    font-size:clamp(2rem,10vw,3rem);
  }

  .process-close{
    min-height:42vh;
  }
}


/* v12 release-status styling */
.status{
  color:rgba(240,238,232,.76);
  font-size:.78em;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.release-page-status{
  margin-top:1.4rem;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(240,238,232,.58);
}

.release-page-status + .release-page-date{
  margin-top:.85rem;
}


/* v14 — Where We Catch */
.hero-where-we-catch .hero-image{
  object-position:center 54%;
}
.hero-where-we-catch .hero-tone{
  background:
    linear-gradient(to bottom, rgba(18,9,3,.04) 0%, rgba(5,8,10,.02) 46%, rgba(5,11,18,.12) 66%, rgba(5,11,18,.47) 84%, var(--page-deep) 100%),
    linear-gradient(to right, rgba(3,7,11,.16) 0%, rgba(3,7,11,.02) 47%, rgba(3,7,11,.03) 75%, rgba(3,7,11,.13) 100%);
}
.release-state{
  color:rgba(240,238,232,.58);
  text-transform:uppercase;
  font-size:.67em;
  letter-spacing:.25em;
}
.listen.pending{
  pointer-events:none;
  opacity:.48;
  border-bottom-style:dotted;
}
.previous-release{
  min-height:48svh;
  display:grid;
  place-items:center;
  padding:7rem 2rem;
  background:var(--page-deep);
  text-align:center;
}
.previous-release-inner{
  display:grid;
  gap:1.2rem;
}
.previous-kicker{
  font-size:.62rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:rgba(240,238,232,.26);
}
.previous-release a{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.25rem,2vw,1.8rem);
  color:rgba(240,238,232,.62);
  text-decoration:none;
}
.previous-release a:hover{color:rgba(240,238,232,.9)}
.previous-date{
  font-size:.68rem;
  letter-spacing:.18em;
  color:rgba(240,238,232,.28);
}
.where-release-page{
  min-height:100svh;
  position:relative;
  display:grid;
  grid-template-rows:1fr auto;
  background:#050b12;
  color:#f0eee8;
  isolation:isolate;
}
.where-release-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 54%;
  z-index:-3;
}
.where-release-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(to bottom,rgba(3,7,9,.28),rgba(3,7,9,.18) 42%,rgba(5,11,18,.78) 86%,#050b12 100%);
}
.where-release-page .release-page-main{min-height:92svh;}
.where-release-page .release-page-inner{
  padding:2rem;
  text-shadow:0 1px 18px rgba(0,0,0,.28);
}
.where-release-page h1{font-size:clamp(2.5rem,6vw,5.5rem);}
.where-release-page .release-page-date{color:rgba(240,238,232,.58);}
.where-release-page .release-page-kicker{color:rgba(240,238,232,.62);}
.where-release-page .release-page-state{
  margin-top:1.8rem;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.66rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(240,238,232,.64);
}
@media(max-width:700px){
  .hero-where-we-catch .hero-image{object-position:57% 50%;}
  .where-release-bg{object-position:57% 50%;}
}


/* v14b — Who Knows release hero */
.who-release-page{
  position:relative;
  min-height:100svh;
  display:grid;
  grid-template-rows:1fr auto;
  overflow:hidden;
  background:#050b12;
  color:#f0eee8;
}

.who-release-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
  z-index:0;
}

.who-release-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(to bottom, rgba(3,8,13,.25) 0%, rgba(3,8,13,.42) 52%, rgba(3,8,13,.82) 100%),
    linear-gradient(to right, rgba(3,8,13,.18), rgba(3,8,13,.03) 52%, rgba(3,8,13,.24));
}

.who-release-page .release-page-main,
.who-release-page footer{
  position:relative;
  z-index:2;
}

.who-release-page .release-page-main{
  min-height:92svh;
}

.who-release-page .release-page-inner{
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}

.who-release-page .release-page-kicker{
  color:rgba(240,238,232,.68);
}

.who-release-page .release-page-status{
  color:rgba(240,238,232,.72);
}

.who-release-page .release-page-date{
  color:rgba(240,238,232,.58);
}

.who-release-page .release-page-lyric{
  color:rgba(240,238,232,.82);
}

.who-release-page footer{
  background:linear-gradient(to top, rgba(3,8,13,.96), rgba(3,8,13,.78));
}

@media(max-width:760px){
  .who-release-bg{
    object-position:58% 50%;
  }
}


/* v14c — Who Knows: contained hero, centered copy */
.who-release-page-fixed{
  min-height:100svh;
  display:block;
  background:#050b12;
  color:#f0eee8;
}

.who-visual{
  width:min(92vw,1080px);
  margin:clamp(2.5rem,6vw,5rem) auto 0;
  aspect-ratio:4/3;
  max-height:68svh;
  overflow:hidden;
}

.who-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.who-release-copy{
  min-height:auto !important;
  padding:clamp(4rem,8vw,7rem) 2rem clamp(6rem,10vw,9rem);
  display:grid;
  place-items:center;
  text-align:center;
}

.who-release-copy .release-page-inner{
  width:min(92vw,680px);
  margin:0 auto;
}

.who-release-copy .release-page-kicker,
.who-release-copy h1,
.who-release-copy .release-page-status,
.who-release-copy .release-page-date,
.who-release-copy .release-page-lyric,
.who-release-copy .release-page-actions{
  text-align:center;
}

.who-release-page-fixed footer{
  background:#050b12;
}

@media(max-width:700px){
  .who-visual{
    width:100%;
    margin-top:0;
    aspect-ratio:4/3;
    max-height:none;
  }

  .who-release-copy{
    padding-top:4rem;
  }
}


/* v15 — unified release archive pages */
.release-archive-page{
  min-height:100svh;
  background:#050b12;
  color:#f0eee8;
}

.release-hero{
  width:min(92vw,1080px);
  margin:clamp(2.5rem,6vw,5rem) auto 0;
  aspect-ratio:4/3;
  overflow:hidden;
}

.release-hero img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.release-header{
  padding:clamp(4rem,8vw,7rem) 2rem clamp(6rem,10vw,9rem);
  text-align:center;
}

.release-header-inner{
  width:min(92vw,720px);
  margin:0 auto;
}

.release-header h1{
  margin:.75rem 0 1.4rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.8rem,6vw,5.8rem);
  line-height:1;
  font-weight:400;
  letter-spacing:-.04em;
}

.release-page-status{
  margin-top:1.4rem;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.68rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(240,238,232,.58);
}

.release-page-date{
  margin-top:.85rem;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.68rem;
  letter-spacing:.16em;
  color:rgba(240,238,232,.36);
}

.release-page-actions{
  margin-top:3rem;
  display:flex;
  justify-content:center;
  gap:2rem;
  flex-wrap:wrap;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.67rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.release-page-actions a,
.release-page-actions span{
  color:rgba(240,238,232,.68);
  text-decoration:none;
  border-bottom:1px solid rgba(240,238,232,.18);
  padding-bottom:.3rem;
}

.release-page-actions a:hover{
  color:#f0eee8;
  border-color:rgba(240,238,232,.55);
}

.release-disabled{
  opacity:.28;
  border-bottom-color:transparent !important;
  cursor:default;
}

.release-lyrics{
  border-top:1px solid rgba(240,238,232,.07);
  padding:clamp(7rem,14vw,12rem) 2rem clamp(8rem,16vw,14rem);
}

.release-lyrics-inner{
  width:min(92vw,760px);
  margin:0 auto;
}

.release-section-label{
  margin-bottom:2.2rem;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.62rem;
  letter-spacing:.25em;
  color:rgba(240,238,232,.25);
}

.release-lyrics h2{
  margin:0 0 clamp(4rem,8vw,7rem);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,4vw,3.7rem);
  line-height:1;
  font-weight:400;
  letter-spacing:-.035em;
  color:rgba(240,238,232,.82);
}

.lyrics-copy{
  width:min(100%,560px);
}

.lyrics-copy p{
  margin:0 0 2.8rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,1.45vw,1.2rem);
  line-height:1.8;
  color:rgba(240,238,232,.64);
}

.release-archive-page footer{
  background:#050b12;
}

@media(max-width:700px){
  .release-hero{
    width:100%;
    margin-top:0;
    aspect-ratio:4/3;
  }

  .release-header{
    padding-top:4rem;
  }

  .release-lyrics{
    padding-left:6vw;
    padding-right:6vw;
  }

  .lyrics-copy{
    width:100%;
  }
}
