/* THEME: night  (Night studio) near-black navy, electric violet + cyan neon, Syne / Space Grotesk */
:root{--bg:#070816;--panel:#0e1030;--ink:#eef0ff;--muted:#a3a9d6;--accent:#22e6ff;--accent2:#9d6bff;--line:rgba(140,150,255,.22);
 --serif:"Syne","Space Grotesk",system-ui,sans-serif;--sans:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
 --violet:#8f5bff;--cyan:#22e6ff;--pink:#ff4fd8}
body{background:radial-gradient(1000px 600px at 85% -5%,rgba(143,91,255,.22),transparent 60%),radial-gradient(900px 600px at -10% 40%,rgba(34,230,255,.10),transparent 60%),#070816;background-attachment:fixed}
a{color:var(--cyan)}a:hover{color:#fff;text-shadow:0 0 12px rgba(34,230,255,.7)}
h1,h2,h3{font-weight:800;letter-spacing:-.01em}
h1{letter-spacing:.04em}
h2{letter-spacing:0}
/* header */
.site-header{background:rgba(7,8,22,.8);backdrop-filter:blur(14px);border-bottom:1px solid rgba(143,91,255,.35);box-shadow:0 8px 30px -12px rgba(143,91,255,.5)}
.brand{font-family:var(--serif);font-weight:800;letter-spacing:.02em;font-size:1.3rem}
.brand img{box-shadow:0 0 0 2px var(--violet),0 0 18px rgba(143,91,255,.8)}
.nav a{border-radius:999px;color:#b9bff0;letter-spacing:.02em;font-weight:500}
.nav a:hover{color:#fff;background:rgba(143,91,255,.2)}
.nav a[aria-current=page]{color:#04121a;background:linear-gradient(90deg,var(--cyan),#8ff3ff);box-shadow:0 0 18px rgba(34,230,255,.55)}
.menu-btn{border-color:var(--violet);border-radius:999px;font-family:var(--sans)}
@media (max-width:860px){.nav{background:#0a0b22;border-bottom:1px solid var(--violet)}}
/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(600px 400px at 20% 20%,rgba(143,91,255,.55),transparent 65%),radial-gradient(700px 500px at 85% 75%,rgba(34,230,255,.30),transparent 65%),radial-gradient(500px 300px at 60% 10%,rgba(255,79,216,.22),transparent 70%),#070816}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(143,91,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(143,91,255,.13) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 55%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 55%,#000 15%,transparent 75%)}
.hero>div{position:relative}
.hero h1{font-weight:800;letter-spacing:.06em;margin-right:0;border-bottom:0;background:linear-gradient(95deg,#fff 0%,#c9b8ff 35%,#22e6ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(143,91,255,.6));font-size:clamp(2.4rem,9vw,6.4rem)}
.tagline{font-family:var(--sans);font-style:normal;font-weight:500;color:var(--cyan);letter-spacing:.3em;text-transform:uppercase;font-size:clamp(.95rem,2.2vw,1.2rem)}
.sub{font-family:var(--sans);font-style:normal;color:#cfd3ff;opacity:1}
/* buttons */
.btn{border:0;border-radius:999px;color:#06081a;font-weight:700;letter-spacing:.14em;padding:.9rem 2.4rem;background:linear-gradient(90deg,var(--violet),var(--cyan));box-shadow:0 0 28px rgba(143,91,255,.55);transition:transform .2s,box-shadow .2s}
.btn:hover{background:linear-gradient(90deg,var(--cyan),var(--violet));color:#06081a;transform:translateY(-2px);box-shadow:0 0 38px rgba(34,230,255,.7)}
.btn-donate{background:#ffc439;border-radius:999px;box-shadow:0 0 22px rgba(255,196,57,.35)}
.socials img{filter:drop-shadow(0 0 8px rgba(143,91,255,.7))}
/* section backgrounds */
.about-bg{background:radial-gradient(800px 500px at 100% 0,rgba(143,91,255,.2),transparent 60%),transparent}
.albums-page{background:transparent}
.albums-page::before{background:radial-gradient(800px 500px at 0 0,rgba(143,91,255,.25),transparent 60%),linear-gradient(rgba(7,8,22,.9),rgba(7,8,22,.93)),url(../img/albums-bg.jpg) center/cover no-repeat}
.projects-bg{background:radial-gradient(800px 500px at 0 0,rgba(34,230,255,.12),transparent 60%),linear-gradient(rgba(7,8,22,.92),rgba(7,8,22,.95)),url(../img/projects-bg.jpg) center/cover}
.strip{border-color:rgba(34,230,255,.5);box-shadow:0 0 40px rgba(143,91,255,.35)}
.role,.pe-links a,.bb-link a{color:var(--cyan);font-family:var(--sans)}
.chapter{border-left:3px solid transparent;border-image:linear-gradient(180deg,var(--violet),var(--cyan)) 1}
.chapter .kicker{color:var(--violet);color:#b79bff;font-weight:700}
/* cards */
.album,.ep,.card,.teaser,.credits,.ss-card,blockquote{background:linear-gradient(160deg,rgba(24,26,70,.82),rgba(12,13,38,.88));border:1px solid rgba(143,91,255,.35);border-radius:16px;box-shadow:0 10px 40px -18px rgba(143,91,255,.6)}
.album>img,.ep img,.ss-card img,.teaser img,.pe-grid img{border-radius:12px}
.card{border-radius:18px}.card:hover,.ss-card:hover,.teaser:hover{border-color:var(--cyan);box-shadow:0 0 30px rgba(34,230,255,.35);color:var(--ink)}
.card span{font-family:var(--serif);font-weight:800}
.tracks li{border-bottom:1px dashed rgba(143,91,255,.35)}
.soon{border:1px dashed var(--cyan);color:var(--cyan);border-radius:10px}
a.soon:hover{background:var(--cyan);color:#06081a}
.teaser .more,.ss-card .more{color:var(--cyan)}
blockquote{border-left:4px solid var(--violet)}blockquote footer{color:var(--cyan)}
.note,.ss-empty{border-color:rgba(143,91,255,.5);border-radius:12px}
.credits li{border-top-color:rgba(143,91,255,.25)}
.vph{border-color:rgba(143,91,255,.5);border-radius:14px}
.vph .play{border-color:var(--cyan);box-shadow:0 0 22px rgba(34,230,255,.6)}
.vph .play::before{border-left-color:var(--cyan)}
.photo-grid img{border-radius:14px;box-shadow:0 0 0 1px rgba(143,91,255,.4)}
/* forms */
.form input,.form textarea{background:rgba(7,8,22,.85);border:1px solid rgba(143,91,255,.45);border-radius:10px;color:var(--ink)}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,230,255,.25)}
.form button{background:linear-gradient(90deg,var(--violet),var(--cyan));color:#06081a;border-radius:999px;font-weight:700;padding:.85rem 2.2rem}
/* Sound Stories */
.ss-date{color:var(--cyan);font-weight:500}.ss-date a{color:var(--cyan)}
.ss-post h1{font-family:var(--serif);font-weight:800;letter-spacing:-.01em;text-transform:none;font-size:clamp(2rem,5vw,3.2rem);line-height:1.08}
.ss-card h2{font-size:1.5rem}
.ss-body p,.ss-body li{font-size:1.06rem;line-height:1.75}
/* footer */
.site-footer{background:linear-gradient(180deg,#070816,#0b0a26);border-top:1px solid rgba(143,91,255,.45);box-shadow:0 -10px 40px -20px rgba(143,91,255,.6)}
.site-footer .fbrand{font-family:var(--serif);font-weight:800;letter-spacing:.2em;background:linear-gradient(90deg,#c9b8ff,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.site-footer nav a:hover{color:var(--cyan)}
.ss-post{padding-top:3rem}
/* ===== Sound Stories: editorial dark-navy polish ===== */
.ss-post,.ss-post .ss-body{font-family:var(--sans)}
.ss-post{max-width:720px;padding-top:3.2rem}
.ss-date{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#7fe9f7;margin:0 0 .9rem}
.ss-date a{color:#b79bff;text-decoration:none;border-bottom:1px solid rgba(183,155,255,.35)}
.ss-date a:hover{color:#fff;text-shadow:none;border-bottom-color:var(--cyan)}
.ss-post h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;letter-spacing:-.015em;color:#f3f1ff;margin:.2rem 0 1.8rem;text-wrap:balance}
.ss-cover{margin:0 0 2.2rem}
.ss-cover img{display:block;width:100%;border-radius:18px;border:1px solid rgba(143,91,255,.35);box-shadow:0 18px 60px -20px rgba(143,91,255,.55),0 0 40px -14px rgba(34,230,255,.35)}
.ss-body{color:#e6e7f5}
.ss-body p{font-size:1.1rem;line-height:1.8;margin:0 0 1.35rem;color:#e6e7f5}
.ss-body p:first-child{font-size:1.2rem;line-height:1.7;color:#f1f1fb}
.ss-body h2,.ss-body h3{font-family:var(--serif);color:#f3f1ff;margin:2.4rem 0 .9rem;line-height:1.2}
.ss-body a{color:var(--cyan);text-decoration:underline;text-decoration-color:rgba(34,230,255,.4);text-underline-offset:3px;overflow-wrap:anywhere}
.ss-body a:hover{color:#fff;text-shadow:none;text-decoration-color:var(--cyan)}
.ss-body strong{color:#fff}
.ss-body p.ss-takeaway{margin:2.4rem 0 1.2rem;padding:1.3rem 1.5rem 1.4rem;border-radius:16px;border:1px solid rgba(143,91,255,.45);border-left:4px solid var(--violet);background:linear-gradient(150deg,rgba(143,91,255,.2),rgba(34,230,255,.07) 70%,rgba(14,16,48,.6));box-shadow:0 14px 40px -22px rgba(143,91,255,.7);font-size:1.08rem;line-height:1.65;color:#f3f1ff}
.ss-body p.ss-takeaway::first-line{font-weight:500}
.ss-body p.ss-source{margin:0;font-size:.86rem;line-height:1.6;color:var(--muted);padding-top:1rem;border-top:1px solid var(--line)}
.ss-body p.ss-source a{color:#9fdff0}
.ss-post .btn{font-size:.85rem}
/* list */
.ss-list{gap:1.5rem}
.ss-card{align-items:center;padding:1.2rem;border-radius:18px;transition:transform .25s,border-color .25s,box-shadow .25s}
.ss-card:hover{transform:translateY(-3px);border-color:rgba(34,230,255,.7);box-shadow:0 0 34px -4px rgba(34,230,255,.35),0 16px 50px -20px rgba(143,91,255,.7)}
.ss-card img{border-radius:14px;box-shadow:0 8px 30px -12px rgba(143,91,255,.6)}
.ss-card h2{font-size:1.45rem;line-height:1.2;color:#f3f1ff;margin:.1rem 0 .6rem}
.ss-card p{color:#c4c8e8;line-height:1.6;font-size:1rem}
.ss-card .ss-date{font-size:.72rem;color:#7fe9f7;margin-bottom:.6rem}
.ss-card .more{font-weight:700;font-size:.9rem;letter-spacing:.04em;color:var(--cyan)}
.ss-card:hover .more{text-shadow:none;color:#fff}
.ss-rss{color:var(--muted)}.ss-rss a{color:var(--muted)}
@media (max-width:600px){.ss-body p{font-size:1.05rem}.ss-body p:first-child{font-size:1.12rem}.ss-body p.ss-takeaway{padding:1.1rem 1.15rem}.ss-card{padding:1rem}}

/* ===== Sound Stories article: chill late-night listening-room mood ===== */
.ss-post{position:relative;isolation:isolate;max-width:740px;padding-top:2.2rem}
.ss-aura{position:absolute;z-index:-1;top:-4rem;left:50%;width:min(1200px,100vw);height:640px;transform:translateX(-50%);overflow:hidden;pointer-events:none;
 -webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.ss-aura i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.34;will-change:transform}
.ss-aura i:nth-child(1){width:560px;height:360px;left:6%;top:40px;background:radial-gradient(closest-side,#8f5bff,transparent);animation:ssdrift1 26s ease-in-out infinite alternate}
.ss-aura i:nth-child(2){width:520px;height:340px;right:4%;top:120px;background:radial-gradient(closest-side,#22e6ff,transparent);opacity:.2;animation:ssdrift2 32s ease-in-out infinite alternate}
@keyframes ssdrift1{to{transform:translate(110px,50px) scale(1.15)}}
@keyframes ssdrift2{to{transform:translate(-120px,-20px) scale(1.2)}}
@media (prefers-reduced-motion:reduce){.ss-aura i{animation:none}}
.ss-back{margin:0 0 2.2rem;font-size:.9rem}
.ss-back a{color:#b8a6ff;text-decoration:none;padding:.35rem .9rem .35rem .7rem;border:1px solid rgba(183,155,255,.28);border-radius:999px;background:rgba(20,18,58,.45);backdrop-filter:blur(6px);transition:border-color .25s,color .25s,background .25s}
.ss-back a:hover{color:#fff;text-shadow:none;border-color:rgba(34,230,255,.6);background:rgba(34,230,255,.08)}
.ss-head .ss-date{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;color:#9ee9f5;letter-spacing:.14em;font-size:.76rem;margin:0 0 1.1rem}
.ss-dot{width:4px;height:4px;border-radius:50%;background:#8f7bd6}
.ss-post h1{font-weight:700;font-size:clamp(2rem,5.2vw,3.1rem);line-height:1.14;letter-spacing:-.02em;color:#f4f2ff;margin:0 0 1.2rem;text-shadow:0 0 40px rgba(143,91,255,.35)}
.ss-divider{margin:0 0 2.2rem;height:34px;opacity:.85}
.ss-divider svg{display:block;width:100%;height:100%;filter:drop-shadow(0 0 6px rgba(143,91,255,.45))}
.ss-cover{margin:0 0 2.6rem}
.ss-cover img{border-radius:20px;border:1px solid rgba(160,150,255,.25);box-shadow:0 24px 70px -28px rgba(143,91,255,.5),0 0 60px -30px rgba(34,230,255,.35)}
.ss-cover-art{position:relative;height:200px;border-radius:20px;overflow:hidden;border:1px solid rgba(160,150,255,.22);
 background:radial-gradient(420px 220px at 18% 30%,rgba(143,91,255,.38),transparent 70%),radial-gradient(420px 240px at 85% 80%,rgba(34,230,255,.22),transparent 70%),linear-gradient(160deg,#14143a,#0a0b22);
 box-shadow:0 24px 70px -30px rgba(143,91,255,.5)}
.ss-cover-art svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 8px rgba(143,91,255,.45))}
@media (max-width:600px){.ss-cover-art{height:150px}}
.ss-body p{font-size:1.14rem;line-height:1.88;margin:0 0 1.55rem;color:#e3e5f6;letter-spacing:.005em}
.ss-body p:first-child{font-size:1.26rem;line-height:1.75;color:#f4f4fd}
.ss-body a{text-decoration-color:rgba(34,230,255,.45)}
.ss-body p.ss-takeaway{position:relative;margin:2.8rem 0 1.6rem;padding:1.5rem 1.7rem 1.55rem;border-radius:20px;border:1px solid rgba(190,180,255,.22);border-left:1px solid rgba(190,180,255,.22);
 background:linear-gradient(145deg,rgba(143,91,255,.16),rgba(34,230,255,.07) 75%),rgba(18,18,52,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
 box-shadow:0 20px 50px -30px rgba(143,91,255,.55),inset 0 1px 0 rgba(255,255,255,.08);color:#f1f0ff;font-size:1.1rem;line-height:1.75}
.ss-body p.ss-takeaway::first-line{font-weight:700;letter-spacing:.02em}
.ss-body p.ss-source{margin:0;padding-top:1.1rem;font-size:.88rem;color:#aab0d8;border-top:1px solid rgba(160,150,255,.2)}
.ss-body p.ss-source a{color:#a8e6f5}
.ss-post > p.ss-source{margin:0;padding-top:1.1rem;font-size:.88rem;color:#aab0d8;border-top:1px solid rgba(160,150,255,.2)}
.ss-more{margin-top:3.4rem}
.ss-more h2{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#b8a6ff;margin:0 0 1rem}
.ss-more-list{display:grid;gap:1rem}
.ss-more-card{display:flex;flex-direction:column;gap:.35rem;padding:1.15rem 1.3rem;border-radius:18px;text-decoration:none;color:#f0f0ff;border:1px solid rgba(160,150,255,.22);background:rgba(18,18,52,.5);backdrop-filter:blur(10px);transition:transform .25s,border-color .25s,box-shadow .25s}
.ss-more-card:hover{transform:translateY(-2px);border-color:rgba(34,230,255,.55);box-shadow:0 14px 40px -22px rgba(34,230,255,.5);color:#fff;text-shadow:none}
.ss-more-card strong{font-family:var(--serif);font-size:1.15rem;line-height:1.3}
.ss-more-card .ss-date{font-size:.7rem;margin:0}
.ss-more-card .more{color:#7fe9f7;font-size:.85rem;font-weight:700;letter-spacing:.04em}
.ss-cover:not(.ss-cover-art){position:relative}
.ss-cover:not(.ss-cover-art) img{filter:brightness(.62) saturate(.9) contrast(1.02)}
.ss-cover:not(.ss-cover-art)::after{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;background:linear-gradient(150deg,rgba(143,91,255,.35),rgba(34,230,255,.16));mix-blend-mode:multiply}
.ss-body p.ss-takeaway::first-line{font-weight:500;letter-spacing:0}
.ss-aura i:nth-child(1){opacity:.42}
