/* ═══════════════════════════════════════════════════════════════════════
   Shadowless press packs — shared web stylesheet.

   Restyles the existing press-pack markup into the shadowless.co.uk design
   without touching the markup itself. The class vocabulary (.container,
   .cover, .section, .facts-table, .links-grid …) is identical across every
   pack, so one stylesheet covers all of them and any future ones.

   Tokens are lifted from index.html so these pages read as part of the site.
   Rule of the house: no drop shadows anywhere — hard offset plates instead.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  --ink:#0d0b12;          /* near-black with a violet undertone */
  --paper:#f2ede3;        /* warm off-white */
  --shine:#f5c518;        /* hot gold */
  --blood:#e03a2f;        /* rasclaat red */
  --violet:#6e5aa0;       /* dub violet */
  --line:2px;
}
*{margin:0;padding:0;box-sizing:border-box}

@font-face{
  font-family:'Bad Mofo';
  src:url('fonts/badmofo.woff2') format('woff2'),
      url('fonts/badmofo.woff') format('woff');
  font-weight:normal;font-style:normal;font-display:swap;
}

html{scroll-behavior:smooth;scroll-padding-top:124px}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  background:var(--ink);
  color:var(--paper);
  font-family:'Space Grotesk',system-ui,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;line-height:.95}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--shine);outline-offset:3px}
img{display:block;max-width:100%}

/* ---------- site chrome: ticker, nav, footer ---------- */
.strip{
  background:var(--shine);color:var(--ink);
  font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  padding:8px 0;overflow:hidden;white-space:nowrap;
}
.strip span{display:inline-block;padding-left:100%;animation:ticker 22s linear infinite}
@keyframes ticker{to{transform:translateX(-100%)}}
.strip:hover span{animation-play-state:paused}

nav{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:var(--line) solid rgba(242,237,227,.2)}
nav .nav-inner{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;max-width:1100px;margin:0 auto}
nav .mark{font-family:'Bad Mofo','Anton',sans-serif;font-size:2.5rem;letter-spacing:normal;text-transform:uppercase;display:flex;align-items:center;gap:.45em;text-decoration:none}
nav .mark img{height:3.75rem;width:auto;display:block}
nav ul{display:flex;gap:26px;list-style:none;font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
nav a{text-decoration:none}
nav a:hover{color:var(--shine)}
nav a[aria-current="page"]{color:var(--shine)}

.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:9px;background:none;border:none;cursor:pointer;z-index:70}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--paper);border-radius:2px;transition:transform .28s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;z-index:40}
.nav-overlay.show{opacity:1;visibility:visible}
@media(max-width:680px){
  .nav-toggle{display:flex}
  nav ul{
    position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(78vw,320px);
    flex-direction:column;align-items:flex-start;gap:4px;padding:88px 30px 30px;font-size:1rem;
    background:var(--ink);border-left:2px solid rgba(242,237,227,.18);
    transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:60;overflow-y:auto;
  }
  nav ul.open{transform:translateX(0)}
  nav ul li{width:100%}
  nav ul a{display:block;padding:12px 0;width:100%;border-bottom:1px solid rgba(242,237,227,.08)}
}

/* ---------- page shell ---------- */
.container{max-width:1100px;margin:0 auto;padding:0 24px;background:none}

/* ---------- cover / hero ---------- */
.cover{padding:64px 0 48px;text-align:left;background:none;position:relative}
.cover::before{display:none}          /* kill the old decorative rule */
.press-label{
  display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--shine);border:var(--line) solid var(--shine);padding:6px 14px;margin-bottom:24px;
}
.artist-name{font-size:clamp(2.6rem,8vw,6rem);margin-bottom:14px;color:var(--paper)}
.cover-art{
  width:100%;max-width:520px;margin:26px 0 28px;
  border:var(--line) solid var(--paper);position:relative;
}
.ep-title{
  font-family:'Anton',sans-serif;text-transform:uppercase;
  font-size:clamp(1.4rem,4vw,2.4rem);letter-spacing:.06em;margin-bottom:8px;
  background:linear-gradient(105deg,#8a6a10 0%,var(--shine) 22%,#fff6cf 38%,var(--shine) 52%,#8a6a10 78%,var(--shine) 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:gleam 5.5s linear infinite;
}
@keyframes gleam{to{background-position:-220% 0}}
.featuring{font-size:1.05rem;color:rgba(242,237,227,.8);margin-bottom:20px;font-style:normal}
.cover-meta{font-size:.95rem;color:rgba(242,237,227,.6);line-height:1.9;margin-bottom:22px}
.cover-divider{width:60px;height:2px;background:var(--shine);margin:22px 0}
.cover-contact{font-size:.95rem;color:rgba(242,237,227,.7)}
.cover-contact strong{color:var(--paper)}
.cover-contact a{color:var(--shine);text-decoration:none;border-bottom:1px solid rgba(245,197,24,.4)}

/* ---------- accent bar ---------- */
.accent-bar{display:flex;height:6px;margin:0}
.accent-bar .red{flex:1;background:var(--blood)}
.accent-bar .gold{flex:1;background:var(--shine)}
.accent-bar .blue{flex:1;background:var(--violet)}

/* ---------- content ---------- */
.content{padding:0;background:none}
.section{padding:48px 0;border-top:var(--line) solid rgba(242,237,227,.14)}
.section:first-child{border-top:none}
.section h2{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:24px;color:var(--shine);border:none;padding:0}
.section h3{font-size:1.1rem;margin:22px 0 8px;color:var(--shine)}
.section p{margin-bottom:16px;max-width:64ch}
.highlight{color:var(--shine);font-weight:700}
.italic{font-style:italic;color:rgba(242,237,227,.7)}

/* ---------- inline artwork ---------- */
.artwork-inline{
  float:left;width:170px;margin:4px 24px 14px 0;
  border:var(--line) solid rgba(242,237,227,.25);
}
.clearfix::after{content:"";display:table;clear:both}
@media(max-width:560px){
  .artwork-inline{float:none;width:180px;margin:0 0 16px 0}
}

/* ---------- discography / tracks ---------- */
.discography-item{margin-bottom:20px}
.discography-item .title{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.05rem;color:var(--paper);letter-spacing:.04em}
.track-list{list-style:none;margin:12px 0;border-left:4px solid var(--shine)}
.track{
  padding:10px 18px;font-family:'Courier New',monospace;font-size:.9rem;
  background:rgba(242,237,227,.04);border-bottom:1px solid rgba(242,237,227,.08);
}
.track-credit{color:rgba(242,237,227,.55);font-size:.82rem}
.track-list .placeholder,.link-item .placeholder{color:rgba(242,237,227,.4);font-style:italic}

/* ---------- quotes ---------- */
.quote-block{
  border-left:4px solid var(--shine);
  padding:22px 26px;margin:26px 0;
  background:rgba(242,237,227,.05);
}
.quote-text{font-size:1.06rem;line-height:1.75;margin-bottom:12px}
.quote-source{
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--shine);font-weight:700;font-style:normal;
}

/* ---------- key facts ---------- */
.facts-table{width:100%;border-collapse:collapse;max-width:820px}
.facts-table tr{border:none}
.facts-table td{padding:12px 14px;border-bottom:1px solid rgba(242,237,227,.14);vertical-align:top;background:none}
.facts-table .label{
  width:34%;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(242,237,227,.55);font-weight:700;background:none;
}
.facts-table .value{font-size:1rem;color:var(--paper)}
@media(max-width:560px){
  .facts-table .label{width:40%;font-size:.68rem}
  .facts-table .value{font-size:.92rem}
}

/* ---------- artwork ---------- */
.artwork-section{margin:26px 0}
.artwork-large{width:100%;max-width:820px;border:var(--line) solid rgba(242,237,227,.25)}
.artwork-caption{font-size:.85rem;color:rgba(242,237,227,.55);margin-top:10px;font-style:italic}
.artwork-note{font-size:.85rem;color:rgba(242,237,227,.45);font-style:italic;margin-top:8px}

/* ---------- links ---------- */
.links-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;max-width:900px}
@media(max-width:680px){.links-grid{grid-template-columns:1fr}}
.link-item{margin:0}
.link-item .link-label{
  display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(242,237,227,.55);font-weight:700;margin-bottom:3px;
}
.link-item a{color:var(--shine);text-decoration:none;border-bottom:1px solid rgba(245,197,24,.4)}
.link-item a:hover{color:var(--paper);border-bottom-color:var(--paper)}

/* ---------- footer ---------- */
.footer{padding:34px 0;background:none}
.footer .footer-inner{
  max-width:1100px;margin:0 auto;padding:0 24px;
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  font-size:.85rem;color:rgba(242,237,227,.6);
}
.footer a{color:var(--shine);text-decoration:none}
.footer-text{margin:0;font-size:.85rem;color:rgba(242,237,227,.6)}

/* ---------- print: journalists do print these ---------- */
@media print{
  nav,.strip,.nav-overlay{display:none!important}
  body{background:#fff;color:#111}
  .section h2,.section h3,.quote-source,.link-item a,.cover-contact a,.ep-title{
    color:#8a6a10;-webkit-text-fill-color:#8a6a10;animation:none;background:none;
  }
  .artist-name{color:#111}
  .cover-art,.artwork-large,.artwork-inline{border-color:#999}
  .section{border-top:1px solid #ccc}
  .track,.quote-block{background:#f4f4f4}
  a{color:#111;text-decoration:underline}
}
