/* MOOSEGUARD stylesheet. Palette drawn from the official logos:
   weathered gold, dark wood brown, autumn orange, maple red, on near-black iron. */
:root{
  --black:#0d0b0a; --iron:#16130f; --iron-2:#1e1a15; --steel:#8c8a86; --steel-2:#b9b5ad;
  --wood:#4a2e1a; --wood-2:#6b4226; --gold:#d6a54a; --gold-2:#f0cf86; --gold-3:#a8782c;
  --orange:#d2721f; --maple:#b3261e; --maple-2:#d9382c; --bone:#ece4d4; --text:#ddd5c6; --muted:#a59c8c;
  --radius:6px; --maxw:1180px;
  --display:"Cinzel", "Trajan Pro", Georgia, serif;
  --body:"Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--black);color:var(--text);font:400 1.0625rem/1.65 var(--body);
  -webkit-font-smoothing:antialiased;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.85 0 0 0 0 0.7 0 0 0 0 0.45 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    radial-gradient(ellipse at 50% -10%, #241a12 0%, var(--black) 60%);
  background-attachment:fixed,fixed;}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-2);text-underline-offset:3px}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#000;padding:.5rem 1rem;z-index:100;font-weight:700}
.skip:focus{left:8px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,11,10,.88);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(214,165,74,.18)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:64px}
.brand img{height:42px;width:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.4rem}
.nav a{font:600 .82rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--steel-2);text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a:focus-visible{color:var(--gold-2);border-bottom-color:var(--maple)}
.nav-toggle{display:none;background:none;border:1px solid rgba(214,165,74,.4);color:var(--gold-2);border-radius:var(--radius);padding:.45rem .7rem;font:600 .8rem var(--display);letter-spacing:.1em}
@media (max-width:860px){
  .nav-toggle{display:block}
  .nav{position:absolute;left:0;right:0;top:64px;background:rgba(13,11,10,.97);border-bottom:1px solid rgba(214,165,74,.2);display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem}
  .nav a{display:block;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;font:700 .85rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;
  padding:.95rem 1.35rem;border-radius:var(--radius);text-decoration:none;border:1px solid transparent;transition:transform .15s,background .15s,border-color .15s}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:linear-gradient(180deg,var(--maple-2),var(--maple));color:#fff;border-color:#e24a3d;box-shadow:0 6px 18px rgba(179,38,30,.35)}
.btn-primary:hover{color:#fff;transform:translateY(-1px);background:linear-gradient(180deg,#e54436,#c02a21)}
.btn-ghost{background:rgba(13,11,10,.55);color:var(--gold-2);border-color:rgba(214,165,74,.55)}
.btn-ghost:hover{border-color:var(--gold-2);color:#fff}
.btn-sm{padding:.6rem .85rem;font-size:.72rem}

/* ---------- hero ---------- */
.hero{position:relative;min-height:calc(100svh - 64px);display:grid;place-items:center;text-align:center;overflow:hidden;
  padding:4rem 0 5rem;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url(../assets/hero-bg.webp) center 30%/cover no-repeat;filter:saturate(.75)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(ellipse at 50% 40%,rgba(13,11,10,.35) 0%,rgba(13,11,10,.82) 62%,var(--black) 100%),
             linear-gradient(180deg,rgba(13,11,10,.2),rgba(13,11,10,.55) 70%,var(--black))}
.hero-crest{width:min(400px,62vw);margin:0 auto 1.2rem;filter:drop-shadow(0 14px 30px rgba(0,0,0,.7))}
.hero h1{margin:0}
.hero h1 img{width:min(760px,92vw);margin:0 auto;filter:drop-shadow(0 8px 22px rgba(0,0,0,.8))}
.tagline{font:600 clamp(1.05rem,2.6vw,1.5rem)/1.3 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--bone);
  margin:1.1rem 0 2rem;text-shadow:0 2px 12px #000}
.tagline span{color:var(--maple-2)}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.scroll-cue{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);color:var(--muted);font:600 .7rem var(--display);letter-spacing:.3em;text-decoration:none}

/* ---------- sections ---------- */
section{padding:5.5rem 0}
.section-head{text-align:center;margin:0 auto 2.8rem;max-width:760px}
.kicker{display:inline-flex;align-items:center;gap:.7rem;font:700 .75rem/1 var(--display);letter-spacing:.32em;text-transform:uppercase;color:var(--orange)}
.kicker::before,.kicker::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-3))}
.kicker::after{transform:scaleX(-1)}
h2{font:900 clamp(2rem,5vw,3.2rem)/1.08 var(--display);color:var(--gold-2);margin:.7rem 0 .9rem;letter-spacing:.02em;
  text-shadow:0 2px 0 #3a2410,0 6px 20px rgba(0,0,0,.6)}
h3{font:700 1.25rem/1.25 var(--display);color:var(--bone);margin:0}
.lede{color:var(--muted);font-size:1.1rem;margin:0}
.divider{height:22px;max-width:var(--maxw);margin:0 auto;background:
  linear-gradient(90deg,transparent,rgba(214,165,74,.45) 30%,rgba(214,165,74,.45) 70%,transparent) center/100% 1px no-repeat;
  position:relative}
.divider::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);
  background:var(--black) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23b3261e' d='M12 1l1.6 4.2 2.2-1.1-.5 4.6 3.2-2.6.9 2.1 3-.6-1 3.2 1.5.7-4.8 3.9.6 1.9-4.6-.8-.1 4.5h-1.2l-.1-4.5-4.6.8.6-1.9L2.1 12l1.5-.7-1-3.2 3 .6.9-2.1 3.2 2.6-.5-4.6 2.2 1.1z'/%3E%3C/svg%3E") center/16px no-repeat}

/* ---------- music ---------- */
.music-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:start}
@media (max-width:860px){.music-grid{grid-template-columns:1fr}}
.player{border-radius:12px;overflow:hidden;border:1px solid rgba(214,165,74,.25);background:#121212;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.player iframe{display:block;width:100%;height:452px;border:0}
.listen-card{background:linear-gradient(180deg,var(--iron-2),var(--iron));border:1px solid rgba(214,165,74,.2);border-radius:12px;padding:1.6rem}
.listen-card h3{margin-bottom:.4rem}
.listen-card p{color:var(--muted);margin:.2rem 0 1.2rem}
.platforms{display:grid;gap:.7rem}
.platforms a{display:flex;align-items:center;gap:.9rem;padding:.9rem 1rem;border-radius:var(--radius);background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.08);color:var(--bone);text-decoration:none;font-weight:600}
.platforms a:hover{border-color:var(--gold);color:#fff}
.platforms svg{width:26px;height:26px;flex:none}
.platforms small{display:block;color:var(--muted);font-weight:400;font-size:.85rem}

/* ---------- discography ---------- */
.disco-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin:-1rem 0 2.2rem}
.disco-filter button{background:transparent;border:1px solid rgba(214,165,74,.35);color:var(--steel-2);border-radius:999px;padding:.45rem 1rem;
  font:600 .75rem var(--display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.disco-filter button[aria-pressed="true"]{background:var(--gold);color:#1a120a;border-color:var(--gold)}
.releases{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.6rem;list-style:none;padding:0;margin:0}
@media (max-width:420px){.releases{grid-template-columns:1fr}}
.release{display:flex;flex-direction:column;background:linear-gradient(180deg,#1b1713,#120f0c);border:1px solid rgba(214,165,74,.18);
  border-radius:10px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.45);transition:transform .2s,border-color .2s}
.release:hover{transform:translateY(-3px);border-color:rgba(214,165,74,.45)}
.release .cover{position:relative;aspect-ratio:1/1;background:#000}
.release .cover img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:.7rem;left:.7rem;background:rgba(13,11,10,.85);color:var(--gold-2);border:1px solid rgba(214,165,74,.5);
  font:700 .66rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;padding:.45rem .6rem;border-radius:4px}
.release .body{padding:1.15rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.meta{font:600 .74rem/1.3 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.meta time{color:var(--steel-2)}
.release p{margin:0;color:var(--text);font-size:.97rem}
.release details{border-top:1px solid rgba(255,255,255,.07);padding-top:.55rem}
.release summary{cursor:pointer;color:var(--gold-2);font-weight:600;font-size:.92rem}
.release ol{margin:.5rem 0 0;padding-left:1.3rem;color:var(--steel-2);font-size:.93rem}
.release .links{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto;padding-top:.4rem}

/* ---------- merch ---------- */
.merch{position:relative;isolation:isolate;overflow:hidden}
.merch::before{content:"";position:absolute;inset:0;z-index:-2;background:url(../assets/merch-bg.webp) center/cover no-repeat}
.merch::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--black),rgba(13,11,10,.78) 25%,rgba(13,11,10,.78) 75%,var(--black))}
.merch-card{max-width:720px;margin:0 auto;text-align:center;background:rgba(18,14,11,.82);border:1px solid rgba(214,165,74,.35);border-radius:14px;padding:2.4rem 1.6rem;
  box-shadow:0 20px 50px rgba(0,0,0,.55)}
.merch-card img{width:180px;margin:0 auto 1rem}

/* ---------- about / press ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:center}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:2rem}}
.about-emblem{display:grid;place-items:center;padding:1rem}
.about-emblem img{width:100%;max-width:420px;height:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.6))}
@media (max-width:860px){.about-emblem img{max-width:280px}}
.prose p{margin:0 0 1rem}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.6rem 0 0}
.facts div{background:rgba(0,0,0,.3);border:1px solid rgba(214,165,74,.18);border-radius:8px;padding:1rem;text-align:center}
.facts strong{display:block;font:900 1.8rem/1 var(--display);color:var(--gold-2)}
.facts span{font-size:.85rem;color:var(--muted)}
@media (max-width:480px){.facts{gap:.6rem}.facts div{padding:.8rem .4rem}.facts strong{font-size:1.45rem}}
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media (max-width:860px){.press-grid{grid-template-columns:1fr}}
.press-card{background:linear-gradient(180deg,var(--iron-2),var(--iron));border:1px solid rgba(214,165,74,.2);border-radius:10px;padding:1.5rem}
.press-card h3{font-size:1.05rem;margin-bottom:.6rem;color:var(--gold-2)}
.press-card p{margin:.2rem 0 .8rem;color:var(--muted)}
.press-card a.mail{font-weight:700;word-break:break-all}


/* ---------- footer ---------- */
.site-footer{border-top:1px solid rgba(214,165,74,.18);padding:3rem 0 2.2rem;background:#0a0807;text-align:center}
.site-footer .wordmark{width:260px;margin:0 auto 1.2rem;opacity:.95}
.socials{display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem;list-style:none;padding:0;margin:0 0 1.2rem}
.socials a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(214,165,74,.35);color:var(--steel-2)}
.socials a:hover{color:var(--gold-2);border-color:var(--gold-2)}
.socials a.placeholder{border-style:dashed;opacity:.6}
.socials svg{width:20px;height:20px}
.fine{color:#7d7568;font-size:.85rem;margin:.3rem 0}
.meta .type{display:inline-block;background:rgba(214,165,74,.14);color:var(--gold-2);border:1px solid rgba(214,165,74,.45);border-radius:3px;padding:.15rem .45rem;margin-right:.1rem}
.player{position:relative;min-height:452px}
.player-fallback{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:.8rem;color:var(--muted);font-size:.9rem;
  background:radial-gradient(circle at 50% 40%,#2a1f15,#121212 70%)}
.player-fallback img{width:150px;opacity:.75}
.player iframe{position:relative;z-index:1}
/* review fixes */
.divider{background:
  linear-gradient(90deg,transparent,rgba(214,165,74,.45)) left center/calc(50% - 20px) 1px no-repeat,
  linear-gradient(90deg,rgba(214,165,74,.45),transparent) right center/calc(50% - 20px) 1px no-repeat}
.divider::after{background-color:transparent}
@media (max-width:520px){
  .cta-row{flex-direction:column;align-items:center}
  .cta-row .btn{width:min(280px,100%);justify-content:center}
  .socials{gap:.45rem}
  .socials a{width:40px;height:40px}
}

/* launch additions */
.press-grid.two{grid-template-columns:repeat(2,1fr);max-width:880px;margin-left:auto;margin-right:auto}
@media (max-width:860px){.press-grid.two{grid-template-columns:1fr}}
.merch-follow{margin:1.1rem 0 1.2rem;color:var(--bone)}
