
:root{
  --bg:#070b1d;
  --bg2:#0c1434;
  --bg3:#091129;
  --panel:rgba(255,255,255,.045);
  --panel-2:rgba(255,255,255,.03);
  --text:#efe9de;
  --text-soft:rgba(239,233,222,.76);
  --text-muted:rgba(239,233,222,.54);
  --line:rgba(239,233,222,.14);
  --line-strong:rgba(239,233,222,.24);
  --gold:#d6c59b;
  --radius:30px;
  --shadow:0 24px 80px rgba(0,0,0,.28);
  --max:1140px;
  --max-narrow:860px;
  --font-latin:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-cjk:"Noto Serif SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font:16px/1.7 var(--font-latin);
  background:
    radial-gradient(circle at 50% 78%, rgba(244,239,229,.18) 0%, rgba(214,197,155,.08) 10%, rgba(214,197,155,.02) 20%, transparent 36%),
    linear-gradient(180deg,var(--bg) 0%,var(--bg2) 54%,var(--bg3) 100%);
  min-height:100vh;
}

/* Skip to content */
.skip-link{
  position:absolute;top:-60px;left:16px;
  background:var(--text);color:var(--bg);
  padding:10px 18px;border-radius:0 0 8px 8px;
  font-size:13px;font-weight:500;letter-spacing:.06em;
  z-index:200;transition:top .15s ease;text-decoration:none;
}
.skip-link:focus{top:0}

/* CJK typography */
:lang(zh),.lyrics,[lang="zh"],[lang="zh-Hans"]{
  font-family:var(--font-cjk);
  letter-spacing:.04em;
  line-height:1.9;
}
.lyrics{
  font-family:var(--font-cjk);
  font-weight:300;
  font-size:17px;
  line-height:2.1;
}
.statement p{line-height:1.6}

/* Mobile nav drawer */
.nav-toggle{
  display:none;background:none;border:none;cursor:pointer;
  padding:8px;margin:-8px;color:var(--text);
}
.nav-toggle svg{display:block;width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.nav-overlay{
  display:none;position:fixed;inset:0;z-index:48;
  background:rgba(0,0,0,.4);backdrop-filter:blur(2px);
  opacity:0;transition:opacity .25s ease;
}
.nav-drawer{
  position:fixed;top:0;right:-100%;z-index:49;
  width:min(280px,80vw);height:100%;
  background:rgba(10,15,38,.97);
  border-left:1px solid rgba(255,255,255,.1);
  padding:80px 32px 40px;
  display:flex;flex-direction:column;gap:8px;
  transition:right .28s cubic-bezier(.4,0,.2,1);
}
.nav-drawer a{
  font-size:15px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.7);
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:color .15s;
}
.nav-drawer a:hover,.nav-drawer a[aria-current="page"]{color:#fff}
.nav-drawer .close-btn{
  position:absolute;top:22px;right:22px;
  background:none;border:none;cursor:pointer;
  color:rgba(255,255,255,.6);padding:8px;
}
.nav-drawer .close-btn svg{display:block;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
body.nav-open{overflow:hidden}
body.nav-open .nav-overlay{display:block;opacity:1}
body.nav-open .nav-drawer{right:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.container{width:min(var(--max), calc(100% - 48px)); margin:0 auto}
.narrow{width:min(var(--max-narrow), calc(100% - 48px)); margin:0 auto}
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(16px);
  background:rgba(8,12,31,.55);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{
  min-height:74px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.brand{
  font-size:12px; text-transform:uppercase; letter-spacing:.28em;
}
.nav{display:flex; align-items:center; gap:22px; flex-wrap:wrap}
.nav a{
  font-size:11px; text-transform:uppercase; letter-spacing:.16em;
  color:rgba(255,255,255,.72);
}
.nav a[aria-current="page"], .nav a:hover{color:#fff}
.hero{
  min-height:88vh;
  display:grid; place-items:center; text-align:center;
  position:relative; overflow:hidden;
}
.hero:after{
  content:""; position:absolute; inset:auto 0 0 0; height:160px;
  background:linear-gradient(to top, rgba(7,11,29,1), transparent);
}
.hero-inner{position:relative; z-index:2; padding:84px 0 110px}
.logo-wrap{
  width:160px; height:160px; margin:0 auto 30px;
  display:grid; place-items:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);
  box-shadow:0 0 100px rgba(255,255,255,.07);
  overflow:hidden;
}
.logo-wrap img{
  width:100%; height:100%;
  object-fit:cover;
  border-radius:999px;
}
.eyebrow{
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.56);
}
h1,h2,h3,h4,p,pre{margin:0}
h1{
  margin-top:14px;
  font-size:clamp(38px,7vw,74px);
  line-height:1.05;
  font-weight:300;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.hero-tag{
  margin:18px auto 0;
  max-width:760px;
  font-size:clamp(17px,2.2vw,21px);
  color:var(--text-soft);
}
.hero-sub{
  margin:14px auto 0;
  max-width:760px;
  color:var(--text-muted);
}
.actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:34px}
.btn{
  min-height:44px; padding:0 20px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px;
  border:1px solid rgba(239,233,222,.35);
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  transition:.2s ease;
}
.btn:hover{background:rgba(255,255,255,.04); border-color:rgba(239,233,222,.6)}
.btn-ghost{border:none; padding:0; color:rgba(255,255,255,.74)}
.btn-ghost:hover{background:none; color:#fff}
.section{padding:94px 0}
.section-tight{padding:50px 0}
.section-head{
  display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px;
}
.section-title{
  font-size:clamp(30px,4.6vw,52px);
  line-height:1.12;
  font-weight:300;
}
.section-head p{max-width:430px; font-size:15px; color:var(--text-muted)}
.grid-2{display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center}
.grid-2-even{display:grid; grid-template-columns:repeat(2,1fr); gap:24px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.grid-song{display:grid; grid-template-columns:1.15fr .85fr; gap:32px; align-items:start}
.card{
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(180deg, var(--panel), var(--panel-2));
  backdrop-filter:blur(14px);
  box-shadow:var(--shadow);
}

.statement{padding:54px 34px; text-align:center}
.statement p{
  font-size:clamp(24px,4vw,40px);
  line-height:1.42;
  font-weight:300;
}
.copy .lead{font-size:18px; color:var(--text-soft)}
.copy .muted, .muted{font-size:15px; color:var(--text-muted)}
.copy p + p{margin-top:18px}
.feature-copy h3{font-size:clamp(32px,4.2vw,54px); font-weight:300; margin-top:12px}
.links,.socials{display:flex; gap:16px; flex-wrap:wrap; margin-top:28px}
.links a,.socials a{
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.8);
}
.links a:hover,.socials a:hover{color:#fff}
.track-card .body{padding:28px}
.track-card h3{font-size:30px; font-weight:300}
.track-card p{margin-top:10px; color:var(--text-soft)}
.pillars .card,.service-stack .card,.song-panel,.artist-card{padding:28px}
.pillars h3{font-size:19px; font-weight:500}
.pillars p,.service-stack p,.artist-card p,.song-panel p{margin-top:12px; color:var(--text-muted)}
.service-stack{display:grid; gap:18px}
.service-stack h3{font-size:28px; font-weight:300}
.artist-grid{display:grid; grid-template-columns:180px 1fr; gap:24px; align-items:start}
.artist-avatar{
  width:180px; aspect-ratio:1/1;
  border-radius:28px; overflow:hidden;
  border:1px solid var(--line);
}
.artist-avatar img{width:100%; height:100%; object-fit:cover; object-position:top center}
.artist-card h3{font-size:30px; font-weight:300}
.artist-meta{
  margin-top:8px;
  font-size:14px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--text-muted);
}

.process{padding:28px}
.process-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:16px}
.process-step{
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  background:rgba(255,255,255,.02);
  padding:18px;
}
.process-step .num{
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.44)
}
.process-step .label{margin-top:10px; font-size:15px; color:rgba(255,255,255,.86)}
.contact-wrap{padding:40px}
.contact-grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:54px}
.form-group{margin-bottom:22px}
label{
  display:block; margin-bottom:8px;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
input,select,textarea{
  width:100%;
  border:none; border-bottom:1px solid rgba(255,255,255,.20);
  background:transparent;
  padding:12px 0; color:#fff; font:inherit;
}
textarea{min-height:120px; resize:vertical}
input:focus,select:focus,textarea:focus{outline:none; border-bottom-color:rgba(255,255,255,.52)}
option{background:#0b122d}
.note{margin-top:22px; color:var(--text-muted); font-size:14px}
.song-meta{
  display:flex; gap:24px; flex-wrap:wrap;
  color:var(--text-muted); font-size:14px; margin-top:16px;
}
.lyrics{
  white-space:pre-wrap;
  color:var(--text-soft);
  line-height:1.92;
}
.embed-wrap{
  aspect-ratio:16/9; border-radius:24px; overflow:hidden; border:1px solid var(--line);
  width:100%; position:relative;
}
.embed-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:block}
.footer{
  border-top:1px solid rgba(255,255,255,.1);
  padding:28px 0 44px;
}
.footer-inner{display:flex; justify-content:space-between; align-items:center; gap:24px}
.footer .brand{color:rgba(255,255,255,.82)}
.footer small{
  color:rgba(255,255,255,.38);
  letter-spacing:.16em; text-transform:uppercase;
}
.center{text-align:center}
.mt-20{margin-top:20px}

/* ── Song table ─────────────────────────────────────────── */
.table{overflow:hidden}
.table-head,.table-row{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:16px;
  padding:16px 24px;
  align-items:center;
}
.table-head{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.46);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.table-row{
  font-size:15px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.table-row:last-child{border-bottom:none}
.table-row span:nth-child(2),
.table-row span:nth-child(3){color:rgba(255,255,255,.68)}
.song-title-link{
  color:var(--text);
  text-decoration:none;
}
.song-title-link:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}


/* ── Cover image — works as div or <a> link ─────────────── */
.cover{display:block;overflow:hidden}
.cover img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .35s ease,opacity .25s ease}
a.cover{cursor:pointer;display:block}
a.cover:hover img{transform:scale(1.03);opacity:0.92}

@media (max-width:980px){
  .grid-2,.grid-2-even,.grid-song,.contact-grid,.artist-grid{grid-template-columns:1fr; gap:28px}
  .grid-3{grid-template-columns:1fr}
  .section-head,.footer-inner{display:block}
  .section-head p,.footer-inner small{margin-top:12px; display:block}
  .process-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .container,.narrow{width:min(100% - 32px, var(--max))}
  .header-inner{min-height:68px}
  .nav{display:none}
  .nav-toggle{display:block}
  .logo-wrap{width:130px; height:130px}
  .section{padding:74px 0}
  .statement{padding:34px 22px}
  
  .process-grid{grid-template-columns:1fr}
  .contact-wrap{padding:26px}
  .artist-avatar{width:100%}
  .table-head,.table-row{grid-template-columns:2fr 1fr 1fr; padding:12px 16px; font-size:13px}
}
.step-note{margin-top:8px;font-size:13px;color:rgba(255,255,255,.5);line-height:1.55}
/* Song title links in cards and table */
.track-card h3 a, .song-title-link{
  color:var(--text);
  text-decoration:none;
  transition:color .18s;
}
.track-card h3 a:hover, .song-title-link:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}
/* ── Song page: new layout ─────────────────────────────── */
.song-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.song-writeup{display:flex;flex-direction:column;gap:20px}
.song-writeup h2{font-size:clamp(13px,1.8vw,16px);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.song-writeup p{color:var(--text-soft);line-height:1.8;margin:0}
.song-writeup .summary-text{font-size:17px;color:var(--text-soft);line-height:1.8}
.song-writeup .notes-text{font-size:15px;color:var(--text-muted);line-height:1.8}

/* YouTube embed — full width, cinematic */
.song-embed{margin-top:56px}
.embed-wrap{aspect-ratio:16/9;border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.embed-wrap iframe{width:100%;height:100%;display:block;border:none}

/* Song details — horizontal strip */
.song-details-strip{
  margin-top:32px;
  padding:18px 28px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--panel);
  display:flex;align-items:center;flex-wrap:wrap;gap:20px 32px;
}
.song-details-strip .meta-item{
  font-size:13px;color:var(--text-muted);
  display:flex;align-items:center;gap:6px;
}
.song-details-strip .meta-item strong{
  color:var(--text-soft);font-weight:500;
}
.song-details-strip .meta-divider{
  width:1px;height:16px;background:var(--line-strong);flex-shrink:0;
}
.stream-icons{display:flex;align-items:center;gap:12px;margin-left:auto}
.stream-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  border:1px solid var(--line-strong);
  color:var(--text-soft);
  transition:all .2s ease;
  flex-shrink:0;
}
.stream-icon:hover{border-color:var(--text-soft);color:#fff;background:rgba(255,255,255,.06)}
.stream-icon svg{width:16px;height:16px;fill:currentColor}

/* Lyrics — full width, generous spacing */
.song-lyrics-section{margin-top:40px}
.song-lyrics-section h2{
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-muted);margin-bottom:24px;
}

@media(max-width:780px){
  .song-hero{grid-template-columns:1fr;gap:28px}
  .song-details-strip{flex-direction:column;align-items:flex-start;gap:14px}
  .stream-icons{margin-left:0}
}
/* ── Song page write-up column ─────────────────────────── */
.song-writeup{display:flex;flex-direction:column;gap:28px;justify-content:flex-start}
.song-writeup-block h3{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}
.song-writeup-block .lead{font-size:17px;line-height:1.8;color:var(--text-soft)}
.song-writeup-block .muted{font-size:15px;line-height:1.8}
