/* MARALITHA - shared stylesheet (built pages reference /assets/site.css) */
@font-face{font-family:'Cinzel Decorative';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/CinzelDecorative-700-latin.woff2) format('woff2')}
@font-face{font-family:'Cinzel Decorative';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/CinzelDecorative-900-latin.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Barlow-400-latin.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Barlow-500-latin.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Barlow-600-latin.woff2) format('woff2')}
@font-face{font-family:'FA';font-style:normal;font-weight:900;font-display:block;src:url(fonts/fa-solid-900.woff2) format('woff2')}
.fa{font-family:'FA';font-weight:900;font-style:normal;display:inline-block;line-height:1;-webkit-font-smoothing:antialiased}
.fa-arrow-up-right-from-square::before{content:"\f08e"}
.fa-play::before{content:"\f04b"}
.fa-pause::before{content:"\f04c"}
.fa-envelope::before{content:"\f0e0"}
.fa-music::before{content:"\f001"}
.fa-arrow-left::before{content:"\f060"}
@font-face{font-family:'FAB';font-style:normal;font-weight:400;font-display:block;src:url(fonts/fa-brands-400.woff2) format('woff2')}
.fab{font-family:'FAB';font-weight:400;font-style:normal;display:inline-block;line-height:1;-webkit-font-smoothing:antialiased}
.fa-tiktok::before{content:"\e07b"}
footer .social{margin:0 0 30px}
footer .social a{display:inline-flex;align-items:center;gap:10px;font-family:var(--gothic);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel-dim);text-decoration:none;border:1px solid var(--line);padding:10px 18px;transition:color .22s,border-color .22s,background .22s}
footer .social a:hover{color:#fff;border-color:var(--blood);background:var(--blood)}
footer .social .fab{font-size:1rem}

:root{
  color-scheme:dark;
  --bg:#050405;
  --bg-2:#0a090b;
  --steel:#cfcfd4;
  --steel-dim:#8e8e96;
  --steel-faint:#5c5c63;
  --silver:linear-gradient(180deg,#f4f4f6 0%,#b9b9c0 48%,#7d7d86 52%,#dcdce0 100%);
  --blood:#8e0f14;
  --blood-bright:#c4151c;
  --line:rgba(207,207,212,.18);
  --line-dim:rgba(207,207,212,.1);
  --line-red:rgba(196,21,28,.55);
  --gothic:"Cinzel Decorative",Georgia,serif;
  --body:"Barlow",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html,body{overflow-x:clip}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:calc(90px + env(safe-area-inset-top,0px))}
body{background:var(--bg);isolation:isolate;color:var(--steel);font-family:var(--body);font-size:1.0625rem;line-height:1.7;min-height:100vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}
main{flex:1}
/* 1) calm ground: near-black, a slow vignette, fine grain. no texture blotches. */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(ellipse 90% 60% at 50% 0%,rgba(142,15,20,.10),transparent 60%),
             radial-gradient(ellipse 70% 50% at 50% 100%,rgba(207,207,212,.05),transparent 60%),var(--bg);
  animation:groundBreathe 28s ease-in-out infinite}
@keyframes groundBreathe{0%,100%{opacity:1}50%{opacity:.55}}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:70;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.9'/%3E%3C/svg%3E")}
img{display:block;max-width:100%;height:auto}
a{color:var(--steel)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blood-bright);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px;margin:0 auto;padding:0 24px}
.center{text-align:center}
.label{font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blood-bright)}
.small{font-weight:500;font-size:.9rem;letter-spacing:.02em;color:var(--steel-dim)}
.gothic{font-family:var(--gothic);font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.15}
/* 2) steel headlines, crisp: gradient only, no glow */
.steel{background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
/* 5) meta chips */
.chip{display:inline-block;font-weight:600;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);border:1px solid var(--line);padding:6px 12px;line-height:1.3;white-space:nowrap}
.chip.red{color:var(--blood-bright);border-color:var(--line-red)}
.chips{display:flex;gap:10px;flex-wrap:wrap}
/* 3) one button family */
.obtn{display:inline-block;font-family:var(--body);font-weight:600;font-size:.95rem;letter-spacing:.04em;color:var(--steel);text-decoration:none;
  border:1px solid var(--line);padding:13px 30px;min-width:190px;text-align:center;background:rgba(5,4,5,.55);cursor:pointer;line-height:1.4;
  transition:background .22s ease-out,color .22s ease-out,border-color .22s ease-out,transform .22s ease-out,box-shadow .22s ease-out}
.obtn:hover{background:var(--blood);border-color:var(--blood);color:#fff;transform:translateY(-1px);box-shadow:0 6px 18px rgba(142,15,20,.35)}
.obtn.primary{border-color:var(--line-red);color:#e7e7ea}
.obtn[disabled]{opacity:.5;pointer-events:none}
.obtn.small{min-width:0;padding:9px 18px;font-size:.88rem}
.obtn .fa{font-size:.75em;vertical-align:1px}
.tlink{font-family:var(--gothic);font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);text-decoration:none;border-bottom:1px solid var(--line-red);padding-bottom:4px;transition:color .22s,border-color .22s}
.tlink:hover{color:#fff;border-color:#fff}
.tlink .fa{font-size:.7em;margin-left:6px;vertical-align:1px}
/* 4) framed block: hairlines + four small blades at the corners */
.frame{position:relative;border:1px solid var(--line-dim);padding:44px 48px;background:rgba(5,4,5,.35)}
.frame::after{content:"";position:absolute;inset:-4px;pointer-events:none;opacity:.85;
  background-image:linear-gradient(135deg,#f0f0f3 0 7px,transparent 7px),linear-gradient(225deg,#f0f0f3 0 7px,transparent 7px),linear-gradient(45deg,#f0f0f3 0 7px,transparent 7px),linear-gradient(315deg,#f0f0f3 0 7px,transparent 7px);
  background-size:9px 9px;background-repeat:no-repeat;background-position:0 0,100% 0,0 100%,100% 100%}
@media(max-width:640px){.frame{padding:28px 20px}}
.sec{padding:90px 0}
.sec-head{text-align:center;margin-bottom:54px}
.sec-head h1,.sec-head h2{font-size:clamp(2.2rem,5.5vw,3.6rem);display:inline-block}
.sec-head .small{display:block;margin-top:8px}
.sec-head .label{display:block;margin-bottom:14px}
.page-head{padding:150px 0 50px;text-align:center}
.page-head h1{font-size:clamp(2.2rem,5.5vw,3.6rem)}
.page-head .label{display:block;margin-bottom:14px}
.page-head .small{display:block;margin-top:10px;max-width:56ch;margin-left:auto;margin-right:auto}

/* ============ header ============ */
.top{position:fixed;top:0;left:0;right:0;z-index:40;isolation:isolate;padding-top:env(safe-area-inset-top,0px)}
.top.intro{animation:topIn .6s .9s cubic-bezier(.22,.8,.3,1) both}
.top::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(5,4,5,.7);backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);border-bottom:1px solid var(--line-dim)}
@keyframes topIn{from{transform:translateY(-100%)}to{transform:none}}
.top.intro nav a,.top.intro .mark{opacity:0;animation:navIn .45s ease-out both}
@keyframes navIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.top.intro nav.left a:nth-child(1){animation-delay:1.3s}
.top.intro nav.left a:nth-child(2){animation-delay:1.4s}
.top.intro .mark{animation-delay:1.5s}
.top.intro nav.right a:nth-child(1){animation-delay:1.6s}
.top.intro nav.right a:nth-child(2){animation-delay:1.7s}
.top .row{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 24px}
.top nav{display:flex;gap:30px;align-items:center}
.top nav.left{justify-content:flex-end;padding-right:38px}
.top nav.right{justify-content:flex-start;padding-left:38px}
.top nav a{font-family:var(--gothic);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel-dim);text-decoration:none;white-space:nowrap;transition:color .22s ease-out;padding-bottom:3px;border-bottom:1px solid transparent}
.top nav a:hover{color:#f2f2f4}
.top nav a.on{color:var(--steel);border-bottom-color:var(--line-red)}
.top .mark{display:block;text-decoration:none}
.top .mark img{height:34px;width:auto}
.top .mark .txt{display:none;font-family:var(--gothic);font-weight:900;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:760px){
  .top nav.left{display:none}
  .top .row{grid-template-columns:auto 1fr;height:60px}
  .top .mark img{display:none}
  .top .mark .txt{display:block}
  .top nav.right{justify-content:flex-end;padding-left:0}
  .top nav.right a:not(.social){display:none}
}

/* ============ hero (home) ============ */
.hero{position:relative;min-height:100svh;min-height:100vh;overflow:hidden;background:linear-gradient(to right,rgba(0,0,0,.55),rgba(0,0,0,.15) 55%,transparent);
  -webkit-mask-image:linear-gradient(to top,transparent 0,#000 220px);mask-image:linear-gradient(to top,transparent 0,#000 220px);
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.hero::before{content:"";position:absolute;inset:0;background:#000;z-index:3;pointer-events:none;animation:heroVeil 1.2s .3s ease-out both}
@keyframes heroVeil{from{opacity:1}to{opacity:0}}
.hero .her{position:relative;min-height:100%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 36%);mask-image:linear-gradient(to right,transparent 0,#000 36%)}
.hero .her img{position:absolute;left:0;right:0;bottom:0;top:48px;width:100%;height:calc(100% - 48px);object-fit:cover;object-position:50% 0;
  -webkit-mask-image:linear-gradient(to top,transparent 0,#000 28%);mask-image:linear-gradient(to top,transparent 0,#000 28%);filter:saturate(.78) contrast(1.06)}
.hero .her::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 70% 40%,transparent 40%,rgba(0,0,0,.55) 100%)}
.hero .name{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:120px 0 90px 24px;max-width:720px;margin-left:auto;width:100%}
.hero .wordmark{width:min(640px,100%);height:auto;animation:markIn 1.3s .2s cubic-bezier(.22,.8,.3,1) both}
@keyframes markIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.hero .chips{margin:24px 0 0 4px;animation:tagIn 1s 1.1s both}
.hero .tag{margin:16px 0 0 4px;font-family:var(--gothic);font-weight:700;font-size:clamp(.95rem,1.7vw,1.3rem);letter-spacing:.14em;text-transform:uppercase;color:#e9e9ec;text-shadow:0 0 3px #000,0 0 10px rgba(0,0,0,.9);animation:tagIn 1s 1.3s both}
@keyframes tagIn{from{opacity:0;filter:brightness(.2)}to{opacity:1;filter:brightness(1)}}
.hero .sub{margin:16px 0 0 4px;color:var(--steel-dim);font-size:1.02rem;max-width:46ch;animation:tagIn 1s 1.5s both}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0 0 4px;animation:tagIn 1s 1.7s both}
.hero .cta a{min-width:0;padding:12px 26px}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:100svh}
  .hero .her{position:absolute;inset:0 0 auto 0;height:68%;-webkit-mask-image:none;mask-image:none}
  .hero .her img{top:0;height:100%;-webkit-mask-image:linear-gradient(to top,transparent 0,transparent 22%,#000 72%);mask-image:linear-gradient(to top,transparent 0,transparent 22%,#000 72%);opacity:.85}
  .hero .her::after{background:linear-gradient(to top,var(--bg) 0,rgba(5,4,5,.82) 40%,transparent 68%)}
  .hero .name{justify-content:flex-end;align-items:center;text-align:center;padding:56vh 20px 60px;max-width:none;margin:0}
  .hero .wordmark{width:min(520px,92vw)}
  .hero .chips{justify-content:center;margin-left:0}
  .hero .tag,.hero .sub{margin-left:0}
  .hero .tag{font-size:.9rem;letter-spacing:.1em}
  .hero .cta{justify-content:center;margin-left:0}
  .hero .cta a{flex:1 1 150px}
}

/* ============ the blade (music) ============ */
.blade{position:relative;padding:40px 0 120px}
.blade::before{content:"";position:absolute;left:50%;top:var(--spine-top,170px);bottom:0;width:1px;transform:translateX(-50%);
  background:linear-gradient(to bottom,transparent,var(--steel-dim) 5%,var(--steel) 40%,var(--steel) 60%,var(--blood-bright) 94%,transparent)}
.blade .pommel{position:absolute;left:50%;top:var(--spine-top,170px);width:11px;height:11px;transform:translate(-50%,-50%) rotate(45deg);background:linear-gradient(135deg,#f0f0f3,#8b8b93);box-shadow:0 0 10px rgba(255,255,255,.25)}
.blade .pommel::before{content:"";position:absolute;left:50%;top:50%;width:26px;height:1px;background:var(--steel-dim);transform:translate(-50%,-50%) rotate(-45deg)}
.blade .tip{position:absolute;left:50%;bottom:0;width:0;height:0;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:28px solid var(--blood-bright);filter:drop-shadow(0 0 8px rgba(196,21,28,.6))}
.blade .head{text-align:center;padding:0 24px 70px;position:relative;z-index:1}
.blade .head h1,.blade .head h2{font-size:clamp(2.2rem,5.5vw,3.6rem);display:inline-block}
.blade .head .small{display:block;margin-top:6px}
.blade .allmusic{text-align:center;position:relative;z-index:1;margin:10px 0 0;padding:0 24px}
/* 6) chapter: number and text share one top edge */
.chapter{position:relative;max-width:1200px;margin:0 auto;padding:60px 24px 0;display:grid;grid-template-columns:1fr 96px 1fr;align-items:start}
.chapter .node{position:absolute;left:50%;top:66px;width:13px;height:13px;transform:translate(-50%,0) rotate(45deg);background:var(--blood);border:1px solid var(--blood-bright);box-shadow:0 0 0 6px var(--bg),0 0 18px rgba(196,21,28,.7)}
.chapter.out .node{background:#0a090a;border-color:var(--steel)}
.chapter .num{grid-column:1;justify-self:end;text-align:right;padding-right:10px;padding-top:4px}
.chapter .num b{display:block;font-family:var(--gothic);font-weight:900;font-size:clamp(4rem,10vw,7.5rem);line-height:.82;letter-spacing:.02em}
.chapter .num span{display:block;margin-top:18px;font-weight:600;font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blood-bright)}
.chapter .meta{grid-column:3;justify-self:start;max-width:480px;padding-left:10px}
.chapter h3{font-family:var(--gothic);font-weight:900;font-size:clamp(1.5rem,3.2vw,2.3rem);text-transform:uppercase;line-height:1.1;margin:0 0 16px}
.chapter .chips{margin-bottom:16px}
.chapter p{color:var(--steel-dim);margin-bottom:10px}
.chapter p.q{color:var(--steel);font-size:1.05rem}
.chapter .tlink{display:inline-block;margin-top:14px}
.chapter .art{grid-column:1;justify-self:end;width:min(100%,380px)}
.chapter.flip .art{grid-column:3;justify-self:start}
.chapter.flip .meta{grid-column:1;justify-self:end;text-align:right}
.chapter.flip .chips{justify-content:flex-end}
.cover{display:block;position:relative;aspect-ratio:1/1;background:#030203;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.6);transition:transform .6s cubic-bezier(.22,.8,.3,1),box-shadow .6s}
.cover img{width:100%;height:100%;object-fit:cover}
.cover:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(0,0,0,.7),0 0 40px rgba(196,21,28,.18)}
.tracks{list-style:none;margin:0 0 18px;max-width:460px;border-top:1px solid var(--line-dim)}
.chapter.flip .tracks{margin-left:auto}
.tracks li{display:flex;align-items:center;gap:14px;padding:8px 0;border-bottom:1px solid var(--line-dim)}
.tracks a.p{width:36px;height:36px;border:1px solid var(--steel-dim);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;text-decoration:none;flex:none;transition:background .22s,border-color .22s}
.tracks a.p .fa-play{margin-left:2px}
.tracks a.p:hover{background:var(--blood-bright);border-color:var(--blood-bright)}
.tracks .tt{flex:1;min-width:0;font-size:.95rem}
.tracks .td{font-weight:500;font-size:.85rem;color:var(--steel-faint);font-variant-numeric:tabular-nums}
@media(max-width:900px){
  .blade::before,.blade .pommel,.blade .tip{left:28px}
  .blade .head{text-align:left;padding-left:60px}
  .chapter,.chapter.flip{display:block;padding:30px 20px 0 60px}
  .chapter .node{left:28px;top:36px}
  .chapter .num{text-align:left;padding:0 0 18px}
  .chapter .num b{font-size:4rem}
  .chapter .meta,.chapter.flip .meta{padding:0;max-width:none;text-align:left}
  .chapter.flip .chips{justify-content:flex-start}
  .chapter .art,.chapter.flip .art{width:min(100%,320px);margin-bottom:22px}
  .chapter.flip .tracks{margin-left:0}
}

/* ============ forms (notify, contact) ============ */
.form{max-width:600px;text-align:left;position:relative}
.form .f{display:block;margin-bottom:14px}
.form .f span{display:block;font-weight:600;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel-faint);margin-bottom:6px}
.form input[type=text],.form input[type=email],.form textarea{width:100%;background:rgba(5,4,5,.6);color:var(--steel);border:1px solid var(--line);padding:12px 14px;font-family:var(--body);font-size:1rem;line-height:1.5;transition:border-color .18s}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--steel-dim)}
.form input::placeholder,.form textarea::placeholder{color:var(--steel-faint)}
.form textarea{min-height:140px;resize:vertical}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .line{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.form .line .obtn{min-width:0;padding:12px 22px}
.form .consent{display:flex;gap:12px;align-items:flex-start;margin:4px 0 14px;font-size:.88rem;color:var(--steel-dim);line-height:1.55;cursor:pointer}
.form .consent input{flex:none;width:17px;height:17px;margin-top:3px;accent-color:var(--blood-bright)}
.form .consent a{color:var(--steel)}
.form .row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px}
.form .hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.form .status{font-size:.9rem;color:var(--steel-dim);min-height:1.4em;margin:0}
.form .status.ok{color:#e9e9ec}
.form .status.err{color:var(--blood-bright)}
.form.compact{margin-top:20px;max-width:460px}
.form.compact .nlabel{display:block;font-family:var(--gothic);font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-bottom:10px;scroll-margin-top:110px}
.form.compact .consent{font-size:.84rem;margin:10px 0 10px}
@media(max-width:520px){.form .two{grid-template-columns:1fr}.form .line{grid-template-columns:1fr}.form .line .obtn{width:100%}}
.mail{margin-top:26px;font-size:.95rem;color:var(--steel-dim);display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}

/* ============ story (full-bleed face) ============ */
.story{position:relative;min-height:88vh;min-height:88svh;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;padding:120px 24px}
.story.teaser{min-height:70vh;min-height:70svh}
.story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 7%;filter:grayscale(.55) contrast(1.08) brightness(.6);z-index:0}
.story::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,var(--bg) 0,transparent 22%,transparent 70%,var(--bg) 100%),radial-gradient(ellipse at 50% 55%,rgba(5,4,5,.35) 20%,rgba(5,4,5,.85) 75%)}
.story .in{position:relative;z-index:2;max-width:820px}
.story .label{display:block;margin-bottom:30px}
.story .cut{font-family:var(--gothic);font-weight:900;text-transform:uppercase;font-size:clamp(1.5rem,4.2vw,3rem);letter-spacing:.04em;line-height:1.3;margin:0 0 34px}
.story p{color:#d9d9de;max-width:58ch;margin:0 auto 16px;text-shadow:0 1px 2px #000,0 0 14px rgba(0,0,0,.8)}
.story p.cut{text-shadow:none}
.story .quiet{color:var(--steel-dim)}
.story .own{font-family:var(--gothic);font-weight:700;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);margin-top:30px}
.story .more{margin-top:34px}
@media(max-width:900px){.story{min-height:70vh;padding:90px 20px}.story img{object-position:50% 0}}
.prose{max-width:720px;margin:0 auto;padding:0 24px 90px}
.prose p{color:var(--steel-dim);margin-bottom:18px;font-size:1.08rem}
.prose p.lead{color:var(--steel);font-size:1.18rem}
.prose .own{font-family:var(--gothic);font-weight:700;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);margin:34px 0 0;text-align:center}

/* ============ dossier ============ */
.dossier dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dossier div{padding:26px 22px 24px;border-right:1px solid var(--line-dim)}
.dossier div:last-child{border-right:0}
.dossier dt{font-weight:600;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-faint);margin-bottom:10px}
.dossier dd{font-family:var(--gothic);font-weight:700;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--steel);line-height:1.4}
.dossier dd.red{color:var(--blood-bright)}
.dossier .ai{margin-top:18px;font-size:.85rem;color:var(--steel-faint)}
@media(max-width:900px){.dossier dl{grid-template-columns:1fr 1fr}.dossier div{border-right:0;border-bottom:1px solid var(--line-dim)}.dossier div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:520px){.dossier dl{grid-template-columns:1fr}.dossier div:nth-last-child(-n+2){border-bottom:1px solid var(--line-dim)}.dossier div:last-child{border-bottom:0}}
.about-grid{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:48px;align-items:start}
.about-grid .portrait{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
.about-grid .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;filter:saturate(.85)}
.about-grid h2{font-family:var(--gothic);font-weight:900;font-size:clamp(1.5rem,3vw,2.1rem);text-transform:uppercase;margin:6px 0 18px;line-height:1.2}
.about-grid p{color:var(--steel-dim);max-width:58ch;margin-bottom:14px}
.about-grid p.lead{color:var(--steel)}
@media(max-width:820px){.about-grid{grid-template-columns:1fr}.about-grid .portrait{max-width:280px}}

/* ============ links page ============ */
.linklist{list-style:none;max-width:520px;margin:0 auto;display:grid;gap:12px}
.linklist a{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);padding:16px 20px;text-decoration:none;color:var(--steel);transition:background .22s,border-color .22s,color .22s;background:rgba(5,4,5,.55)}
.linklist a:hover{background:var(--blood);border-color:var(--blood);color:#fff}
.linklist .t{font-family:var(--gothic);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.linklist .d{font-size:.85rem;color:var(--steel-dim)}
.linklist a:hover .d{color:#f3f3f3}
.linklist .fa{font-size:.8rem;opacity:.8}

/* ============ release page ============ */
.rel-hero{padding:140px 0 60px}
.rel-hero .grid{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:56px;align-items:center}
.rel-hero .cover{box-shadow:0 30px 70px rgba(0,0,0,.7)}
.rel-hero h1{font-family:var(--gothic);font-weight:900;font-size:clamp(1.8rem,4.2vw,3.2rem);text-transform:uppercase;line-height:1.1;margin:14px 0 18px}
.rel-hero .chips{margin-bottom:22px}
.rel-hero p.lead{color:var(--steel);font-size:1.12rem;max-width:52ch;margin-bottom:22px}
.rel-hero .links{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.rel-hero .links .obtn{min-width:0;padding:11px 20px;font-size:.9rem}
@media(max-width:900px){.rel-hero{padding:110px 0 40px}.rel-hero .grid{grid-template-columns:1fr;gap:30px}.rel-hero .cover{max-width:360px}}
.rel-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;padding-bottom:90px}
.rel-body h2{font-family:var(--gothic);font-weight:700;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line-dim)}
.rel-body p{color:var(--steel-dim);margin-bottom:16px}
.lyrics{white-space:pre-line;color:var(--steel-dim);line-height:1.9;font-size:1rem}
.lyrics b{display:block;color:var(--blood-bright);font-weight:600;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;margin:18px 0 4px}
@media(max-width:900px){.rel-body{grid-template-columns:1fr;gap:40px}}
.rel-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line-dim);padding:30px 0 90px}
.rel-nav .obtn{min-width:0}

/* ============ player (encrypted streams, same mechanics as NOS, own look) ============ */
.tracks a.p,.tracks button.p{width:36px;height:36px;border:1px solid var(--steel-dim);background:transparent;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;text-decoration:none;flex:none;transition:background .22s,border-color .22s}
.tracks button.p:hover,.tracks a.p:hover,.tracks li.playing button.p{background:var(--blood-bright);border-color:var(--blood-bright)}
.tracks li.playing .tt{color:#fff}
.tracks button.p[disabled]{opacity:.32;cursor:default}
.tracks button.p[disabled]:hover{background:transparent;border-color:var(--steel-dim)}
.player{position:fixed;left:0;right:0;bottom:0;z-index:50;isolation:isolate;padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(110%);transition:transform .35s cubic-bezier(.22,.8,.3,1)}
.player::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(5,4,5,.94);backdrop-filter:blur(12px) saturate(1.05);-webkit-backdrop-filter:blur(12px) saturate(1.05);border-top:1px solid var(--line)}
.player.on{transform:none}
body.has-player{padding-bottom:98px}
.player .in{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,2fr) minmax(220px,1fr);align-items:center;height:94px;padding:0 22px;max-width:1400px;margin:0 auto}
.player .left{display:flex;align-items:center;gap:14px;min-width:0}
.player img{width:58px;height:58px;object-fit:cover;border:1px solid var(--line-dim);flex:none}
.player .meta{min-width:0}
.player .meta .t{color:var(--steel);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem}
.player .meta .r{font-family:var(--gothic);font-weight:700;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.player .mid{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.player .ctl{display:flex;gap:8px;align-items:center}
.player .ctl button{width:38px;height:38px;border:1px solid var(--line-dim);background:transparent;color:var(--steel);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;transition:background .22s,border-color .22s}
.player .ctl button:hover{background:rgba(196,21,28,.2);border-color:var(--line-red)}
.player .ctl button.big{width:44px;height:44px;background:var(--blood);border-color:var(--blood);color:#fff;font-size:.95rem}
.player .ctl button.big:hover{background:var(--blood-bright);border-color:var(--blood-bright)}
.player .ctl button.big .fa-play{margin-left:2px}
.player .prog{display:flex;align-items:center;gap:12px;width:100%;max-width:720px}
.player .time{font-weight:500;font-size:.8rem;color:var(--steel-faint);white-space:nowrap;min-width:36px;font-variant-numeric:tabular-nums}
.player .time.r{text-align:right}
.player .bar{flex:1;height:14px;display:flex;align-items:center;cursor:pointer}
.player .bar b{position:relative;display:block;width:100%;height:2px;background:rgba(207,207,212,.18)}
.player .bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(to right,var(--steel),var(--blood-bright))}
.player .bar i::after{content:"";position:absolute;right:-5px;top:50%;width:9px;height:9px;transform:translateY(-50%) rotate(45deg);background:#f0f0f3;box-shadow:0 0 8px rgba(196,21,28,.6)}
.player .right{display:flex;justify-content:flex-end}
.player .close{border:0;background:transparent;color:var(--steel-faint);cursor:pointer;font-size:.95rem;padding:8px;transition:color .22s}
.player .close:hover{color:#fff}
@media(max-width:820px){
  .player .in{display:flex;align-items:center;gap:12px;height:68px;padding:0 12px 0 10px;position:relative}
  .player .left{flex:1;min-width:0;gap:10px}
  .player img{width:48px;height:48px}
  .player .meta .t{font-size:.95rem}
  .player .mid{flex:none;order:2}
  .player .ctl{gap:0}
  .player .ctl button{display:none}
  .player .ctl button.big{display:inline-flex;width:42px;height:42px}
  .player .prog{position:absolute;left:0;right:0;top:-1px;max-width:none;gap:0}
  .player .time{display:none}
  .player .bar{height:3px;cursor:default}
  .player .bar i::after{display:none}
  .player .right{flex:none;order:3}
  body.has-player{padding-bottom:80px}
}

/* ============ imprint ============ */
.legal{max-width:760px;margin:0 auto;padding:0 24px 90px}
.legal h2{font-family:var(--gothic);font-weight:700;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--steel);margin:40px 0 12px;padding-top:22px;border-top:1px solid var(--line-dim)}
.legal h3{font-size:1rem;margin:22px 0 6px;color:var(--steel);font-weight:600}
.legal p{color:var(--steel-dim);margin-bottom:14px;max-width:62ch}
.legal address{font-style:normal;color:var(--steel);line-height:1.8;margin-bottom:6px}
.legal address strong{font-family:var(--gothic);font-weight:700;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}
.legal ul{padding-left:20px;color:var(--steel-dim);margin-bottom:14px}
.legal li{margin-bottom:4px}
.legal a{color:var(--steel);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.legal a:hover{color:#fff}
.legal .updated{font-size:.82rem;color:var(--steel-faint);margin-top:34px}

/* ============ footer ============ */
footer{border-top:1px solid var(--line-dim);padding:70px 24px 50px;text-align:center;position:relative;background:rgba(3,2,3,.6)}
footer .links{margin-bottom:40px}
footer .links a{font-family:var(--gothic);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel-faint);text-decoration:none;margin:0 16px;transition:color .22s;display:inline-block;line-height:2.2}
footer .links a:hover{color:#f2f2f4}
footer .biglogo{width:min(760px,90vw);margin:0 auto 6px}
footer .ftag{font-family:var(--gothic);font-weight:700;font-size:clamp(.8rem,1.5vw,1.1rem);letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin:0 auto 10px;padding:0 20px;line-height:1.8}
footer .genre{font-weight:600;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blood-bright);margin-bottom:34px}
footer .label-line{font-size:.88rem;color:var(--steel-faint);margin-bottom:14px}
footer .label-line a{color:var(--steel-dim);text-decoration:none;border-bottom:1px solid var(--line-dim)}
footer .label-line a:hover{color:#f2f2f4}
footer .copy{font-size:.82rem;color:var(--steel-faint)}


/* ============ mobile: scroller (iOS safe-area, same as NOS) ============ */
@media(max-width:820px){
  html,body{height:100%;overflow:hidden;min-height:0}
  #scroller{height:100%;overflow-y:auto;overflow-x:clip;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-padding-top:84px}
  body.has-player{padding-bottom:0}
  body.has-player #scroller{padding-bottom:80px}
}

html{scrollbar-width:thin;scrollbar-color:var(--steel-faint) #0b0a0b}
html::-webkit-scrollbar{width:8px}html::-webkit-scrollbar-track{background:#0b0a0b}html::-webkit-scrollbar-thumb{background:var(--steel-faint);border-radius:4px}
