/* ============================================================
   HANK SINGLETON, Official Site
   Design system: dark outlaw-country, whiskey-amber accent
   Author: build system  |  Single shared stylesheet
   ============================================================ */

/* ---------- Design tokens ---------- */
:root{
  --ink:#0d0c0a;
  --ink-soft:#141210;
  --panel:#1a1613;
  --panel-2:#221c17;
  --bone:#f3ece0;
  --bone-dim:#c3b6a2;
  --muted:#94897a;
  --amber:#d59a44;
  --amber-2:#eabb68;
  --maroon:#8a2f2b;
  --error:#ef8f78;
  --line:rgba(243,236,224,.12);
  --line-2:rgba(243,236,224,.22);
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --radius:14px;
  --radius-sm:9px;
  --maxw:1200px;
  --font-display:"Anton","Oswald",Impact,sans-serif;
  --font-head:"Oswald","Arial Narrow",sans-serif;
  --font-body:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--ink)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--ink);color:var(--bone);
  font-family:var(--font-body);font-size:17px;line-height:1.65;
  font-weight:400;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
  overflow-x:clip;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--amber);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--amber-2)}
h1,h2,h3,h4{margin:0 0 .4em;line-height:1.02;font-weight:400}
p{margin:0 0 1.1em}
:focus-visible{outline:2.5px solid var(--amber);outline-offset:3px;border-radius:3px}
::selection{background:var(--amber);color:var(--ink)}
hr{border:none;border-top:1px solid var(--line);margin:0}

/* subtle film grain over everything */
body::after{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Layout helpers ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,40px)}
.section{padding-block:clamp(40px,5.5vw,72px);position:relative}
/* keep anchored targets clear of the fixed header */
section[id],[id].track,.hero[id]{scroll-margin-top:88px}
.section--tight{padding-block:clamp(24px,3vw,40px)}
.section--panel{background:var(--ink-soft)}
.center{text-align:center}
.stack>*+*{margin-top:1rem}
.skip-link{position:absolute;left:-999px;top:0;z-index:1000;background:var(--amber);color:var(--ink);padding:12px 18px;font-family:var(--font-head);font-weight:600}
.skip-link:focus{left:12px;top:12px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Typography ---------- */
.eyebrow{
  font-family:var(--font-head);font-weight:600;text-transform:uppercase;
  letter-spacing:.34em;font-size:.72rem;color:var(--amber);margin:0 0 1rem;
  display:inline-flex;align-items:center;gap:.7em;
}
.eyebrow::before{display:none}
.eyebrow.center-line{justify-content:center}
.display{
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:.005em;
  line-height:.9;font-weight:400;
}
h2.title{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.1rem,6vw,4rem);line-height:.92;letter-spacing:.01em;margin-bottom:.35em}
h3.sub{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:clamp(1.2rem,2.4vw,1.6rem)}
.lead{font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--bone-dim);max-width:60ch}
.muted{color:var(--muted)}
.amber{color:var(--amber)}

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--amber);--fg:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--font-head);font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  font-size:.86rem;padding:.95em 1.7em;background:var(--bg);color:var(--fg);
  border:1.5px solid var(--bg);border-radius:60px;cursor:pointer;
  transition:transform .18s var(--ease),background .2s,color .2s,border-color .2s;
  white-space:nowrap;
}
.btn:hover{background:var(--amber-2);border-color:var(--amber-2);color:var(--ink);transform:translateY(-2px)}
.btn--ghost{--bg:transparent;--fg:var(--bone);border-color:var(--line-2)}
.btn--ghost:hover{--bg:var(--bone);--fg:var(--ink);background:var(--bone);color:var(--ink);border-color:var(--bone)}
.btn--block{width:100%}
.btn svg{width:1.05em;height:1.05em;fill:currentColor}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* ---------- Header / Nav ---------- */
.site-header{
  position:fixed;inset:0 0 auto;z-index:200;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding-block:calc(16px + env(safe-area-inset-top,0px)) 16px;
  padding-inline:calc(clamp(20px,5vw,40px) + env(safe-area-inset-left,0px)) calc(clamp(20px,5vw,40px) + env(safe-area-inset-right,0px));
  transition:background .3s var(--ease),padding .3s var(--ease),border-color .3s;
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  background:rgba(13,12,10,.82);backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  border-bottom-color:var(--line);padding-block:calc(11px + env(safe-area-inset-top,0px)) 11px;
}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--bone)}
.brand:hover{color:var(--bone)}
.brand svg{height:34px;width:auto;display:block}
.brand-logo{height:40px;width:auto;display:block}
.brand .brand-mark{display:block;flex:0 0 auto}
.brand-word{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.15em;font-weight:600;font-size:.98rem;line-height:1;color:var(--bone);white-space:nowrap}
.brand-word b{color:var(--amber);font-weight:700}
@media (max-width:400px){.brand-word{font-size:.82rem;letter-spacing:.1em}}
@media (max-width:640px){.brand-logo{height:36px}}
@media (max-width:400px){.brand-logo{height:32px}}
.nav{display:flex;align-items:center;gap:6px}
.nav a.navlink{
  color:var(--bone);font-family:var(--font-head);font-weight:500;text-transform:uppercase;
  letter-spacing:.14em;font-size:.82rem;padding:.55em .85em;border-radius:8px;position:relative;
}
.nav a.navlink::after{content:"";position:absolute;left:.85em;right:.85em;bottom:.32em;height:1.5px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav a.navlink:hover{color:var(--bone)}
.nav a.navlink:hover::after,.nav a.navlink[aria-current="page"]::after{transform:scaleX(1)}
.nav a.navlink[aria-current="page"]{color:var(--amber)}
.header-cta{display:flex;align-items:center;gap:14px}
.header-social{display:flex;gap:12px;align-items:center}
.header-social a{color:var(--bone-dim);display:grid;place-items:center}
.header-social a:hover{color:var(--amber)}
.header-social svg{width:19px;height:19px;fill:currentColor}

/* hamburger */
.nav-toggle{display:none;background:none;border:0;color:var(--bone);cursor:pointer;padding:8px;z-index:210}
.nav-toggle svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:2}

/* mobile menu overlay */
.mobile-menu{
  position:fixed;inset:0;z-index:205;background:rgba(9,8,7,.97);
  backdrop-filter:blur(6px);display:flex;flex-direction:column;
  padding:calc(96px + env(safe-area-inset-top,0px)) clamp(24px,7vw,48px) calc(40px + env(safe-area-inset-bottom,0px));
  transform:translateY(-100%);opacity:0;visibility:hidden;
  transition:transform .4s var(--ease),opacity .3s;
}
.mobile-menu.open{transform:translateY(0);opacity:1;visibility:visible}
.mobile-menu a.m-link{
  font-family:var(--font-display);text-transform:uppercase;color:var(--bone);
  font-size:clamp(2rem,9vw,3rem);line-height:1.15;letter-spacing:.01em;
  border-bottom:1px solid var(--line);padding:.35em 0;
}
.mobile-menu a.m-link:hover,.mobile-menu a.m-link:focus{color:var(--amber)}
.mobile-menu .m-social{margin-top:auto;display:flex;gap:22px;padding-top:28px}
.mobile-menu .m-social a{color:var(--bone-dim)}
.mobile-menu .m-social svg{width:24px;height:24px;fill:currentColor}
body.menu-open{overflow:hidden}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero__scrim{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(13,12,10,.55) 0%,rgba(13,12,10,.15) 30%,rgba(13,12,10,.55) 68%,var(--ink) 100%),
    radial-gradient(120% 80% at 50% 20%,transparent 40%,rgba(13,12,10,.5) 100%);
}
.hero__inner{width:100%;max-width:var(--maxw);margin-inline:auto;padding:0 clamp(20px,5vw,40px) clamp(48px,8vw,90px)}
.hero__name{
  font-family:var(--font-display);text-transform:uppercase;color:var(--bone);
  font-size:clamp(3.4rem,15.5vw,12rem);line-height:.82;letter-spacing:.01em;
  margin:0;text-shadow:0 6px 40px rgba(0,0,0,.55);
}
.hero__name span{display:block}
.hero__tagline{
  font-family:var(--font-head);text-transform:uppercase;letter-spacing:.2em;
  color:var(--bone-dim);font-weight:500;font-size:clamp(.85rem,1.9vw,1.15rem);
  margin:.4em 0 1.4em;max-width:40ch;
}
.hero__tagline b{color:var(--amber);font-weight:600}
.hero .btn-row{margin-top:8px}
.hero__stream{margin-top:26px}
.scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:1;color:var(--bone-dim);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.3em;font-size:.66rem;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.85}
.scroll-cue .line{width:1px;height:36px;background:linear-gradient(var(--amber),transparent);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(.2);transform-origin:top;opacity:0}40%{opacity:1}100%{transform:scaleY(1);transform-origin:top;opacity:0}}

/* ---------- Streaming pills ---------- */
.streams{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.streams .label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.15em;font-size:.64rem;color:var(--muted);margin-right:2px}
.stream-pill{
  display:inline-flex;align-items:center;gap:.4em;padding:.48em .78em;border-radius:50px;
  background:rgba(243,236,224,.06);border:1px solid var(--line-2);color:var(--bone);
  font-family:var(--font-head);font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.71rem;
  transition:background .2s,border-color .2s,transform .18s,color .2s;
}
.stream-pill:hover{background:rgba(213,154,68,.16);border-color:var(--amber);color:var(--bone);transform:translateY(-2px)}
.stream-pill svg{width:15px;height:15px;fill:currentColor}

/* ---------- Release / feature ---------- */
.feature{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,64px);align-items:center}
.feature.reverse{direction:rtl}
.feature.reverse>*{direction:ltr}
.feature__art{position:relative}
.feature__art img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
.feature__art .badge{
  position:absolute;top:14px;left:14px;background:var(--amber);color:var(--ink);
  font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  font-size:.68rem;padding:.5em .9em;border-radius:6px;
}
.feature__meta{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:var(--muted);margin-bottom:.8rem}
.feature__meta b{color:var(--bone-dim);font-weight:600}

/* ---------- Track list ---------- */
.tracks{display:flex;flex-direction:column;gap:2px;margin:22px 0 0;border-top:1px solid var(--line)}
.track{
  display:grid;grid-template-columns:auto 44px 1fr auto;align-items:center;gap:16px;
  padding:15px 6px;border-bottom:1px solid var(--line);transition:background .2s;
}
.track:hover{background:rgba(243,236,224,.03)}
.track__num{font-family:var(--font-head);color:var(--muted);font-size:.85rem;width:1.4em;text-align:right}
.track__art{width:44px;height:44px;border-radius:6px;object-fit:cover;border:1px solid var(--line)}
.track__name{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:500;font-size:1.02rem;color:var(--bone);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.track__name .flag{background:var(--maroon);color:var(--bone);font-size:.6rem;font-weight:700;letter-spacing:.1em;padding:.25em .6em;border-radius:4px}
.track__links{display:flex;gap:10px;align-items:center}
.track__links a{color:var(--bone-dim);display:grid;place-items:center}
.track__links a:hover{color:var(--amber)}
.track__links svg{width:18px;height:18px;fill:currentColor}

/* ---------- Split media band ---------- */
.band{position:relative;min-height:62vh;display:flex;align-items:center;isolation:isolate;overflow:hidden}
.band__media{position:absolute;inset:0;z-index:-2}
.band__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.band__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--ink) 0%,rgba(13,12,10,.72) 45%,rgba(13,12,10,.25) 100%)}
.band__scrim.right{background:linear-gradient(270deg,var(--ink) 0%,rgba(13,12,10,.72) 45%,rgba(13,12,10,.25) 100%)}

/* ---------- Cards / grid ---------- */
.grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;transition:border-color .25s,transform .25s,background .25s;
}
.card:hover{border-color:var(--line-2);transform:translateY(-3px)}
.card h3,.card h2{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:1.15rem}

/* ---------- Stats strip ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}
.stat{padding:18px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.stat .n{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.3rem);color:var(--amber);line-height:1}
.stat .l{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--bone-dim);margin-top:8px}

/* ---------- About ---------- */
.about-portrait img{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}
.pull{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.5rem,3.3vw,2.4rem);line-height:1.02;color:var(--bone);border-left:3px solid var(--amber);padding-left:22px;margin:1.4rem 0}

/* facts list */
.facts{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.facts li{display:flex;justify-content:space-between;gap:20px;padding:13px 2px;border-bottom:1px solid var(--line);font-size:.98rem}
.facts .k{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--muted);flex:0 0 auto}
.facts .v{color:var(--bone);text-align:right}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
  font-family:var(--font-head);text-transform:uppercase;letter-spacing:.03em;font-weight:500;
  font-size:clamp(1.02rem,2vw,1.22rem);color:var(--bone);padding:18px 2px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:0 0 auto;width:26px;height:26px;position:relative;transition:transform .3s var(--ease)}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--amber);inset:50% 0 auto 0;height:2px;transform:translateY(-50%)}
.faq summary .pm::after{transform:translateY(-50%) rotate(90deg);transition:opacity .3s}
.faq details[open] summary .pm::after{opacity:0}
.faq .faq-body{padding:0 2px 20px;color:var(--bone-dim);max-width:70ch}
.faq .faq-body p:last-child{margin-bottom:0}

/* ---------- Coming soon ---------- */
.coming{max-width:720px;margin-inline:auto;text-align:center}
.coming .big{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.6rem,10vw,6rem);line-height:.88;color:var(--bone)}
.coming .big em{color:var(--amber);font-style:normal}

/* ---------- Newsletter ---------- */
.signup{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel)}
.signup__media{position:absolute;inset:0;z-index:-2}
.signup__media img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.signup__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,12,10,.72),rgba(13,12,10,.9))}
.signup__inner{padding:clamp(30px,5vw,60px);max-width:640px}
.form-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.form-row input[type=email]{
  flex:1 1 240px;min-width:0;background:rgba(13,12,10,.6);border:1.5px solid var(--line-2);
  color:var(--bone);padding:.95em 1.1em;border-radius:60px;font-family:var(--font-body);font-size:1rem;
}
.form-row input::placeholder{color:var(--muted)}
.form-row input:focus{outline:none;border-color:var(--amber);background:rgba(13,12,10,.8)}
.form-note{font-size:.8rem;color:var(--muted);margin-top:12px}
.form-msg{margin-top:14px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;color:var(--amber);min-height:1.2em}
.form-full{display:grid;gap:12px}
.form-full input,.form-full textarea,.form-full select{
  background:rgba(13,12,10,.5);border:1.5px solid var(--line-2);color:var(--bone);
  padding:.9em 1.05em;border-radius:12px;font-family:var(--font-body);font-size:1rem;width:100%;
}
.form-full textarea{min-height:130px;resize:vertical}
.form-full input:focus,.form-full textarea:focus,.form-full select:focus{outline:none;border-color:var(--amber)}
.form-full label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;color:var(--bone-dim);margin-bottom:-4px}

/* ---------- Social grid ---------- */
.socials{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.social-tile{
  display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--panel);color:var(--bone);transition:border-color .2s,transform .2s,background .2s;
}
.social-tile:hover{border-color:var(--amber);transform:translateY(-3px);color:var(--bone);background:var(--panel-2)}
.social-tile svg{width:26px;height:26px;fill:var(--amber);flex:0 0 auto}
.social-tile .st-name{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.92rem;line-height:1.1}
.social-tile .st-handle{font-size:.8rem;color:var(--muted)}

/* ---------- Breadcrumbs ---------- */
.crumbs{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--muted);padding-top:calc(96px + env(safe-area-inset-top,0px))}
.crumbs a{color:var(--bone-dim)}
.crumbs a:hover{color:var(--amber)}
.crumbs .sep{margin:0 .6em;color:var(--line-2)}

/* page hero (subpages) */
.page-hero{position:relative;isolation:isolate;overflow:hidden;padding:calc(118px + env(safe-area-inset-top,0px)) 0 clamp(40px,6vw,72px)}
.page-hero__media{position:absolute;inset:0;z-index:-2}
.page-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.page-hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,12,10,.7) 0%,rgba(13,12,10,.55) 50%,var(--ink) 100%)}
.page-hero h1{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.6rem,8vw,5.2rem);line-height:.9;color:var(--bone);margin:.1em 0 .2em}
.page-hero .lead{color:var(--bone-dim)}

/* related links */
.related{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.related a{
  font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;
  border:1px solid var(--line-2);border-radius:60px;padding:.7em 1.3em;color:var(--bone);
}
.related a:hover{border-color:var(--amber);color:var(--amber)}

/* ---------- Footer ---------- */
.site-footer{background:#0a0908;border-top:1px solid var(--line);padding:clamp(44px,6vw,72px) 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:44px}
.footer-brand svg{height:40px;width:auto;margin-bottom:16px}
.footer-brand p{color:var(--muted);max-width:34ch;font-size:.95rem}
.footer-col h4{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;color:var(--amber);margin-bottom:16px}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.footer-col a{color:var(--bone-dim);font-size:.94rem}
.footer-col a:hover{color:var(--bone)}
.footer-social{display:flex;gap:16px;margin-top:6px}
.footer-social a{color:var(--bone-dim)}
.footer-social a:hover{color:var(--amber)}
.footer-social svg{width:22px;height:22px;fill:currentColor}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;padding-top:26px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}
.footer-bottom a{color:var(--muted)}
.footer-bottom a:hover{color:var(--bone-dim)}

/* ---------- Reveal animation (progressive enhancement) ----------
   Only hidden when JS is active (html.js). No-JS users & crawlers see content. */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.scroll-cue .line{animation:none}}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;background:var(--ink-soft)}
.marquee__track{display:inline-flex;gap:20px;align-items:center;white-space:nowrap;animation:marq 26s linear infinite;font-family:var(--font-display);text-transform:uppercase;font-size:1.4rem;color:var(--bone-dim)}
.marquee__track span{display:inline-flex;gap:40px;align-items:center}
.marquee__track em{color:var(--amber);font-style:normal}
@keyframes marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:960px){
  .nav,.header-social{display:none}
  .nav-toggle{display:block}
  .feature{grid-template-columns:1fr;gap:30px}
  .feature.reverse{direction:ltr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:640px){
  body{font-size:16px}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr;gap:12px}
  .socials{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .track{grid-template-columns:auto 40px 1fr auto;gap:12px}
  .facts li{flex-direction:column;gap:2px}
  .facts .v{text-align:left}
  .btn{width:100%}
  .hero .btn-row .btn{width:100%}
  .form-row .btn{width:100%}
}


/* ---------- Footer bar (newsletter-forward, Aldean style) ---------- */
#newsletter{scroll-margin-top:80px}
.footer-news{margin-bottom:clamp(38px,5vw,58px)}
.footer-bar{border-top:1px solid var(--line);text-align:center;padding:clamp(28px,4vw,42px) 0 calc(30px + env(safe-area-inset-bottom,0px))}
.footer-logo{display:flex;justify-content:center;margin-bottom:16px}
.footer-logo .brand-logo{height:60px}
.footer-bar .footer-social{justify-content:center;margin:0 0 18px}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin-bottom:14px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem}
.footer-legal a{color:var(--bone-dim)}
.footer-legal a:hover{color:var(--amber)}
.footer-legal .dot{color:var(--line-2)}
.footer-copy{color:var(--muted);font-size:.82rem;margin:0;line-height:1.7}
.footer-copy .copy-sep{margin:0 .55em;color:var(--line-2)}
.footer-copy a{color:var(--muted)}
.footer-copy a:hover{color:var(--bone-dim)}
@media (max-width:560px){.footer-copy .copy-sep{display:none}.footer-copy a[href^="mailto"]{display:block;margin-top:4px}}

/* facts values become links */
.facts .v a{color:var(--bone);border-bottom:1px solid var(--line-2);transition:color .2s,border-color .2s}
.facts .v a:hover{color:var(--amber);border-color:var(--amber)}

/* ---------- Legal & content pages ---------- */
.legal-head{padding-top:calc(118px + env(safe-area-inset-top,0px));padding-bottom:6px}
.legal{max-width:770px;margin-inline:auto;color:var(--bone-dim)}
.legal h2{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--bone);font-size:clamp(1.2rem,2.3vw,1.6rem);margin:1.7em 0 .5em}
.legal h3{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--bone);font-size:1.06rem;margin:1.4em 0 .4em}
.legal p,.legal li{font-size:1.02rem;line-height:1.75}
.legal ul{padding-left:1.2em;margin:0 0 1.15em}
.legal li{margin-bottom:.4em}
.legal a{color:var(--amber)}
.legal a:hover{color:var(--amber-2)}

/* centered media band (e.g. home Merch teaser) */
.band__scrim.center{background:linear-gradient(180deg,rgba(13,12,10,.5),rgba(13,12,10,.72)),radial-gradient(120% 92% at 50% 50%,rgba(13,12,10,.18),rgba(13,12,10,.7))}


/* ---------- centering + spacing fixes ---------- */
.page-hero--center .wrap{text-align:center}
.page-hero--center .lead{margin-inline:auto}
.ep-tracks{margin-top:clamp(34px,5vw,56px)}
.coming .big{margin:0}
.coming .lead{margin:18px auto 0}
/* marquee clickable song links */
.marquee__item{color:var(--bone-dim);transition:color .2s var(--ease)}
.marquee__item:hover{color:var(--amber)}
.marquee:hover .marquee__track{animation-play-state:paused}

/* ---------- Videos ---------- */
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;align-items:start}
.video-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--bone);transition:border-color .2s,transform .2s}
.video-card:hover{border-color:var(--amber);transform:translateY(-3px);color:var(--bone)}
.video-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#000}
.video-thumb img{width:100%;height:100%;object-fit:cover}
.video-play{position:absolute;inset:0;margin:auto;width:64px;height:64px;display:grid;place-items:center;background:rgba(13,12,10,.55);border:2px solid var(--bone);border-radius:50%;transition:background .2s,transform .2s,border-color .2s}
.video-card:hover .video-play{background:var(--amber);border-color:var(--amber);transform:scale(1.06)}
.video-play svg{width:26px;height:26px;fill:var(--bone);margin-left:3px}
.video-card:hover .video-play svg{fill:var(--ink)}
.video-info{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:15px 18px}
.video-title{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:1.05rem}
.video-views{font-size:.82rem;color:var(--muted);white-space:nowrap}
.video-embed{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#000}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:640px){.video-grid{grid-template-columns:1fr}}

/* contact follow-card logos */
.card-social{display:flex;gap:16px;margin-top:2px}
.card-social a{color:var(--bone-dim)}
.card-social a:hover{color:var(--amber)}
.card-social svg{width:22px;height:22px;fill:currentColor}

/* clickable EP cover */
.art-link{display:block;position:relative}
.art-link img{transition:filter .25s var(--ease)}
.art-link:hover img{filter:brightness(1.07)}

/* Mobile: solid, fully opaque sticky header so its top edge always reads cleanly.
   A gap that can appear ABOVE the header in mobile Safari is the browser's own
   translucent toolbar / safe-area inset, which page CSS cannot paint into; it
   disappears in the installed PWA. We keep sticky + safe-area rather than a giant
   pseudo-element that never actually reaches the browser chrome. */
@media (max-width:960px){
  .site-header,.site-header.scrolled{background:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}
  .site-header{position:sticky;top:0;border-bottom-color:var(--line)}
}

/* mobile: Find Hank Everywhere = logos only in one row (socials logos-only) */
@media (max-width:640px){
  .socials{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
  .social-tile{width:44px;height:44px;min-width:0;padding:0;gap:0;justify-content:center;border-radius:50%}
  .social-tile>span{display:none}
  .social-tile svg{width:20px;height:20px}
}

/* mobile: streaming buttons = logos only, one row (streaming logos-only) */
@media (max-width:640px){
  .streams{justify-content:center;gap:12px}
  .streams .label{display:none}
  .stream-pill{padding:0;width:46px;height:46px;justify-content:center;border-radius:50%;gap:0}
  .stream-pill .sp-name{display:none}
  .stream-pill svg{width:20px;height:20px}
  .scroll-cue{display:none}
}

/* ---------- Install ("Save to Home Screen") ---------- */
.install-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:220;max-width:520px;margin-inline:auto;background:var(--panel-2);border:1px solid var(--line-2);border-radius:16px;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));box-shadow:0 16px 44px rgba(0,0,0,.55);transform:translateY(170%);opacity:0;transition:transform .45s var(--ease),opacity .3s}
.install-banner.in{transform:none;opacity:1}
.install-row{display:flex;align-items:center;gap:14px}
.install-mark{width:46px;height:46px;border-radius:11px;flex:0 0 auto;border:1px solid var(--line)}
.install-copy{flex:1;min-width:0;line-height:1.25}
.install-copy strong{display:block;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;color:var(--bone)}
.install-copy span{font-size:.78rem;color:var(--muted)}
.install-save{padding:.6em 1.35em;font-size:.8rem;flex:0 0 auto;width:auto}
.install-close{position:absolute;top:6px;right:6px;background:none;border:0;color:var(--muted);cursor:pointer;padding:8px;line-height:0}
.install-close svg{width:16px;height:16px;stroke:currentColor}
.install-ios{margin:12px 2px 0;font-size:.86rem;color:var(--bone-dim);line-height:1.5}
.install-ios .ios-share{width:20px;height:20px;fill:var(--amber);vertical-align:-4px;margin:0 2px}
.install-ios b{color:var(--bone)}
.m-install{margin-top:22px;align-self:flex-start;background:var(--amber);color:var(--ink);border:0;border-radius:60px;padding:.8em 1.5em;font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.86rem;cursor:pointer}
.m-install:hover{background:var(--amber-2)}

/* iOS Safari / WebKit only: own the top safe-area (status bar) region so no light
   gap can appear above the header. Page CSS cannot paint the browser toolbar
   itself (that follows theme-color, already ink), but it can paint this inset. */
@supports (-webkit-touch-callout: none){
  body::before{
    content:"";position:fixed;top:0;left:0;right:0;
    height:env(safe-area-inset-top,0px);
    background:var(--ink);z-index:260;pointer-events:none;
  }
}

