:root{
  --ink: #120404;
  --panel: #1d0b0a;
  --paper: #f2ede4;
  --dim: #c9b8b4;
  --accent: #e0102a;
  --accent-hover: #ff3347;
  --border: #3a1616;
  --max: 1100px;
  --font-display: 'Bricolage Grotesque', sans-serif;
  --font-serif: 'Instrument Serif', serif;
  --font-body: 'Bricolage Grotesque', sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-snap-type:y proximity;}
body{
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;}

.section{max-width:var(--max);margin:0 auto;padding:5rem 1.5rem;scroll-snap-align:start;}
.section-title{
  font-size:2.4rem;margin-bottom:0.5rem;text-transform:uppercase;
  display:flex;align-items:baseline;gap:0.75rem;flex-wrap:wrap;
}
.section-title .serif{
  font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent);
  font-size:0.55em;text-transform:none;
}
.section-title.centered{justify-content:center;}
.section-sub{color:var(--dim);margin-bottom:2.5rem;max-width:640px;}
.section-sub.centered{margin-left:auto;margin-right:auto;text-align:center;}

/* ===== BUTTONS ===== */
.btn{
  display:inline-block;padding:0.9rem 1.75rem;border-radius:999px;font-weight:600;
  font-size:0.85rem;text-transform:uppercase;letter-spacing:0.03em;transition:all .2s ease;
  border:1.5px solid var(--paper);cursor:pointer;font-family:var(--font-body);color:var(--paper);
}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-2px);}
.btn-outline{border-color:var(--paper);color:var(--paper);}
.btn-outline:hover{background:var(--paper);color:var(--ink);transform:translateY(-2px);}
.btn-small{padding:0.5rem 1.1rem;font-size:0.75rem;background:var(--panel);border:1px solid var(--border);border-radius:999px;color:var(--paper);}
.btn-small:hover{border-color:var(--accent);color:var(--accent);}
.btn-block{width:100%;text-align:center;}

/* ===== FOLLOW BAR (fixed, always accessible) ===== */
.follow-bar{
  position:fixed;top:50%;right:1.25rem;transform:translateY(-50%);z-index:90;
  display:flex;flex-direction:column;gap:0.6rem;
}
.follow-btn{
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(18,4,4,0.65);border:1px solid var(--border);color:var(--paper);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:all .25s ease;
}
.follow-btn svg{width:19px;height:19px;flex-shrink:0;}
.follow-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.12);}

/* ===== HEADER / NAV ===== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(18,4,4,0.85);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.nav-wrap{max-width:var(--max);margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}
.logo{font-family:var(--font-display);font-weight:800;font-size:1.2rem;text-transform:uppercase;}
.main-nav{display:flex;gap:1.75rem;align-items:center;}
.main-nav a{font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--dim);transition:color .2s;}
.main-nav a:hover{color:var(--paper);}
.nav-cta{background:var(--accent);color:#fff !important;padding:0.5rem 1.1rem;border-radius:999px;}
.nav-cta:hover{background:var(--accent-hover);color:#fff !important;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:0.5rem;}
.nav-toggle span{width:24px;height:2px;background:var(--paper);display:block;}

/* ===== HERO (autoplay video background) ===== */
.hero{position:relative;height:100vh;overflow:hidden;background:var(--ink);scroll-snap-align:start;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.05);}
.hero-scrim{
  position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(18,4,4,0.95) 0%, rgba(18,4,4,0.25) 45%, rgba(18,4,4,0.45) 100%);
}
.slider-content{
  position:absolute;left:0;right:0;bottom:0;z-index:5;padding:3rem 2rem;
  display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:2rem;
}
.slider-text .kicker{
  font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent);margin-bottom:1rem;
}
.hero h1{
  font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,8vw,6rem);
  line-height:0.9;text-transform:uppercase;margin-bottom:1rem;
}
.hero h1 .serif{
  font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent);
  text-transform:none;display:block;font-size:0.4em;
}
.hero-tagline{font-size:1.05rem;color:var(--dim);max-width:420px;margin-bottom:0.5rem;}
.hero-actions{display:flex;gap:0.9rem;margin-top:1.25rem;flex-wrap:wrap;}

/* ===== FEATURED VIDEO ===== */
.featured-section{padding-top:6rem;}
.video-wrap{
  position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  margin-top:2rem;margin-bottom:2.5rem;height:82vh;overflow:hidden;background:#000;
  scroll-snap-align:start;
}
.video-wrap iframe,.video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0;}
.featured-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ===== YOUTUBE LINK-OUT THUMBNAILS (click sends to YouTube instead of playing inline) ===== */
.yt-thumb{position:relative;display:block;overflow:hidden;background:#000;cursor:pointer;}
.yt-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease, filter .4s ease;}
.yt-thumb:hover img{transform:scale(1.05);filter:brightness(0.7);}
.yt-thumb .play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:66px;height:66px;border-radius:50%;background:rgba(224,16,42,0.92);
  display:flex;align-items:center;justify-content:center;transition:transform .3s ease, background .3s ease;
}
.yt-thumb:hover .play-btn{background:var(--accent-hover);transform:translate(-50%,-50%) scale(1.1);}
.yt-thumb .play-btn::after{
  content:'';width:0;height:0;border-style:solid;border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent #fff;margin-left:4px;
}
.yt-thumb .yt-badge{
  position:absolute;bottom:0.85rem;right:0.85rem;background:rgba(18,4,4,0.75);color:var(--paper);
  font-size:0.65rem;text-transform:uppercase;letter-spacing:0.05em;padding:0.35rem 0.7rem;border:1px solid var(--border);
}

/* ===== FILMSTRIP (full-bleed horizontal scroll-snap, zero gap) ===== */
.filmstrip-wrap{
  position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  margin-bottom:3rem;scroll-snap-align:start;
}
.filmstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.filmstrip::-webkit-scrollbar{display:none;}
.filmstrip-item{flex:0 0 100vw;height:80vh;scroll-snap-align:start;position:relative;overflow:hidden;}
.filmstrip-item img{width:100%;height:100%;object-fit:cover;display:block;}

/* ===== FLIP CARDS (front/back covers, shared by reel items + chapters) ===== */
.flip-card{perspective:1400px;cursor:pointer;background:none;border:none;padding:0;}
.flip-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.flip-inner{
  position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,.2,.2,1);
  transform-style:preserve-3d;
}
.flip-card.flipped .flip-inner{transform:rotateY(180deg);}
.flip-face{
  position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  overflow:hidden;background:var(--panel);
}
.flip-face img{width:100%;height:100%;object-fit:cover;}
.flip-back{transform:rotateY(180deg);}
.flip-hint{
  position:absolute;top:0.75rem;right:0.75rem;z-index:3;font-size:0.65rem;text-transform:uppercase;
  letter-spacing:0.05em;color:var(--paper);background:rgba(18,4,4,0.7);padding:0.3rem 0.6rem;
  border:1px solid var(--border);pointer-events:none;
}

/* ===== DISCOGRAPHY CHAPTERS (full-bleed vertical scroll-snap) ===== */
.chapter{
  height:100vh;scroll-snap-align:start;position:relative;overflow:hidden;
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
}
.chapter .flip-face{background:var(--ink);}
.chapter .flip-face::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(18,4,4,0.8) 0%, rgba(18,4,4,0.02) 32%, transparent 55%);
}
.chapter .flip-front img{object-fit:cover;}
.chapter .flip-back img{object-fit:contain;background:var(--ink);}
.chapter-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:3.5rem;}
.chapter-num{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:1.6rem;display:block;margin-bottom:0.5rem;}
.chapter-cap h3{font-weight:800;font-size:clamp(2.2rem,6vw,4.5rem);text-transform:uppercase;line-height:0.92;}
.chapter-cap p{font-family:var(--font-serif);font-style:italic;color:var(--dim);font-size:1.1rem;margin-top:0.75rem;}
.teaser-slide{
  position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  margin-top:2.5rem;margin-bottom:3rem;height:78vh;overflow:hidden;background:#000;
  scroll-snap-align:start;
}
.teaser-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.teaser-slide-cap{
  position:absolute;left:0;bottom:0;z-index:2;padding:2.5rem 3.5rem;pointer-events:none;
  background:linear-gradient(0deg, rgba(18,4,4,0.85) 0%, transparent 70%);width:100%;
}
.teaser-slide-label{font-weight:800;text-transform:uppercase;font-size:1.3rem;display:block;}
.teaser-slide-cap p{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:1.05rem;margin-top:0.35rem;}

/* ===== MUSIC ===== */
.stream-links{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.stream-links a{
  font-weight:600;padding:0.5rem 0;border-bottom:2px solid transparent;transition:border-color .2s;
  text-transform:uppercase;font-size:0.8rem;letter-spacing:0.03em;
}
.stream-links a:hover{border-color:var(--accent);}

.chapter-links{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:1.1rem;}

/* ===== SHOWS ===== */
.shows-list{display:flex;flex-direction:column;}
.show-row{display:flex;align-items:center;gap:1.5rem;background:var(--panel);border-top:1px solid var(--border);padding:1.25rem 0.5rem;flex-wrap:wrap;}
.show-row:last-child{border-bottom:1px solid var(--border);}
.show-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);width:64px;height:64px;flex-shrink:0;}
.show-month{font-size:0.7rem;color:var(--accent);font-weight:700;letter-spacing:0.05em;text-transform:uppercase;}
.show-day{font-family:var(--font-display);font-weight:800;font-size:1.4rem;line-height:1;}
.show-info{flex:1;min-width:180px;}
.show-info h3{font-family:var(--font-body);font-weight:700;font-size:1.05rem;text-transform:none;}
.show-info p{color:var(--dim);font-size:0.9rem;}
.shows-empty-note{margin-top:2rem;color:var(--dim);font-size:0.85rem;font-style:italic;font-family:var(--font-serif);}
.shows-empty-state{text-align:center;padding:3rem 1rem;color:var(--dim);border:1px dashed var(--border);}

/* ===== EPK ===== */
.epk-grid{display:grid;grid-template-columns:340px 1fr;gap:2.5rem;margin-bottom:3rem;}
.epk-photo{overflow:hidden;background:var(--panel);border:1px solid var(--border);aspect-ratio:4/5;}
.epk-photo img{width:100%;height:100%;object-fit:cover;}
.epk-photo.img-fallback{display:flex;align-items:center;justify-content:center;}
.epk-bio h3{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.5rem;margin-bottom:0.75rem;color:var(--accent);text-transform:none;}
.epk-bio p{color:var(--dim);margin-bottom:1rem;}
.epk-stats{display:flex;gap:2.5rem;margin:1.5rem 0;flex-wrap:wrap;}
.epk-stats div{display:flex;flex-direction:column;}
.epk-stats strong{font-family:var(--font-display);font-weight:800;font-size:1.8rem;color:var(--accent);}
.epk-stats span{color:var(--dim);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;}

.milan-block{
  display:flex;gap:1.75rem;background:var(--panel);border:1px solid var(--border);
  padding:1.75rem;margin-bottom:2rem;align-items:flex-start;flex-wrap:wrap;position:relative;
}
.milan-block::before{
  content:'MFW';position:absolute;top:-14px;left:28px;background:var(--accent);color:#fff;
  font-family:var(--font-display);font-weight:800;font-size:0.8rem;letter-spacing:0.04em;padding:0.25rem 0.75rem;
  border-radius:999px;
}
.milan-photos{display:flex;gap:0;flex-shrink:0;flex-wrap:wrap;width:100%;max-width:520px;}
.milan-photo{width:160px;height:210px;object-fit:cover;flex-shrink:0;}
.milan-video{width:280px;background:#000;flex-shrink:0;border:1px solid var(--border);}
.milan-info{flex:1;min-width:220px;}
.milan-info h4{font-family:var(--font-display);font-weight:800;font-size:1.1rem;margin-bottom:0.5rem;text-transform:uppercase;}
.milan-info p{color:var(--dim);font-size:0.9rem;}
.milan-credit{font-size:0.7rem !important;margin-top:0.75rem;opacity:0.75;text-transform:uppercase;letter-spacing:0.03em;}

.press-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem;}
.press-quotes blockquote{
  background:var(--panel);border-left:3px solid var(--accent);padding:1.25rem 1.5rem;
  font-family:var(--font-serif);font-style:italic;color:var(--dim);font-size:1.05rem;
}
.press-quotes cite{display:block;margin-top:0.75rem;font-style:normal;font-weight:700;color:var(--paper);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.03em;font-family:var(--font-body);}

/* ===== MERCH ===== */
.merch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;}
.merch-card{background:var(--panel);border:1px solid var(--border);padding:1.5rem;text-align:center;position:relative;}
.merch-img{font-size:4rem;margin-bottom:1rem;}
.merch-card h3{font-family:var(--font-body);font-size:0.95rem;font-weight:700;margin-bottom:0.4rem;text-transform:uppercase;letter-spacing:0.02em;}
.merch-price{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:1.2rem;margin-bottom:1.25rem;}

/* ===== CONTACT ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.contact-info p{margin-bottom:0.75rem;}
.contact-info a{color:var(--accent);}
.social-links{display:flex;gap:1.25rem;margin-top:1.5rem;flex-wrap:wrap;}
.social-links a{font-weight:600;color:var(--dim);text-transform:uppercase;font-size:0.8rem;letter-spacing:0.03em;}
.social-links a:hover{color:var(--accent);}
.contact-form{display:flex;flex-direction:column;gap:1.25rem;}
.contact-form label{display:flex;flex-direction:column;gap:0.4rem;font-size:0.8rem;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:0.03em;}
.contact-form input,.contact-form textarea{
  background:var(--panel);border:1px solid var(--border);padding:0.7rem;color:var(--paper);
  font-family:var(--font-body);font-size:0.95rem;
}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);}

/* ===== FOOTER ===== */
.site-footer{text-align:center;padding:2.5rem 1.5rem;color:var(--dim);font-size:0.75rem;border-top:1px solid var(--border);text-transform:uppercase;letter-spacing:0.03em;}

/* ===== RESPONSIVE ===== */
@media (max-width: 860px){
  .epk-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .follow-bar{display:none;}
}
@media (max-width: 720px){
  .nav-toggle{display:flex;}
  .main-nav{
    position:absolute;top:100%;left:0;right:0;background:var(--ink);border-bottom:1px solid var(--border);
    flex-direction:column;align-items:flex-start;gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .main-nav.open{max-height:400px;}
  .main-nav a{width:100%;padding:1rem 1.5rem;border-top:1px solid var(--border);}
  .section{padding:3.5rem 1.25rem;}
  .section-title{font-size:1.9rem;}
  .milan-block{flex-direction:column;}
  .milan-photos,.milan-video{width:100%;max-width:none;}
  .chapter{height:100vh;}
  .chapter-cap{padding:2rem 1.5rem;}
  .video-wrap{height:45vh;}
  .filmstrip-item{height:60vh;}
  .teaser-slide{height:55vh;}
}
