@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --black: #060609;
  --black-2: #0a0a10;
  --navy: #0a1020;
  --navy-2: #11162a;
  --indigo: #20163b;
  --purple: #482760;
  --purple-2: #674080;
  --violet: #8a68a0;
  --violet-bright: #9f73bd;
  --silver: #b9b5c0;
  --soft: #e8e3eb;
  --white: #f7f4f8;
  --muted: #9b94a1;
  --line: rgba(255,255,255,.09);
  --line-purple: rgba(143,104,166,.27);
  --radius: 20px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--white);
  background:
    radial-gradient(circle at 82% 6%, rgba(70,38,95,.18), transparent 28rem),
    radial-gradient(circle at 8% 42%, rgba(12,27,57,.24), transparent 30rem),
    var(--black);
  font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif;
  line-height: 1.6;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .12;
  background-image:
    linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.011) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, black, transparent 80%);
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }

.container { width: min(var(--max), calc(100% - 32px)); margin: 0 auto; }
.eyebrow { text-transform: uppercase; letter-spacing: .22em; font-size: .74rem; color: #aaa2b3; }
.display { font-family: "Cormorant Garamond", Georgia, serif; letter-spacing: .012em; }
.section { padding: 78px 0; }
.section-tight { padding: 56px 0; }
.muted { color: var(--muted); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(18px);
  background: rgba(6,6,9,.88);
  border-bottom: 1px solid var(--line);
}
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display:flex; align-items:center; gap:12px; min-width:0; }
.brand-logo { width:48px; height:48px; border-radius:50%; object-fit:cover; border:1px solid rgba(165,126,187,.3); box-shadow:0 0 22px rgba(104,58,131,.12); }
.brand-copy strong { display:block; font-family:"Cormorant Garamond", serif; font-size:1.13rem; letter-spacing:.16em; }
.brand-copy span { display:block; color:#8f8996; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; }
.site-nav { display:flex; gap: 25px; align-items:center; font-size:.9rem; color:#c5c0c9; }
.site-nav a { position:relative; padding:28px 0 25px; }
.site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:20px; height:1px; background:#7f5b93; transition:.18s ease; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: white; }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { right:0; }
.menu-button { display:none; border:1px solid var(--line); background:#0d0d15; color:white; border-radius:12px; padding:10px 12px; }

.hero { position:relative; overflow:hidden; min-height: 700px; display:flex; align-items:center; border-bottom:1px solid var(--line); }
.hero::before {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(circle at 74% 38%, rgba(93,50,121,.27), transparent 20rem),
    linear-gradient(112deg, rgba(6,6,9,.985) 20%, rgba(8,12,25,.94) 53%, rgba(27,17,39,.86) 100%);
}
.hero::after {
  content:""; position:absolute; width:500px; height:500px; border-radius:50%; right:-85px; top:95px;
  border:1px solid rgba(173,137,194,.095);
  box-shadow: 0 0 0 55px rgba(120,77,149,.025), 0 0 0 115px rgba(120,77,149,.014);
}
.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns: 1.18fr .82fr; gap:62px; align-items:center; }
.hero h1 { margin: 14px 0 22px; max-width: 780px; font-size: clamp(3.25rem, 7vw, 6.8rem); line-height: .88; font-weight:600; }
.hero p { margin:0; max-width: 680px; color:#c0bac6; font-size:1.08rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-emblem { position:relative; display:grid; place-items:center; }
.hero-emblem::before { content:""; position:absolute; width:84%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(159,116,184,.12); box-shadow:0 0 0 34px rgba(104,59,132,.025),0 0 0 76px rgba(104,59,132,.014); }
.hero-logo { width:min(100%,390px); aspect-ratio:1; object-fit:cover; border-radius:50%; position:relative; z-index:2; box-shadow:0 28px 90px rgba(0,0,0,.45); opacity:.96; }
.moon-row { display:flex; gap:10px; align-items:center; margin-top:24px; color:#766d7b; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; }
.moon { width:11px; height:11px; border-radius:50%; border:1px solid #73627e; display:inline-block; position:relative; overflow:hidden; }
.moon.full { background:#73627e; opacity:.55; }
.moon.half::after { content:""; position:absolute; width:100%; height:100%; left:50%; background:#73627e; opacity:.5; }

.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border-radius:13px; border:1px solid var(--line); font-weight:600; font-size:.92rem; cursor:pointer; transition:.18s ease; }
.btn-primary { background:linear-gradient(180deg,#57366f,#442a59); border-color:rgba(179,145,200,.22); }
.btn-primary:hover { transform:translateY(-1px); background:linear-gradient(180deg,#62407a,#4f3065); }
.btn-ghost { background:rgba(255,255,255,.025); color:#ded8e3; }
.btn-ghost:hover { border-color:rgba(159,124,181,.4); background:rgba(95,62,117,.11); }
.btn-small { min-height:40px; padding:0 14px; font-size:.82rem; }

.section-heading { display:flex; justify-content:space-between; gap:22px; align-items:end; margin-bottom:28px; }
.section-heading h2 { margin:2px 0 0; font-size:clamp(2.3rem,5vw,4.2rem); line-height:1; font-weight:600; }
.section-heading p { max-width:560px; margin:0; color:#98919d; font-size:.95rem; }
.text-link { color:#c7bbcf; font-weight:600; font-size:.9rem; }
.text-link:hover { color:white; }

.cards { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.card { border:1px solid var(--line-purple); border-radius:var(--radius); overflow:hidden; background:linear-gradient(180deg,rgba(17,20,35,.9),rgba(10,10,17,.96)); transition:.2s ease; }
.card:hover { transform:translateY(-4px); border-color:rgba(139,106,162,.52); }
.card-art { position:relative; min-height:220px; background: radial-gradient(circle at 65% 35%, rgba(104,64,135,.48), transparent 25%), linear-gradient(135deg,#10182d 0%,#231632 58%,#0d0c13 100%); overflow:hidden; }
.card-art::before { content:""; position:absolute; width:220px; height:220px; border-radius:50%; right:-68px; bottom:-74px; border:1px solid rgba(255,255,255,.08); box-shadow:0 0 0 28px rgba(255,255,255,.015); }
.card-art::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(5,5,8,.58),transparent 56%); }
.badge { position:absolute; z-index:2; left:18px; bottom:18px; padding:7px 10px; border-radius:999px; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; background:rgba(18,16,27,.82); border:1px solid rgba(180,150,198,.2); color:#d8cbe1; backdrop-filter:blur(10px); }
.card-body { padding:22px; }
.meta { color:#88828d; font-size:.73rem; letter-spacing:.06em; text-transform:uppercase; }
.card h3 { margin:6px 0 10px; font-family:"Cormorant Garamond",serif; font-size:1.75rem; line-height:1.03; }
.card p { margin:0; color:#aaa4ae; font-size:.92rem; }
.card .read { display:inline-flex; margin-top:19px; font-size:.84rem; font-weight:700; color:#ddd2e4; }

.music-strip { border-block:1px solid var(--line); background:linear-gradient(100deg,rgba(8,13,26,.9),rgba(25,15,34,.75)); }
.music-feature-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:42px; align-items:center; }
.album-mark { min-height:360px; border:1px solid var(--line-purple); border-radius:26px; background: radial-gradient(circle at 50% 30%,rgba(114,70,143,.3),transparent 28%),linear-gradient(150deg,#080b12,#171023 62%,#08080d); display:grid; place-items:center; position:relative; overflow:hidden; }
.album-mark::before { content:""; position:absolute; width:260px;height:260px;border-radius:50%;border:1px solid rgba(164,126,186,.14);box-shadow:0 0 0 42px rgba(128,82,153,.025),0 0 0 90px rgba(128,82,153,.014); }
.album-mark img { width:205px; height:205px; object-fit:cover; border-radius:50%; opacity:.86; position:relative; z-index:2; filter:saturate(.84) contrast(1.04); }
.music-copy h2 { margin:6px 0 14px; font-size:clamp(2.5rem,5vw,4.5rem); line-height:.95; }
.music-copy p { color:#aaa3af; margin:0 0 22px; max-width:620px; }
.music-pills { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 25px; }
.music-pill { border:1px solid rgba(145,108,167,.2); background:rgba(90,59,111,.10); padding:7px 10px; border-radius:999px; font-size:.72rem; color:#cfc3d6; }

.collection { margin-bottom:58px; }
.collection:last-child { margin-bottom:0; }
.collection-head { display:flex; justify-content:space-between; gap:20px; align-items:end; padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:18px; }
.collection-head h2 { margin:2px 0 3px; font-size:clamp(2.2rem,4.5vw,3.8rem); line-height:1; }
.collection-head p { margin:0; color:#928b97; }
.status-pill { flex:0 0 auto; border:1px solid rgba(143,104,166,.26); background:rgba(84,53,106,.12); color:#cabbd3; border-radius:999px; padding:7px 10px; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.track-list { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.track { border:1px solid var(--line); background:linear-gradient(110deg,rgba(13,16,27,.92),rgba(18,12,24,.88)); border-radius:15px; padding:16px 17px; display:grid; grid-template-columns:38px 1fr auto; gap:13px; align-items:center; }
.track-no { width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(139,106,162,.2);color:#8d8194;font-size:.72rem; }
.track strong { display:block; font-family:"Cormorant Garamond",serif; font-size:1.25rem; line-height:1.08; }
.track span { display:block; color:#89828e; font-size:.74rem; margin-top:3px; }
.listen { color:#cfc0d8; font-size:.8rem; font-weight:600; }
.listen.disabled { color:#6f6872; font-weight:500; }

.video-grid { display:grid; grid-template-columns:1.45fr .55fr; gap:20px; }
.video-feature, .video-mini { border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(135deg,#0d1222,#181020); overflow:hidden; }
.video-feature { min-height:360px; display:flex; flex-direction:column; justify-content:space-between; padding:24px; position:relative; }
.video-feature::after { content:""; position:absolute; width:250px;height:250px;border-radius:50%;right:-74px;top:36px;background:radial-gradient(circle,rgba(100,59,127,.24),transparent 64%); }
.video-feature iframe { width:100%; aspect-ratio:16/9; border:0; border-radius:14px; position:relative; z-index:2; background:#050508; }
.video-placeholder { flex:1; display:grid; place-items:center; text-align:center; min-height:260px; position:relative; z-index:2; }
.play { width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:1.15rem; }
.video-title { font-family:"Cormorant Garamond",serif; font-size:2rem; }
.video-stack { display:grid; gap:20px; }
.video-mini { min-height:170px; padding:20px; display:flex; align-items:end; background:linear-gradient(145deg,#101627,#23152c); }
.video-mini strong { display:block; font-family:"Cormorant Garamond",serif; font-size:1.35rem; }
.video-mini span { display:block; color:#8e8793; font-size:.8rem; }

.about-panel { border:1px solid var(--line); border-radius:26px; background:linear-gradient(100deg,rgba(10,13,24,.95),rgba(24,15,31,.8)); padding:36px; display:grid; grid-template-columns:.7fr 1.3fr; gap:50px; }
.about-panel h2 { margin:4px 0 0; font-size:clamp(2.3rem,5vw,4rem); line-height:.98; }
.about-panel p { margin:0; color:#c0bbc4; font-size:1rem; }

.follow { text-align:center; }
.follow h2 { margin:7px auto 14px; max-width:760px; font-size:clamp(2.25rem,5vw,4rem); line-height:1; }
.follow p { color:#99929f; max-width:640px; margin:0 auto; }
.socials { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:24px; }
.social-link { padding:11px 15px; border:1px solid var(--line); border-radius:12px; color:#cfc8d3; background:rgba(255,255,255,.02); }
.social-link:hover { border-color:rgba(142,106,164,.42); color:white; }
.social-link.disabled { opacity:.38; pointer-events:none; }

.site-footer { border-top:1px solid var(--line); padding:34px 0 46px; color:#827c86; font-size:.8rem; }
.footer-inner { display:flex; justify-content:space-between; gap:22px; flex-wrap:wrap; }
.footer-links { display:flex; flex-wrap:wrap; gap:14px; }
.footer-links a:hover { color:#cfc7d3; }

.page-hero { padding:96px 0 56px; border-bottom:1px solid var(--line); background:linear-gradient(120deg,#060609,#0c1120 62%,#1b1025); position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; width:380px;height:380px;border-radius:50%;right:-130px;top:-120px;border:1px solid rgba(150,111,173,.08);box-shadow:0 0 0 50px rgba(110,71,133,.018); }
.page-hero h1 { margin:5px 0 12px; font-size:clamp(3.1rem,7vw,6rem); line-height:.92; }
.page-hero p { max-width:760px; color:#aaa3af; margin:0; }

.article { max-width:820px; margin:0 auto; }
.article h1 { margin:.25em 0 .22em; font-size:clamp(3rem,8vw,5.6rem); line-height:.9; }
.article .dek { font-size:1.16rem; color:#bbb4bf; margin-bottom:30px; }
.article .article-meta { color:#8c8590; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }
.article-body { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.35rem; line-height:1.72; color:#ddd7e0; }
.article-body p { margin:0 0 1.25em; }
.article-body h2 { font-size:2rem; margin:1.5em 0 .55em; color:white; }
.article-rule { width:120px;height:1px;background:linear-gradient(90deg,#754f8f,transparent);margin:36px 0; }

.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:34px; align-items:start; }
.contact-card, .contact-form { border:1px solid var(--line); border-radius:22px; background:linear-gradient(140deg,rgba(13,16,27,.95),rgba(20,13,27,.88)); padding:26px; }
.contact-card h2 { font-size:2.2rem; margin:4px 0 12px; }
.contact-card p { color:#aaa3af; }
.contact-form label { display:block; color:#aaa3af; font-size:.78rem; margin:0 0 6px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { margin-bottom:14px; }
.contact-form input, .contact-form textarea, .contact-form select { width:100%; color:white; background:#0a0a10; border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:12px 13px; outline:none; }
.contact-form textarea { min-height:150px; resize:vertical; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color:rgba(145,108,167,.5); box-shadow:0 0 0 3px rgba(91,59,115,.12); }
.form-note { color:#77707b; font-size:.75rem; margin-top:12px; }

.empty-note { border:1px dashed rgba(160,130,178,.26); border-radius:16px; padding:24px; color:#9c95a1; background:rgba(255,255,255,.015); }

@media (max-width: 900px) {
  .site-nav { display:none; }
  .menu-button { display:block; }
  .site-nav.open { display:flex; position:absolute; top:78px; left:16px; right:16px; flex-direction:column; gap:0; padding:8px; border:1px solid var(--line); border-radius:16px; background:#0b0b12; box-shadow:0 18px 60px rgba(0,0,0,.45); }
  .site-nav.open a { padding:12px 14px; width:100%; }
  .site-nav.open a::after { display:none; }
  .hero { min-height:auto; padding:86px 0 72px; }
  .hero-grid, .about-panel, .music-feature-grid, .contact-grid { grid-template-columns:1fr; }
  .hero-emblem { order:-1; max-width:260px; margin:0 auto -16px; }
  .hero-logo { width:230px; }
  .cards { grid-template-columns:1fr 1fr; }
  .video-grid { grid-template-columns:1fr; }
  .video-stack { grid-template-columns:1fr 1fr; }
  .track-list { grid-template-columns:1fr; }
}

@media (max-width: 620px) {
  .container { width:min(100% - 24px,var(--max)); }
  .brand-logo { width:43px; height:43px; }
  .brand-copy span { display:none; }
  .section { padding:58px 0; }
  .hero h1 { font-size:3.7rem; }
  .hero p { font-size:1rem; }
  .section-heading, .collection-head { align-items:start; flex-direction:column; }
  .cards, .video-stack { grid-template-columns:1fr; }
  .about-panel { padding:24px; gap:24px; }
  .card-art { min-height:190px; }
  .album-mark { min-height:290px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .track { grid-template-columns:34px 1fr; }
  .track .listen { grid-column:2; }
}


/* V1.1 — featured music experience */
.music-hero { background:radial-gradient(circle at 78% 40%,rgba(93,50,121,.20),transparent 25rem); }
.featured-release-section { padding-top:54px; }
.release-card { display:grid; grid-template-columns:minmax(260px,420px) 1fr; gap:46px; align-items:center; border:1px solid var(--line-purple); border-radius:26px; padding:24px; background:linear-gradient(125deg,rgba(11,14,25,.98),rgba(28,17,38,.94)); transition:.2s ease; overflow:hidden; }
.release-card:hover { transform:translateY(-3px); border-color:rgba(150,112,174,.5); }
.release-cover-wrap { position:relative; border-radius:20px; overflow:hidden; aspect-ratio:1; background:#08080c; }
.release-cover { width:100%; height:100%; object-fit:cover; }
.release-cover-wrap::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(6,6,9,.28),transparent 45%); pointer-events:none; }
.release-play { position:absolute; z-index:2; right:18px; bottom:18px; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; padding-left:4px; background:#68417f; color:white; border:1px solid rgba(255,255,255,.16); box-shadow:0 12px 30px rgba(0,0,0,.4); }
.release-kicker { color:#aaa2b3; text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; }
.release-copy h3 { font-size:clamp(2.6rem,5vw,5rem); line-height:.92; margin:8px 0 14px; }
.release-copy p { color:#aaa3af; max-width:650px; margin:0 0 24px; }

.song-hero { padding:78px 0 64px; border-bottom:1px solid var(--line); background:radial-gradient(circle at 22% 38%,rgba(116,64,77,.18),transparent 24rem),radial-gradient(circle at 82% 16%,rgba(70,44,99,.23),transparent 28rem),linear-gradient(120deg,#060609,#0a0e18 52%,#17101f); }
.song-hero-grid { display:grid; grid-template-columns:minmax(280px,470px) 1fr; gap:58px; align-items:center; }
.song-cover-frame { border-radius:28px; overflow:hidden; border:1px solid rgba(177,137,190,.22); box-shadow:0 34px 90px rgba(0,0,0,.42); background:#09090d; }
.song-cover-frame img { width:100%; aspect-ratio:1; object-fit:cover; }
.song-main h1 { font-size:clamp(3.3rem,7vw,6.6rem); line-height:.88; margin:12px 0 16px; }
.song-tagline { max-width:670px; color:#b8b1bd; font-size:1.08rem; margin:0 0 28px; }
.song-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.audio-player { display:grid; grid-template-columns:62px minmax(0,1fr) 126px; gap:16px; align-items:center; max-width:760px; padding:16px; border:1px solid rgba(155,117,177,.24); border-radius:18px; background:rgba(6,6,10,.58); backdrop-filter:blur(14px); }
.audio-play { width:58px; height:58px; border:1px solid rgba(255,255,255,.15); border-radius:50%; background:linear-gradient(180deg,#65417d,#4d315f); color:white; cursor:pointer; font-size:1rem; display:grid; place-items:center; }
.audio-play:hover { background:linear-gradient(180deg,#74508b,#59386d); }
.audio-track-name { display:flex; justify-content:space-between; gap:10px; align-items:baseline; margin-bottom:8px; }
.audio-track-name strong { font-family:"Cormorant Garamond",serif; font-size:1.15rem; }
.audio-track-name span { color:#8f8894; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.audio-progress, .audio-volume input { accent-color:#76508f; width:100%; cursor:pointer; }
.audio-times { display:flex; justify-content:space-between; color:#817a86; font-size:.68rem; margin-top:3px; }
.audio-volume { display:flex; gap:7px; align-items:center; color:#918999; }
.song-story-section { background:linear-gradient(180deg,rgba(11,13,22,.56),rgba(7,7,11,0)); }
.song-story-grid { display:grid; grid-template-columns:.38fr .62fr; gap:64px; align-items:start; }
.song-facts { border-top:1px solid var(--line-purple); padding-top:18px; position:sticky; top:110px; }
.song-facts dl { margin:20px 0 0; }
.song-facts dl div { padding:14px 0; border-bottom:1px solid var(--line); }
.song-facts dt { color:#817a86; font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; }
.song-facts dd { margin:3px 0 0; color:#d8d2dc; }
.song-story h2 { font-size:clamp(2.8rem,5vw,4.8rem); line-height:.95; margin:8px 0 22px; }
.song-story p { color:#b4adb8; font-size:1.02rem; line-height:1.82; margin:0 0 20px; }
.song-story strong { color:#e6dce9; }
.music-feedback { border-top:1px solid var(--line); }
.feedback-panel { display:flex; justify-content:space-between; gap:32px; align-items:center; padding:34px; border-radius:24px; border:1px solid var(--line-purple); background:linear-gradient(110deg,rgba(14,18,31,.92),rgba(28,17,38,.82)); }
.feedback-panel h2 { font-size:clamp(2.5rem,5vw,4rem); line-height:.95; margin:4px 0 8px; }
.feedback-panel p { margin:0; color:#a8a1ad; max-width:700px; }

.quick-message-section { border-top:1px solid var(--line); background:linear-gradient(110deg,rgba(8,12,22,.6),rgba(24,15,34,.5)); }
.quick-message-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:54px; align-items:start; }
.quick-message-intro h2 { font-size:clamp(3rem,5vw,4.8rem); line-height:.92; margin:7px 0 18px; }
.quick-message-intro p { color:#aca5b0; }
.form-note { font-size:.82rem; }
.quick-form { border:1px solid var(--line-purple); border-radius:22px; padding:26px; background:rgba(10,10,17,.82); }
.form-field { margin-bottom:18px; }
.form-field label { display:flex; justify-content:space-between; gap:8px; margin-bottom:7px; color:#d7d1db; font-size:.84rem; font-weight:600; }
.form-field label span { color:#77717d; font-size:.72rem; font-weight:400; text-transform:uppercase; letter-spacing:.08em; }
.form-field input, .form-field textarea { width:100%; border:1px solid rgba(255,255,255,.11); border-radius:12px; background:#0b0b12; color:#f4f1f5; padding:13px 14px; outline:none; resize:vertical; }
.form-field input:focus, .form-field textarea:focus { border-color:rgba(143,104,166,.62); box-shadow:0 0 0 3px rgba(112,73,136,.12); }
.form-honey { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-submit:disabled { opacity:.65; cursor:wait; }
.form-status { min-height:1.4rem; margin-top:12px; font-size:.82rem; color:#9d96a2; }
.form-status.success { color:#b9d5bd; }
.form-status.error { color:#e1a8ae; }

@media (max-width: 800px) {
  .release-card, .song-hero-grid, .song-story-grid, .quick-message-grid { grid-template-columns:1fr; }
  .release-card { gap:25px; }
  .song-cover-column { max-width:560px; margin:0 auto; }
  .song-facts { position:static; }
  .audio-player { grid-template-columns:56px minmax(0,1fr); }
  .audio-volume { grid-column:1 / -1; }
  .feedback-panel { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 520px) {
  .song-hero { padding-top:46px; }
  .song-hero-grid { gap:34px; }
  .audio-track-name { display:block; }
  .audio-track-name span { display:block; margin-top:2px; }
  .quick-form { padding:20px; }
}


/* V1.3 — cleaner hub, calendar and streaming cards */
.compact-hero { padding-top:76px; padding-bottom:54px; }
.explore-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.explore-card { border:1px solid var(--line); border-radius:20px; padding:24px; background:linear-gradient(145deg,rgba(13,16,27,.9),rgba(18,12,24,.82)); transition:.18s ease; }
.explore-card:hover { transform:translateY(-2px); border-color:rgba(143,104,166,.42); }
.explore-card > span { color:#766d7e; font-size:.72rem; letter-spacing:.14em; }
.explore-card h3 { font-size:2.25rem; margin:6px 0 5px; }
.explore-card p { color:#9e97a3; margin:0; }
.calendar-section { background:linear-gradient(180deg,rgba(10,14,25,.48),rgba(17,10,22,.3)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.calendar-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.calendar-card { min-height:150px; border:1px solid var(--line); border-radius:18px; background:rgba(8,8,13,.72); padding:18px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto 1fr auto; gap:8px 14px; }
.calendar-card.upcoming { border-color:rgba(143,104,166,.34); background:linear-gradient(145deg,rgba(13,16,27,.9),rgba(28,17,38,.72)); }
.calendar-month { grid-row:1 / 4; width:44px; color:#9a7daf; font-family:"Cormorant Garamond",serif; font-size:1.35rem; font-weight:700; letter-spacing:.08em; }
.calendar-copy strong { display:block; font-family:"Cormorant Garamond",serif; font-size:1.25rem; line-height:1.1; }
.calendar-copy span { display:block; color:#89828f; font-size:.78rem; margin-top:5px; }
.calendar-status { align-self:end; color:#726b76; font-size:.66rem; text-transform:uppercase; letter-spacing:.12em; }
.upcoming .calendar-status { color:#b7a1c4; }
.stream-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.stream-card { min-width:0; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:linear-gradient(155deg,rgba(12,14,24,.96),rgba(18,12,24,.92)); transition:.2s ease; }
.stream-card:hover { transform:translateY(-3px); border-color:rgba(143,104,166,.48); }
.stream-cover { position:relative; aspect-ratio:1; overflow:hidden; background:#09090d; }
.stream-cover img { width:100%; height:100%; object-fit:cover; }
.stream-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(5,5,9,.28),transparent 45%); }
.stream-play { position:absolute; z-index:2; right:14px; bottom:14px; width:48px; height:48px; border-radius:50%; display:grid; place-items:center; padding-left:3px; background:#604075; border:1px solid rgba(255,255,255,.13); }
.stream-copy { padding:17px; }
.stream-top { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.stream-top strong { font-family:"Cormorant Garamond",serif; font-size:1.35rem; line-height:1.08; }
.stream-top span { color:#77717d; font-size:.72rem; white-space:nowrap; }
.stream-copy p { color:#8f8795; font-size:.73rem; text-transform:uppercase; letter-spacing:.08em; margin:8px 0 10px; }
.stream-copy small { display:block; color:#aaa3af; line-height:1.55; }
.catalogue-section { border-top:1px solid var(--line); }
.contact-clean { display:grid; grid-template-columns:.72fr 1.28fr; gap:54px; align-items:start; }
.contact-intro h2 { font-size:clamp(2.8rem,5vw,4.8rem); line-height:.95; margin:0 0 14px; }
.contact-intro p { color:#aaa3af; }
.contact-intro .socials { justify-content:flex-start; margin-top:24px; }
.empty-video { text-align:center; border:1px dashed rgba(160,130,178,.28); border-radius:22px; padding:56px 22px; background:rgba(255,255,255,.015); }
.empty-video .play { margin:0 auto 14px; }
.empty-video h2 { font-size:2.7rem; margin:0 0 8px; }
.empty-video p { color:#9b94a1; max-width:520px; margin:0 auto 22px; }
.follow { text-align:left; border-top:1px solid var(--line); }
.follow .socials { justify-content:flex-start; margin-top:12px; }
@media (max-width:900px){ .explore-grid,.stream-grid,.calendar-grid{grid-template-columns:repeat(2,1fr)} .contact-clean{grid-template-columns:1fr} }
@media (max-width:620px){ .explore-grid,.stream-grid,.calendar-grid{grid-template-columns:1fr} .calendar-card{min-height:120px} .compact-hero{padding-top:56px;padding-bottom:42px} }


/* V1.4 — consistent visual cards, streamlined pages */
.story-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,340px)); gap:18px; align-items:start; }
.story-card { display:block; min-width:0; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:linear-gradient(155deg,rgba(12,14,24,.96),rgba(18,12,24,.92)); transition:.2s ease; }
.story-card:hover { transform:translateY(-3px); border-color:rgba(143,104,166,.48); }
.story-poster { aspect-ratio:1; overflow:hidden; background:#09090d; }
.story-poster img { width:100%; height:100%; object-fit:cover; }
.story-card-copy { padding:17px; }
.story-card-copy h3 { margin:5px 0 6px; font-size:1.55rem; line-height:1.05; }
.story-card-copy span { color:#8f8795; font-size:.78rem; }
.spooky-isles-section { border-top:1px solid var(--line); }
.spooky-isles-card { display:grid; grid-template-columns:minmax(220px,.75fr) 1.25fr; gap:40px; align-items:center; border:1px solid var(--line); border-radius:24px; background:linear-gradient(140deg,rgba(12,14,24,.94),rgba(18,12,24,.88)); padding:26px; }
.spooky-isles-logo-link { display:block; border-radius:16px; overflow:hidden; background:#111; min-height:180px; }
.spooky-isles-logo { width:100%; height:100%; min-height:180px; object-fit:cover; }
.spooky-isles-copy h2 { margin:4px 0 10px; font-size:clamp(2.4rem,5vw,4rem); line-height:.95; }
.spooky-isles-copy p { color:#aaa3af; margin:0 0 20px; max-width:600px; }
.music-rights { padding:0 0 34px; }
.music-rights p { margin:0; color:#6f6873; font-size:.72rem; line-height:1.5; }
.contact-form-simple { max-width:760px; margin:0 auto; border:1px solid var(--line); border-radius:22px; background:linear-gradient(140deg,rgba(13,16,27,.95),rgba(20,13,27,.88)); padding:26px; }
.form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:4px; }
.form-actions .form-note { margin:0; }
@media (max-width:760px){ .spooky-isles-card{grid-template-columns:1fr;gap:24px}.spooky-isles-logo-link{min-height:150px}.spooky-isles-logo{min-height:150px}.story-grid{grid-template-columns:1fr} }


/* V1.5 — tighter typography, fitted artwork, refined stories/about */
.page-hero { padding-top:62px; padding-bottom:40px; }
.compact-hero { padding-top:58px; padding-bottom:38px; }
.page-hero h1 { font-size:clamp(2.5rem,5vw,4.35rem); line-height:.96; margin:3px 0 9px; }
.page-hero p { font-size:.98rem; }
.stream-cover img, .song-cover-frame img, .release-cover { object-fit:contain; background:#09090d; }
.stream-cover::after { background:linear-gradient(to top,rgba(5,5,9,.18),transparent 38%); }
.story-poster img { object-fit:contain; background:#09090d; }
.stories-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); gap:22px; align-items:start; }
.stories-overview .story-grid { grid-template-columns:minmax(250px,340px); }
.spooky-isles-card.spooky-isles-compact { display:block; padding:16px; position:sticky; top:98px; }
.spooky-isles-compact .spooky-isles-logo-link { min-height:0; aspect-ratio:16/8; border-radius:13px; }
.spooky-isles-compact .spooky-isles-logo { min-height:0; width:100%; height:100%; object-fit:cover; }
.spooky-isles-compact .spooky-isles-copy { padding:16px 5px 4px; }
.spooky-isles-compact .spooky-isles-copy p { margin:8px 0 14px; font-size:.9rem; line-height:1.6; }
.about-copy { max-width:850px; margin:0 auto; }
.about-block + .about-block { margin-top:44px; padding-top:38px; border-top:1px solid var(--line); }
.about-block h2 { font-size:clamp(2rem,4vw,3rem); line-height:1; margin:0 0 18px; }
.about-block p { color:#b3acb7; font-size:1rem; line-height:1.85; margin:0 0 18px; }
.about-block p:last-child { margin-bottom:0; }
.about-block .approach-line { color:#e4dce7; font-family:"Cormorant Garamond",Georgia,serif; font-size:1.35rem; line-height:1.45; }
.empty-video { max-width:720px; margin:0 auto; padding:50px 22px; }
.empty-video h2 { font-size:clamp(2rem,4vw,3rem); }
@media (max-width:760px){
  .page-hero,.compact-hero{padding-top:44px;padding-bottom:30px}
  .page-hero h1{font-size:clamp(2.2rem,11vw,3.25rem)}
  .stories-overview{grid-template-columns:1fr}
  .spooky-isles-card.spooky-isles-compact{position:static}
  .stories-overview .story-grid{grid-template-columns:1fr}
}

/* V1.7 — slimmer page intros and Stories cleanup */
.page-hero { padding-top:48px; padding-bottom:30px; }
.compact-hero { padding-top:46px; padding-bottom:28px; }
.page-hero h1 { font-size:clamp(2rem,3.8vw,3.25rem); line-height:1; margin:2px 0 7px; }
.page-hero p { max-width:700px; font-size:.92rem; line-height:1.65; }
.story-grid-pinned { grid-template-columns:minmax(250px,340px); }
.spooky-isles-card.spooky-isles-pinned { position:static; top:auto; }
.spooky-isles-pinned .spooky-isles-logo-link { aspect-ratio:16/8; }
@media (max-width:760px) {
  .page-hero,.compact-hero { padding-top:38px; padding-bottom:24px; }
  .page-hero h1 { font-size:clamp(1.9rem,9vw,2.7rem); }
}

/* V1.8 — global typography hierarchy */
/* Primary hero headlines: one consistent scale across the site. */
.hero h1,
.page-hero h1 {
  font-size: clamp(2.8rem, 4.2vw, 4.1rem);
  line-height: .98;
  font-weight: 600;
  letter-spacing: .005em;
}
.hero h1 {
  max-width: none;
  white-space: nowrap;
}

/* Secondary display headings: deliberately smaller than hero titles. */
.section-heading h2,
.about-block h2,
.spooky-isles-copy h2,
.empty-video h2,
.contact-intro h2,
.quick-message-intro h2,
.feedback-panel h2,
.song-story h2,
.music-copy h2,
.collection-head h2,
.about-panel h2,
.follow h2 {
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  line-height: 1.05;
}

/* About page section titles use the same secondary-heading scale. */
.about-block h2 {
  margin-bottom: 16px;
}

@media (max-width: 760px) {
  .hero h1,
  .page-hero h1 {
    font-size: clamp(2.35rem, 10vw, 3.2rem);
    line-height: 1;
  }
  .hero h1 { white-space: normal; }
  .section-heading h2,
  .about-block h2,
  .spooky-isles-copy h2,
  .empty-video h2,
  .contact-intro h2,
  .quick-message-intro h2,
  .feedback-panel h2,
  .song-story h2,
  .music-copy h2,
  .collection-head h2,
  .about-panel h2,
  .follow h2 {
    font-size: clamp(1.7rem, 7vw, 2.25rem);
  }
}

/* Gallery placeholder */
.gallery-mark{font-family:Georgia,serif;font-size:2.25rem;line-height:1;color:var(--gold,#d5ad62);margin-bottom:1rem;opacity:.9}
