/* ==========================================================================
   Caden84.com — "Fog & Gold" (Concept A). Palette, type and details match the
   CD / vinyl / USB packaging: Gothic logo, Fog art, Anton caps, gold rules.
   ========================================================================== */
@font-face{font-family:"Anton";src:url(../assets/fonts/anton-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url(../assets/fonts/barlow-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url(../assets/fonts/barlow-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Barlow";src:url(../assets/fonts/barlow-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow";src:url(../assets/fonts/barlow-700.woff2) format("woff2");font-weight:700 900;font-display:swap}
@font-face{font-family:"Pirata One";src:url(../assets/fonts/pirata-one-400.woff2) format("woff2");font-weight:400;font-display:swap}
:root{
  --bg:#0a0b0e;--bg2:#101217;--card:#14161c;--line:#23262e;
  --text:#ececf1;--muted:#9a9cab;--bone:#ebe4de;
  --gold:#e8a33c;--gold-deep:#a07639;--accent:var(--gold);
  --fog:#171b28;--fog-mist:#61635d;
  --game:#50d94f;--game-deep:#1b6723;
  --radius:6px;--max:1150px;
  --font-logo:"Pirata One",serif;--font-head:"Anton",Impact,"Arial Narrow",sans-serif;--font-body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);color:var(--text);line-height:1.6;font-size:1.02rem;
  background:radial-gradient(1400px 700px at 80% -10%,rgba(97,99,93,.18),transparent 60%),radial-gradient(900px 600px at 0% 30%,rgba(23,27,40,.9),transparent 70%),var(--bg);background-attachment:fixed}
/* film grain over everything (inline SVG noise, no JS) */
body::after{content:"";position:fixed;inset:-50%;pointer-events:none;z-index:999;opacity:.07;
  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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){body::after{animation:none}html{scroll-behavior:auto}*{transition:none!important}}
::selection{background:var(--gold);color:#120c03}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
a{color:var(--accent)}img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--font-head);font-weight:400;letter-spacing:.04em;line-height:1.1}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:50;background:rgba(10,11,14,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(232,163,60,.55),transparent) 1}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:block;text-decoration:none}.logo img{height:34px;width:auto;display:block}
nav.main ul{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0}
nav.main a{position:relative;color:var(--text);text-decoration:none;padding:8px 11px;font-family:var(--font-head);font-weight:400;text-transform:uppercase;letter-spacing:.12em;font-size:.84rem}
nav.main a:not(.nav-games)::after{content:"";position:absolute;left:11px;right:11px;bottom:3px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
nav.main a:not(.nav-games):hover,nav.main a[aria-current=page]{color:var(--gold)}
nav.main a:not(.nav-games):hover::after,nav.main a[aria-current=page]::after{transform:scaleX(1)}
nav.main a.nav-games{background:var(--game);color:#03140a;border-radius:3px;margin-left:8px;box-shadow:0 0 0 1px #8ff08e inset,0 0 18px rgba(80,217,79,.45);transition:box-shadow .2s}
nav.main a.nav-games:hover{box-shadow:0 0 0 1px #c9ffc8 inset,0 0 28px rgba(80,217,79,.7)}
.hdr-games{display:none}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--gold);border-radius:3px;padding:6px 12px;font-size:1.1rem;cursor:pointer}
@media(max-width:1000px){nav.main a{padding:8px 8px;letter-spacing:.09em;font-size:.8rem}nav.main a:not(.nav-games)::after{left:8px;right:8px}}
@media(max-width:900px){.menu-btn{display:block}header.site .logo{margin-right:auto}.hdr-games{display:inline-block;margin-right:10px;background:var(--game);color:#03140a;text-decoration:none;font-family:var(--font-head);letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;padding:7px 12px;border-radius:3px;box-shadow:0 0 0 1px #8ff08e inset,0 0 16px rgba(80,217,79,.45)}nav.main{display:none;position:absolute;top:64px;left:0;right:0;background:rgba(10,11,14,.98);border-bottom:1px solid var(--line)}nav.main.open{display:block}
  nav.main ul{flex-direction:column;align-items:stretch;padding:10px 20px 16px}nav.main a{display:block;padding:12px;font-size:.95rem}nav.main a:not(.nav-games)::after{left:12px;right:auto;width:40px}nav.main a.nav-games{margin:8px 0 0;text-align:center}}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:12px 22px;border-radius:3px;font-family:var(--font-head);font-weight:400;text-transform:uppercase;letter-spacing:.12em;font-size:.92rem;line-height:1.3;text-decoration:none;border:1px solid var(--gold);color:var(--gold);margin:4px 8px 4px 0;transition:background .2s,color .2s,box-shadow .2s}
.btn:not(.solid):not(.disabled):hover{background:rgba(232,163,60,.1)}
.btn.solid{background:linear-gradient(180deg,#f0b456,#e8a33c 55%,#c98a2c);color:#140d03;box-shadow:0 0 0 1px #f6c878 inset}
.btn.solid:hover{box-shadow:0 0 0 1px #ffe0a8 inset,0 6px 24px rgba(232,163,60,.35)}
.btn.big{font-size:1.15rem;padding:16px 34px}
.btn.disabled{border-color:#3a3d46;color:var(--muted);cursor:default;background:none}

/* ---------- home hero: Gothic logo + Fog art (no overlay) ---------- */
.hero{position:relative;padding:40px 0 30px;overflow:hidden}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:center}
.hero .kicker{font-family:var(--font-head);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-size:.85rem;margin:0 0 14px}
.hero h1{margin:0 0 6px;line-height:0}.hero h1 img{width:min(560px,100%);height:auto;filter:drop-shadow(0 6px 30px rgba(0,0,0,.7))}
.hero p.tag{font-size:clamp(1.05rem,2.2vw,1.3rem);color:#c7c8d1;max-width:560px;margin:14px 0 26px}
.hero-art{position:relative;margin:0}
.hero-art img{width:100%;height:auto;filter:saturate(.92) contrast(1.05) drop-shadow(0 30px 60px rgba(0,0,0,.6));transform:rotate(-1.5deg);transition:transform .6s ease}
.hero-art:hover img{transform:rotate(0) scale(1.01)}
@media(max-width:860px){.hero{padding-top:20px}.hero .wrap{grid-template-columns:1fr}.hero-art{order:-1;max-width:320px;width:86%;margin:0 auto -18px}}

/* ---------- games panel: same size, now a green CRT screen ---------- */
.games{margin-top:-10px;position:relative;z-index:2}
.games a{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:38px 40px;border-radius:6px;text-decoration:none;color:var(--text);
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 4px),radial-gradient(600px 200px at 15% 50%,rgba(80,217,79,.35),transparent),linear-gradient(120deg,#0c1a0f,#123d17 60%,#0c1a0f);
  border:1px solid rgba(80,217,79,.55);box-shadow:0 0 0 1px rgba(80,217,79,.15),inset 0 0 80px rgba(0,0,0,.55),0 20px 60px rgba(80,217,79,.18);transition:transform .15s,box-shadow .2s}
.games a::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(80,217,79,.07),transparent 18%,transparent 82%,rgba(0,0,0,.25));animation:crt 4s linear infinite}
@keyframes crt{0%,96%,100%{opacity:1}97%{opacity:.75}98%{opacity:1}99%{opacity:.85}}
.games a:hover{transform:translateY(-3px) scale(1.005);box-shadow:0 0 0 1px rgba(80,217,79,.35),inset 0 0 80px rgba(0,0,0,.45),0 24px 70px rgba(80,217,79,.3)}
.games .ico{font-size:clamp(3rem,8vw,5rem);line-height:1;filter:drop-shadow(0 0 14px rgba(80,217,79,.5))}
.games h2{margin:0;font-size:clamp(2rem,6vw,3.6rem);line-height:1.05;text-transform:uppercase;letter-spacing:.04em;color:var(--game);text-shadow:0 0 18px rgba(80,217,79,.55)}
.games p{margin:6px 0 0;font-size:1.1rem;font-weight:600;color:#bfe8bf}
.games .go{position:relative;background:var(--game);color:#03140a;padding:18px 30px;border-radius:3px;font-family:var(--font-head);font-size:1.25rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 0 1px #8ff08e inset}
.games a:hover .go{box-shadow:0 0 0 1px #c9ffc8 inset,0 0 24px rgba(80,217,79,.8)}
@media(prefers-reduced-motion:reduce){.games a::before{animation:none}}

/* ---------- sections, titles with the logo's diamond-tipped gold rule ---------- */
section{padding:60px 0}
section h2.title{font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:16px}
section h2.title::after{content:"";flex:1;height:7px;max-width:420px;min-width:40px;background:linear-gradient(var(--gold),var(--gold)) center/calc(100% - 14px) 1px no-repeat,linear-gradient(45deg,transparent 35%,var(--gold) 35% 65%,transparent 65%) right center/7px 7px no-repeat}
.sub{color:var(--muted);margin:0 0 30px;font-size:1.02rem}
.page-head{padding-top:56px;padding-bottom:10px}
.page-head.tight .sub{margin-bottom:10px}
section.tight{padding-top:0}
.more-dates{margin:18px 0 0;font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem}.more-dates a{text-decoration:none;color:var(--muted);border-bottom:1px solid rgba(232,163,60,.45);padding-bottom:2px;transition:color .2s}.more-dates a:hover{color:var(--gold)}
.page-head h1{font-size:clamp(2.6rem,7vw,4.4rem);margin:0 0 10px;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:20px}
.page-head h1::after{content:"";flex:1;max-width:520px;height:9px;background:linear-gradient(var(--gold),var(--gold)) center/calc(100% - 18px) 1px no-repeat,linear-gradient(45deg,transparent 35%,var(--gold) 35% 65%,transparent 65%) right center/9px 9px no-repeat}

/* ---------- cards ---------- */
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:linear-gradient(180deg,#16181f,#111318);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .25s ease,border-color .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);border-color:rgba(232,163,60,.6);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.card .body{padding:16px 18px}
.card h3{margin:0 0 4px;font-size:1.15rem;letter-spacing:.05em;text-transform:uppercase}
.card .meta{color:var(--muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.card a.more{font-weight:700;text-decoration:none}
.card img{transition:filter .35s,transform .5s}
.grid .card > a:first-child{display:block;overflow:hidden}
.grid .card > a:first-child > img{filter:grayscale(.35) contrast(1.05)}
.grid .card:hover > a:first-child > img{filter:none;transform:scale(1.04)}

/* ---------- releases (Music page) ---------- */
.release{display:grid;grid-template-columns:300px 1fr;gap:28px;background:linear-gradient(180deg,#16181f,#111318);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:28px;position:relative}
.release::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(232,163,60,.6),transparent)}
@media(max-width:760px){.release{grid-template-columns:1fr}}
.release img{border-radius:3px;width:100%;box-shadow:0 14px 30px rgba(0,0,0,.5)}
.release h3{margin:0;font-size:1.7rem;text-transform:uppercase;letter-spacing:.05em}.release .meta{color:var(--muted);margin:4px 0 14px}
.release ol{columns:2;column-gap:28px;padding-left:26px;margin:10px 0 16px;color:#d6d6de;font-size:.95rem}
.release ol li::marker{color:var(--gold-deep);font-family:var(--font-head)}
.release summary{cursor:pointer;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:12px 0 4px}
@media(max-width:560px){.release ol{columns:1}}
.links a{margin-right:14px;font-weight:700;text-decoration:none}
iframe{border:0;width:100%;border-radius:3px}
.embed-frame{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:8px;background:repeating-linear-gradient(135deg,#111318 0 12px,#14161c 12px 24px)}
.embed-frame iframe{display:block}
.video{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.platforms{display:flex;flex-wrap:wrap;gap:12px}
.platforms a{background:transparent;border:1px solid rgba(232,163,60,.45);padding:11px 18px;border-radius:3px;color:var(--text);text-decoration:none;font-family:var(--font-head);font-weight:400;letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;transition:border-color .2s,color .2s,background .2s}
.platforms a:hover{border-color:var(--gold);color:var(--gold);background:rgba(232,163,60,.08)}
.todo{background:#2a1f08;border:1px dashed var(--gold);color:#ffd88a;padding:10px 14px;border-radius:3px;font-size:.92rem;margin:12px 0}

/* ---------- Union of Souls block ---------- */
.band{background:linear-gradient(120deg,rgba(23,27,40,.95),rgba(20,22,28,.95));border-radius:var(--radius);padding:34px;border:1px solid var(--line);position:relative}
.band.band-feature{background:linear-gradient(90deg,rgba(20,22,28,.97) 45%,rgba(20,22,28,.78)),url(../assets/img/uos/union-of-souls.jpg) right center/contain no-repeat,#14161c}
.band h2{margin-top:0;font-size:clamp(1.8rem,4vw,2.6rem);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:16px}
.band h2::after{content:"";flex:1;max-width:300px;height:7px;background:linear-gradient(var(--gold),var(--gold)) center/calc(100% - 14px) 1px no-repeat,linear-gradient(45deg,transparent 35%,var(--gold) 35% 65%,transparent 65%) right center/7px 7px no-repeat}
.band.band-feature p{max-width:640px}
@media(max-width:700px){.band.band-feature{background:linear-gradient(120deg,rgba(23,27,40,.95),rgba(20,22,28,.95))}.band{padding:26px 22px}}

/* ---------- shows: ticket stubs ---------- */
table.shows{width:100%;border-collapse:collapse}
.show{position:relative;display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:center;background:linear-gradient(90deg,#1c1608,#14161c 32%);border:1px solid rgba(232,163,60,.4);border-radius:var(--radius);padding:18px 22px;margin-bottom:14px;
  -webkit-mask:radial-gradient(circle 10px at 142px 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 10px at 142px 100%,transparent 98%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle 10px at 142px 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 10px at 142px 100%,transparent 98%,#000) bottom/100% 51% no-repeat}
.show .date{text-align:center;background:transparent;border-right:2px dashed rgba(232,163,60,.55);border-radius:0;padding:4px 18px 4px 0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.show .date b{display:block;font-family:var(--font-head);font-weight:400;font-size:2.2rem;line-height:1.05;color:var(--gold)}
.show .date small{color:var(--bone);text-transform:uppercase;font-family:var(--font-head);letter-spacing:.18em;font-size:.78rem}
.show .with{display:inline-block;vertical-align:middle;background:transparent;border:1px solid rgba(232,163,60,.55);color:var(--gold);font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 9px;border-radius:2px;margin-left:10px}
.show h3{margin:0;font-size:1.45rem;text-transform:uppercase;letter-spacing:.05em}.show p{margin:2px 0 0;color:var(--muted)}
.show .act{margin:0}
@media(max-width:600px){.show{grid-template-columns:84px 1fr;gap:16px;padding:16px;-webkit-mask:none;mask:none}.show .date{padding-right:14px}.show .date b{font-size:1.9rem}.show .act{grid-column:1/-1;text-align:center}}
.empty{background:var(--card);border:1px dashed #3a3d46;border-radius:var(--radius);padding:40px;text-align:center;color:var(--muted)}
.past .show{opacity:.7;filter:grayscale(.4)}.past h3{color:var(--muted)}

/* ---------- footer: big logo ---------- */
footer.site{background:#07080a;border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(232,163,60,.45),transparent) 1;padding:48px 0 30px;margin-top:40px;color:var(--muted)}
.footer-mark{display:inline-block;margin:0 0 6px}.footer-mark img{width:min(300px,80vw);height:auto;opacity:.92}
.footer-tag{font-family:var(--font-logo);font-size:1.25rem;color:var(--gold-deep);letter-spacing:.06em;margin:0 0 22px}
footer.site .social{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
footer.site .social a{color:var(--text);text-decoration:none;background:transparent;border:1px solid var(--line);padding:8px 14px;border-radius:3px;font-family:var(--font-head);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem;transition:border-color .2s,color .2s}
footer.site .social a:hover{color:var(--gold);border-color:rgba(232,163,60,.6)}
footer.site .games-mini{color:var(--game);font-weight:700;text-shadow:0 0 12px rgba(80,217,79,.35)}

/* ---------- videos ---------- */
.video.featured{box-shadow:0 0 0 1px rgba(232,163,60,.35),0 24px 60px rgba(0,0,0,.6)}
.grid.live .card h3{font-size:.95rem}
.yt-lite{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden}
.yt-lite img{width:100%;height:100%;object-fit:cover;opacity:.8;filter:grayscale(.3)}
.yt-lite .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#c00;color:#fff;border-radius:4px;padding:4px 14px;font-size:1.1rem}
.yt-lite:hover img{opacity:1;filter:none}
.yt-lite iframe{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.small-vid .body{padding:10px 12px}.small-vid h3{font-size:.88rem}
.older-group{margin:26px 0 12px;font-size:1.1rem;color:var(--gold);text-transform:uppercase;letter-spacing:.12em}
.cover-feature{max-width:760px}
.cover-feature .small-vid h3,.grid.studio .small-vid h3{font-size:1.1rem}
.cover-feature .yt-lite .play,.grid.studio .yt-lite .play{font-size:1.6rem;padding:8px 22px}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:40px;align-items:start}
.about-photo{margin:0;position:sticky;top:84px}.about-photo img{width:100%;height:auto;border-radius:3px;border:1px solid var(--line);transform:rotate(-1deg);box-shadow:0 24px 50px rgba(0,0,0,.55);transition:transform .5s}
.about-photo:hover img{transform:rotate(0)}
.about-photo figcaption{color:var(--gold-deep);font-family:var(--font-head);letter-spacing:.2em;text-transform:uppercase;font-size:.78rem;margin-top:12px}
@media(max-width:820px){.about-grid{grid-template-columns:1fr}.about-photo{position:static}}

/* ---------- merch: dark product tiles ---------- */
.merch-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 30px}
.merch-note{color:var(--muted)}
.merch-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.merch-card{display:block;text-decoration:none;color:var(--text)}
.merch-img{position:relative;overflow:hidden;aspect-ratio:1/1;background:radial-gradient(75% 70% at 50% 42%,#3b3e48,#22252d 55%,#15171c 100%);border-bottom:1px solid var(--line)}
.merch-img::after{content:"";position:absolute;inset:8px;border:1px solid rgba(232,163,60,.14);pointer-events:none}
.merch-card .merch-img img{width:100%;height:100%;object-fit:contain;padding:0;filter:drop-shadow(0 14px 22px rgba(0,0,0,.55))}
.merch-img.placeholder::before{content:"";position:absolute;left:50%;top:13%;width:62%;aspect-ratio:1548/565;transform:translateX(-50%);background:url(../assets/brand/caden84-gothic-outline.svg) center/contain no-repeat;opacity:.3;pointer-events:none}
.merch-img img{position:relative}
.photo-tag{position:absolute;left:14px;top:14px;z-index:1;font-family:var(--font-head);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);background:rgba(10,11,14,.82);border:1px solid rgba(232,163,60,.5);padding:3px 8px;border-radius:2px}
.merch-card:hover img{transform:scale(1.03)}
.merch-card .price{color:var(--gold);font-family:var(--font-head);letter-spacing:.06em;font-size:1.2rem;margin:2px 0 8px}
.merch-card .price .note{color:var(--muted);font-family:var(--font-body);font-weight:600;font-size:.9rem;letter-spacing:0}
.merch-card .more{font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;color:var(--gold)}
/* physical albums (CD / USB / vinyl) */
.physical{border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(232,163,60,.45),transparent) 1}
.album-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.album-img{position:relative;aspect-ratio:1/1;background:#0a0b0e;overflow:hidden}
.album-img img{width:100%;height:100%;object-fit:cover}
.album-card:hover .album-img img{transform:scale(1.03)}
.album-img.fit-contain{background:#0a0b0e;display:flex;align-items:center;justify-content:center}
.album-img.fit-contain img{object-fit:contain;padding:8%}
.album-img .badge{position:absolute;top:12px;left:12px;background:linear-gradient(180deg,#f0b456,#e8a33c 55%,#c98a2c);color:#140d03;font-family:var(--font-head);font-weight:400;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:2px;box-shadow:0 0 0 1px #f6c878 inset}
.album-card .meta{color:var(--gold);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;margin:0}
.album-card h3{margin:2px 0}
.album-card .price{color:var(--gold);font-family:var(--font-head);letter-spacing:.06em;font-size:1.45rem;margin:2px 0 6px}
.album-card .detail{color:var(--muted);margin:0 0 14px}

/* ==========================================================================
   Additions (design bot, Oct 4 2026): mailing list, Fog EP Extended teaser,
   EPK page, Fog Tee scale. Append to the end of css/style.css.
   ========================================================================== */
.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}

/* ---------- merch: optional per-item image scale (data/merch.json "scale") ---------- */
.merch-card .merch-img img.scaled{transform:scale(var(--img-scale,1));transform-origin:50% 62%}

/* ---------- mailing list (placeholder, no backend) ---------- */
.signup-form{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.signup-form input[type=email]{flex:1 1 240px;min-width:0;background:#0d0f13;border:1px solid #3a3420;border-radius:3px;color:var(--text);
  font:inherit;font-size:1rem;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.signup-form input[type=email]::placeholder{color:#6b6d78}
.signup-form input[type=email]:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(232,163,60,.18)}
.signup-form .btn{margin:0}
.signup-note{margin:8px 0 0;font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;color:var(--gold-deep)}
.signup-note.ok{color:var(--gold)}
.signup-block{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:30px 34px;border:1px solid rgba(232,163,60,.35);border-radius:var(--radius);
  background:linear-gradient(120deg,rgba(26,21,8,.85),rgba(20,22,28,.9) 55%),var(--card);position:relative}
.signup-block::before,.signup-block::after{content:"";position:absolute;width:9px;height:9px;background:var(--gold);transform:rotate(45deg);top:-5px}
.signup-block::before{left:24px}.signup-block::after{right:24px}
.signup-block .sub{margin:0}.signup-block h2.title{margin-bottom:6px}
.signup-section{padding:30px 0}
@media(max-width:760px){.signup-block{grid-template-columns:1fr;gap:16px;padding:24px 20px}}
.signup-footer{max-width:520px;margin:0 0 22px}
.signup-label{margin:0 0 8px;font-family:var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--text);font-size:.9rem}
.signup-footer .signup-form input[type=email]{padding:9px 12px;font-size:.95rem}
.signup-footer .signup-form .btn{padding:9px 18px}

/* ---------- Fog EP Extended teaser (removable: data/teaser.json) ---------- */
.teaser{padding:46px 0 10px}
.teaser-card{display:grid;grid-template-columns:minmax(240px,380px) 1fr;gap:34px;align-items:start;padding:26px;border:1px solid var(--line);border-radius:var(--radius);
  background:radial-gradient(600px 300px at 0% 0%,rgba(101,82,177,.16),transparent 70%),linear-gradient(180deg,#15171e,#101217)}
.teaser-art{position:relative;margin:0;border:1px solid #2c2f39;box-shadow:0 18px 40px rgba(0,0,0,.55)}
.teaser-art img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.teaser-art .badge{position:absolute;top:12px;left:12px;background:var(--gold);color:#140d03;font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;padding:5px 10px;border-radius:2px}
.teaser-body .kicker{font-family:var(--font-head);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-size:.8rem;margin:0 0 6px}
.teaser-body h2{font-size:clamp(2rem,4.6vw,3.2rem);margin:0 0 10px;text-transform:uppercase;letter-spacing:.05em}
.teaser-status{color:#c7c8d1;margin:0 0 14px;padding-left:12px;border-left:2px solid var(--gold-deep)}
.teaser-tracks summary{cursor:pointer;font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;color:var(--muted);margin-bottom:8px}
.teaser-tracks ol{columns:2;column-gap:28px;margin:0 0 6px;padding-left:24px;font-size:.92rem;color:#d6d6de}
.teaser-tracks li{break-inside:avoid;padding:2px 0;border-bottom:1px dotted #2a2c34}
.teaser-tracks li span.len{float:right;color:var(--muted);font-variant-numeric:tabular-nums;margin-left:8px}
.teaser-tracks li::marker{color:var(--gold-deep);font-size:.85em}
.teaser-actions{margin:16px 0 0}
.teaser-merch{padding-top:0}.teaser-merch .teaser-card{grid-template-columns:minmax(180px,260px) 1fr}
@media(max-width:760px){.teaser-card,.teaser-merch .teaser-card{grid-template-columns:1fr;padding:18px}.teaser-art{max-width:360px}.teaser-tracks ol{columns:1}}

/* ---------- EPK ---------- */
.epk-hero{padding:40px 0 20px}
.epk-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.epk-hero h1{margin:0}.epk-hero h1 img{width:min(520px,100%);height:auto}
.epk-hero .kicker{font-family:var(--font-head);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-size:.85rem;margin:0 0 12px}
.epk-name{font-family:var(--font-head);letter-spacing:.1em;text-transform:uppercase;font-size:1.25rem;margin:8px 0 6px}
.epk-hero .hero-art img{width:100%;max-width:440px;margin-left:auto;transform:rotate(-1.5deg)}
@media(max-width:860px){.epk-hero .wrap{grid-template-columns:1fr}.epk-hero .hero-art{order:-1;max-width:320px;margin:0 auto -10px}}
.epk-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.epk-facts div{padding:16px 18px;border-right:1px solid var(--line);background:var(--card)}
.epk-facts dt{font-family:var(--font-head);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:.75rem}
.epk-facts dd{margin:4px 0 0;color:#d6d6de}
.epk-bio p{max-width:780px}
.epk-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.epk-photo{margin:0}.epk-photo a img{width:100%;height:280px;object-fit:cover;object-position:center 30%;border:1px solid var(--line);border-radius:4px;background:#0d0f13;transition:border-color .2s}
.epk-photo:nth-child(3) a img{object-fit:contain}.epk-photo:nth-child(4) a img{object-fit:contain;padding:22px}
.epk-photo a:hover img{border-color:var(--gold)}
.epk-photo figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
@media(max-width:900px){.epk-photos{grid-template-columns:1fr 1fr}}
.disc-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.disc-card{display:block;text-decoration:none;color:var(--text)}.disc-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.disc-card h3{font-size:1rem;margin:0 0 4px}.disc-card .meta{margin:0;font-size:.78rem}
.epk-contact p{font-size:1.1rem}
.todo{display:none!important} /* launch: hide internal notes */
.btn.soon{opacity:.6;cursor:default;pointer-events:none;border-style:dashed}
