:root{
  --bg:#110e0c;--bg-soft:#181310;--paper:#f2e8dc;--text:#f8f2eb;
  --muted:#cbbdb0;--accent:#d9a36f;--ink:#211a16;--line:rgba(255,255,255,.14);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;color:var(--text);background:radial-gradient(circle at 20% 0%,rgba(196,132,80,.12),transparent 32rem),var(--bg);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;letter-spacing:.03em}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;padding:.75rem 1rem;background:#fff;color:#000}
.skip-link:focus{left:0}
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 5vw;background:linear-gradient(to bottom,rgba(12,9,7,.88),rgba(12,9,7,0));backdrop-filter:blur(6px)}
.brand,.footer-brand{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.nav{display:flex;gap:1.4rem;font-size:.76rem;letter-spacing:.15em;text-transform:uppercase}
.nav a{padding:.35rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a:focus-visible{color:var(--paper);border-color:var(--accent);outline:none}
.menu-button{display:none;border:1px solid var(--line);background:rgba(17,14,12,.65);color:var(--text);padding:.55rem .8rem;letter-spacing:.12em;text-transform:uppercase}
.hero{position:relative;display:grid;min-height:100svh;overflow:hidden;isolation:isolate;background:#17120f}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;padding:5.5rem 4vw 0;background:radial-gradient(circle at 20% 0%,rgba(196,132,80,.16),transparent 30rem),linear-gradient(180deg,#1a1512 0%,#110e0c 100%);z-index:-3}
.hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(12,9,7,.84) 0%,rgba(12,9,7,.42) 42%,rgba(12,9,7,.12) 72%,rgba(12,9,7,.04) 100%),linear-gradient(0deg,rgba(12,9,7,.92) 0%,rgba(12,9,7,.1) 48%,transparent 100%)}
.hero-inner{width:min(var(--max),90vw);margin:auto auto 15vh;align-self:end}
.eyebrow,.section-label,.release-kicker,.news-category{margin:0 0 .8rem;color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.hero h1{margin:0;max-width:9ch;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.6rem,9vw,8rem);font-weight:400;line-height:.92;letter-spacing:-.045em;text-shadow:0 10px 40px rgba(0,0,0,.35)}
.tagline{margin:1.4rem 0 0;max-width:34rem;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.05rem,2.2vw,1.65rem);line-height:1.65;letter-spacing:.08em}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.25rem;border:1px solid transparent;font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.button:hover,.button:focus-visible{transform:translateY(-2px);outline:none}
.button-primary{background:var(--paper);color:var(--ink)}
.button-primary:hover{background:var(--accent)}
.button-ghost{border-color:rgba(255,255,255,.45);color:var(--paper);background:rgba(17,14,12,.25)}
.button-ghost:hover{border-color:var(--accent);color:var(--accent)}
.button-dark{margin-top:1.5rem;background:var(--ink);color:var(--paper);border-color:var(--ink)}
.button-dark:hover{background:transparent;color:var(--ink)}
.release-strip{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem 5vw;background:rgba(17,14,12,.88);border-top:1px solid var(--line);backdrop-filter:blur(8px)}
.release-strip span,.release-strip em{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--muted)}
.release-strip strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.05rem}
.section{padding:clamp(5rem,9vw,8.5rem) 5vw}
.section-inner{width:min(var(--max),100%);margin:0 auto}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}
.section-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,4.3rem);font-weight:400;line-height:1.05;letter-spacing:-.025em}
.news-section{background:#15110f;border-bottom:1px solid var(--line)}
.news-item{display:grid;grid-template-columns:100px 1fr auto;gap:1.5rem;align-items:center;margin-top:3rem;padding:1.4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.news-item time{color:var(--muted);font-family:Georgia,serif}
.news-item h3{margin:.15rem 0 0;font-size:1rem;font-weight:500}
.news-item a{color:var(--accent);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}
.bio-grid,.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.bio-copy,.contact-copy{padding-top:.5rem;color:var(--paper);font-size:clamp(1rem,1.35vw,1.12rem)}
.bio-copy p,.contact-copy p{margin:0 0 1.35rem}
.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fact{padding:1.4rem 1.25rem;border-right:1px solid var(--line)}
.fact:last-child{border-right:0}
.fact dt{margin-bottom:.35rem;color:var(--muted);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
.fact dd{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.12rem}
.music-section{background:var(--paper);color:var(--ink)}
.music-section .section-label{color:#8a5a33}
.release-card{display:grid;grid-template-columns:minmax(260px,430px) minmax(0,1fr);gap:clamp(2rem,6vw,5.5rem);align-items:center;margin-top:3.25rem;padding:clamp(2rem,5vw,4rem) 0;border-top:1px solid rgba(33,26,22,.25);border-bottom:1px solid rgba(33,26,22,.25)}
.release-cover{margin:0}
.release-cover img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#17120f;box-shadow:0 22px 55px rgba(33,26,22,.28)}
.release-title{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.25rem,5vw,4.6rem);font-weight:500;line-height:1.15}
.release-artist{margin:.85rem 0 0;color:#5e5046;font-size:1rem}
.release-status{display:inline-flex;align-items:center;gap:.65rem;margin-top:2rem;padding:.72rem 1rem;border:1px solid rgba(33,26,22,.35);font-size:.82rem;font-weight:700;letter-spacing:.15em}
.release-status::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#9d6337;box-shadow:0 0 0 5px rgba(157,99,55,.13)}
.release-role{margin-top:1.2rem;color:#7d6a5c;font-size:.74rem;letter-spacing:.15em;text-transform:uppercase}
.follow-section{background:linear-gradient(180deg,#110e0c,#17120f)}
.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem}
.social-card{display:flex;align-items:center;gap:1rem;min-height:110px;padding:1.4rem 1.5rem;border:1px solid var(--line);background:rgba(255,255,255,.025);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.social-card:hover,.social-card:focus-visible{transform:translateY(-3px);border-color:var(--accent);background:rgba(217,163,111,.06);outline:none}
.social-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#b2071d;color:#fff;font-size:1.25rem}
.social-x{background:#000;font-size:1.45rem}
.social-card strong,.social-card small{display:block}
.social-card strong{font-family:Georgia,serif;font-size:1.2rem}
.social-card small{margin-top:.15rem;color:var(--muted);font-size:.72rem;letter-spacing:.1em}
.contact-section{background:var(--bg-soft);border-top:1px solid var(--line)}
.contact-email{display:inline-flex;align-items:center;min-height:50px;padding:.85rem 1.1rem;border:1px solid rgba(217,163,111,.55);color:var(--paper);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1rem,2vw,1.25rem);letter-spacing:.04em;transition:background .18s ease,color .18s ease,transform .18s ease}
.contact-email:hover,.contact-email:focus-visible{background:var(--paper);color:var(--ink);transform:translateY(-2px);outline:none}
.site-footer{padding:3rem 5vw 2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem;letter-spacing:.08em}
.footer-top,.footer-bottom{width:min(var(--max),100%);margin:0 auto;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}
.footer-top{padding-bottom:2rem;border-bottom:1px solid var(--line)}
.footer-top nav{display:flex;gap:1rem;flex-wrap:wrap}
.footer-top nav a,.footer-bottom a{border-bottom:1px solid transparent}
.footer-top nav a:hover,.footer-bottom a:hover{color:var(--accent);border-color:var(--accent)}
.footer-bottom{padding-top:1.5rem}
.back-to-top{position:fixed;right:1rem;bottom:1rem;z-index:40;width:46px;height:46px;border:1px solid var(--line);background:rgba(17,14,12,.88);color:var(--paper);opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s ease}
.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
@media(max-width:780px){
  .site-header{min-height:62px;padding:0 1.25rem}
  .brand{font-size:.82rem}
  .menu-button{display:block}
  .nav{position:fixed;inset:62px 0 auto 0;display:none;flex-direction:column;gap:0;padding:1rem 1.25rem 1.5rem;background:rgba(17,14,12,.98);border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:.85rem 0}
  .hero{min-height:96svh}
  .hero-image{object-position:center top;padding:4.5rem 1rem 0}
  .hero-overlay{background:linear-gradient(0deg,rgba(12,9,7,.97) 0%,rgba(12,9,7,.52) 42%,rgba(12,9,7,.12) 72%,rgba(12,9,7,.04) 100%)}
  .hero-inner{width:calc(100% - 2.5rem);margin-bottom:9rem}
  .hero h1{max-width:7ch}
  .tagline{max-width:19rem}
  .release-strip{grid-template-columns:1fr auto;gap:.35rem 1rem;padding-inline:1.25rem}
  .release-strip span{grid-column:1/-1}
  .section{padding-inline:1.25rem}
  .section-heading{display:block}
  .news-item{grid-template-columns:1fr auto}
  .news-item time{grid-column:1/-1}
  .bio-grid,.contact-grid,.release-card{grid-template-columns:1fr;gap:2rem}
  .facts{grid-template-columns:1fr}
  .fact{border-right:0;border-bottom:1px solid var(--line)}
  .fact:last-child{border-bottom:0}
  .release-cover{width:min(100%,34rem);margin-inline:auto}
  .social-grid{grid-template-columns:1fr}
  .contact-email{width:100%;justify-content:center;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


.bio-story p{margin:1.2rem 0 0;color:var(--paper);font-size:clamp(1rem,1.25vw,1.1rem);line-height:2}
.bio-story .section-title{margin-bottom:1.4rem}
.bio-profile{position:sticky;top:110px;padding-top:.5rem}
.bio-profile .facts{grid-template-columns:1fr;margin-top:0}
.bio-profile .fact{border-right:0;border-bottom:1px solid var(--line);padding:1.15rem 0}
.bio-profile .fact:last-child{border-bottom:0}
.music-profile{margin-top:2.2rem;padding-top:1.8rem;border-top:1px solid var(--line)}
.profile-heading{margin:0 0 .6rem;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.profile-list{margin:0}
.profile-item{padding:1rem 0;border-bottom:1px solid var(--line)}
.profile-item:last-child{border-bottom:0}
.profile-item dt{color:var(--muted);font-size:.67rem;letter-spacing:.14em;text-transform:uppercase}
.profile-item dd{margin:.35rem 0 0;color:var(--paper);font-family:Georgia,"Times New Roman","Yu Mincho",serif;font-size:1rem;line-height:1.65}
@media(max-width:780px){
  .bio-profile{position:static}
  .bio-story p{line-height:1.9}
}

.brand-showcase{
  padding:2.25rem 5vw 0;
  background:linear-gradient(180deg, rgba(17,14,12,.95) 0%, #15110f 100%);
}
.brand-showcase .section-inner{
  width:min(980px,100%);
}
.brand-stage{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:linear-gradient(180deg,#140f0d 0%, #0f0b0a 100%);
  box-shadow:0 26px 60px rgba(0,0,0,.28);
}
.brand-stage::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 30%),
    radial-gradient(circle at 50% 50%, rgba(217,163,111,.08), transparent 45%);
  pointer-events:none;
}
.brand-stage img{
  display:block;
  width:100%;
  height:auto;
}
.brand-caption{
  margin:0;
  padding:.9rem 1.1rem 1.05rem;
  color:var(--muted);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-align:center;
}
.bio-signature{
  margin:2rem 0 0;
  width:min(240px, 65%);
}
.bio-signature img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.18));
}
.bio-signature figcaption{
  margin-top:.35rem;
  color:var(--muted);
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
@media(max-width:780px){
  .brand-showcase{
    padding:1.4rem 1.25rem 0;
  }
  .brand-stage{
    border-radius:18px;
  }
  .bio-signature{
    width:min(200px, 72%);
  }
}

.artist-message{
  position:relative;
  margin:2.1rem 0 0;
  padding:1.5rem 1.6rem 1.45rem;
  border-left:2px solid var(--accent);
  background:linear-gradient(90deg,rgba(217,163,111,.09),rgba(217,163,111,.015));
}
.artist-message::before{
  content:"“";
  position:absolute;
  top:.2rem;
  right:1rem;
  color:rgba(217,163,111,.18);
  font-family:Georgia,"Times New Roman",serif;
  font-size:4.5rem;
  line-height:1;
}
.artist-message-label{
  margin:0 0 .55rem;
  color:var(--accent);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.artist-message p:last-child{
  position:relative;
  margin:0;
  color:var(--paper);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.05rem,1.7vw,1.35rem);
  line-height:1.75;
  letter-spacing:.06em;
}
@media(max-width:780px){
  .artist-message{padding:1.25rem 1.2rem}
}

.artist-message{
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "label label"
    "text signature";
  align-items:end;
  column-gap:1.35rem;
}
.artist-message-label{grid-area:label}
.artist-message-text{
  grid-area:text;
  padding-bottom:.18rem;
}
.message-signature{
  grid-area:signature;
  display:block;
  width:clamp(118px,14vw,168px);
  aspect-ratio:2.55/1;
  background:linear-gradient(135deg,#f3d4bd 0%,#d9a36f 50%,#f6dfca 100%);
  -webkit-mask-image:var(--signature-image);
  mask-image:var(--signature-image);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.24));
  transform:translateY(.15rem);
}
@media(max-width:620px){
  .artist-message{
    grid-template-columns:1fr;
    grid-template-areas:
      "label"
      "text"
      "signature";
    row-gap:.85rem;
  }
  .message-signature{
    justify-self:end;
    width:138px;
  }
}

/* v15: editorial message treatment — no boxed card */
.artist-message{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"text signature";
  align-items:end;
  gap:1.1rem;
  margin:3rem 0 0;
  padding:1.7rem 0 0;
  border:0;
  border-top:1px solid rgba(217,163,111,.26);
  background:none;
}
.artist-message::before{display:none}
.artist-message-text{
  grid-area:text;
  margin:0;
  padding:0;
  max-width:28ch;
  color:var(--paper);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.18rem,2vw,1.55rem);
  line-height:1.75;
  letter-spacing:.07em;
}
.message-signature{
  grid-area:signature;
  align-self:end;
  width:clamp(112px,13vw,158px);
  margin:0 0 .12rem;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.18));
}
@media(max-width:620px){
  .artist-message{
    grid-template-columns:1fr;
    grid-template-areas:
      "text"
      "signature";
    gap:.7rem;
    padding-top:1.35rem;
  }
  .message-signature{
    justify-self:end;
    width:132px;
  }
}

/* v16: compact All The RAGE-style logo placement */
.brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.12rem;
  line-height:1;
}
.brand-main{
  font-family:Georgia,"Times New Roman",serif;
  font-size:.95rem;
  letter-spacing:.18em;
}
.brand-sub{
  color:var(--muted);
  font-size:.5rem;
  letter-spacing:.2em;
}
.hero-logo-mark{
  display:block;
  width:min(430px,54vw);
  height:auto;
  margin:.4rem 0 1.15rem;
  object-fit:contain;
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.32));
  -webkit-mask-image:radial-gradient(ellipse at center, #000 64%, transparent 100%);
  mask-image:radial-gradient(ellipse at center, #000 64%, transparent 100%);
}
.sr-only{
  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:780px){
  .hero-logo-mark{
    width:min(340px,78vw);
    margin:.35rem 0 .9rem;
  }
}

/* v17: no logo treatment */
.site-header .brand{
  display:inline-block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.82rem;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
}
.hero-logo-mark{display:none!important}

/* v18: extracted transparent signature only */
.message-signature{display:none!important}
.message-signature-img{
  grid-area:signature;
  display:block;
  width:clamp(112px,13vw,158px);
  height:auto;
  margin:0 0 .12rem;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.16));
}
@media(max-width:620px){
  .message-signature-img{
    justify-self:end;
    width:132px;
  }
}

/* v19: true extracted lettering only */
.message-signature-img{
  width:clamp(104px,12vw,148px);
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  opacity:.96;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.16));
}

/* v20: aggressive signature-only extraction */
.message-signature-img{
  display:block;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
  mix-blend-mode:screen;
}

/* v24: remove signature from message area */
.artist-message{
  grid-template-columns:1fr !important;
  grid-template-areas:"text" !important;
}
.message-signature,
.message-signature-img,
.bio-signature{
  display:none !important;
}

.platform-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.4rem;
}
.platform-button{
  min-width:150px;
}
@media(max-width:520px){
  .platform-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .platform-button{
    width:100%;
  }
}
.news-item + .news-item{margin-top:0;border-top:0}
.music-section .release-card + .release-card{margin-top:0;border-top:0}
