:root{
  --walnut:#241b13;
  --walnut-2:#332619;
  --paper:#f3e8d3;
  --rust:#a8502e;
  --gold:#c79a4b;
  --denim:#3c5468;
  --ink:#1a130d;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--walnut);
  color:var(--paper);
  font-family:'PT Serif', serif;
  line-height:1.6;
}
a{color:inherit;}
.wrap{max-width:1100px; margin:0 auto; padding:0 32px;}

/* NAV (header.html) */
header.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(36,27,19,0.92);
  backdrop-filter:blur(4px);
  border-bottom:1px solid rgba(199,154,75,0.25);
}
.site-nav .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.brand{font-family:'Rye', serif; font-size:1.4rem; letter-spacing:1px; color:var(--gold); text-decoration:none;}
nav.links{display:flex; gap:32px; list-style:none;}
nav.links a{
  text-decoration:none; font-family:'Courier Prime', monospace;
  font-size:0.85rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--paper); opacity:0.85; border-bottom:1px solid transparent;
  padding-bottom:4px; transition:opacity 0.2s, border-color 0.2s;
}
nav.links a:hover{opacity:1; border-color:var(--rust);}

/* HERO */
.hero{
  position:relative;
  padding:120px 0 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(199,154,75,0.14), transparent 60%),
    repeating-linear-gradient(180deg, rgba(0,0,0,0.12) 0px, rgba(0,0,0,0.12) 1px, transparent 1px, transparent 42px),
    linear-gradient(180deg, var(--walnut-2), var(--walnut) 70%);
  overflow:hidden;
}
.hero .wrap{position:relative; z-index:2; text-align:center; padding-bottom:70px;}
.eyebrow{
  font-family:'Courier Prime', monospace; letter-spacing:5px; font-size:0.8rem;
  color:var(--gold); text-transform:uppercase; opacity:0.9; margin-bottom:22px;
}
h1.name{
  font-family:'Rye', serif;
  font-size:clamp(3.2rem, 9vw, 6.4rem);
  color:var(--paper);
  text-shadow: 0 2px 0 rgba(0,0,0,0.4);
  line-height:1.05;
}
.tagline{
  font-style:italic; font-size:1.25rem; color:var(--paper); opacity:0.85;
  max-width:520px; margin:26px auto 40px;
}
.cta-row{display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}
.btn{
  display:inline-block; padding:14px 30px; font-family:'Courier Prime', monospace;
  letter-spacing:2px; text-transform:uppercase; font-size:0.82rem; text-decoration:none;
  border-radius:2px; transition:transform 0.15s ease; cursor:pointer; border:none;
}
.btn:hover{transform:translateY(-2px);}
.btn.primary{background:var(--rust); color:var(--paper);}
.btn.ghost{border:1px solid var(--gold); color:var(--gold); background:transparent;}

/* FENCE DIVIDER */
.fence{display:block; width:100%; height:90px;}
.fence path.hill{fill:var(--walnut);}

/* SECTIONS */
section{padding:90px 0;}
.section-label{
  font-family:'Courier Prime', monospace; letter-spacing:4px; text-transform:uppercase;
  color:var(--rust); font-size:0.8rem; margin-bottom:14px;
}
h2{font-family:'Rye', serif; font-size:2.3rem; color:var(--gold); margin-bottom:28px; font-weight:400;}

.bio{display:grid; grid-template-columns:280px 1fr; gap:56px; align-items:start;}
.bio-photo{
  aspect-ratio:4/5; background:linear-gradient(160deg, var(--denim), #26384a);
  border:1px solid rgba(199,154,75,0.3); display:flex; align-items:center; justify-content:center;
  font-family:'Rye', serif; font-size:3rem; color:rgba(243,232,211,0.35);
  overflow:hidden;
}
.bio-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.bio p{max-width:60ch; opacity:0.9; margin-bottom:16px;}
.bio p:last-child{margin-bottom:0;}

/* ============ AUDIO PLAYER ============ */
.player{
  background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2);
  border-radius:4px; overflow:hidden;
}
.now-playing{padding:28px 30px 20px; border-bottom:1px solid rgba(199,154,75,0.15);}
.track-name{
  font-family:'Rye', serif; font-size:1.5rem; color:var(--paper); margin-bottom:16px;
  min-height:1.6em;
}
.progress-wrap{width:100%;}
input[type=range]{
  -webkit-appearance:none; width:100%; height:4px; background:rgba(199,154,75,0.25);
  border-radius:2px; outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; width:14px; height:14px; border-radius:50%;
  background:var(--gold); cursor:pointer; border:2px solid var(--walnut-2);
}
input[type=range]::-moz-range-thumb{
  width:14px; height:14px; border-radius:50%; background:var(--gold); cursor:pointer; border:2px solid var(--walnut-2);
}
.time-row{
  display:flex; justify-content:space-between; font-family:'Courier Prime', monospace;
  font-size:0.72rem; color:var(--paper); opacity:0.6; margin-top:6px;
}
.controls{display:flex; align-items:center; gap:18px; margin-top:18px;}
.controls button{
  background:none; border:1px solid var(--gold); color:var(--gold);
  width:42px; height:42px; border-radius:50%; font-size:1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background 0.15s, color 0.15s;
}
.controls button:hover{background:var(--gold); color:var(--walnut);}
.controls #playBtn{width:52px; height:52px; font-size:1.2rem;}
.controls .vol-wrap{display:flex; align-items:center; gap:8px; margin-left:auto; flex:0 0 140px;}
.controls .vol-wrap span{font-family:'Courier Prime', monospace; font-size:0.7rem; opacity:0.6;}

.playlist{list-style:none;}
.playlist li{
  display:flex; align-items:center; gap:16px; padding:16px 30px;
  border-bottom:1px solid rgba(199,154,75,0.1); cursor:pointer; transition:background 0.15s;
}
.playlist li:last-child{border-bottom:none;}
.playlist li:hover{background:rgba(199,154,75,0.06);}
.playlist li.active{background:rgba(199,154,75,0.12);}
.playlist li .track-icon{
  width:32px; height:32px; border-radius:50%; border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-size:0.7rem; color:var(--gold);
}
.playlist li .track-title{font-size:1rem;}
.playlist li .track-title small{display:block; font-family:'Courier Prime', monospace; font-size:0.7rem; opacity:0.5; margin-top:2px;}

/* ============ STREAMING / SOCIAL BADGES ============ */
.badge-row{display:flex; flex-wrap:wrap; gap:16px; justify-content:center;}
.badge{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  text-decoration:none; width:88px;
}
.badge .badge-icon{
  width:56px; height:56px; border-radius:50%; border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:'Rye', serif; font-size:1.1rem; color:var(--gold);
  transition:background 0.15s, color 0.15s;
}
.badge:hover .badge-icon{background:var(--gold); color:var(--walnut);}
.badge .badge-label{
  font-family:'Courier Prime', monospace; font-size:0.65rem; letter-spacing:1px;
  text-transform:uppercase; opacity:0.7; text-align:center;
}

/* SHOWS */
.shows-note{text-align:center; padding:50px 0;}
.shows-note .headline{font-size:1.3rem; font-family:'Rye', serif; color:var(--gold); margin-bottom:14px;}
.shows-note p{opacity:0.8; max-width:480px; margin:0 auto;}

/* NEWSLETTER */
.newsletter{
  background:var(--walnut-2); text-align:center; border-top:1px solid rgba(199,154,75,0.2);
  border-bottom:1px solid rgba(199,154,75,0.2);
}
.newsletter h2{margin-bottom:10px;}
.newsletter p{opacity:0.8; margin-bottom:30px;}
form.signup{display:flex; gap:12px; justify-content:center; max-width:440px; margin:0 auto; flex-wrap:wrap;}
form.signup input[type=email]{
  flex:1; min-width:200px; padding:14px 16px; background:var(--walnut);
  border:1px solid rgba(199,154,75,0.35); color:var(--paper); font-family:'PT Serif', serif;
}
form.signup input[type=email]:focus{outline:2px solid var(--gold); outline-offset:2px;}

/* FOOTER (footer.html) */
footer{padding:60px 0 50px;}
footer .footer-section{margin-bottom:36px;}
footer .footer-label{
  text-align:center; font-family:'Courier Prime', monospace; font-size:0.7rem;
  letter-spacing:3px; text-transform:uppercase; color:var(--rust); margin-bottom:18px;
}
footer .copy{
  text-align:center; font-family:'Courier Prime', monospace; font-size:0.75rem; opacity:0.45; margin-top:20px;
}

@media (max-width: 760px){
  nav.links{display:none;}
  .bio{grid-template-columns:1fr;}
  .controls{flex-wrap:wrap;}
  .controls .vol-wrap{flex:1 1 100%; margin-left:0; order:10;}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none !important;}
}

/* ============ NAV TOGGLE (mobile) ============ */
.nav-toggle{
  display:none; background:none; border:1px solid var(--gold); color:var(--gold);
  font-size:1.1rem; width:42px; height:38px; border-radius:2px; cursor:pointer;
}
@media (max-width:760px){
  .nav-toggle{display:block;}
  nav.links{
    display:none; position:absolute; top:76px; left:0; right:0;
    background:var(--walnut); flex-direction:column; gap:0;
    border-bottom:1px solid rgba(199,154,75,0.25);
  }
  nav.links.open{display:flex;}
  nav.links a{padding:16px 32px; border-bottom:1px solid rgba(199,154,75,0.1);}
  .site-nav .wrap{position:relative;}
}

/* ============ SVG BADGE ICONS ============ */
.badge-icon svg{width:26px; height:26px;}
.badge-icon{color:var(--gold);}

/* ============ PAGE HERO (subpages) ============ */
.page-hero{
  padding:110px 0 60px; text-align:center;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(199,154,75,0.14), transparent 60%),
    var(--walnut-2);
  border-bottom:1px solid rgba(199,154,75,0.2);
}
.page-hero h1{
  font-family:'Rye', serif; font-size:clamp(2.4rem, 6vw, 3.6rem); color:var(--paper);
}
.page-hero p{opacity:0.8; max-width:520px; margin:16px auto 0; font-style:italic;}

/* ============ GALLERY ============ */
.gallery-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
}
.gallery-grid figure{
  aspect-ratio:1; background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2);
  display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:2px;
}
.gallery-grid figure img{width:100%; height:100%; object-fit:cover;}
.gallery-grid figure.placeholder{
  font-family:'Courier Prime', monospace; font-size:0.75rem; letter-spacing:2px;
  text-transform:uppercase; color:rgba(243,232,211,0.35); text-align:center; padding:20px;
}
@media (max-width:760px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} }

/* ============ VIDEOS ============ */
.video-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.video-card{background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2); border-radius:2px; overflow:hidden;}
.video-card .video-embed{aspect-ratio:16/9; background:var(--walnut); display:flex; align-items:center; justify-content:center;}
.video-card .video-embed iframe{width:100%; height:100%; border:0;}
.video-card .video-caption{padding:16px 18px; font-family:'Courier Prime', monospace; font-size:0.8rem; opacity:0.75;}
@media (max-width:760px){ .video-grid{grid-template-columns:1fr;} }

/* ============ EPK / BIO PAGE ============ */
.epk-block{margin-bottom:60px;}
.epk-block:last-child{margin-bottom:0;}
.one-sheet{
  background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2); padding:34px;
  border-radius:2px;
}
.one-sheet dl{display:grid; grid-template-columns:160px 1fr; row-gap:14px;}
.one-sheet dt{font-family:'Courier Prime', monospace; letter-spacing:1px; color:var(--gold); font-size:0.82rem;}
.one-sheet dd{opacity:0.9;}
@media (max-width:760px){ .one-sheet dl{grid-template-columns:1fr;} .one-sheet dd{margin-bottom:6px;} }

/* ============ MERCH ============ */
.merch-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.merch-card{
  background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2); border-radius:2px;
  padding:0; overflow:hidden; text-align:center;
}
.merch-card .merch-img{aspect-ratio:1; background:linear-gradient(160deg, var(--denim), #26384a); display:flex; align-items:center; justify-content:center; font-family:'Rye', serif; color:rgba(243,232,211,0.3); font-size:1.2rem;}
.merch-card .merch-info{padding:18px;}
.merch-card .merch-info h3{font-family:'PT Serif', serif; font-size:1.05rem; margin-bottom:6px;}
.merch-card .merch-info span{font-family:'Courier Prime', monospace; font-size:0.75rem; color:var(--gold); text-transform:uppercase; letter-spacing:1px;}
@media (max-width:760px){ .merch-grid{grid-template-columns:1fr;} }
.merch-banner{text-align:center; padding:0 0 40px;}
.merch-banner p{opacity:0.85; max-width:520px; margin:0 auto;}

/* ============ NEWS / BLOG ============ */
.news-list{max-width:760px; margin:0 auto;}
.news-item{border-bottom:1px solid rgba(199,154,75,0.15); padding:28px 0;}
.news-item:first-child{padding-top:0;}
.news-item .news-date{font-family:'Courier Prime', monospace; font-size:0.75rem; color:var(--gold); letter-spacing:1px;}
.news-item h3{font-family:'Rye', serif; font-size:1.4rem; color:var(--paper); margin:8px 0 10px;}
.news-item p{opacity:0.85;}

/* ============ CONTACT ============ */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px;}
.contact-form label{
  display:block; font-family:'Courier Prime', monospace; font-size:0.75rem;
  letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:8px; margin-top:18px;
}
.contact-form label:first-child{margin-top:0;}
.contact-form input, .contact-form textarea{
  width:100%; padding:12px 14px; background:var(--walnut-2); border:1px solid rgba(199,154,75,0.3);
  color:var(--paper); font-family:'PT Serif', serif; font-size:0.95rem; border-radius:2px;
}
.contact-form textarea{min-height:120px; resize:vertical;}
.contact-form input:focus, .contact-form textarea:focus{outline:2px solid var(--gold); outline-offset:1px;}
.contact-form button{margin-top:22px;}
.contact-info{background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2); padding:30px; border-radius:2px;}
.contact-info h3{font-family:'Rye', serif; color:var(--gold); font-size:1.3rem; margin-bottom:14px;}
.contact-info p{opacity:0.85; margin-bottom:10px;}
@media (max-width:760px){ .contact-grid{grid-template-columns:1fr;} }

/* ============ DOWNLOAD-DETERRENT NOTE STYLING ============ */
.player-note{
  font-family:'Courier Prime', monospace; font-size:0.7rem; opacity:0.45; text-align:center;
  margin-top:14px;
}
