/* A film-led entrance. The room is the image, not a faint background texture. */
.hero { padding:0 !important; min-height:0; overflow:clip; }
.hero-entry { position:relative; height:100svh; min-height:620px; max-height:1100px; isolation:isolate; background:#15120e; }
.hero .hero-backdrop { inset:0; opacity:1; filter:none; mask-image:none; animation:none; background:url('assets/images/studio-room.webp') center 45% / cover; }
.hero .hero-backdrop::after { background:linear-gradient(0deg,#000b,transparent 45%,#0004); }
.entrance-film { display:block; width:100%; height:100%; object-fit:cover; object-position:center 45%; opacity:0; transition:opacity .25s; }
.entrance-film.is-ready { opacity:1; }
.hero-entry-copy { position:absolute; z-index:1; left:max(6vw,calc((100vw - 1180px)/2)); right:max(6vw,calc((100vw - 1180px)/2)); bottom:52px; }
.hero .hero-entry-copy>p { color:#e3dfd6; font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; letter-spacing:.13em; margin:0 0 10px; }
.hero .hero-entry-copy h1 { margin:0; max-width:none; font-size:clamp(100px,15vw,220px); line-height:.88; letter-spacing:-.075em; font-weight:600; text-shadow:none; }
.entry-links { display:flex; align-items:center; gap:30px; margin-top:28px; border-top:1px solid #ffffff60; padding-top:15px; font-size:12px; color:#f0ede6; }
.entry-links>span { margin-right:auto; }
.entry-links a { display:inline-flex; align-items:center; min-height:44px; }
.hero .hero-grid { padding:82px 0 !important; margin:0 auto; width:88%; gap:90px; min-height:0; }
.hero .visual-wrap { animation:none; max-width:450px; }
.listening-title { color:#efede6; font-size:clamp(66px,7vw,98px); line-height:.96; letter-spacing:-.06em; font-weight:550; }
.listening-title em { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.hero .hero-copy .hero-intro { font-size:14px !important; margin-top:26px; }
.hero .stats { grid-template-columns:1fr 1fr !important; max-width:280px; }
.hero .console-caption { color:#aaa; }
.equipment-visuals { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:38px; }
.equipment-shot { position:relative; margin:0; overflow:hidden; min-width:0; aspect-ratio:1 / 1; background:#171614; }
.equipment-shot>img,.equipment-film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.equipment-shot>img { object-position:center 48%; }
.equipment-film { opacity:0; transition:opacity .3s; }
.equipment-film.is-ready { opacity:1; }
.equipment-shot::after { content:""; position:absolute; inset:60% 0 0; background:linear-gradient(transparent,#000b); pointer-events:none; }
.equipment-shot figcaption { position:absolute; z-index:1; bottom:22px; left:24px; right:24px; display:flex; gap:20px; justify-content:space-between; font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; color:#f0ede6; letter-spacing:.04em; }
.equipment-specs { border-top:1px solid #ffffff30; border-bottom:1px solid #ffffff30; margin-top:30px; padding:0; }
.equipment-specs summary { display:flex; justify-content:space-between; padding:22px 0; cursor:pointer; font-size:14px; list-style:none; }
.equipment-specs summary::-webkit-details-marker { display:none; }
.equipment-specs summary::after { content:"+"; font-size:20px; line-height:1; }
.equipment-specs[open] summary::after { content:"−"; }
.equipment-specs .equipment-grid { margin:10px 0 30px; }
@media(max-width:980px) {
  .hero-entry { height:86svh; min-height:560px; max-height:850px; }
  .hero-entry-copy { left:24px; right:24px; bottom:35px; }
  .hero .hero-entry-copy h1 { font-size:clamp(100px,19vw,160px) !important; line-height:.9 !important; }
  .hero .hero-grid { padding:55px 0 !important; width:calc(100% - 48px); gap:36px !important; }
  .hero .hero-copy { width:100%; }
  .listening-title { font-size:64px; }
  .listening-title br { display:none; }
  .hero .stats { display:none; }
  .hero .hero-copy .hero-intro { margin-top:16px; }
  .hero .cta-row { display:flex; margin-top:10px; }
  .hero .visual-wrap { justify-self:center; }
}
@media(max-width:600px) {
  .hero-entry { min-height:580px; height:90svh; }
  .hero .hero-entry-copy h1 { font-size:25vw !important; letter-spacing:-.07em; }
  .hero .hero-backdrop,.entrance-film { background-position:60% center; object-position:60% center; }
  .entry-links { gap:18px; flex-wrap:wrap; margin-top:22px; padding-top:10px; }
  .entry-links>span { width:100%; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
  .hero-entry-copy { bottom:28px; }
  .listening-title { font-size:clamp(44px,11vw,62px); }
  .equipment-visuals { grid-template-columns:1fr; gap:16px; margin-top:28px; }
  .equipment-shot { aspect-ratio:1 / 1; }
  .equipment-shot figcaption { left:18px; right:18px; bottom:18px; font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .entrance-film,.equipment-film { display:none; }
}

/* One film, then a quiet editorial rhythm. No repeated video galleries. */
.hero .hero-backdrop,.entrance-film { background-position:center; object-position:center; }
#services .container { display:block; }
#services .reveal { opacity:1; transform:none; filter:none; transition:none; }
#services .card:hover { transform:none; }
#services .services-intro { position:static; display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:8px 40px; }
#services .services-intro .section-label { grid-column:1 / -1; }
#services .services-intro .section-title { grid-column:1; }
#services .services-intro .section-lead { grid-column:2; margin:0 0 8px; max-width:320px; justify-self:end; }
#services .grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:44px; }
#services .card,#services .card:first-child,#services .card:last-child { padding:0; border:0; display:flex; flex-direction:column; }
#services .service-number { font:10px/1.5 ui-monospace,monospace; letter-spacing:.1em; color:#595953; text-transform:uppercase; margin-bottom:14px; }
#services .card h3 { margin:24px 0 12px; }
#services .card p { font-size:14px; margin-bottom:24px; }
#services .editorial-link { margin-top:auto; align-self:flex-start; }
.session-art { aspect-ratio:1.35; width:100%; position:relative; overflow:hidden; background:#252624; color:#eeece5; }
.take-art { display:flex; align-items:center; justify-content:center; gap:9px; background:#863d2c; }
.take-art>i { position:absolute; width:64%; aspect-ratio:1; border:1px solid #f6ddd155; border-radius:50%; }
.take-art>i::before,.take-art>i::after { content:""; position:absolute; inset:15%; border:1px solid #f6ddd140; border-radius:50%; }
.take-art>i::after { inset:30%; }
.take-art>span { font:12px ui-monospace,monospace; letter-spacing:.12em; }
.take-art>b { font-size:12px; color:#ffccb1; }
.mix-art { display:flex; justify-content:center; align-items:center; gap:9%; }
.mix-art>i { position:relative; height:64%; width:2px; background:#ffffff25; }
.mix-art>i::after { content:""; width:26px; height:14px; position:absolute; top:33%; left:-12px; background:linear-gradient(#c5c5ba,#e8e8df 44%,#55554f 46%,#c6c6bb 56%); box-shadow:0 5px 8px #0005; }
.mix-art>i:nth-child(2)::after { top:55%; }
.mix-art>i:nth-child(3)::after { top:20%; }
.mix-art>i:nth-child(4)::after { top:40%; }
.mix-art>i:nth-child(5)::after { top:65%; }
.space-art { background:#d8d5cc; color:#323730; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.space-art>span { font-size:clamp(70px,8vw,110px); letter-spacing:-.08em; line-height:1; }
.space-art small { font-size:25px; letter-spacing:-.04em; margin-left:10px; }
.space-art>i { margin-top:20px; font:8px ui-monospace,monospace; letter-spacing:.14em; }
#studio { padding-bottom:40px; }
#equipment { padding-top:30px; }
#equipment .section-title { font-size:clamp(32px,4vw,50px); }
.studio-caption p { display:none; }
.studio-caption h3 { font-size:22px; }
@media(max-width:700px) {
  #services .services-intro { display:block; }
  #services .services-intro .section-lead { margin-top:18px; }
  #services .grid-3 { grid-template-columns:1fr; gap:40px; }
  #services .card { padding:0 !important; }
  .session-art { aspect-ratio:1.7; }
  .space-art>span { font-size:100px; }
  #studio { padding-bottom:24px; }
  #equipment { padding-top:20px; }
}
