@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/BebasNeue.woff2) format('woff2')}
@font-face{font-family:'Oswald';font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/Oswald.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/SourceSans3.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/SourceSans3-italic.woff2) format('woff2')}

/* Accents live here so they're easy to swap. Sage is primary. */
:root{
  --bg:#030306;
  --bg-2:#08080c;
  --ink:#0c0c10;
  --white:#F5F5F7;
  --muted:#8C8C96;
  --line:#1a1a22;
  --sage:#9CAF88;
  --sage-deep:#A3B18A;
  --sage-bright:#C9D9A8;
  --ink-on-sage:#10140c;
  --glow:#7EFFC8;          /* luminous green-cyan, secondary pop */
  --neon:var(--sage);      /* primary accent */
  --neon-2:var(--glow);
  --neon-3:var(--sage-deep);
  --neon-soft:rgba(156,175,136,.5);
  --neon-2-soft:rgba(126,255,200,.3);
  --neon-3-soft:rgba(163,177,138,.35);
  --head:'Bebas Neue','Oswald',Impact,'Arial Narrow',sans-serif;
  --sub:'Oswald','Arial Narrow',sans-serif;
  --body:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --wrap:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--white);font:400 1.0625rem/1.65 var(--body);position:relative;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--neon-2);text-underline-offset:3px}
a:hover{color:var(--white)}
:focus-visible{outline:2px solid var(--neon);outline-offset:3px}

.skip{position:absolute;left:-999px;top:0;background:var(--neon);color:#000;padding:.6rem 1rem;z-index:200;font-weight:600}
.skip:focus{left:1rem;top:1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
h1,h2,h3{font-family:var(--head);font-weight:400;letter-spacing:.02em;line-height:.9;margin:0 0 .5rem;text-transform:uppercase;color:var(--white)}
h2{font-size:clamp(3rem,8vw,5.4rem)}
h3{font-size:1.7rem}
p{margin:0 0 1rem;max-width:62ch}
.kicker{font-family:var(--sub);text-transform:uppercase;letter-spacing:.28em;font-size:.78rem;color:var(--neon);margin:0 0 .75rem}

/* cosmic backdrop */
.cosmos{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.nebula{position:absolute;inset:-10%;background:
  radial-gradient(ellipse 50% 42% at 85% 8%,var(--neon-soft),transparent 62%),
  radial-gradient(ellipse 45% 50% at 8% 88%,var(--neon-2-soft),transparent 64%),
  radial-gradient(ellipse 36% 34% at 50% 50%,var(--neon-3-soft),transparent 70%);
  opacity:.55;animation:glowpulse 11s ease-in-out infinite}
.stars,.stars-2{position:absolute;inset:-20%;background-repeat:no-repeat;background-size:100% 100%;opacity:.9}
.stars{background-image:radial-gradient(1px 1px at 34% 38%,rgba(255,255,255,0.73) 50%,transparent 51%),radial-gradient(1px 1px at 86% 19%,rgba(255,255,255,0.72) 50%,transparent 51%),radial-gradient(1px 1px at 24% 17%,rgba(255,255,255,0.67) 50%,transparent 51%),radial-gradient(1px 1px at 28% 96%,rgba(255,255,255,0.41) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 17% 88%,rgba(255,255,255,0.90) 50%,transparent 51%),radial-gradient(1px 1px at 36% 19%,rgba(255,255,255,0.84) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 34% 58%,rgba(255,255,255,0.87) 50%,transparent 51%),radial-gradient(1px 1px at 33% 46%,rgba(255,255,255,0.64) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 97% 71%,rgba(255,255,255,0.89) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 86% 47%,rgba(255,255,255,0.72) 50%,transparent 51%),radial-gradient(1px 1px at 84% 16%,rgba(255,255,255,0.81) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 82% 34%,rgba(255,255,255,0.68) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 96% 18%,rgba(255,255,255,0.74) 50%,transparent 51%),radial-gradient(1px 1px at 57% 69%,rgba(255,255,255,0.55) 50%,transparent 51%),radial-gradient(1px 1px at 23% 67%,rgba(255,255,255,0.53) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 59% 34%,rgba(255,255,255,0.54) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 17% 74%,rgba(255,255,255,0.68) 50%,transparent 51%),radial-gradient(1px 1px at 73% 31%,rgba(255,255,255,0.75) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 17% 10%,rgba(255,255,255,0.73) 50%,transparent 51%),radial-gradient(1px 1px at 60% 50%,rgba(255,255,255,0.76) 50%,transparent 51%),radial-gradient(1px 1px at 6% 29%,rgba(255,255,255,0.65) 50%,transparent 51%),radial-gradient(1px 1px at 90% 57%,rgba(255,255,255,0.48) 50%,transparent 51%),radial-gradient(1px 1px at 53% 95%,rgba(255,255,255,0.84) 50%,transparent 51%),radial-gradient(1px 1px at 45% 26%,rgba(255,255,255,0.66) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 85% 18%,rgba(255,255,255,0.52) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 64% 28%,rgba(255,255,255,0.42) 50%,transparent 51%),radial-gradient(1px 1px at 90% 76%,rgba(255,255,255,0.58) 50%,transparent 51%),radial-gradient(1px 1px at 94% 73%,rgba(255,255,255,0.49) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 25% 22%,rgba(255,255,255,0.46) 50%,transparent 51%),radial-gradient(1px 1px at 29% 22%,rgba(255,255,255,0.61) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 77% 72%,rgba(255,255,255,0.75) 50%,transparent 51%),radial-gradient(1px 1px at 57% 44%,rgba(255,255,255,0.66) 50%,transparent 51%),radial-gradient(1px 1px at 17% 40%,rgba(255,255,255,0.60) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 35% 73%,rgba(255,255,255,0.75) 50%,transparent 51%),radial-gradient(1px 1px at 61% 67%,rgba(255,255,255,0.83) 50%,transparent 51%),radial-gradient(1px 1px at 5% 1%,rgba(255,255,255,0.57) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 64% 72%,rgba(255,255,255,0.66) 50%,transparent 51%),radial-gradient(1px 1px at 61% 29%,rgba(255,255,255,0.55) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 5% 49%,rgba(255,255,255,0.76) 50%,transparent 51%),radial-gradient(1px 1px at 21% 95%,rgba(255,255,255,0.53) 50%,transparent 51%),radial-gradient(1px 1px at 88% 28%,rgba(255,255,255,0.61) 50%,transparent 51%),radial-gradient(1px 1px at 31% 46%,rgba(255,255,255,0.70) 50%,transparent 51%),radial-gradient(1px 1px at 55% 27%,rgba(255,255,255,0.61) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 41% 51%,rgba(255,255,255,0.44) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 98% 6%,rgba(255,255,255,0.86) 50%,transparent 51%),radial-gradient(1px 1px at 84% 40%,rgba(255,255,255,0.62) 50%,transparent 51%),radial-gradient(1px 1px at 71% 50%,rgba(255,255,255,0.43) 50%,transparent 51%),radial-gradient(1px 1px at 68% 56%,rgba(255,255,255,0.47) 50%,transparent 51%);animation:drift 90s linear infinite alternate}
.stars-2{background-image:radial-gradient(0.8px 0.8px at 25% 55%,rgba(255,255,255,0.40) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 48% 7%,rgba(255,255,255,0.34) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 72% 6%,rgba(255,255,255,0.20) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 96% 35%,rgba(255,255,255,0.29) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 10% 82%,rgba(255,255,255,0.31) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 87% 15%,rgba(255,255,255,0.41) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 32% 40%,rgba(255,255,255,0.25) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 98% 53%,rgba(255,255,255,0.33) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 23% 14%,rgba(255,255,255,0.26) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 70% 17%,rgba(255,255,255,0.22) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 96% 18%,rgba(255,255,255,0.23) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 9% 70%,rgba(255,255,255,0.33) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 80% 11%,rgba(255,255,255,0.39) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 58% 10%,rgba(255,255,255,0.44) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 31% 24%,rgba(255,255,255,0.21) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 75% 20%,rgba(255,255,255,0.33) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 26% 47%,rgba(255,255,255,0.22) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 76% 32%,rgba(255,255,255,0.20) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 89% 1%,rgba(255,255,255,0.44) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 20% 64%,rgba(255,255,255,0.20) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 95% 66%,rgba(255,255,255,0.32) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 96% 93%,rgba(255,255,255,0.21) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 57% 95%,rgba(255,255,255,0.31) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 13% 6%,rgba(255,255,255,0.38) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 2% 7%,rgba(255,255,255,0.33) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 79% 69%,rgba(255,255,255,0.34) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 31% 71%,rgba(255,255,255,0.31) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 46% 23%,rgba(255,255,255,0.31) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 79% 94%,rgba(255,255,255,0.40) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 78% 37%,rgba(255,255,255,0.29) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 7% 27%,rgba(255,255,255,0.26) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 24% 43%,rgba(255,255,255,0.27) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 65% 70%,rgba(255,255,255,0.33) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 84% 90%,rgba(255,255,255,0.23) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 27% 99%,rgba(255,255,255,0.32) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 3% 71%,rgba(255,255,255,0.31) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 59% 38%,rgba(255,255,255,0.33) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 23% 69%,rgba(255,255,255,0.27) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 66% 5%,rgba(255,255,255,0.22) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 69% 35%,rgba(255,255,255,0.30) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 25% 48%,rgba(255,255,255,0.41) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 11% 67%,rgba(255,255,255,0.35) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 50% 65%,rgba(255,255,255,0.20) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 20% 57%,rgba(255,255,255,0.25) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 84% 56%,rgba(255,255,255,0.20) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 17% 25%,rgba(255,255,255,0.24) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 23% 10%,rgba(255,255,255,0.41) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 49% 97%,rgba(255,255,255,0.27) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 21% 25%,rgba(255,255,255,0.42) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 5% 92%,rgba(255,255,255,0.20) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 33% 25%,rgba(255,255,255,0.38) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 80% 12%,rgba(255,255,255,0.39) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 61% 35%,rgba(255,255,255,0.23) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 8% 35%,rgba(255,255,255,0.34) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 83% 18%,rgba(255,255,255,0.23) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 99% 75%,rgba(255,255,255,0.24) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 20% 83%,rgba(255,255,255,0.40) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 40% 16%,rgba(255,255,255,0.35) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 33% 22%,rgba(255,255,255,0.40) 50%,transparent 51%),radial-gradient(0.8px 0.8px at 16% 21%,rgba(255,255,255,0.40) 50%,transparent 51%);opacity:.75;animation:drift-2 130s linear infinite alternate}
@keyframes drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-70px,-40px,0)}}
@keyframes drift-2{from{transform:translate3d(0,0,0)}to{transform:translate3d(50px,-60px,0)}}
@keyframes glowpulse{0%,100%{opacity:.42}50%{opacity:.7}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .stars,.stars-2,.nebula,.glow,.hero-photo,.mono-bar{animation:none!important}
  *{transition:none!important}
}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(3,3,6,.84);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;position:relative;z-index:2}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--white)}
.brand img{width:36px;height:36px}
.brand span{font-family:var(--head);font-size:1.7rem;letter-spacing:.06em;line-height:1}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.35rem;flex-wrap:wrap}
.nav a{font-family:var(--sub);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--muted);text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current=page]{color:var(--white);border-color:var(--neon)}
.nav-toggle{display:none;background:none;border:1px solid #3a3a44;color:var(--white);font-family:var(--sub);letter-spacing:.15em;text-transform:uppercase;font-size:.8rem;padding:.45rem .8rem;cursor:pointer}
@media (max-width:860px){
  .nav-toggle{display:block}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem}
  .nav a{display:block;padding:.75rem 0;border-bottom:1px solid var(--line)}
  .no-js .nav{display:block;position:static}
}

/* hero */
.hero{position:relative;z-index:1;min-height:min(92vh,860px);display:flex;align-items:center;padding:clamp(2rem,6vh,5rem) 0 4rem;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;width:100%;position:relative}
.mono-bar{position:absolute;left:1.25rem;top:8%;bottom:8%;width:4px;background:var(--neon);box-shadow:0 0 18px var(--neon-soft),0 0 40px var(--neon-soft);animation:glowpulse 8s ease-in-out infinite}
.hero-copy{padding-left:1.5rem}
.hero h1{font-size:clamp(4.2rem,16vw,11.5rem);line-height:.82;margin:0;letter-spacing:.01em}
.hero .role{font-family:var(--sub);text-transform:uppercase;letter-spacing:.22em;font-size:clamp(.95rem,2vw,1.25rem);color:var(--white);margin:1.25rem 0 .35rem}
.hero .subrole{font-family:var(--sub);text-transform:uppercase;letter-spacing:.22em;font-size:.85rem;color:var(--muted);margin:0 0 1.1rem}
.hero .place{font-family:var(--sub);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--muted);margin:0 0 1.25rem}
.hero .intro{font-size:1.15rem;max-width:36rem;color:var(--white);margin:0}
.hero-photo{position:relative;justify-self:end;width:min(100%,520px)}
.hero-photo .slab{position:relative;display:block;background:#000;border:1px solid #1c1c24;overflow:hidden;box-shadow:0 0 0 1px #000, -18px 0 70px var(--neon-soft), 18px 24px 80px rgba(0,0,0,.65)}
.hero-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;transition:filter .4s}
.hero-photo .slab::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(245,245,247,.08);background:linear-gradient(90deg,rgba(3,3,6,.28),transparent 30%)}
.hero-photo .edge{position:absolute;left:-3px;top:8%;bottom:8%;width:3px;background:var(--neon-2);box-shadow:0 0 16px var(--neon-2-soft)}
@media (max-width:800px){
  .hero{min-height:auto;padding-top:2rem}
  .hero .wrap{grid-template-columns:1fr}
  .hero-copy{padding-left:1.25rem}
  .hero-photo{justify-self:stretch;width:100%;max-width:420px;margin:0 auto}
  .mono-bar{left:.75rem}
}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sub);text-transform:uppercase;letter-spacing:.16em;font-size:.85rem;padding:.85rem 1.3rem;border:1px solid var(--white);color:var(--white);text-decoration:none;background:transparent;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}
.btn:hover{background:var(--white);color:var(--bg);box-shadow:none}
.btn.primary{background:var(--sage);border-color:var(--sage);color:var(--ink-on-sage);box-shadow:0 0 22px var(--neon-soft),0 0 48px rgba(201,217,168,.18)}
.btn.primary:hover{background:var(--white);border-color:var(--white);color:var(--bg);box-shadow:0 0 22px rgba(255,255,255,.25)}

/* sections */
main{position:relative;z-index:1}
section{padding:clamp(4rem,9vw,7rem) 0;position:relative}
section.alt{background:linear-gradient(180deg,rgba(8,8,12,.72),rgba(8,8,12,.92));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{margin-bottom:2rem;max-width:48rem}
.sec-head p{color:var(--muted)}

/* listen */
.spotify{background:#000;border:1px solid var(--line);box-shadow:0 0 60px rgba(225,0,255,.08),0 0 0 1px rgba(225,0,255,.15);min-height:352px}
.spotify iframe{display:block;width:100%;height:352px;border:0;background:#000}
.listen-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.1rem;align-items:center}
.listen-links .note{margin:0;color:var(--muted);font-size:.95rem}

/* watch / carousel */
.plist{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none}
.plist button{font-family:var(--sub);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;padding:.55rem .9rem;border:1px solid #2c2c34;background:transparent;color:var(--muted);cursor:pointer}
.plist button:hover{color:var(--white);border-color:var(--white)}
.plist button[aria-selected=true]{color:var(--ink-on-sage);background:var(--neon);border-color:var(--neon);box-shadow:0 0 16px var(--neon-soft)}
.carousel{position:relative}
.car-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 0 1rem;margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem;-webkit-overflow-scrolling:touch}
.car-track[hidden]{display:none}
.vid{flex:0 0 min(78vw,320px);scroll-snap-align:start;margin:0}
.yt{position:relative;display:block;aspect-ratio:16/9;background:#000;overflow:hidden;border:1px solid #22222a}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.88;transition:opacity .2s,transform .4s;filter:grayscale(.35) contrast(1.05)}
.yt:hover img,.yt:focus-visible img{opacity:1;transform:scale(1.04);filter:none}
.yt .play{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:rgba(3,3,6,.72);border:2px solid var(--white);display:grid;place-items:center;transition:background .2s,border-color .2s,box-shadow .2s}
.yt .play::after{content:"";border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--white);margin-left:5px}
.yt:hover .play,.yt:focus-visible .play{background:var(--neon);border-color:var(--neon);box-shadow:0 0 18px var(--neon-soft)}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid figcaption{padding:.65rem .1rem 0;font-size:.95rem;line-height:1.35}
.vid figcaption a{color:var(--white);text-decoration:none}
.vid figcaption a:hover{color:var(--neon-2);text-decoration:underline}
.car-nav{display:flex;gap:.6rem;margin-top:.5rem}
.car-nav button{width:44px;height:44px;border:1px solid var(--white);background:transparent;color:var(--white);font-size:1.2rem;cursor:pointer;line-height:1}
.car-nav button:hover{background:var(--white);color:var(--bg)}
.watch-more{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1.15rem;align-items:center}
.watch-more a{white-space:nowrap}

/* work / services */
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.15rem}
.card{background:linear-gradient(180deg,#0e0e14,#09090e);border:1px solid var(--line);padding:1.5rem 1.4rem 1.6rem;position:relative}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--neon);opacity:.8}
.card:nth-child(2)::before{background:var(--neon-2)}
.card:nth-child(3)::before{background:var(--neon-3)}
.card:nth-child(5)::before{background:var(--neon-2)}
.card:nth-child(6)::before{background:var(--neon-3)}
.card h3{font-size:1.85rem;margin:0 0 .45rem}
.card p{color:#d4d4da;margin:0;font-size:1rem}
.work-visual{margin-top:2.5rem;position:relative}
.work-visual picture,.work-visual img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;filter:grayscale(.45) contrast(1.08);border:1px solid var(--line)}
.work-visual::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 80px rgba(3,3,6,.45);border:1px solid transparent}

/* credits */
.credits{display:grid;gap:0;border-top:1px solid var(--line)}
.credit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1rem 2rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}
.credit h3{font-size:clamp(1.5rem,3vw,2rem);margin:0;line-height:1}
.credit .who{font-family:var(--sub);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--muted);margin:.35rem 0 0}
.credit p{margin:0;color:#d4d4da}
@media (max-width:700px){.credit{grid-template-columns:1fr}}

/* label */
.label-block{display:grid;grid-template-columns:auto 1fr;gap:1.5rem 2rem;align-items:center;border:1px solid var(--line);padding:1.75rem;background:rgba(0,0,0,.35)}
.label-block img{width:96px;height:96px;border-radius:50%}
.label-block h3{font-size:2.4rem;margin:0 0 .4rem}
.label-block p{margin:0 0 .8rem}
@media (max-width:600px){.label-block{grid-template-columns:1fr}.label-block img{width:72px;height:72px}}

/* contact */
.contact-card{border:1px solid var(--line);padding:2rem;background:rgba(0,0,0,.35);position:relative}
.contact-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--neon);box-shadow:0 0 18px var(--neon-soft)}
.contact-card a.email{font-family:var(--sub);letter-spacing:.04em;font-size:clamp(1.05rem,2.5vw,1.4rem);color:var(--white);text-decoration:none;border-bottom:1px solid var(--neon);word-break:break-word}
.contact-card a.email:hover{color:var(--neon-2);border-color:var(--neon-2)}

/* footer */
.site-foot{position:relative;z-index:1;background:#020203;border-top:1px solid var(--line);padding:3rem 0 2rem;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
.site-foot h2{font-size:1.5rem;margin-bottom:.8rem}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:.45rem}
.site-foot a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}
.site-foot a:hover{color:var(--neon-2)}
.site-foot svg{width:18px;height:18px;flex:none}
.foot-brand{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
.foot-brand img{width:56px;height:56px}
.foot-brand .kicker{color:var(--muted);letter-spacing:.18em;margin:0}
.foot-brand h2{margin:0}
.legal{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--line);color:#6d6d75;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 404 */
.page-hero{position:relative;z-index:1;padding:clamp(5rem,16vh,9rem) 0;min-height:60vh}

/* sessions */
.session-lead{margin:0 0 1.25rem;background:#000;border:1px solid var(--line);overflow:hidden;box-shadow:0 0 60px rgba(156,175,136,.08)}
.session-lead img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center 45%;display:block}
.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.session-grid figure{margin:0;background:#000;border:1px solid var(--line);overflow:hidden}
.session-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s,filter .4s}
.session-grid figure:hover img{transform:scale(1.03)}
@media (max-width:800px){.session-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:500px){.session-grid{grid-template-columns:1fr}}
