:root{
  --bg:#050608;
  --panel:#0b0d10;
  --panel2:#11151b;
  --text:#f6f5f1;
  --muted:#a6acb8;
  --line:#242a31;
  --gold:#d48e00;
  --gold2:#e4a11a;
  --max:1500px;
  --header:88px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
.site-header{height:var(--header);position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:220px 1fr 154px;align-items:center;gap:18px;padding:0 4vw;background:transparent;border-bottom:1px solid transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}
.site-header.scrolled{background:rgba(3,4,6,.95);border-bottom-color:rgba(255,255,255,.05);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(0,0,0,.22)}
.brand{display:flex;align-items:center;height:100%;padding:6px 0;overflow:visible}
.brand img{display:block;width:180px;height:72px;max-height:72px;object-fit:contain;object-position:left center;transform:translateY(-1px)}
.nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.55vw,28px);height:100%;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:14px;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.nav a{color:#c7c9ce;position:relative;transition:.2s}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--gold);transition:.2s}
.nav a:hover,.nav a.active{color:var(--gold)}
.nav a:hover::after,.nav a.active::after{right:0}
.book-bar{display:flex;align-items:center;justify-content:center;height:44px;border-radius:7px;background:var(--gold);color:#08090b;text-transform:uppercase;font-family:"Barlow Condensed",sans-serif;font-weight:800;letter-spacing:.04em;font-size:15px;transition:.2s}
.book-bar:hover{background:var(--gold2);color:#fff;transform:translateY(-1px)}
.menu-toggle{display:none;background:transparent;border:0;padding:9px;cursor:pointer}.menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px 0}
.hero{min-height:860px;height:100vh;position:relative;display:grid;grid-template-columns:50% 50%;padding-top:0;overflow:hidden;background:#07090c}
.hero-photo{position:relative;height:100%;overflow:hidden;background:#111}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:contrast(1.07) saturate(.85) brightness(.78);transform:scale(1.04)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.05),rgba(5,6,8,.05) 58%,rgba(5,6,8,.86) 100%),linear-gradient(0deg,rgba(5,6,8,.7),transparent 45%)}
.hero-texture{position:absolute;inset:0 0 0 46%;background:radial-gradient(circle at 20% 40%,rgba(212,142,0,.14),transparent 35%),radial-gradient(circle at 90% 25%,rgba(255,255,255,.09),transparent 24%),linear-gradient(120deg,#11100e 0%,#08090b 55%,#050608 100%);opacity:.95}
.hero-texture::after{content:"";position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.hero-content{position:relative;z-index:3;grid-column:2;align-self:center;max-width:740px;padding:40px 6vw 50px 4vw}
.eyebrow{margin:0 0 14px;color:var(--gold);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:15px;font-weight:700;letter-spacing:.1em}
h1,h2,h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase}
.hero h1{font-size:clamp(72px,7.8vw,145px);line-height:.74;letter-spacing:-.02em;margin:0 0 28px;font-weight:800}
.hero h1 span{color:var(--gold)}
.hero-sub{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:20px;color:#d3d6dc;margin:0 0 30px}
blockquote{margin:0;max-width:630px;color:#d3d4d6;font-style:italic;font-size:16px;line-height:1.7}
.quote-credit{color:#d6d6d6;margin:4px 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn,.text-button{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.03em}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:6px;border:1px solid var(--gold);transition:.2s}
.btn-primary{background:var(--gold);color:#08090b}.btn-primary:hover{background:var(--gold2);color:#fff}
.btn-outline{background:transparent;color:var(--gold)}.btn-outline:hover{background:rgba(212,142,0,.09)}
.feature{min-height:650px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);background:#040506}
.feature.reverse .feature-copy{order:1}.feature.reverse .feature-image{order:2}
.feature-image{position:relative;min-height:620px;overflow:hidden;background:#111}
.feature-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.04)}
.feature-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 75%,rgba(4,5,6,.65))}
.feature.reverse .feature-image::after{background:linear-gradient(270deg,transparent 78%,rgba(4,5,6,.65))}
.feature-image.tall img{object-position:center 35%}
.play-button{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border:2px solid var(--gold);border-radius:50%;background:rgba(18,20,23,.82);color:var(--gold);font-size:24px;cursor:pointer}
.feature-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px max(5vw,70px)}
.feature-copy h2,.section-copy h2,.gear-copy h2,.about-copy h2,.section-head h2,.merch-copy h2,.contact-copy h2{font-size:clamp(45px,4.2vw,76px);line-height:.94;margin:0 0 24px;font-weight:800;letter-spacing:.005em}
.feature-copy h2 span{color:var(--gold)}
.feature-copy>p:not(.eyebrow){color:var(--muted);max-width:650px}
.text-button{display:inline-flex;align-items:center;gap:14px;margin-top:20px;padding:10px 18px;border:1px solid var(--gold);border-radius:5px;color:var(--gold)}
.text-button:hover{background:var(--gold);color:#08090b}
.check-list{list-style:none;padding:0;margin:24px 0 8px;display:grid;gap:12px}
.check-list li::before{content:"✓";color:var(--gold);font-weight:800;margin-right:14px}
.discography{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:#0d1117;border-bottom:1px solid var(--line)}
.section-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px max(5vw,60px)}
.discography-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);min-height:560px}
.discography-grid img,.album-card{width:100%;height:100%;object-fit:cover;min-height:280px}
.album-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 45% 30%,#49403d,#111 55%,#070809);font-family:"Barlow Condensed";font-size:38px;text-align:center;color:#e5e5e2;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.album-card small{font-size:16px;color:#aaa;letter-spacing:.12em}
.gear-section{display:grid;grid-template-columns:1fr 1fr 2fr;min-height:560px;border-bottom:1px solid var(--line);background:#030405}
.gear-image{overflow:hidden}.gear-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.78)}.gear-image.secondary img{filter:brightness(.82) saturate(.95)}
.gear-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px 7vw}
.about-section{display:grid;grid-template-columns:1fr 1fr;background:#0b0d10;border-bottom:1px solid var(--line)}
.about-photo{min-height:640px;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.about-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:85px 8vw}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:650px}
.cards-section{padding:100px max(4vw,calc((100vw - var(--max))/2));background:#060708;border-bottom:1px solid var(--line)}
.section-head{margin-bottom:38px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.cards-grid article{min-height:290px;padding:35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0a0c0f}.cards-grid article>span{color:var(--gold);font-family:"Barlow Condensed";font-weight:700}.cards-grid h3{font-size:32px;margin:18px 0 8px}.cards-grid p{color:var(--muted)}.cards-grid a{color:var(--gold);font-family:"Barlow Condensed";text-transform:uppercase;font-weight:700}
.merch-section{display:grid;grid-template-columns:1.1fr .9fr;min-height:520px;background:#0c0f13;border-bottom:1px solid var(--line)}
.merch-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 8vw}.merch-copy>p:not(.eyebrow){color:var(--muted)}
.merch-art{display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at center,rgba(212,142,0,.10),transparent 54%),#07090c}.merch-art img{width:min(680px,90%);filter:drop-shadow(0 20px 60px rgba(0,0,0,.7))}
.contact-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:100px max(5vw,calc((100vw - var(--max))/2));background:#050608}
.contact-copy>p:not(.eyebrow){color:var(--muted);max-width:520px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:7px}.contact-form label:nth-of-type(4){grid-column:1/-1}.contact-form span{font-family:"Barlow Condensed";text-transform:uppercase;letter-spacing:.06em;color:#d3d5d9}.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;background:#0d1014;color:#fff;border:1px solid #2a3038;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}.contact-form button{width:max-content}.form-message{grid-column:1/-1;margin:0;color:var(--muted)}
footer{min-height:150px;padding:34px max(4vw,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);color:#7f858e;font-size:13px;background:#030405}footer>img{width:160px}.footer-links{display:flex;gap:20px}.footer-links a:hover{color:var(--gold)}
.reveal{opacity:0;transform:translateY(26px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1300px){.site-header{grid-template-columns:190px 1fr 135px;padding:0 2.3vw}.brand img{width:160px;height:68px;max-height:68px}.nav{gap:14px;font-size:12.5px}.book-bar{font-size:13px}.hero h1{font-size:clamp(68px,7.5vw,115px)}}
@media(max-width:1050px){:root{--header:78px}.site-header{grid-template-columns:180px 1fr auto}.book-bar{display:none}.menu-toggle{display:block;justify-self:end}.nav{display:none;position:absolute;top:var(--header);left:0;right:0;height:auto;background:#050608;border-bottom:1px solid var(--line);padding:22px 5vw 28px;flex-direction:column;align-items:flex-start;gap:16px}.nav.open{display:flex}.nav a{font-size:18px}.hero{grid-template-columns:1fr;min-height:900px}.hero-photo{position:absolute;inset:0}.hero-photo img{object-position:center 20%}.hero-photo::after{background:linear-gradient(90deg,rgba(5,6,8,.25),rgba(5,6,8,.5)),linear-gradient(0deg,rgba(5,6,8,.98) 0%,rgba(5,6,8,.45) 55%,rgba(5,6,8,.1) 100%)}.hero-texture{display:none}.hero-content{grid-column:1;align-self:end;padding:130px 7vw 70px;max-width:850px}.feature,.discography,.about-section,.merch-section,.contact-section{grid-template-columns:1fr}.feature.reverse .feature-copy{order:2}.feature.reverse .feature-image{order:1}.feature-image{min-height:520px}.gear-section{grid-template-columns:1fr 1fr}.gear-copy{grid-column:1/-1;min-height:420px}.cards-grid{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form label:nth-of-type(4){grid-column:auto}}
@media(max-width:650px){.brand img{width:145px;height:62px;max-height:62px}.site-header{padding:0 18px}.hero{min-height:820px}.hero-content{padding:110px 22px 55px}.hero h1{font-size:66px}.hero-actions{flex-direction:column;align-items:stretch}.btn{text-align:center}.feature-copy,.section-copy,.gear-copy,.about-copy,.merch-copy{padding:65px 22px}.feature-image,.about-photo{min-height:430px}.discography-grid{grid-template-columns:1fr}.discography-grid>*{min-height:260px}.gear-section{grid-template-columns:1fr}.gear-image.secondary{display:none}.gear-copy{grid-column:auto}.cards-section{padding:70px 20px}.contact-section{padding:70px 20px;gap:34px}footer{flex-direction:column;align-items:flex-start;padding:34px 20px}.footer-links{flex-wrap:wrap}}

.landing-logo {
  display: block;
  width: min(500px, 90%);
  height: auto;
  margin: 0 auto 30px;
}

/* Contact form anti-spam honeypot */
.hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.contact-form button[disabled] {
  opacity: 0.65;
  cursor: wait;
}

/* ===============================
   SHRED LIST POPUP
================================ */

.shred-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.shred-modal.is-open {
  display: flex;
}

.shred-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(7px);
}

.shred-modal-card {
  position: relative;
  z-index: 2;

  width: min(620px, 100%);
  max-height: 92vh;
  overflow-y: auto;

  padding: 42px 46px 36px;

  text-align: center;

  background:
    radial-gradient(
      circle at top,
      rgba(230, 164, 0, 0.12),
      transparent 42%
    ),
    #08090b;

  border: 1px solid rgba(230, 164, 0, 0.35);

  box-shadow:
    0 35px 100px rgba(0, 0, 0, 0.8),
    0 0 50px rgba(230, 164, 0, 0.08);
}

.shred-modal-logo {
  width: min(390px, 82%);
  height: auto;
  margin: 0 auto 24px;
}

.shred-modal-card .eyebrow {
  margin-bottom: 14px;
}

.shred-modal-card h2 {
  margin: 0 0 22px;

  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(52px, 8vw, 82px);
  font-weight: 800;

  line-height: 0.86;
  letter-spacing: -0.01em;

  color: #f6f5f1;
}

.shred-modal-card h2 span {
  color: var(--gold);
}

.shred-modal-copy {
  max-width: 500px;
  margin: 0 auto 28px;

  color: var(--muted);

  font-size: 16px;
  line-height: 1.7;
}

.shred-modal-actions {
  display: grid;
  gap: 11px;

  max-width: 420px;
  margin: 0 auto;
}

.shred-modal-actions input:not(.newsletter-honeypot) {
  width: 100%;
  min-height: 50px;
  padding: 12px 15px;
  color: #f6f5f1;
  background: #17191d;
  border: 1px solid #555b62;
  border-radius: 6px;
  font: inherit;
}

.shred-modal-actions input:not(.newsletter-honeypot):focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.shred-modal-status {
  margin: 0;
  color: var(--gold);
  font-size: 14px;
  line-height: 1.4;
}

.shred-modal-status:empty { display: none; }

.shred-modal-join {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 58px;
  width: 100%;
  cursor: pointer;

  background: var(--gold);
  color: #08090b;

  border: 1px solid var(--gold);
  border-radius: 6px;

  font-family: "Barlow Condensed", sans-serif;
  font-size: 18px;
  font-weight: 800;

  letter-spacing: 0.05em;

  transition: 0.2s;
}

.shred-modal-join:disabled { opacity: 0.65; cursor: wait; }
.shred-modal-join[hidden] { display: none; }

.shred-modal-join:hover {
  background: var(--gold2);
  transform: translateY(-1px);
}

.shred-modal-no {
  min-height: 46px;

  border: 0;
  background: transparent;

  color: #8b9098;

  font-family: "Barlow Condensed", sans-serif;
  font-size: 15px;
  font-weight: 600;

  letter-spacing: 0.05em;

  cursor: pointer;

  transition: 0.2s;
}

.shred-modal-no:hover {
  color: #fff;
}

.shred-modal-small {
  margin: 22px 0 0;

  color: #666c74;

  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.shred-modal-x {
  position: absolute;
  top: 12px;
  right: 17px;

  border: 0;
  background: transparent;

  color: #888;

  font-size: 32px;
  line-height: 1;

  cursor: pointer;
}

.shred-modal-x:hover {
  color: var(--gold);
}

body.shred-modal-open {
  overflow: hidden;
}

@media (max-width: 650px) {

  .shred-modal {
    padding: 14px;
  }

  .shred-modal-card {
    padding: 36px 22px 28px;
  }

  .shred-modal-logo {
    width: min(300px, 86%);
  }

  .shred-modal-card h2 {
    font-size: 54px;
  }

  .shred-modal-copy {
    font-size: 14px;
  }
}

/* ===============================
   SOCIAL MEDIA
================================ */

.social-links {
  display: flex;
  align-items: center;
  gap: 14px;
}

.social-links a {
  width: 42px;
  height: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #343a42;
  border-radius: 50%;

  color: #a7abb2;

  transition:
    color .2s ease,
    border-color .2s ease,
    background .2s ease,
    transform .2s ease;
}

.social-links svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.social-links a:hover {
  color: var(--gold);
  border-color: var(--gold);
  background: rgba(230, 164, 0, .08);
  transform: translateY(-2px);
}

.shred-modal-socials {
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 11px;
}

.shred-modal-socials > span {
  color: #737881;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

.shred-modal-socials .social-links {
  justify-content: center;
}

.shred-modal-socials .social-links a {
  width: 36px;
  height: 36px;
}

.shred-modal-socials .social-links svg {
  width: 16px;
  height: 16px;
}

/* ===============================
   YOUTUBE CAROUSEL
================================ */

.youtube-section {
  padding: 110px 0;
  overflow: hidden;
  background: #07080a;
}

.youtube-section-head {
  max-width: 1400px;
  margin: 0 auto 40px;
  padding: 0 48px;

  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
}

.youtube-section-head h2 {
  margin: 0;

  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(48px, 6vw, 76px);
  line-height: .9;
  text-transform: uppercase;
}

.youtube-section-head h2 span {
  color: var(--gold);
}

.youtube-carousel-controls {
  display: flex;
  gap: 10px;
}

.youtube-arrow {
  width: 50px;
  height: 50px;

  border: 1px solid #383d44;
  background: transparent;

  color: #fff;

  font-size: 24px;

  cursor: pointer;

  transition: .2s ease;
}

.youtube-arrow:hover {
  color: var(--gold);
  border-color: var(--gold);
  background: rgba(230, 164, 0, .08);
}

.youtube-carousel {
  display: flex;
  gap: 24px;

  overflow-x: auto;

  padding: 10px 48px 30px;

  scrollbar-width: none;
}

.youtube-carousel::-webkit-scrollbar {
  display: none;
}

.youtube-card {
  flex: 0 0 min(420px, 82vw);

  text-decoration: none;

  background: #0d0f12;
  border: 1px solid #22262c;

  transition:
    transform .25s ease,
    border-color .25s ease;
}

.youtube-card:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
}

.youtube-thumbnail {
  position: relative;

  aspect-ratio: 16 / 9;

  overflow: hidden;

  background: #111;
}

.youtube-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;

  display: block;

  transition: transform .35s ease;
}

.youtube-card:hover .youtube-thumbnail img {
  transform: scale(1.04);
}

.youtube-play {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 62px;
  height: 62px;

  transform: translate(-50%, -50%);

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: rgba(0, 0, 0, .8);
  border: 1px solid rgba(255,255,255,.45);

  color: #fff;

  font-size: 24px;

  transition: .2s ease;
}

.youtube-card:hover .youtube-play {
  background: var(--gold);
  color: #050608;
  border-color: var(--gold);
}

.youtube-card-copy {
  padding: 20px 20px 24px;
}

.youtube-card-copy h3 {
  margin: 0;

  color: #f4f4f4;

  font-family: "Barlow Condensed", sans-serif;
  font-size: 22px;
  font-weight: 700;

  line-height: 1.15;
}

.youtube-loading {
  color: #8b9098;
  padding: 40px 0;
}

.youtube-footer {
  max-width: 1400px;
  margin: 22px auto 0;
  padding: 0 48px;
}

@media (max-width: 700px) {

  .youtube-section {
    padding: 75px 0;
  }

  .youtube-section-head {
    padding: 0 20px;
  }

  .youtube-carousel {
    padding-left: 20px;
    padding-right: 20px;
  }

  .youtube-footer {
    padding: 0 20px;
  }

}
/* Homepage discography artwork links */
.discography-grid .album-cover-link {
  display: block;
  overflow: hidden;
}

.discography-grid .album-cover-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease, filter .3s ease;
}

.discography-grid .album-cover-link:hover img {
  transform: scale(1.035);
  filter: brightness(1.08);
}
.gear-copy > p:not(.eyebrow){color:#aeb3ba;line-height:1.7;max-width:640px;margin:0 0 26px}

/* ===============================
   YOUTUBE VIDEO MODAL
================================ */
body.youtube-modal-open { overflow: hidden; }
.youtube-modal { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 30px; }
.youtube-modal.is-open { display: flex; }
.youtube-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.9); backdrop-filter: blur(5px); }
.youtube-modal-dialog { position: relative; z-index: 1; width: min(1100px,95vw); background: #090909; border: 1px solid var(--gold); padding: 24px; box-shadow: 0 20px 80px rgba(0,0,0,.8); }
.youtube-modal-close { position: absolute; top: 6px; right: 14px; z-index: 2; border: 0; background: transparent; color: #fff; font-size: 38px; line-height: 1; cursor: pointer; }
.youtube-modal-close:hover { color: var(--gold); }
.youtube-modal-title { margin: 0 50px 18px 0; color: #fff; font-family: "Barlow Condensed",sans-serif; font-size: 28px; text-transform: uppercase; letter-spacing: .04em; }
.youtube-player-wrap { position: relative; width: 100%; aspect-ratio: 16/9; background: #000; }
.youtube-player-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.youtube-card { appearance: none; padding: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; }
@media (max-width:700px) { .youtube-modal { padding: 12px; } .youtube-modal-dialog { padding: 16px; } .youtube-modal-title { font-size: 22px; } }


/* Shared newsletter + legal footer */
.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}
.site-newsletter{padding:58px max(4vw,calc((100vw - var(--max))/2));display:grid;grid-template-columns:minmax(260px,.85fr) minmax(420px,1.15fr);gap:55px;align-items:center;background:#111214;border-top:1px solid var(--line)}
.site-newsletter h2{margin:3px 0 8px;font:800 clamp(38px,4.2vw,62px)/.95 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.01em;color:#fff}
.site-newsletter-copy>p:last-child{margin:0;max-width:590px;color:#b7bac0;font-size:16px}
.footer-signup{display:grid;grid-template-columns:1fr 150px;gap:12px;position:relative}
.footer-signup input[type="email"]{min-width:0;height:54px;border:1px solid #44484e;border-radius:4px;background:#f4f4f4;color:#111;padding:0 16px;outline:none}
.footer-signup input[type="email"]:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(212,142,0,.18)}
.footer-signup button{height:54px;border:0;border-radius:4px;background:var(--gold);color:#08090b;font:800 17px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:.2s}
.footer-signup button:hover{background:var(--gold2)}
.footer-signup button:disabled{opacity:.65;cursor:wait}
.newsletter-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.newsletter-status{grid-column:1/-1;margin:0;min-height:20px;color:#c7c9ce;font-size:12px;letter-spacing:.04em}
.site-legal-footer{min-height:130px;padding:30px max(4vw,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);color:#7f858e;font-size:13px;background:#030405}
.site-legal-footer>img{width:160px}
.site-legal-copy{text-align:right}.site-legal-copy>p{margin:0 0 9px}
.site-legal-footer .footer-links{display:flex;justify-content:flex-end;gap:20px}.site-legal-footer .footer-links a:hover{color:var(--gold)}
.legal-page{max-width:1050px;margin:0 auto;padding:150px 28px 90px}.legal-page .eyebrow{color:var(--gold)}
.legal-page h1{margin:8px 0 22px;font:800 clamp(56px,8vw,100px)/.88 "Barlow Condensed",sans-serif;text-transform:uppercase}
.legal-page .legal-intro{font-size:18px;color:#c2c6cc;max-width:820px;line-height:1.75;margin-bottom:48px}
.legal-section{padding:30px 0;border-top:1px solid var(--line)}.legal-section h2{margin:0 0 12px;font:800 30px "Barlow Condensed",sans-serif;text-transform:uppercase;color:var(--gold)}
.legal-section p,.legal-section li{color:#b5bac2;line-height:1.8}.legal-section a{color:var(--gold)}
@media(max-width:800px){.site-newsletter{grid-template-columns:1fr;gap:28px;padding:48px 22px}.footer-signup{grid-template-columns:1fr}.footer-signup button{width:100%}.site-legal-footer{flex-direction:column;align-items:flex-start;padding:30px 22px}.site-legal-copy{text-align:left}.site-legal-footer .footer-links{justify-content:flex-start;flex-wrap:wrap}}

/* 2026-09 hero refresh: approved amber artwork + button hover behavior */
.hero-photo{
  position:absolute;
  inset:0;
  height:auto;
  overflow:hidden;
  background:#050608;
}
.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:none;
  transform:none;
}
.hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,6,8,.02) 0%,rgba(5,6,8,.02) 43%,rgba(5,6,8,.14) 55%,rgba(5,6,8,.50) 100%),
    linear-gradient(0deg,rgba(5,6,8,.32),transparent 38%);
  pointer-events:none;
}
.hero-texture{display:none}
.hero-content{
  grid-column:2;
  position:relative;
  z-index:3;
  align-self:center;
  max-width:760px;
  padding:40px 5vw 50px 3.5vw;
}
.book-bar:hover,
.book-bar:focus-visible{
  background:var(--gold2);
  color:#fff;
}
.btn-primary:hover,
.btn-primary:focus-visible{
  background:var(--gold2);
  color:#fff;
}

@media(max-width:1050px){
  .hero-photo{inset:0}
  .hero-photo img{object-position:34% center}
  .hero-content{grid-column:1;align-self:end;padding:130px 7vw 70px;max-width:850px}
}
@media(max-width:650px){
  .hero-photo img{object-position:31% center}
}

/* Practice Tools footer: centered brand lockup without duplicate newsletter */
.tools-legal-footer{
  min-height:230px;
  padding:38px 24px 34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:center;
  background:#030405;
}
.tools-legal-footer>img{width:min(260px,62vw);height:auto;display:block;margin:0 auto}
.tools-legal-footer .site-legal-copy{text-align:center}
.tools-legal-footer .site-legal-copy>p{margin:0 0 10px}
.tools-legal-footer .footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
@media(max-width:800px){
  .tools-legal-footer{align-items:center;text-align:center;padding:34px 20px}
  .tools-legal-footer .site-legal-copy{text-align:center}
  .tools-legal-footer .footer-links{justify-content:center}
}


/* Editorial photography added to previously text-only Tools and Contact areas */
.tools-photo{position:relative;margin:0 0 34px;min-height:330px;overflow:hidden;border:1px solid var(--line);background:#090b0e}
.tools-photo img{width:100%;height:100%;min-height:330px;max-height:500px;object-fit:cover;object-position:center 42%;filter:grayscale(.35) contrast(1.08) brightness(.72)}
.tools-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.08),rgba(5,6,8,.12) 55%,rgba(5,6,8,.75)),linear-gradient(0deg,rgba(5,6,8,.72),transparent 55%);pointer-events:none}
.tools-photo figcaption{position:absolute;z-index:2;left:28px;bottom:22px;margin:0;color:#d9dce1;font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:15px}
.contact-photo{margin:34px 0 0;max-width:520px;overflow:hidden;border:1px solid var(--line);background:#0a0c0f}
.contact-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center 40%;filter:saturate(.9) contrast(1.04) brightness(.82);transition:transform .35s ease,filter .35s ease}
.contact-photo:hover img{transform:scale(1.02);filter:saturate(1) contrast(1.04) brightness(.9)}
@media(max-width:1050px){.contact-photo{max-width:760px}.tools-photo{min-height:280px}.tools-photo img{min-height:280px}}
@media(max-width:650px){.tools-photo{min-height:220px;margin-bottom:24px}.tools-photo img{min-height:220px}.tools-photo figcaption{left:18px;right:18px;bottom:16px;font-size:13px}.contact-photo{margin-top:24px}}

/* Tab Library promo */
.tab-library-promo{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:40px;align-items:end;padding:95px max(5vw,calc((100vw - 1480px)/2));background:#07090b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tab-library-promo h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(55px,6vw,94px);line-height:.88;margin:12px 0 24px}.tab-library-promo h2 span{color:var(--gold)}.tab-library-promo p:not(.eyebrow){max-width:720px;color:#aeb4bd;font-size:17px;line-height:1.7}.tab-library-card{min-height:200px;border:1px solid rgba(212,142,0,.4);background:#0a0c0f;display:flex;flex-direction:column;justify-content:space-between;padding:30px;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease}.tab-library-card strong{font:800 clamp(44px,5vw,74px)/.9 "Barlow Condensed",sans-serif;color:#fff}.tab-library-card span{font:800 17px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--gold)}.tab-library-card:hover{background:#0e1115;border-color:var(--gold);transform:translateY(-3px)}
@media(max-width:850px){.tab-library-promo{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px}.tab-library-card{min-height:150px}}


/* Official social links */
.footer-socials{display:flex;justify-content:center;align-items:center;gap:10px;margin:0 0 16px}
.footer-socials a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #2b3036;border-radius:50%;color:#8f959d;background:#080a0c;transition:color .2s,border-color .2s,background .2s,transform .2s}
.footer-socials a:hover,.footer-socials a:focus-visible{color:#d48e00;border-color:#d48e00;background:rgba(212,142,0,.08);transform:translateY(-2px)}
.footer-socials svg{width:17px;height:17px;fill:currentColor}


/* =========================================================
   HOMEPAGE HERO v24 — exact supplied Rusty background image
   Subject/guitar are baked into the source image so the
   instrument is never AI-redrawn, stretched, or warped.
========================================================= */
.hero.hero-v24{
  min-height:900px;
  height:100vh;
  position:relative;
  display:grid;
  grid-template-columns:56% 44%;
  overflow:hidden;
  background:#050608 url("assets/rusty-home-hero-correct.png") center center / cover no-repeat;
}
.hero.hero-v24::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,transparent 47%,rgba(3,4,6,.08) 55%,rgba(3,4,6,.18) 100%);
}
.hero.hero-v24 .hero-content{
  position:relative;
  z-index:3;
  grid-column:2;
  align-self:center;
  justify-self:start;
  width:min(690px,92%);
  max-width:none;
  padding:110px 2.7vw 55px 1.2vw;
}
.hero.hero-v24 .eyebrow{
  margin:0 0 15px;
  color:var(--gold);
  font-size:clamp(14px,1.05vw,20px);
  font-weight:800;
  letter-spacing:.035em;
  line-height:1.15;
}
.hero.hero-v24 h1{
  margin:0 0 18px;
  font-size:clamp(78px,7.1vw,132px);
  line-height:.78;
  letter-spacing:-.025em;
  font-weight:800;
  text-shadow:0 3px 0 rgba(0,0,0,.35);
}
.hero.hero-v24 h1 span{color:var(--gold)}
.hero.hero-v24 .hero-sub{
  margin:0 0 20px;
  color:#f0f0ef;
  font-size:clamp(16px,1.25vw,21px);
  font-weight:700;
  line-height:1.15;
  letter-spacing:.045em;
  white-space:nowrap;
}
.hero.hero-v24 blockquote{
  margin:0;
  max-width:650px;
  color:#f0f0ef;
  font-size:clamp(14px,1.0vw,17px);
  line-height:1.55;
  text-shadow:0 2px 4px rgba(0,0,0,.8);
}
.hero.hero-v24 .quote-credit{
  margin:5px 0 22px;
  color:#f1f1f0;
  font-size:15px;
}
.hero.hero-v24 .hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:nowrap;
}
.hero.hero-v24 .hero-actions .btn{
  min-width:0;
  min-height:52px;
  padding:0 22px;
  font-size:16px;
  font-weight:800;
  white-space:nowrap;
}

@media(max-width:1300px){
  .hero.hero-v24{grid-template-columns:54% 46%;}
  .hero.hero-v24 .hero-content{padding-left:1vw;padding-right:2vw}
  .hero.hero-v24 h1{font-size:clamp(72px,7vw,112px)}
  .hero.hero-v24 .hero-sub{white-space:normal}
  .hero.hero-v24 .hero-actions .btn{padding:0 17px;font-size:14px}
}

@media(max-width:1050px){
  .hero.hero-v24{
    min-height:960px;
    height:auto;
    grid-template-columns:1fr;
    background-position:35% center;
  }
  .hero.hero-v24::after{
    background:linear-gradient(0deg,rgba(3,4,6,.97) 0%,rgba(3,4,6,.88) 42%,rgba(3,4,6,.18) 72%,rgba(3,4,6,.04) 100%);
  }
  .hero.hero-v24 .hero-content{
    grid-column:1;
    align-self:end;
    width:min(760px,100%);
    padding:500px 7vw 70px;
  }
  .hero.hero-v24 h1{font-size:clamp(70px,12vw,110px)}
  .hero.hero-v24 .hero-sub{white-space:normal}
}

@media(max-width:650px){
  .hero.hero-v24{
    min-height:900px;
    background-position:32% top;
    background-size:auto 58%;
    background-color:#050608;
  }
  .hero.hero-v24::after{
    background:linear-gradient(0deg,#050608 0%,rgba(5,6,8,.98) 47%,rgba(5,6,8,.28) 66%,rgba(5,6,8,.02) 100%);
  }
  .hero.hero-v24 .hero-content{
    padding:470px 22px 55px;
  }
  .hero.hero-v24 .eyebrow{font-size:13px}
  .hero.hero-v24 h1{font-size:58px;line-height:.79}
  .hero.hero-v24 .hero-sub{font-size:15px}
  .hero.hero-v24 blockquote{font-size:14px}
  .hero.hero-v24 .hero-actions{flex-direction:column;align-items:stretch}
  .hero.hero-v24 .hero-actions .btn{width:100%;font-size:16px}
}




/* =========================================================
   HOMEPAGE HERO v27 — exact Rusty artwork + LIVE HTML content
   Rusty and the guitar come directly from the approved source
   artwork. All headline copy and CTA buttons remain real,
   responsive, accessible links.
========================================================= */
.hero.hero-v24{
  min-height:900px;
  height:100vh;
  position:relative;
  display:block;
  overflow:hidden;
  background:#050608 url("assets/rusty-home-hero-live.png") center center / cover no-repeat;
}
.hero.hero-v24::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,transparent 54%,rgba(3,4,6,.05) 61%,rgba(3,4,6,.16) 100%);
}

/* Desktop placement mirrors the approved 1672×941 composition. */
.hero.hero-v24 .hero-content{
  position:absolute;
  z-index:3;
  left:61.5%;
  top:12.3%;
  width:36.5%;
  max-width:650px;
  padding:0;
  margin:0;
}
.hero.hero-v24 .eyebrow{
  margin:0 0 .7vw;
  color:var(--gold2);
  font-size:clamp(15px,1.24vw,23px);
  font-weight:800;
  letter-spacing:.02em;
  line-height:1.08;
  white-space:nowrap;
}
.hero.hero-v24 h1{
  margin:0 0 1.1vw;
  font-size:clamp(82px,7.55vw,145px);
  line-height:.765;
  letter-spacing:-.027em;
  font-weight:800;
  text-shadow:0 2px 0 rgba(0,0,0,.55);
}
.hero.hero-v24 h1 span{color:var(--gold2)}
.hero.hero-v24 .hero-sub{
  margin:0 0 1.2vw;
  color:#f5f4f0;
  font-size:clamp(15px,1.18vw,22px);
  line-height:1.12;
  letter-spacing:.025em;
  font-weight:700;
  white-space:nowrap;
}
.hero.hero-v24 blockquote{
  margin:0;
  max-width:620px;
  color:#f5f5f2;
  font-size:clamp(13px,.93vw,17px);
  line-height:1.48;
  text-shadow:0 2px 4px rgba(0,0,0,.8);
}
.hero.hero-v24 .quote-credit{
  margin:.18vw 0 1.15vw;
  color:#f5f5f2;
  font-size:clamp(13px,.9vw,16px);
}
.hero.hero-v24 .hero-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:.75vw;
  width:100%;
}
.hero.hero-v24 .hero-actions .btn{
  min-width:0;
  width:100%;
  min-height:54px;
  padding:0 .75vw;
  border-radius:6px;
  font-size:clamp(13px,.92vw,17px);
  font-weight:800;
  white-space:nowrap;
}

/* Keep headline and figure in proportion on medium desktop widths. */
@media(max-width:1450px) and (min-width:1051px){
  .hero.hero-v24 .hero-content{
    left:60.7%;
    top:13.4%;
    width:37.8%;
  }
  .hero.hero-v24 h1{font-size:clamp(76px,7.25vw,112px)}
  .hero.hero-v24 .eyebrow{font-size:clamp(14px,1.12vw,18px)}
  .hero.hero-v24 .hero-sub{font-size:clamp(14px,1.02vw,17px);white-space:normal}
  .hero.hero-v24 blockquote{font-size:clamp(12px,.9vw,15px)}
  .hero.hero-v24 .hero-actions .btn{min-height:48px;font-size:13px}
}

/* Tablet/mobile: preserve the same source art, then place live content below it. */
@media(max-width:1050px){
  .hero.hero-v24{
    min-height:1080px;
    height:auto;
    background-position:30% top;
    background-size:auto 58%;
    background-repeat:no-repeat;
  }
  .hero.hero-v24::after{
    background:linear-gradient(0deg,#050608 0%,rgba(5,6,8,.98) 48%,rgba(5,6,8,.28) 65%,rgba(5,6,8,.02) 100%);
  }
  .hero.hero-v24 .hero-content{
    position:relative;
    left:auto;
    top:auto;
    width:min(760px,100%);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    padding:560px 7vw 72px;
  }
  .hero.hero-v24 .eyebrow{white-space:normal;font-size:15px}
  .hero.hero-v24 h1{font-size:clamp(70px,12vw,108px)}
  .hero.hero-v24 .hero-sub{white-space:normal}
}

@media(max-width:650px){
  .hero.hero-v24{
    min-height:1030px;
    background-position:27% top;
    background-size:auto 49%;
  }
  .hero.hero-v24 .hero-content{
    padding:490px 22px 55px;
  }
  .hero.hero-v24 h1{font-size:58px}
  .hero.hero-v24 .hero-actions{grid-template-columns:1fr}
  .hero.hero-v24 .hero-actions .btn{font-size:16px}
}


/* v28 — vertical hero alignment
   Lower the source artwork only; do not distort or regenerate Rusty/guitar. */
@media(min-width:1051px){
  .hero.hero-v24{
    background-position:center calc(50% + 58px);
  }
}
