:root{
  --bg:#0c0c0d;
  --bg-raised:#141415;
  --ink:#f1ede4;
  --ink-dim:#a9a49a;
  --line:#28282a;
  --brass:#b98f4f;
  --brass-dim:#5e4c2f;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:400;letter-spacing:-0.01em;}
::selection{background:var(--brass);color:#0c0c0d;}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}

header{
  position:sticky;top:0;z-index:50;
  background:rgba(12,12,13,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-wrap{
  max-width:1100px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 32px;
}
.wordmark{font-family:'Fraunces',serif;font-size:1.05rem;letter-spacing:0.02em;}
nav ul{list-style:none;display:flex;align-items:center;gap:36px;}
nav a{
  font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--ink-dim);transition:color .2s;
}
nav a:hover, nav a[aria-current="page"]{color:var(--brass);}
.nav-toggle{display:none;background:none;border:none;color:var(--ink);font-size:1.4rem;cursor:pointer;}

.nav-icons{display:flex;align-items:center;gap:10px;margin-left:8px;}
.nav-icon{
  display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;border:1px solid var(--line);border-radius:50%;
  color:var(--ink-dim);transition:color .2s,border-color .2s;
}
.nav-icon svg{width:14px;height:14px;}
.nav-icon:hover{color:var(--brass);border-color:var(--brass);}

.hero{
  max-width:1100px;margin:0 auto;
  padding:96px 32px 64px;
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:center;
}
.eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:0.72rem;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--brass);margin-bottom:22px;display:block;
}
.hero h1{font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.18;font-weight:300;color:#fff;}
.hero-frame{
  aspect-ratio:4/5;border:1px solid var(--line);overflow:hidden;background:var(--bg-raised);
}
.hero-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(15%) contrast(1.03);}

section{max-width:1100px;margin:0 auto;padding:88px 32px;border-top:1px solid var(--line);}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:44px;flex-wrap:wrap;gap:12px;}
.section-head h2{font-size:1.9rem;font-weight:300;}
.section-head .count{font-family:'JetBrains Mono',monospace;font-size:0.78rem;color:var(--ink-dim);}
.page-head{max-width:1100px;margin:0 auto;padding:72px 32px 0;}
.page-head h1{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:300;}

.listen-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.listen-grid .embed-frame{order:2;}
.listen-grid .listen-copy{order:1;}
@media (min-width:761px){
  .listen-grid .embed-frame{order:1;}
  .listen-grid .listen-copy{order:2;}
}
.listen-grid img{width:100%;border:1px solid var(--line);}
.listen-copy p{color:var(--ink-dim);margin-bottom:24px;max-width:38ch;}
.embed-frame{border:1px solid var(--line);background:var(--bg-raised);padding:8px;}
.embed-frame iframe{width:100%;border:none;display:block;}

.discog-table{width:100%;border-collapse:collapse;border-top:1px solid var(--line);}
.discog-table td{
  padding:14px 20px 14px 0;border-bottom:1px solid var(--line);
  text-align:left;vertical-align:baseline;font-size:0.95rem;
}
.discog-table td.artist{color:var(--ink-dim);width:32%;}
.discog-table td.title{color:var(--ink);width:40%;}
.discog-table td.title strong{font-weight:500;color:var(--ink);}
.discog-table td.tags{width:22%;padding-right:0;white-space:nowrap;}
.tags{display:flex;gap:5px;flex-wrap:nowrap;justify-content:flex-start;}
.tag{
  font-family:'JetBrains Mono',monospace;font-size:0.64rem;letter-spacing:0.02em;
  color:var(--brass);border:1px solid var(--brass-dim);padding:2px 6px;border-radius:2px;
}
.legend{margin-top:28px;font-family:'JetBrains Mono',monospace;font-size:0.72rem;color:var(--ink-dim);line-height:1.9;}
@media (max-width:760px){
  .discog-table, .discog-table tbody, .discog-table tr{display:block;width:100%;}
  .discog-table td{display:block;width:100%;padding:4px 0;border-bottom:none;}
  .discog-table tr{padding:14px 0;border-bottom:1px solid var(--line);}
  .discog-table td.artist{font-size:0.82rem;}
  .discog-table td.tags{margin-top:2px;}
  .tag{font-size:0.58rem;padding:2px 5px;letter-spacing:0;}
  .tags{gap:3px;}
  #contact{min-height:420px;}
}

.credit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.credit-cell{background:var(--bg);padding:30px 28px;display:flex;flex-direction:column;gap:6px;}
.credit-cell .show{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:400;}
.credit-cell .net{font-family:'JetBrains Mono',monospace;font-size:0.72rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:0.08em;}
.credit-role{color:var(--ink-dim);max-width:60ch;margin-bottom:26px;font-size:0.95rem;}

#contact{position:relative;overflow:hidden;min-height:600px;display:flex;align-items:center;}
.contact-bg{position:absolute;inset:0;z-index:0;}
.contact-bg img{width:100%;height:100%;object-fit:cover;opacity:0.5;}
.contact-bg::after{content:"";position:absolute;inset:0;background:var(--bg);opacity:0.35;}
.contact-inner{position:relative;z-index:1;text-align:center;width:100%;}
.contact-inner .section-head{justify-content:center;}
.contact-inner .section-head h2{color:#fff;}
.contact-block{display:flex;flex-direction:column;align-items:center;gap:10px;}
.contact-block .mgmt{font-size:1.3rem;font-family:'Fraunces',serif;font-weight:300;color:#fff;}
.contact-block a.email{color:#fff;font-family:'JetBrains Mono',monospace;font-size:0.95rem;transition:color .2s;}
.contact-block a.email:hover{color:var(--brass);}
.socials{display:flex;justify-content:center;gap:28px;margin-top:36px;}
.socials a{font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;color:#fff;transition:color .2s;}
.socials a:hover{color:var(--brass);}

footer{
  max-width:1100px;margin:0 auto;padding:36px 32px 64px;
  border-top:1px solid var(--line);
  display:flex;justify-content:space-between;color:var(--ink-dim);font-size:0.78rem;
}

@media (max-width:760px){
  .hero{grid-template-columns:1fr;padding-top:64px;}
  .hero-frame{order:-1;max-width:280px;margin:0 auto;}
  .listen-grid{grid-template-columns:1fr;}
  .credit-grid{grid-template-columns:1fr;}
  nav ul{
    position:fixed;inset:64px 0 auto 0;background:var(--bg);
    flex-direction:column;padding:24px 32px;gap:20px;
    border-bottom:1px solid var(--line);
    transform:translateY(-120%);transition:transform .25s ease;
  }
  nav ul.open{transform:translateY(0);}
  .nav-toggle{display:block;}
  .log-row{grid-template-columns:1fr;gap:6px;}
  .tags{justify-content:flex-start;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  nav ul{transition:none;}
}

/* film/tv carousel — centered coverflow, infinite loop */
.carousel{max-width:820px;margin:0 auto;text-align:center;}
.carousel-viewport{
  position:relative;height:320px;
  overflow:hidden;
}
.carousel-slide{
  position:absolute;top:0;left:50%;
  width:300px;height:100%;
  background:var(--bg-raised);border:1px solid var(--line);
  cursor:pointer;
  transition:transform .5s cubic-bezier(.22,.61,.36,1), opacity .5s ease;
  will-change:transform,opacity;
}
.carousel-slide .still{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.carousel-slide .still img{width:100%;height:100%;object-fit:cover;display:block;}
.still-placeholder{
  font-family:'JetBrains Mono',monospace;font-size:0.68rem;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--ink-dim);text-align:center;padding:0 20px;
}

.carousel-caption{margin-top:26px;}
.carousel-caption .show{font-family:'Fraunces',serif;font-size:1.3rem;display:block;}
.carousel-caption .net{font-family:'JetBrains Mono',monospace;font-size:0.72rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:0.08em;display:block;margin-top:4px;}

.carousel-controls{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:22px;}
.carousel-arrows{display:flex;gap:10px;}
.carousel-arrows button{
  width:38px;height:38px;border:1px solid var(--line);background:none;color:var(--ink);
  cursor:pointer;font-size:1rem;transition:border-color .2s,color .2s;
}
.carousel-arrows button:hover{border-color:var(--brass);color:var(--brass);}
.carousel-dots{display:flex;gap:8px;}
.carousel-dots button{
  width:7px;height:7px;border-radius:50%;border:none;background:var(--line);
  cursor:pointer;padding:0;transition:background .2s;
}
.carousel-dots button[aria-current="true"]{background:var(--brass);}

@media (max-width:760px){
  .carousel-viewport{height:220px;}
  .carousel-slide{width:200px;}
}
