*,*::before,*::after{box-sizing:border-box}
:root{
  /* The Litter Box & Theatre Color Scheme */
  --bg-top:#1c0e0b;
  --bg-mid:#130807;
  --bg-bot:#0a0404;
  --accent:#f59e0b;
  --accent-light:#fcd34d;
  --accent-glow:rgba(245,158,11,0.4);
  --velvet:#8b1e23;
  --velvet-dark:#4a0e11;
  --velvet-glow:rgba(139,30,35,0.45);
  --brick:#2c1411;
  --text-primary:#fcf6ed;
  --text-muted:#baaa9e;
  --card-bg:rgba(28,14,12,0.84);
  --card-border:rgba(245,158,11,0.18);
  --glass-bg:rgba(20,9,8,0.9);
  --glass-border:rgba(245,158,11,0.24);
  --glass-shadow:0 22px 55px rgba(0,0,0,0.8);
}
html{scroll-behavior:smooth;scroll-padding-top:6rem;overflow-x:hidden}
body{
  margin:0;padding:0;
  background:var(--bg-bot);
  color:var(--text-primary);
  font-family:'DM Sans',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
}
a{color:var(--accent);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--accent-light)}
.cv{font-family:'Caveat',cursive}
.sf{font-family:'Instrument Serif',Georgia,serif}
.ui{font-family:'DM Sans',sans-serif}

/* Atmospheric Background */
#skybox{
  position:fixed;inset:0;z-index:0;
  background:radial-gradient(circle at 50% 15%, rgba(245,158,11,0.18) 0%, rgba(74,14,17,0.45) 42%, #0a0404 88%);
  pointer-events:none;
}
#stage-canvas{
  position:fixed;inset:0;z-index:1;
  pointer-events:none;width:100%;height:100%;
  opacity:0.75;
}

/* Floating Glass HUD Header */
.hud-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;flex-direction:column;align-items:center;
  padding:.75rem 1.25rem 0;
  pointer-events:none;
}
.hud-bar{
  pointer-events:auto;
  width:100%;max-width:82rem;
  min-height:3.8rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;
  padding:.4rem .6rem .4rem 1.25rem;
  border-radius:999px;
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow), inset 0 1px 0 rgba(255,200,100,0.18);
  backdrop-filter:blur(22px) saturate(1.8);
  -webkit-backdrop-filter:blur(22px) saturate(1.8);
}
.brand-group{display:flex;align-items:center;gap:.85rem}
.brand-logo{
  font-size:1.45rem;
  font-weight:800;
  color:var(--accent-light);
  letter-spacing:.02em;
  display:flex;align-items:center;gap:.5rem;
  white-space:nowrap;
  text-shadow:0 0 14px rgba(245,158,11,0.5);
}

/* Dominic Top-Left Frosted Pill Nav */
.nav-frosted-pill{
  display:inline-flex;align-items:center;gap:.65rem;
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  padding:.38rem .95rem;
  box-shadow:0 4px 16px rgba(0,0,0,0.4);
  transition:all .2s ease;
  cursor:pointer;
}
.nav-frosted-pill:hover{
  background:rgba(255,255,255,0.1);
  border-color:rgba(245,158,11,0.4);
}
.nav-pill-emblem{
  font-size:1.1rem;
  display:inline-flex;
}
.nav-pill-title{
  font-size:.9rem;
  font-weight:800;
  color:#fff;
  letter-spacing:-.01em;
}
.nav-pill-menu-icon{
  display:inline-flex;flex-direction:column;gap:3px;
  width:14px;margin-left:.25rem;
}
.nav-pill-menu-icon span{
  display:block;width:100%;height:1.5px;
  background:var(--accent-light);border-radius:1px;
}

/* Nav Switcher */
.view-switcher{
  display:inline-flex;align-items:center;
  background:rgba(14,6,6,0.75);
  border:1px solid rgba(245,158,11,0.2);
  border-radius:999px;
  padding:.22rem;gap:.25rem;
  box-shadow:inset 0 2px 8px rgba(0,0,0,0.6);
}
.switch-seg{
  background:transparent;
  color:var(--text-muted);
  border:none;border-radius:999px;
  padding:.42rem .95rem;
  font-family:inherit;font-size:.82rem;font-weight:700;
  cursor:pointer;
  display:inline-flex;align-items:center;gap:.4rem;
  white-space:nowrap;
  transition:all .22s cubic-bezier(.2,.8,.2,1);
}
.switch-seg:hover{color:#fff;background:rgba(255,255,255,0.06)}
.switch-seg.active{
  background:linear-gradient(135deg, var(--accent), var(--accent-light));
  color:#150806;
  box-shadow:0 3px 14px var(--accent-glow);
}
@media (max-width:720px){
  .view-switcher{display:none}
}

.hud-actions{display:flex;align-items:center;gap:.6rem}
.btn-gold{
  display:inline-flex;align-items:center;gap:.5rem;
  background:linear-gradient(135deg, #f59e0b, #fbbf24);
  color:#150806;
  font-size:.84rem;font-weight:800;
  padding:.55rem 1.15rem;
  border-radius:999px;
  border:none;cursor:pointer;
  box-shadow:0 4px 18px rgba(245,158,11,0.45);
  transition:transform .18s ease, box-shadow .18s ease;
  white-space:nowrap;
}
.btn-gold:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 24px rgba(245,158,11,0.65);
  color:#000;
}

/* Main Container */
.site-content{
  position:relative;z-index:10;
  width:100%;max-width:82rem;
  margin:0 auto;
  padding:6.5rem 1.5rem 4rem;
}

/* Hero Section - Dominic Editorial Asymmetric Redesign */
.hero{
  position:relative;
  width:100%;
  min-height:calc(100vh - 4.5rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:3.5rem 0 0;
  border-bottom:1px solid rgba(245,158,11,0.12);
  overflow:hidden;
  background:radial-gradient(circle at 50% 30%, #1c0e0c 0%, #120807 55%, #080404 100%);
}

/* Layer 0: Warm Overhead Spotlight Cone */
.hero-spotlight-cone{
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:140%;
  max-width:960px;
  height:95%;
  background:radial-gradient(ellipse at 50% 0%, rgba(245,158,11,0.24) 0%, rgba(229,142,38,0.09) 45%, transparent 75%);
  pointer-events:none;
  z-index:1;
}

/* 12-Column Hero Grid */
.hero-editorial-grid{
  position:relative;
  z-index:3;
  width:100%;
  max-width:84rem;
  margin:0 auto;
  padding:1rem 2rem 0;
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  align-items:center;
  min-height:calc(100vh - 8rem);
}

/* Mid-Left Column (Cols 1-5): Status Badge + Headline */
.hero-col-left{
  grid-column:1 / 5;
  z-index:10;
  text-align:left;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding-bottom:5rem;
}
.hero-status-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,107,43,0.12);
  border:1px solid rgba(255,107,43,0.35);
  border-radius:999px;
  padding:6px 14px;
  font-size:0.74rem;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#E5A93C;
  box-shadow:0 0 16px rgba(255,107,43,0.25);
  margin-bottom:1.25rem;
}
.hero-status-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#FF6B2B;
  box-shadow:0 0 8px #FF6B2B, 0 0 16px #FF6B2B;
  display:inline-block;
  animation:live-pulse 1.8s infinite ease-in-out;
}
@keyframes live-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.4;transform:scale(0.85)}
}
.hero-headline{
  font-size:clamp(2.3rem, 3.4vw, 3.6rem);
  line-height:1.08;
  font-weight:700;
  letter-spacing:-0.02em;
  color:#FFFFFF;
  margin:0;
}
.hero-headline .standup-italic{
  font-family:'Instrument Serif',Georgia,serif;
  font-style:italic;
  font-weight:400;
  color:#E5A93C;
  text-shadow:0 0 20px rgba(229,169,60,0.35);
}

/* Center Hero Column (Cols 4-10): Neon Sign + Ponchik Cutout */
.hero-col-center{
  grid-column:4 / 10;
  grid-row:1;
  position:relative;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  height:100%;
  min-height:540px;
  pointer-events:none;
}

/* Layer 1: Neon Sign Behind Subject */
.hero-neon-wrap{
  position:absolute;
  top:8%;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  text-align:center;
  pointer-events:none;
  width:100%;
}
.neon-litterbox-text{
  font-family:'Caveat',cursive;
  font-size:clamp(3.2rem, 5.5vw, 5.4rem);
  font-weight:700;
  color:#ff3b68;
  text-shadow:
    0 0 8px #ff3b68,
    0 0 20px rgba(255,59,104,0.8),
    0 0 45px rgba(255,59,104,0.55),
    0 0 70px rgba(229,142,38,0.4);
  transform:rotate(-3deg);
  display:inline-block;
  white-space:nowrap;
  letter-spacing:0.02em;
}
.neon-ambient-glow{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:380px;
  height:200px;
  background:radial-gradient(ellipse, rgba(255,59,104,0.35) 0%, rgba(229,142,38,0.18) 50%, transparent 75%);
  filter:blur(25px);
  pointer-events:none;
  z-index:-1;
}

/* Layer 2: Center Hero Subject (Ponchik Cutout) */
.hero-subject-wrap{
  position:relative;
  z-index:4;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  width:100%;
  max-width:440px;
}
.hero-cutout-img{
  width:100%;
  max-width:380px;
  height:auto;
  max-height:65vh;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 25px 50px rgba(0,0,0,0.95));
  mask-image:linear-gradient(to bottom, black 85%, transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom, black 85%, transparent 100%);
}

/* Mid-Right Column (Cols 9-12): Bio + High-Contrast CTA Pill */
.hero-col-right{
  grid-column:9 / 13;
  z-index:10;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  padding-bottom:5rem;
  padding-left:1.5rem;
}
.hero-bio-desc{
  max-width:340px;
  color:#B8AFA9;
  font-size:0.95rem;
  line-height:1.6;
  margin:0 0 1.5rem;
}
.btn-dominic-cta{
  display:inline-flex;
  align-items:center;
  gap:14px;
  background:linear-gradient(135deg, #FF6B2B, #E58E26);
  border-radius:999px;
  padding:6px 24px 6px 6px;
  border:none;
  cursor:pointer;
  box-shadow:0 8px 28px rgba(255,107,43,0.45);
  transition:transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.2s ease;
  text-decoration:none;
}
.btn-dominic-cta:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 12px 35px rgba(255,107,43,0.65);
}
.dominic-icon-circle{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#FFFFFF;
  color:#140806;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.9rem;
  font-weight:900;
  box-shadow:0 2px 8px rgba(0,0,0,0.25);
  transition:transform 0.2s ease;
}
.btn-dominic-cta:hover .dominic-icon-circle{
  transform:translateX(2px);
}
.dominic-cta-label{
  color:#FFFFFF;
  font-size:0.96rem;
  font-weight:800;
  letter-spacing:-0.01em;
  white-space:nowrap;
}
.hero-secondary-links{
  display:flex;
  flex-direction:column;
  gap:0.65rem;
  margin-top:1.25rem;
}
.hero-sec-link,
.hero-sec-link-btn{
  font-size:0.88rem;
  font-weight:600;
  color:#8F847D;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
  text-decoration:none;
  font-family:inherit;
  transition:color 0.2s ease, transform 0.2s ease;
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
}
.hero-sec-link:hover,
.hero-sec-link-btn:hover{
  color:#E5A93C;
  transform:translateX(3px);
}

/* Layer 3: Massive Bottom-Spanning Display Typography */
.hero-massive-title{
  position:absolute;
  bottom:-0.5rem;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  text-align:center;
  font-size:clamp(6rem, 18.5vw, 17rem);
  font-weight:800;
  font-family:'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  letter-spacing:-0.04em;
  line-height:0.82;
  text-transform:uppercase;
  color:#FFFFFF;
  pointer-events:none;
  z-index:5;
  user-select:none;
  text-shadow:0 10px 40px rgba(0,0,0,0.85);
}

/* Responsive behavior */
@media (max-width:1024px){
  .hero{
    padding:3rem 0 2rem;
    min-height:auto;
  }
  .hero-editorial-grid{
    grid-template-columns:1fr;
    gap:1.5rem;
    padding:1.5rem 1.5rem 2rem;
    min-height:auto;
  }
  .hero-col-center{
    grid-column:1;
    grid-row:1;
    min-height:440px;
  }
  .hero-col-left{
    grid-column:1;
    grid-row:2;
    text-align:center;
    align-items:center;
    padding-bottom:1rem;
  }
  .hero-col-right{
    grid-column:1;
    grid-row:3;
    text-align:center;
    align-items:center;
    padding-left:0;
    padding-bottom:2rem;
  }
  .hero-massive-title{
    position:relative;
    bottom:auto;
    left:auto;
    transform:none;
    margin-top:-3.5rem;
    font-size:clamp(4.2rem, 16vw, 7.5rem);
    z-index:5;
  }
  .hero-bio-desc{
    text-align:center;
  }
  .hero-secondary-links{
    align-items:center;
  }
}
.btn-glass{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(40,18,15,0.7);
  color:var(--text-primary);
  border:1px solid rgba(245,158,11,0.25);
  padding:.65rem 1.35rem;border-radius:999px;
  font-size:.9rem;font-weight:700;
  backdrop-filter:blur(10px);
  transition:all .2s ease;
}
.btn-glass:hover{
  background:rgba(74,28,22,0.85);
  color:#fff;
  border-color:var(--accent);
  box-shadow:0 0 15px rgba(245,158,11,0.25);
}

/* Section Layout */
.section-wrap{
  padding:5rem 0;
  border-bottom:1px solid rgba(245,158,11,0.12);
}
.section-header{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:1.5rem;
  margin-bottom:2.75rem;
  flex-wrap:wrap;
}
.section-tag{
  font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent-light);
  margin-bottom:.5rem;
}
.section-title{
  font-size:clamp(2rem, 3.8vw, 3rem);
  font-weight:400;margin:0 0 .5rem;
  color:#fff;
}
.section-desc{
  color:var(--text-muted);font-size:1.05rem;max-width:34rem;margin:0;
}

/* Specials Grid */
.specials-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:1.75rem;
}
@media (max-width:960px){
  .specials-grid{grid-template-columns:1fr;max-width:32rem;margin:0 auto}
}
.special-card{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:22px;
  overflow:hidden;
  transition:all .3s cubic-bezier(.2,.8,.2,1);
  display:flex;flex-direction:column;
  box-shadow:0 15px 35px rgba(0,0,0,0.6);
}
.special-card:hover{
  transform:translateY(-6px);
  border-color:var(--accent);
  box-shadow:0 24px 50px rgba(0,0,0,0.7), 0 0 30px rgba(245,158,11,0.22);
}
.special-thumb-wrap{
  position:relative;width:100%;aspect-ratio:16/9;
  background:#090403;overflow:hidden;
}
.special-thumb{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s ease;
}
.special-card:hover .special-thumb{transform:scale(1.05)}
.special-play-btn{
  position:absolute;inset:0;margin:auto;
  width:54px;height:54px;border-radius:50%;
  background:linear-gradient(135deg, #f59e0b, #fcd34d);
  color:#150806;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 22px rgba(0,0,0,0.7);
  opacity:0.92;transition:all .2s ease;
  font-size:1.1rem;
}
.special-card:hover .special-play-btn{
  transform:scale(1.15);background:#fef08a;opacity:1;
  box-shadow:0 8px 26px rgba(245,158,11,0.6);
}
.special-date-pill{
  position:absolute;top:.85rem;left:.85rem;
  background:rgba(20,8,7,0.9);
  border:1px solid rgba(245,158,11,0.3);
  padding:.22rem .65rem;border-radius:999px;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;
  color:var(--accent-light);
  backdrop-filter:blur(8px);
}
.special-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.special-ep{
  font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--accent-light);margin-bottom:.35rem;
}
.special-title{font-size:1.35rem;font-weight:700;margin:0 0 .65rem;color:#fff}
.special-desc{font-size:.9rem;color:var(--text-muted);line-height:1.55;margin:0 0 1.25rem;flex:1}
.special-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.special-tag-item{
  font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;
  background:rgba(139,30,35,0.25);
  border:1px solid rgba(245,158,11,0.15);
  color:var(--accent-light);
}
.special-cta-btn{
  width:100%;
  padding:.65rem;border-radius:12px;
  background:rgba(245,158,11,0.12);
  border:1px solid rgba(245,158,11,0.35);
  color:var(--accent-light);
  font-size:.85rem;font-weight:700;
  cursor:pointer;
  transition:all .2s ease;
}
.special-card:hover .special-cta-btn{
  background:linear-gradient(135deg, #f59e0b, #fbbf24);
  color:#150806;
}

/* Soundboard Bits Grid */
.bits-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:1.4rem;
}
@media (max-width:960px){
  .bits-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:640px){
  .bits-grid{grid-template-columns:1fr}
}
.bit-card{
  background:linear-gradient(145deg, rgba(38,18,15,0.8), rgba(18,7,7,0.92));
  border:1px solid var(--card-border);
  border-radius:18px;
  padding:1.4rem;
  transition:all .25s ease;
  position:relative;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(0,0,0,0.5);
}
.bit-card:hover{
  transform:translateY(-3px);
  border-color:var(--accent);
  box-shadow:0 16px 35px rgba(0,0,0,0.6), 0 0 20px rgba(245,158,11,0.2);
}
.bit-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.bit-title{font-size:1.1rem;font-weight:700;margin:0;color:#fff}
.bit-icon{font-size:1.4rem}
.bit-quote{
  font-size:1.15rem;line-height:1.4;
  color:#fcd34d;margin:0 0 .75rem;
}
.bit-punchline{
  font-size:.88rem;color:var(--text-muted);line-height:1.5;margin:0;
}

/* Stories Vault & Filter */
.filter-bar{
  display:inline-flex;gap:.4rem;padding:.25rem;border-radius:999px;
  background:rgba(18,7,7,0.85);border:1px solid rgba(245,158,11,0.2);
}
.filter-btn{
  background:transparent;border:none;border-radius:999px;
  color:var(--text-muted);font-weight:700;font-size:.82rem;
  padding:.4rem .95rem;cursor:pointer;transition:all .2s ease;
}
.filter-btn:hover{color:#fff}
.filter-btn.active{
  background:linear-gradient(135deg, var(--accent), var(--accent-light));
  color:#150806;
}

.stories-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:1.75rem;
}
@media (max-width:960px){
  .stories-grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:640px){
  .stories-grid{grid-template-columns:1fr}
}
.story-card{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:20px;
  overflow:hidden;
  transition:all .3s ease;
  display:flex;flex-direction:column;
  box-shadow:0 12px 30px rgba(0,0,0,0.5);
}
.story-card:hover{
  transform:translateY(-5px);
  border-color:var(--accent);
  box-shadow:0 20px 45px rgba(0,0,0,0.65), 0 0 25px rgba(245,158,11,0.2);
}
.story-poster-wrap{
  position:relative;width:100%;aspect-ratio:16/9;
  background:#090403;overflow:hidden;
}
.story-poster{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s ease;
}
.story-card:hover .story-poster{transform:scale(1.05)}
.story-lang-badge{
  position:absolute;top:.75rem;right:.75rem;
  padding:.18rem .55rem;border-radius:999px;
  font-size:.7rem;font-weight:700;text-transform:uppercase;
  background:rgba(139,30,35,0.85);color:#fff;
  border:1px solid rgba(245,158,11,0.3);
  backdrop-filter:blur(6px);
}
.story-body{padding:1.35rem;display:flex;flex-direction:column;flex:1}
.story-author{
  font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--accent-light);margin-bottom:.35rem;
}
.story-title{font-size:1.2rem;font-weight:700;margin:0 0 .65rem;color:#fff}
.story-premise{font-size:.88rem;color:var(--text-muted);line-height:1.55;margin:0 0 1.25rem;flex:1}
.story-footer{
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(245,158,11,0.12);padding-top:1rem;
}
.story-parts-tag{font-size:.78rem;font-weight:600;color:var(--text-muted)}
.btn-play-sm{
  font-size:.82rem;font-weight:700;color:var(--accent-light);
  background:none;border:none;cursor:pointer;padding:0;
  display:inline-flex;align-items:center;gap:.35rem;
}
.btn-play-sm:hover{color:#fff;text-shadow:0 0 8px rgba(245,158,11,0.5)}

/* Troupe Section */
.troupe-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:1.5rem;
  justify-content:center;
}
@media (max-width:580px){
  .troupe-grid{grid-template-columns:1fr}
}
.troupe-card{
  background:linear-gradient(145deg, rgba(38,18,15,0.75), rgba(18,7,7,0.9));
  border:1px solid var(--card-border);
  border-radius:20px;
  padding:1.6rem 1.25rem;
  text-align:center;
  transition:all .25s ease;
  box-shadow:0 10px 25px rgba(0,0,0,0.5);
  display:flex;flex-direction:column;align-items:center;
}
.troupe-card:hover{
  transform:translateY(-4px);
  border-color:var(--accent);
  box-shadow:0 16px 35px rgba(0,0,0,0.6), 0 0 20px rgba(245,158,11,0.2);
}
.troupe-avatar{
  width:125px;height:125px;border-radius:50%;
  object-fit:cover;margin:0 auto 1.15rem;
  border:2px solid rgba(245,158,11,0.45);
  box-shadow:0 8px 24px rgba(0,0,0,0.7), 0 0 15px rgba(245,158,11,0.25);
  transition:transform .3s ease, border-color .3s ease;
}
.troupe-card:hover .troupe-avatar{
  transform:scale(1.06);
  border-color:var(--accent-light);
}
.troupe-name{
  font-size:1.25rem;font-weight:700;
  margin:0 0 .65rem;color:#fff;
  letter-spacing:-.01em;
}
.troupe-bio{
  font-size:.88rem;color:var(--text-muted);
  line-height:1.55;margin:0;flex:1;
}

/* Video Modal */
.modal-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(8,3,3,0.88);
  backdrop-filter:blur(18px);
  display:none;align-items:center;justify-content:center;
  padding:1.5rem;
}
.modal-overlay.active{display:flex}
.modal-box{
  width:100%;max-width:56rem;
  background:#140807;border:1px solid rgba(245,158,11,0.25);
  border-radius:24px;overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,0.9), 0 0 40px rgba(139,30,35,0.4);
  position:relative;
}
.modal-close-btn{
  position:absolute;top:1rem;right:1rem;z-index:10;
  width:38px;height:38px;border-radius:50%;
  background:rgba(28,12,10,0.85);border:1px solid rgba(245,158,11,0.3);
  color:#fff;font-size:1.2rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease;
}
.modal-close-btn:hover{background:var(--accent);color:#150806}
.modal-player-wrap{width:100%;aspect-ratio:16/9;background:#000}
.modal-player-wrap iframe{width:100%;height:100%;border:none}
.modal-info{padding:1.25rem 1.75rem 1.5rem}
.modal-info h3{margin:0 0 .4rem;font-size:1.3rem;color:#fff}
.modal-info p{margin:0;color:var(--text-muted);font-size:.9rem}

/* Footer */
footer{
  padding:4rem 0 2rem;
  border-top:1px solid rgba(245,158,11,0.14);
  text-align:center;
  color:var(--text-muted);
}
.footer-socials{
  display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem;
  flex-wrap:wrap;
}
.footer-socials a{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.86rem;font-weight:700;color:var(--text-muted);
  background:rgba(38,18,15,0.6);padding:.45rem 1rem;border-radius:999px;
  border:1px solid rgba(245,158,11,0.18);
  transition:all .2s ease;
}
.footer-socials a:hover{
  color:#fff;background:rgba(74,28,22,0.8);
  border-color:var(--accent);
  box-shadow:0 0 12px rgba(245,158,11,0.3);
}
.footer-credit{font-size:.82rem}
