/* ============================================================
   YAW STUDIO — home v2 comparison overrides
   Loaded after home.css. Original index.html is untouched.
   ============================================================ */

.home-v2{
  --v2-ink:#121316;
  --v2-mute:rgba(242,240,236,.42);
}

/* compare chip */
.v2-chip{
  position:fixed;z-index:120;left:var(--pad);bottom:18px;
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(242,240,236,.78);background:rgba(4,5,6,.88);
  border:1px solid rgba(255,255,255,.12);padding:10px 14px;
  backdrop-filter:blur(10px);
}
.v2-chip a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(224,27,24,.7)}
.v2-chip a:hover{border-bottom-color:#fff}

/* ---- 1–2 naming / hero CTA already in HTML ---- */

/* ---- red restraint: keep signal on active/CTA only ---- */
.home-v2 .films-act .reelrow{
  background:
    radial-gradient(120% 80% at 50% 0%,rgba(224,27,24,.03),transparent 55%),
    linear-gradient(180deg,#060708,#040506 60%,#060708);
}
.home-v2 .credits-marq{
  background:
    linear-gradient(90deg,var(--pub-bg,var(--deep)) 0%,transparent 12%,transparent 88%,var(--pub-bg,var(--deep)) 100%),
    radial-gradient(80% 120% at 50% 50%,rgba(224,27,24,.025),transparent 70%);
}
.home-v2 .endcard-min.endcard-lux{
  background:
    radial-gradient(90% 80% at 80% 0%,rgba(224,27,24,.035),transparent 55%),
    #040506;
}
.home-v2 .stories-act{
  background:
    linear-gradient(180deg,rgba(224,27,24,.02),transparent 28%),
    radial-gradient(ellipse at 12% 0%,rgba(255,255,255,.7),transparent 45%),
    var(--story-paper);
}
.home-v2 .credit-item:hover{
  text-shadow:0 0 18px rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.35);
}
.home-v2 .credit-item:hover + i{
  box-shadow:none;
}

/* ---- tight join: Work with YAW Studio → Frames ---- */
.home-v2 .prod-act{
  padding-bottom:0;
}
.home-v2 .prod-act .prod-reel{
  padding-bottom:0;
}
.home-v2 .frames-act{
  padding-top:0;
  border-top:0;
}
.home-v2 .frames-act .act-head{
  margin-top:0;
  padding-top:clamp(24px,4vh,40px);
  border-top:1px solid rgba(255,255,255,.06);
}

/* ---- publications context ---- */
.home-v2 .credits-context{
  max-width:42rem;margin:0 auto clamp(28px,5vh,48px);
  padding:0 var(--pad);text-align:center;
  font-family:var(--read);font-size:clamp(15px,1.6vw,18px);
  line-height:1.55;color:rgba(242,240,236,.58);
}
.home-v2 .credits-context a{
  color:#fff;text-decoration:none;
  border-bottom:1px solid rgba(224,27,24,.55);
  transition:border-color .3s,color .3s;
}
.home-v2 .credits-context a:hover{border-bottom-color:#fff}
.home-v2 .credits-tag{margin-bottom:14px}

/* ---- services: quieter without stacked CTAs ---- */
.home-v2 .prod-act .prod-cta{display:none}
.home-v2 .prod-side{padding-bottom:8px}

/* ---- final act reveal ---- */
.home-v2 .final-act{margin-top:0}
.home-v2 .final-copy h2{max-width:14ch;margin-left:auto;margin-right:auto}

/* ---- focus polish ---- */
.home-v2 .hero-ticks button:focus-visible{
  outline:2px solid var(--brand-red);outline-offset:4px;
}
.home-v2 .films-act .reel-nav button:focus-visible,
.home-v2 .prod-row:focus-visible{
  outline:2px solid var(--brand-red);outline-offset:3px;
}
.home-v2 .story-editorial:focus-visible{
  outline:2px solid var(--brand-red);outline-offset:6px;
}
.home-v2 .cursor-frame:focus-visible .cursor-frame-inner{
  outline:2px solid var(--brand-red);outline-offset:4px;
}

/* Stories contrast polish */
.home-v2 .stories-act .story-lede{color:rgba(18,19,22,.72)}
.home-v2 .stories-act .story-foot{color:rgba(18,19,22,.48)}

/* ---- Frames / Work: mobile horizontal snap gallery ---- */
@media (max-width:900px){
  .home-v2 .cursor-gallery{
    margin:0;
    min-height:0;
    border-top:none;
  }
  .home-v2 .cursor-stage{
    display:flex;
    flex-direction:row;
    gap:14px;
    padding:8px var(--pad) 28px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .home-v2 .cursor-stage::-webkit-scrollbar{display:none}
  .home-v2 .cursor-frame{
    flex:0 0 min(78vw,340px);
    scroll-snap-align:center;
    width:min(78vw,340px)!important;
  }
  .home-v2 .cursor-frame .ph{aspect-ratio:3/4}
  .home-v2 .cursor-frame-cap{
    opacity:1;transform:none;
    background:linear-gradient(to top,rgba(4,5,6,.9),transparent 62%);
  }
  .home-v2 .cursor-frame-inner{
    box-shadow:0 16px 48px rgba(0,0,0,.4);
  }
  .home-v2 .frames-hint{
    display:block;
    font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
    color:rgba(242,240,236,.35);padding:0 var(--pad) 8px;
  }
}
@media (min-width:901px){
  .home-v2 .frames-hint{display:none}
}

@media (prefers-reduced-motion:reduce){
  .home-v2 .credits-run,
  .home-v2 .end-marq-run,
  .home-v2 .final-visual .ph img{animation:none!important}
}

/* ============================================================
   v2 — navbar hides on scroll down, returns on scroll up
   ============================================================ */
.home-v2.fs-cine .hdr.is-away,
body.home-v2.fs-cine .hdr.is-away{
  transform:translate3d(0,calc(-100% - 24px),0);
  pointer-events:none;
}

/* ============================================================
   Menu — compact, clearer, easier on the eye
   ============================================================ */
.home-v2 .overlay{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;
  bottom:0 !important;
  width:100vw !important;
  max-width:none !important;
  height:100% !important;
  background:#070809;
}
.home-v2 .overlay .view::after{
  background:
    linear-gradient(90deg,rgba(7,8,9,.94) 0%,rgba(7,8,9,.88) 38%,rgba(7,8,9,.55) 72%,rgba(7,8,9,.4) 100%);
}
.home-v2 .overlay .top{
  padding:14px var(--pad);
  border-bottom-color:rgba(255,255,255,.06);
  background:rgba(7,8,9,.55);
  backdrop-filter:blur(8px);
}
.home-v2 .overlay .top .brand{
  flex-direction:row;
  align-items:center;
  gap:10px;
}
.home-v2 .overlay .top .brand .mark{
  width:clamp(110px,min(16vw,14vh),200px);
}
.home-v2 .overlay .top .brand-word{
  font-size:10px;
  letter-spacing:.22em;
  color:rgba(237,241,245,.78);
}
.home-v2 .overlay .close{
  font-size:10px;
  letter-spacing:.16em;
  color:rgba(237,241,245,.55);
  padding:8px 0;
}
.home-v2 .overlay .list{
  width:min(420px,92vw);
  max-width:none;
  align-self:flex-start;
  padding:clamp(8px,1.5vh,18px) var(--pad);
}
.home-v2 .overlay .view{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;
  bottom:0 !important;
  width:100vw !important;
  max-width:none !important;
  height:100% !important;
}
.home-v2 .overlay .view .lay,
.home-v2 .overlay .view .lay > div,
.home-v2 .overlay .view .ph{
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
}
.home-v2 .overlay .view .lay img,
.home-v2 .overlay .view .ph img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center;
}
.home-v2 .overlay .list a{
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  padding:clamp(6px,1.1vh,10px) 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.home-v2 .overlay .list a:last-child{border-bottom:0}
.home-v2 .overlay .list a .k{
  font-size:9px;
  letter-spacing:.16em;
  color:rgba(237,241,245,.32);
  width:28px;
  text-align:left;
}
.home-v2 .overlay .list a b{
  font-variation-settings:"wdth" 108;
  font-weight:700;
  font-size:clamp(15px,min(2.4vw,3.1vh),24px);
  letter-spacing:-.02em;
  line-height:1.15;
  text-transform:none;
  color:rgba(237,241,245,.92);
  min-width:0;
  text-align:left;
}
.home-v2 .overlay .list a .d{
  margin-left:auto;
  font-size:9px;
  letter-spacing:.1em;
  color:rgba(237,241,245,.38);
  opacity:0;
  max-width:16ch;
  text-align:right;
  line-height:1.35;
}
.home-v2 .overlay .list a:hover b{
  color:#fff;
}
.home-v2 .overlay .list a:hover .d,
.home-v2 .overlay .list a:focus-visible .d{
  opacity:1;
  color:rgba(255,255,255,.85);
}
.home-v2 .overlay.work-open .list a[data-menu="work"] .d,
.home-v2 .overlay.work-open .list a[data-i="0"] .d{
  opacity:0;
}
.home-v2 .overlay .list a:hover{
  border-bottom-color:rgba(224,27,24,.25);
}

/* Work categories sit under Work on the left — never a right-hand slab */
.home-v2 .overlay .work-panel{
  display:none!important;
}
.overlay .work-sub{
  display:none;
  flex-direction:column;
  padding:0 0 8px 42px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.overlay.work-open .work-sub{
  display:flex;
}
.overlay .work-sub[hidden]{display:none!important}
.overlay .work-sub a{
  display:flex;align-items:baseline;gap:12px;
  min-height:36px;padding:8px 0;
  text-decoration:none;color:#EDF1F5;
  border:0;height:auto;
}
.overlay .work-sub .wp-k{
  font-family:var(--mono);font-size:9px;letter-spacing:.18em;
  color:rgba(237,241,245,.38);width:28px;flex:0 0 28px;
}
.overlay .work-sub .wp-t{
  font-family:var(--disp);font-variation-settings:"wdth" 118;font-weight:800;
  font-size:15px;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;
}
.overlay .work-sub a:hover .wp-t,
.overlay .work-sub a:focus-visible .wp-t{color:#fff}
.home-v2 .overlay.work-open .list > a[data-menu="work"],
.home-v2 .overlay.work-open .list > a[data-i="0"]{
  background:rgba(224,27,24,.08);
  border-bottom-color:rgba(224,27,24,.35);
}
@media(max-width:720px){
  .home-v2 .overlay .list a{
    flex-wrap:wrap;
    gap:4px 10px;
    padding:12px 0;
    justify-content:flex-start;
    height:auto;
    min-height:48px;
  }
  .home-v2 .overlay .list a .d{
    margin-left:40px;
    max-width:none;
    text-align:left;
    width:100%;
  }
}
.home-v2 .overlay .foot{
  padding:12px var(--pad);
  border-top-color:rgba(255,255,255,.06);
  font-size:9px;
  letter-spacing:.12em;
  color:rgba(237,241,245,.36);
  background:rgba(7,8,9,.4);
}
@media(max-width:720px){
  .home-v2 .overlay .list a{
    flex-wrap:wrap;
    gap:4px 10px;
    padding:12px 0;
    justify-content:flex-start;
  }
  .home-v2 .overlay .list a .d{
    margin-left:40px;
    max-width:none;
    text-align:left;
    width:100%;
  }
  .home-v2 .overlay .view::after{
    background:rgba(7,8,9,.9);
  }
}

/* ============================================================
   v2 — film MP4 plates
   ============================================================ */
.home-v2 .films-act .film .plate .ph video.film-clip,
.home-v2 .films-act .film .plate .ph iframe.film-clip{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  pointer-events:none;
  transition:opacity .7s ease;
  border:0;
}
.home-v2 .films-act .film.is-playing .plate .ph video.film-clip,
.home-v2 .films-act .film.is-playing .plate .ph iframe.film-clip{
  opacity:1;
}

/* ============================================================
   v2 — bold cinematic image system (per section)
   ============================================================ */

/* HERO — iris open + anamorphic push-in */
.home-v2 .hero-cine .shot .ph img{
  filter:brightness(0) contrast(1.4) saturate(0);
  transform:scale(1.28);
  clip-path:circle(0% at 50% 48%);
  transition:
    filter 1.8s cubic-bezier(.16,1,.3,1),
    clip-path 1.55s cubic-bezier(.16,1,.3,1),
    transform 8s linear;
}
.home-v2 .hero-cine .shot.on .ph img{
  filter:brightness(1) contrast(1.06) saturate(1.05);
  transform:scale(1.04);
  clip-path:circle(140% at 50% 48%);
}
.home-v2 .hero-cine .vig{
  background:
    radial-gradient(ellipse at 50% 40%,transparent 35%,rgba(0,0,0,.55) 100%),
    linear-gradient(90deg,rgba(0,0,0,.35),transparent 18%,transparent 82%,rgba(0,0,0,.35));
}

/* FILMS — scope plate: crush then open + live clip */
.home-v2 .films-act .film .plate{
  clip-path:inset(18% 0 18% 0);
  transition:clip-path 1.1s cubic-bezier(.16,1,.3,1),border-color .45s,transform .7s,box-shadow .7s;
}
.home-v2 .films-act .film.on .plate,
.home-v2 .films-act .film:hover .plate,
.home-v2 .films-act .film.in-view .plate{
  clip-path:inset(0);
}
.home-v2 .films-act .film .plate .ph img{
  filter:brightness(.15) saturate(.25) contrast(1.2);
  transform:scale(1.18);
  transition:filter 1.2s ease,transform 1.6s cubic-bezier(.16,1,.3,1);
}
.home-v2 .films-act .film.on .plate .ph img,
.home-v2 .films-act .film:hover .plate .ph img,
.home-v2 .films-act .film.is-playing .plate .ph img{
  filter:brightness(.95) saturate(1.08) contrast(1.08);
  transform:scale(1.02);
}
.home-v2 .films-act .film .plate .ph video.film-clip{
  filter:contrast(1.1) saturate(1.08);
}

/* Play cue — signals an external video that plays here (and opens a tab without JS) */
.home-v2 .films-act .film .plate.has-embed .play-cue{
  position:absolute;
  top:14px;
  right:14px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(10,10,10,.55);
  backdrop-filter:blur(4px);
  color:#fff;
  font-size:12px;
  line-height:1;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .4s ease,transform .4s ease;
  pointer-events:none;
}
.home-v2 .films-act .film.on .plate.has-embed .play-cue,
.home-v2 .films-act .film:hover .plate.has-embed .play-cue,
.home-v2 .films-act .film.in-view .plate.has-embed .play-cue{
  opacity:1;
  transform:translateY(0);
}
.home-v2 .films-act .film .plate.has-embed .play-cue .play-ext{opacity:.75;font-size:11px}
/* Once the inline player is open, the cue is no longer relevant */
.home-v2 .films-act .film .plate.has-embed:has(.embed-iframe) .play-cue{opacity:0}
@media (prefers-reduced-motion:reduce){
  .home-v2 .films-act .film .plate.has-embed .play-cue{transition:none;transform:none}
}

/* STORIES — alternate wipes + grade */
.home-v2 .story-editorial.even .story-media{
  clip-path:inset(0 0 0 0);
}
.home-v2 .story-editorial.even .story-media .ph img{
  filter:brightness(.08) grayscale(1) contrast(1.25);
  transform:scale(1.14) translateX(-28px);
  clip-path:inset(0 100% 0 0);
  transition:filter 1.5s ease,transform 1.55s cubic-bezier(.16,1,.3,1),clip-path 1.25s cubic-bezier(.16,1,.3,1);
}
.home-v2 .story-editorial.even.seen .story-media .ph img{
  filter:brightness(.96) saturate(1.02) contrast(1.04);
  transform:none;
  clip-path:inset(0);
}
.home-v2 .story-editorial.odd .story-media .ph img{
  filter:brightness(1.85) saturate(0) contrast(.8);
  transform:scale(1.1) translateX(28px);
  clip-path:inset(0 0 0 100%);
  transition:filter 1.5s ease,transform 1.55s cubic-bezier(.16,1,.3,1),clip-path 1.25s cubic-bezier(.16,1,.3,1);
}
.home-v2 .story-editorial.odd.seen .story-media .ph img{
  filter:brightness(.9) saturate(1.05) contrast(1.08);
  transform:none;
  clip-path:inset(0);
}
.home-v2 .story-editorial.ratio-cinema.seen .story-media{
  box-shadow:0 30px 80px rgba(18,19,22,.22);
}
.home-v2 .story-editorial:hover .story-media .ph img{
  transform:scale(1.05);
}

/* FRAMES — shutter blades + depth */
.home-v2 .cursor-stage{perspective:1400px}
.home-v2 .cursor-frame .cursor-frame-inner{
  outline:1px solid rgba(255,255,255,0);
  transition:transform .65s var(--ease-out),box-shadow .65s,outline-color .4s;
}
.home-v2 .cursor-frame:hover .cursor-frame-inner,
.home-v2 .cursor-frame.active .cursor-frame-inner{
  outline-color:rgba(224,27,24,.55);
}
.home-v2 .cursor-frame .ph{
  clip-path:inset(48% 12% 48% 12%);
  transform:rotateY(22deg) scale(.86);
  filter:brightness(0);
  transition:clip-path 1.15s cubic-bezier(.16,1,.3,1),transform 1.25s cubic-bezier(.16,1,.3,1),filter 1.1s ease;
}
.home-v2 .cursor-frame .ph img{
  filter:grayscale(1) contrast(1.35) brightness(.7);
  transform:scale(1.22);
  transition:filter 1.25s ease,transform 1.45s cubic-bezier(.16,1,.3,1);
}
.home-v2 .cursor-frame.in-view .ph{
  clip-path:inset(0);
  transform:none;
  filter:none;
}
.home-v2 .cursor-frame.in-view .ph img{
  filter:none;
  transform:none;
}
.home-v2 .cursor-frame:nth-child(1) .ph,
.home-v2 .cursor-frame:nth-child(1) .ph img{transition-delay:.02s}
.home-v2 .cursor-frame:nth-child(2) .ph,
.home-v2 .cursor-frame:nth-child(2) .ph img{transition-delay:.12s}
.home-v2 .cursor-frame:nth-child(3) .ph,
.home-v2 .cursor-frame:nth-child(3) .ph img{transition-delay:.22s}
.home-v2 .cursor-frame:nth-child(4) .ph,
.home-v2 .cursor-frame:nth-child(4) .ph img{transition-delay:.32s}
.home-v2 .cursor-frame:nth-child(5) .ph,
.home-v2 .cursor-frame:nth-child(5) .ph img{transition-delay:.42s}

/* SERVICES — hard cut through black matte */
.home-v2 .prod-visual{
  clip-path:inset(42% 0 42% 0);
  transition:clip-path 1.35s cubic-bezier(.16,1,.3,1),border-color .45s,box-shadow .55s;
}
.home-v2 .prod-visual.seen{
  clip-path:inset(0);
}
.home-v2 .prod-img .ph{overflow:hidden}
.home-v2 .prod-img .ph img{
  filter:brightness(1.7) saturate(0) contrast(1.35);
  transform:scale(1.14) translateY(12px);
  transition:filter .85s ease,transform 1.15s cubic-bezier(.16,1,.3,1);
}
.home-v2 .prod-img.on .ph img{
  filter:brightness(.86) saturate(1.08) contrast(1.1);
  transform:scale(1.03);
}
.home-v2 .prod-img .ph::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:#000;opacity:1;transition:opacity .7s ease;
}
.home-v2 .prod-img.on .ph::before{opacity:0}
.home-v2 .prod-img .ph::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 20%,transparent 80%,rgba(0,0,0,.35));
  opacity:.8;
}

/* FOOTER — letterbox lift on end brand */
.home-v2 .end-brand .lock{
  clip-path:inset(40% 20% 40% 20%);
  filter:brightness(.2);
  transition:clip-path 1.2s cubic-bezier(.16,1,.3,1),filter 1.2s ease,transform .55s,filter .45s;
}
.home-v2 .end-brand.in-view .lock{
  clip-path:inset(0);
  filter:none;
}

/* STORIES — muted frames, full colour on hover */
.home-v2:not(.home-lux) .story-editorial.even.seen .story-media .ph img,
.home-v2:not(.home-lux) .story-editorial.odd.seen .story-media .ph img{
  filter:grayscale(1) brightness(.8) contrast(1.06);
  transition:filter .6s ease,transform 1.55s cubic-bezier(.16,1,.3,1),clip-path 1.25s cubic-bezier(.16,1,.3,1);
}
.home-v2:not(.home-lux) .story-editorial.even.seen:hover .story-media .ph img,
.home-v2:not(.home-lux) .story-editorial.odd.seen:hover .story-media .ph img{
  filter:grayscale(0) brightness(1) saturate(1.04) contrast(1.04);
}

/* PUBLICATIONS — matte backdrop with fine film grain */
.home-v2:not(.home-lux) .credits-act{
  --pub-bg:#111216;
  position:relative;
  background:var(--pub-bg);
}
.home-v2:not(.home-lux) .credits-act::after{
  content:"";position:absolute;inset:0;z-index:6;pointer-events:none;
  opacity:.9;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='pubGrain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23pubGrain)'/%3E%3C/svg%3E");
  background-size:140px 140px;
}

.home-v2:not(.index-v2) .credits-act.clients-act{
  overflow:visible;
  padding-bottom:clamp(40px,7vh,72px);
}
.home-v2:not(.index-v2) .credits-act.clients-act .credits-tag{
  margin-bottom:clamp(18px,3vh,28px);
}
.home-v2:not(.index-v2) .clients-grid{
  list-style:none;
  margin:0 auto;
  padding:0 var(--pad);
  max-width:var(--maxw);
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:12px 16px;
  align-items:center;
}
.home-v2:not(.index-v2) .clients-grid li{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:2px 4px;
}
.home-v2:not(.index-v2) .clients-grid img{
  display:block;
  height:clamp(18px,2.4vw,26px);
  width:auto;
  max-width:100%;
  object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.38;
  transition:opacity .3s ease;
}
.home-v2:not(.index-v2) .clients-grid li:hover img{opacity:.85}
@media(max-width:720px){
  .home-v2:not(.index-v2) .clients-grid{gap:10px 8px}
  .home-v2:not(.index-v2) .clients-grid img{height:16px}
}

/* WORK WITH YAW STUDIO — champagne hairline on hover */
.home-v2:not(.home-lux) .prod-visual:hover{
  border-color:rgba(198,166,106,.72);
  box-shadow:
    0 0 0 1px rgba(198,166,106,.22),
    0 0 26px rgba(198,166,106,.12),
    0 30px 76px rgba(0,0,0,.55);
}

@media (prefers-reduced-motion:reduce){
  .home-v2 .hero-cine .shot .ph img,
  .home-v2 .films-act .film .plate,
  .home-v2 .films-act .film .plate .ph img,
  .home-v2 .story-editorial .story-media .ph img,
  .home-v2 .cursor-frame .ph,
  .home-v2 .cursor-frame .ph img,
  .home-v2 .prod-visual,
  .home-v2 .prod-img .ph img,
  .home-v2 .end-brand .lock{
    filter:none!important;
    transform:none!important;
    clip-path:none!important;
    transition:none!important;
  }
  .home-v2 .films-act .film .plate .ph video.film-clip{opacity:1}
  .home-v2 .prod-img .ph::before{display:none}
}

/* ============================================================
   HOME, REFINED PASS — header scrim + menu room
   Opt-in per page with body.home-refined
   ============================================================ */
/* navbar floats fully transparent over the hero at the top of the page —
   no scrim, same height; the solid shape only appears once scrolled (.solid) */
.home-refined.fs-cine .hdr:not(.solid){
  background:transparent;
}

/* the grade moves onto the photograph, so a caption can sit above it */
.home-refined .overlay .view::after{
  display:block;
  background:linear-gradient(90deg,rgba(7,8,9,.94) 0%,rgba(7,8,9,.78) 36%,rgba(7,8,9,.32) 68%,rgba(7,8,9,.18) 100%);
}
.home-refined .overlay .view .lay .ph::after{
  background-image:
    linear-gradient(90deg,rgba(7,8,9,.96) 0%,rgba(7,8,9,.9) 36%,rgba(7,8,9,.5) 72%,rgba(7,8,9,.34) 100%),
    linear-gradient(to top,rgba(7,8,9,.66) 0%,rgba(7,8,9,0) 40%),
    radial-gradient(118% 92% at 74% 44%,rgba(0,0,0,0) 36%,rgba(0,0,0,.5) 100%);
  background-size:auto;
}
.home-refined .overlay .view .lay-cap{
  position:absolute;z-index:2;right:var(--pad);bottom:clamp(62px,9vh,92px);
  white-space:nowrap;text-align:right;
  font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(237,241,245,.82);
}
.home-refined .overlay .view .lay-cap::before{
  content:"";position:absolute;right:0;bottom:-9px;width:22px;height:1px;
  background:rgba(224,27,24,.85);
}

/* the list reads as a column, with the frame line as its gate */
.home-refined .overlay .list{border-right:1px solid rgba(255,255,255,.07)}
.home-refined .overlay .list a{
  padding-right:30px;
  transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .35s;
}
.home-refined .overlay .list a::after{
  content:"\2192";
  position:absolute;right:4px;top:50%;
  font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.9);
  transform:translateY(-50%) translateX(-8px);opacity:0;
  transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1);
}
.home-refined .overlay .list a:hover,
.home-refined .overlay .list a:focus-visible{transform:translateX(8px)}
.home-refined .overlay .list a:focus-visible{outline:none;border-bottom-color:rgba(224,27,24,.35)}
.home-refined .overlay .list a:focus-visible b{color:#fff}
.home-refined .overlay .list a:hover::after,
.home-refined .overlay .list a:focus-visible::after{opacity:1;transform:translateY(-50%)}
.home-refined .overlay .list a:hover .k,
.home-refined .overlay .list a:focus-visible .k{color:rgba(255,255,255,.9)}

/* the room settles in after the wipe */
.home-refined .overlay .top{
  opacity:0;transform:translateY(-8px);
  transition:opacity .5s .28s ease,transform .6s .28s cubic-bezier(.16,1,.3,1);
}
.home-refined .overlay .foot{
  opacity:0;transform:translateY(8px);
  transition:opacity .5s .34s ease,transform .6s .34s cubic-bezier(.16,1,.3,1);
}
.home-refined .overlay.open .top,
.home-refined .overlay.open .foot{opacity:1;transform:none}

@media(max-width:860px){
  .home-refined .overlay .view .lay-cap{display:none}
}
@media(max-width:720px){
  .home-refined .overlay .view .lay .ph::after{
    background-image:linear-gradient(rgba(7,8,9,.9),rgba(7,8,9,.9));
  }
  .home-refined .overlay .list{border-right:0}
  .home-refined .overlay .list a::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  .home-refined .overlay .top,
  .home-refined .overlay .foot{opacity:1;transform:none;transition:none}
  .home-refined .overlay .list a{transition:none}
  .home-refined .overlay .list a:hover,
  .home-refined .overlay .list a:focus-visible{transform:none}
}

/* ============================================================
   LICENSE — content teaser
   ============================================================ */
.license-act{
  background:
    radial-gradient(80% 60% at 82% 8%,rgba(42,75,95,.16),transparent 52%),
    var(--void,#040506);
  padding-top:0;
  padding-bottom:clamp(56px,10vh,112px);
  border-top:1px solid rgba(255,255,255,.06);
}
.license-act > .act-head{
  padding-top:clamp(120px,16vw,172px) !important;
}
.license-act .act-head-copy h2{
  text-transform:uppercase;
  letter-spacing:-.045em;
  max-width:14ch;
}
.license-board{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(240px,.86fr);
  gap:clamp(28px,5vw,72px);
  align-items:end;
  padding:0 var(--pad);
}
.license-visuals{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  grid-template-rows:auto auto;
  gap:8px;
}
.license-cell{
  position:relative;
  display:block;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  background:#07080a;
  border:1px solid rgba(255,255,255,.08);
}
.license-cell.is-hero{
  grid-column:1 / -1;
  aspect-ratio:16/8;
}
.license-cell:not(.is-hero){aspect-ratio:16/11}
.license-cell .ph{position:absolute;inset:0;height:100%}
.license-cell .ph img{
  transform:scale(1.03);
  transition:transform 1.15s cubic-bezier(.16,1,.3,1);
}
.license-cell:hover .ph img,
.license-cell:focus-visible .ph img{transform:scale(1.08)}
.license-cell .ph::after{
  background-image:
    linear-gradient(to top,rgba(4,5,6,.72) 0%,rgba(4,5,6,.12) 42%,transparent 70%),
    linear-gradient(115deg,rgba(255,255,255,.04),transparent 40%);
  background-size:auto;
}
.license-wm{
  position:absolute;inset:0;z-index:4;
  display:grid;place-items:center;
  pointer-events:none;
}
.license-wm img{
  display:block;width:clamp(160px,52%,260px);height:auto;
  opacity:.35;
  filter:none;
}
.license-cell.is-hero .license-wm img{
  width:clamp(240px,46%,420px);opacity:.32;
}
.license-corners{
  position:absolute;inset:0;z-index:2;pointer-events:none
}
.license-corners i{
  position:absolute;width:14px;height:14px;
  border:1px solid rgba(255,255,255,.38);opacity:.4;
  transition:opacity .35s,border-color .35s;
}
.license-corners .tl{top:10px;left:10px;border-right:0;border-bottom:0}
.license-corners .br{right:10px;bottom:10px;border-left:0;border-top:0}
.license-cell:hover .license-corners i{
  opacity:1;border-color:rgba(224,27,24,.7)
}
.license-cap{
  position:absolute;z-index:3;left:14px;bottom:12px;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(242,240,236,.78);
  opacity:0;transform:translateY(6px);
  transition:opacity .4s,transform .45s cubic-bezier(.16,1,.3,1);
}
.license-cell:hover .license-cap,
.license-cell:focus-visible .license-cap{
  opacity:1;transform:none
}
.license-copy{padding-bottom:6px}
.license-lead{
  font-family:var(--disp);font-variation-settings:"wdth" 118;font-weight:900;
  font-size:clamp(22px,3.2vw,40px);letter-spacing:-.04em;line-height:1.05;
  text-transform:uppercase;margin:0 0 16px;max-width:18ch;
}
.license-support{
  font-family:var(--read);font-size:clamp(15px,1.55vw,18px);line-height:1.62;
  color:var(--mute-f);max-width:38ch;margin:0 0 26px;
}
.license-ctas{
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  margin:0 0 28px;
}
.license-cta{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;color:rgba(242,240,236,.48);
  border-bottom:1px solid rgba(255,255,255,.12);padding:0 0 6px;
  transition:color .35s,border-color .35s,transform .35s cubic-bezier(.16,1,.3,1);
}
.license-cta .arr{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.license-cta.is-primary{color:#fff;border-bottom-color:rgba(224,27,24,.7)}
.license-cta:hover{
  color:#fff;border-color:var(--brand-red,#E01B18);transform:translateX(4px)
}
.license-cta:hover .arr{transform:translateX(6px);color:var(--brand-red,#E01B18)}
.license-note{
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;line-height:1.7;
  text-transform:uppercase;color:rgba(242,240,236,.32);max-width:48ch;margin:0;
}
@media(max-width:980px){
  .license-board{grid-template-columns:1fr;gap:28px;align-items:start}
  .license-cell.is-hero{aspect-ratio:16/9}
}
@media(max-width:720px){
  .license-visuals{grid-template-columns:1fr;gap:8px}
  .license-cell.is-hero,
  .license-cell:not(.is-hero){aspect-ratio:16/10}
  .license-cap{opacity:1;transform:none}
  .license-lead{max-width:none}
}
@media (prefers-reduced-motion:reduce){
  .license-cell .ph img{transform:none;transition:none}
  .license-cta:hover{transform:none}
}

/* ============================================================
   VOICES — cinematic testimonials
   ============================================================ */
.voices-act{
  --yaw-steel:#2a4b5f;
  --story-paper:#E9EAED;
  --story-ink:#121316;
  --story-mute:rgba(18,19,22,.58);
  --story-line:rgba(18,19,22,.12);
  background:
    linear-gradient(180deg,rgba(224,27,24,.02),transparent 28%),
    radial-gradient(ellipse at 12% 0%,rgba(255,255,255,.7),transparent 45%),
    var(--story-paper);
  color:var(--story-ink);
  padding:clamp(36px,6vh,64px) var(--pad) clamp(44px,7vh,72px);
  border-top:1px solid var(--story-line);
  overflow:hidden;
}
.voices-grid{
  display:grid;
  grid-template-columns:minmax(180px,.55fr) minmax(0,1.7fr);
  gap:clamp(24px,4vw,56px);
  align-items:start;
  max-width:var(--maxw);
  margin:0 auto;
}
.voices-copy{padding-bottom:0}
.voices-kicker{
  display:block;
  font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(18,19,22,.38);margin:0 0 10px;
}
.voices-copy h2{
  font-family:var(--disp);font-variation-settings:"wdth" 118;font-weight:900;
  font-size:clamp(26px,3.4vw,40px);letter-spacing:-.045em;line-height:.92;
  text-transform:uppercase;margin:0;
}
.voices-copy p{
  font-family:var(--read);font-size:clamp(14px,1.4vw,17px);line-height:1.5;
  color:var(--story-mute);max-width:26ch;margin:10px 0 0;
}
.voices-rule{
  display:block;width:36px;height:2px;margin:16px 0 14px;
  background:var(--yaw-steel);
}
.voices-count{
  display:flex;align-items:baseline;gap:12px;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;
  color:rgba(18,19,22,.32);
}
.voices-count #voicesNow{color:var(--story-ink);font-size:13px}
.voices-count i{display:block;width:28px;height:1px;background:rgba(18,19,22,.2);align-self:center}

.voices-well{
  position:relative;
  min-height:0;
  padding:clamp(18px,2.2vw,28px) clamp(18px,2.4vw,32px) clamp(18px,2.2vw,28px);
  border:1px solid var(--story-line);
  background:rgba(255,255,255,.48);
}
.voices-well .voices-corners{
  position:absolute;inset:0;z-index:2;pointer-events:none
}
.voices-well .voices-corners i{
  position:absolute;width:14px;height:14px;
  border:1px solid rgba(18,19,22,.28);opacity:.5;
}
.voices-well .voices-corners .tl{top:10px;left:10px;border-right:0;border-bottom:0}
.voices-well .voices-corners .br{right:10px;bottom:10px;border-left:0;border-top:0}
.voices-copyblock{
  display:block;
  margin:0;
  min-height:0;
  position:relative;
  z-index:1;
  overflow:hidden;
}
.voices-top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:0 0 14px;
}
.voices-mark{
  display:inline-flex;align-items:center;justify-content:center;
  height:36px;
  padding:0 12px;
  border-radius:2px;
  background:#fff;
  flex:0 0 auto;
}
.voices-mark img{
  display:block;height:18px;width:auto;max-width:118px;
  object-fit:contain;object-position:left center;
  filter:none;
  opacity:1;
}
.voices-mark[data-brand="ajplus"]{
  background:#FF5A00;
  padding:0 14px;
}
.voices-mark[data-brand="ajplus"] img{
  height:16px;
  filter:brightness(0) invert(1);
}
.voices-mark[data-brand="novalectio"]{
  background:#F4EFE6;
}
.voices-mark[data-brand="novalectio"] img{
  height:18px;
  filter:brightness(0);
}
.voices-badge{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#D4A10F;
  display:inline-block;
}
.voices-rate{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.voices-stars{
  display:none;
}
.voices-about-link{
  display:inline-block;margin-top:14px;
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;color:var(--story-mute);
  transition:color .3s;
}
.voices-about-link:hover{color:var(--story-ink)}
.voices-quote{
  position:absolute;
  left:0;right:0;top:0;
  margin:0;
  opacity:0;
  transform:translate3d(22px,6px,0);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
  pointer-events:none;
}
.voices-quote.on{
  position:relative;
  opacity:1;transform:none;pointer-events:auto;
}
.voices-quote.is-leave{opacity:0;transform:translate3d(-22px,0,0)}
.voices-slider.is-prev .voices-quote{transform:translate3d(-22px,6px,0)}
.voices-slider.is-prev .voices-quote.on{transform:none}
.voices-slider.is-prev .voices-quote.is-leave{transform:translate3d(22px,0,0)}
.voices-quote p{
  position:relative;
  font-family:var(--read);font-style:italic;font-weight:400;
  font-size:clamp(16px,1.7vw,22px);line-height:1.38;letter-spacing:-.012em;
  color:var(--story-ink);margin:0 0 14px;max-width:36ch;
}
.voices-quote p::before{
  content:"\201C";
  font-family:var(--read);font-style:normal;font-weight:600;
  font-size:.82em;line-height:1;color:var(--yaw-steel);
  margin-right:.12em;vertical-align:-.04em;
}
.voices-quote footer{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(18,19,22,.42);
}
.voices-quote cite{
  font-style:normal;color:var(--story-ink);letter-spacing:.18em;
}
.voices-quote cite::before{content:"\2014\00a0"}
.voices-quote .voices-proj{color:rgba(42,75,95,.95)}
.voices-quote.is-long p{
  font-size:clamp(14px,1.45vw,17px);
  max-width:48ch;
  line-height:1.45;
}

.voices-nav{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin-top:clamp(12px,1.8vw,18px);
  flex-wrap:wrap;
}
.voices-index{
  display:flex;align-items:center;gap:14px;
}
.voices-index button{
  appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  color:rgba(18,19,22,.32);
  transition:color .35s;
}
.voices-index button.on,
.voices-index button[aria-current="true"]{
  color:var(--story-ink);
}
.voices-index button:hover{color:rgba(18,19,22,.7)}
.voices-rail{
  display:block;width:56px;height:1px;
  background:rgba(18,19,22,.14);position:relative;overflow:hidden;
}
.voices-rail i{
  display:block;height:100%;width:0;
  background:var(--yaw-steel);
  transition:width .7s var(--ease);
}
.voices-arrows{display:flex;gap:22px}
.voices-arrows button{
  appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(18,19,22,.48);
  transition:color .3s,transform .3s var(--ease-out);
}
.voices-arrows button:hover{color:var(--story-ink)}
.voices-arrows button[data-dir="next"]:hover{transform:translateX(4px)}
.voices-arrows button[data-dir="prev"]:hover{transform:translateX(-4px)}
.voices-slider:focus{outline:none}
.voices-slider:focus-visible{outline:1px solid rgba(42,75,95,.85);outline-offset:10px}

.overlay-voice{
  position:absolute;z-index:4;right:var(--pad);bottom:clamp(118px,18vh,168px);
  max-width:min(280px,28vw);text-align:right;
  pointer-events:none;
  opacity:0;transform:translateY(10px);
  transition:opacity .55s .5s ease,transform .65s .5s cubic-bezier(.16,1,.3,1);
}
.overlay-voice span::after{
  content:"";display:block;width:28px;height:1px;margin:10px 0 0 auto;
  background:#2a4b5f;
}
.overlay.open .overlay-voice{opacity:1;transform:none}
.overlay-voice span{
  display:block;
  font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(237,241,245,.45);margin-bottom:10px;
}
.overlay-voice p{
  font-family:var(--read);font-style:italic;
  font-size:clamp(14px,1.35vw,17px);line-height:1.45;
  color:rgba(237,241,245,.88);margin:0 0 10px;
}
.overlay-voice cite{
  font-family:var(--mono);font-style:normal;font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(42,75,95,.95);
}

@media(max-width:980px){
  .voices-grid{grid-template-columns:1fr;gap:18px;align-items:start}
  .voices-copy h2{max-width:14ch}
  .voices-well{min-height:0}
  .voices-copyblock{min-height:0}
  .overlay-voice{max-width:min(240px,36vw)}
}
@media(max-width:860px){
  .overlay-voice{display:none}
}
@media(max-width:720px){
  .voices-act{padding-top:clamp(32px,6vh,52px);padding-bottom:clamp(36px,7vh,60px)}
  .voices-quote p{font-size:clamp(16px,4.6vw,20px)}
  .voices-quote.is-long p{font-size:clamp(14px,4.1vw,16px)}
  .voices-nav{align-items:flex-start;flex-direction:column;gap:14px}
  .voices-rail{width:40px}
  .voices-top{margin-bottom:12px}
}
@media(max-height:620px){
  .overlay-voice{display:none}
}
@media (prefers-reduced-motion:reduce){
  .voices-quote{transition:opacity .2s ease}
  .overlay-voice{opacity:1;transform:none;transition:none}
  .voices-rail i{transition:none}
}

/* ============================================================
   RECORD — honours first, then voices
   ============================================================ */
.record-act{
  background:
    radial-gradient(90% 70% at 82% 8%,rgba(224,27,24,.06),transparent 50%),
    var(--void);
  padding-bottom:clamp(48px,8vh,96px);
}
.record-board{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(22px,3vw,32px);
  padding:0 var(--pad) clamp(28px,5vh,56px);
  max-width:var(--maxw);
  margin:0 auto;
}

.record-lanes{
  position:relative;
  display:flex;
  gap:4px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.record-lanes button{
  appearance:none;background:none;border:0;
  padding:12px 18px 16px 0;margin-right:22px;
  cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(242,240,236,.38);
  transition:color .35s;
}
.record-lanes button:hover{color:rgba(242,240,236,.78)}
.record-lanes button.on,
.record-lanes button[aria-selected="true"]{color:#fff}
.record-lanes button:focus-visible{outline:2px solid var(--brand-red);outline-offset:4px}
.record-lane-title{
  margin:0;
  padding:12px 0 16px;
  border-bottom:1px solid rgba(255,255,255,.1);
  font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;
  color:#fff;
}
.record-lane-ink{
  position:absolute;left:0;bottom:-1px;height:1px;width:72px;
  background:var(--brand-red);
  transform-origin:left center;
  transition:transform .45s var(--ease-out),width .45s var(--ease-out);
}

.record-lane{
  display:none;
  align-items:start;
  gap:clamp(22px,3.5vw,40px);
}
.record-lane.on{
  display:grid;
  grid-template-columns:minmax(180px,280px) minmax(0,1fr);
  animation:recordLaneIn .55s var(--ease-out) both;
}
@keyframes recordLaneIn{
  from{opacity:0;transform:translate3d(0,14px,0)}
  to{opacity:1;transform:none}
}

.record-visual{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  max-height:360px;
  overflow:hidden;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.08);
  clip-path:inset(6% 6% 6% 6%);
  transform-origin:center;
  transition:clip-path 1s var(--ease-out),border-color .45s,transform .6s var(--ease-out);
}
.record-visual.seen{
  clip-path:inset(0 0 0 0);
  transform:none;
}
.record-visual:hover{border-color:rgba(224,27,24,.35)}
.record-shot{
  position:absolute;inset:0;opacity:0;z-index:0;
  transform:scale(1.08);
  transition:opacity .55s ease,transform .8s var(--ease-out);
}
.record-shot.on{opacity:1;z-index:1;transform:none}
.record-shot .ph{position:absolute;inset:0;height:100%}
.record-shot .ph img{
  width:100%;height:100%;object-fit:cover;object-position:center 35%;
}
.record-shot.on .ph img{animation:recordKen 12s ease-out forwards}
@keyframes recordKen{
  from{transform:scale(1.04)}
  to{transform:scale(1.12)}
}

.record-shot.is-mark,
.record-shot.is-type{
  display:grid;place-items:center;
  background:
    radial-gradient(80% 70% at 50% 40%,rgba(224,27,24,.14),transparent 62%),
    #0c0d0f;
}
.record-plate{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  text-align:center;padding:24px;
}
.record-plate img{
  width:min(120px,46%);height:auto;max-height:72px;
  filter:brightness(0) invert(1);opacity:.88;
}
.record-plate span{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(242,240,236,.48);
}
.record-plate-k{
  font-size:clamp(40px,8vw,64px)!important;letter-spacing:-.04em!important;
  color:rgba(255,255,255,.14)!important;font-weight:500;line-height:.9;
}
.record-plate-t{color:#fff!important;letter-spacing:.16em!important}

.record-sheen{
  position:absolute;inset:0;z-index:5;pointer-events:none;
  background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.2) 48%,transparent 62%);
  transform:translateX(-130%);
  opacity:0;
}
.record-visual.is-swap .record-sheen{
  animation:recordSheen .85s ease-out;
}
@keyframes recordSheen{
  0%{transform:translateX(-130%);opacity:0}
  18%{opacity:1}
  100%{transform:translateX(130%);opacity:0}
}

.record-veil{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(to top,rgba(4,5,6,.82) 0%,rgba(4,5,6,.12) 42%,transparent 70%),
    linear-gradient(115deg,rgba(255,255,255,.05),transparent 40%);
}
.record-corners{position:absolute;inset:0;z-index:3;pointer-events:none}
.record-corners i{
  position:absolute;width:16px;height:16px;
  border:1px solid rgba(255,255,255,.4);opacity:.4;
  transition:opacity .4s,border-color .4s,width .45s,height .45s;
}
.record-corners .tl{top:12px;left:12px;border-right:0;border-bottom:0}
.record-corners .br{right:12px;bottom:12px;border-left:0;border-top:0}
.record-visual:hover .record-corners i,
.record-visual.seen .record-corners i{
  opacity:1;border-color:rgba(224,27,24,.75);width:20px;height:20px;
}
.record-hud{
  position:absolute;z-index:4;left:0;right:0;bottom:0;
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  padding:14px 16px;pointer-events:none;
}
.record-hud-k{
  font-family:var(--mono);font-size:clamp(22px,3.2vw,36px);letter-spacing:-.04em;
  line-height:1;color:rgba(255,255,255,.16);font-weight:500;
  transition:color .4s,transform .45s var(--ease-out);
}
.record-visual.is-swap .record-hud-k{transform:translateY(8px);opacity:.4}
.record-visual:hover .record-hud-k{color:rgba(255,255,255,.55)}
.record-hud-t{
  font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.72);
}

.record-side{
  display:flex;flex-direction:column;min-height:100%;
  padding:4px 0 0;
}
.record-types{
  display:flex;flex-wrap:wrap;gap:0;
  border-bottom:1px solid rgba(255,255,255,.1);
  margin:0 0 clamp(16px,2.4vw,24px);
}
.record-types button{
  appearance:none;background:none;border:0;border-bottom:1px solid transparent;
  margin:0 0 -1px;padding:10px 12px 12px 0;margin-right:16px;
  cursor:pointer;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(242,240,236,.38);
  transition:color .3s,border-color .3s;
}
.record-types button:last-child{margin-right:0}
.record-types button:hover{color:rgba(242,240,236,.78)}
.record-types button.on,
.record-types button[aria-selected="true"]{
  color:#fff;
  border-bottom-color:var(--brand-red);
}
.record-types button:focus-visible{
  outline:2px solid var(--brand-red);outline-offset:4px;
}

.record-dossier{position:relative;flex:1;min-height:168px}
.record-panel{
  position:absolute;inset:0;
  opacity:0;transform:translate3d(18px,8px,0);
  transition:opacity .5s var(--ease),transform .55s var(--ease);
  pointer-events:none;
}
.record-panel.on{
  position:relative;
  opacity:1;transform:none;pointer-events:auto;
}
.record-badge{
  display:inline-block;
  font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:#D4A10F;margin:0 0 12px;
}
.record-panel h3{
  font-family:var(--disp);font-variation-settings:"wdth" 112;font-weight:800;
  font-size:clamp(22px,2.8vw,34px);letter-spacing:-.035em;line-height:.95;
  text-transform:uppercase;margin:0 0 12px;color:#fff;
}
.record-facts{
  display:flex;flex-wrap:wrap;gap:8px 14px;
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(242,240,236,.48);margin:0 0 14px;
}
.record-facts span + span::before{
  content:"·";margin-right:14px;color:rgba(242,240,236,.28);
}
.record-body{
  font-family:var(--read);font-size:clamp(15px,1.45vw,17px);line-height:1.55;
  color:rgba(242,240,236,.72);max-width:38ch;margin:0 0 16px;
}
.record-source{
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(242,240,236,.38);margin:0;
}

.record-thumbs{
  display:flex;gap:8px;margin-top:18px;
}
.record-thumbs button{
  appearance:none;border:1px solid rgba(255,255,255,.12);background:#0c0d0f;
  width:52px;height:52px;padding:0;overflow:hidden;cursor:pointer;
  opacity:.48;transition:opacity .35s,border-color .35s,transform .35s var(--ease-out);
}
.record-thumbs button img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(.3);
}
.record-thumbs button:nth-child(2) img{
  object-fit:contain;padding:10px;
  filter:brightness(0) invert(1);
  background:transparent;
}
.record-thumbs button span{
  display:grid;place-items:center;height:100%;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:rgba(242,240,236,.55);
}
.record-thumbs button:hover{opacity:.85;transform:translateY(-2px)}
.record-thumbs button.on{
  opacity:1;border-color:rgba(224,27,24,.7);
  box-shadow:0 0 0 1px rgba(224,27,24,.25);
}

.record-cta{
  justify-self:start;
  display:inline-flex;align-items:center;gap:10px;
  padding:4px 0 6px;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;color:rgba(242,240,236,.45);
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:color .35s,border-color .35s,transform .35s var(--ease-out);
}
.record-cta .arr{display:inline-block;transition:transform .35s var(--ease-out)}
.record-cta:hover{color:#fff;border-color:var(--brand-red);transform:translateX(4px)}
.record-cta:hover .arr{transform:translateX(6px);color:#fff}

#voicesLane.record-lane.on{
  grid-template-columns:1fr;
}
.voice-stage{
  position:relative;
  min-height:280px;
  padding:clamp(28px,5vw,48px) clamp(22px,4vw,40px) clamp(22px,4vw,32px);
  border:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(80% 80% at 8% 0%,rgba(224,27,24,.08),transparent 55%),
    #090a0c;
  overflow:hidden;
}
.voice-mark{
  position:absolute;top:8px;left:18px;
  font-family:var(--read);font-size:clamp(72px,12vw,140px);line-height:.7;
  color:rgba(255,255,255,.18);pointer-events:none;
  animation:voiceMark .8s var(--ease-out) both;
}
@keyframes voiceMark{
  from{opacity:0;transform:translate3d(0,16px,0)}
  to{opacity:1;transform:none}
}
.voice-quote{
  position:absolute;inset:clamp(28px,5vw,48px) clamp(22px,4vw,40px) 72px;
  margin:0;opacity:0;transform:translate3d(20px,0,0);
  transition:opacity .5s var(--ease),transform .55s var(--ease);
  pointer-events:none;
}
.voice-quote.on{
  position:relative;inset:auto;
  margin:0 0 28px;
  opacity:1;transform:none;pointer-events:auto;
}
.voice-quote p{
  font-family:var(--read);font-size:clamp(22px,3.2vw,36px);font-style:italic;
  line-height:1.28;letter-spacing:-.02em;color:#fff;margin:0 0 28px;max-width:22ch;
}
.voice-quote footer{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
}
.voice-quote cite{
  font-style:normal;font-family:var(--disp);font-weight:700;
  font-size:15px;letter-spacing:-.02em;color:#fff;
}
.voice-quote footer span:not(.voice-logo){
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(242,240,236,.42);
}
.voice-logo{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:28px;flex:0 0 auto;
}
.voice-logo img{max-width:100%;max-height:18px;width:auto;filter:brightness(0) invert(1);opacity:.85}
.voice-nav{
  display:flex;align-items:center;gap:16px;
}
.voice-nav > button[data-dir]{
  appearance:none;background:none;border:1px solid rgba(255,255,255,.16);
  color:rgba(242,240,236,.7);width:40px;height:36px;cursor:pointer;
  font-size:14px;transition:border-color .3s,color .3s,transform .3s var(--ease-out);
}
.voice-nav > button[data-dir]:hover{
  color:#fff;border-color:var(--brand-red);transform:translateX(0);
}
.voice-nav > button[data-dir]:focus-visible{outline:2px solid var(--brand-red);outline-offset:3px}
.voice-dots{display:flex;gap:8px}
.voice-dots button{
  appearance:none;border:0;padding:0;width:22px;height:2px;border-radius:0;
  background:rgba(255,255,255,.2);cursor:pointer;
  transition:background .35s,transform .35s var(--ease-out);
}
.voice-dots button.on{background:var(--brand-red);transform:scaleX(1.15)}

@media(max-width:860px){
  .record-lane.on{grid-template-columns:1fr;gap:18px}
  .record-visual{
    max-height:none;
    width:min(240px,72vw);
    aspect-ratio:4/5;
  }
  .record-dossier{min-height:0}
  .record-panel{position:relative}
  .record-panel:not(.on){display:none}
  .voice-quote{position:relative;inset:auto}
  .voice-quote:not(.on){display:none}
}
@media(max-width:720px){
  .record-lanes{overflow-x:auto}
  .record-lanes button{margin-right:16px;padding-right:8px}
  .record-types{gap:0;overflow-x:auto}
  .record-types button{padding:12px 12px 14px 0;margin-right:14px;white-space:nowrap}
  .record-panel h3{font-size:clamp(22px,7vw,30px)}
  .voice-quote p{max-width:none}
}
@media (prefers-reduced-motion:reduce){
  .record-visual{clip-path:none;transition:none}
  .record-shot,.record-panel,.voice-quote,.record-lane.on{transition:opacity .2s ease;transform:none;animation:none}
  .record-shot.on .ph img,.record-visual.is-swap .record-sheen,.voice-mark{animation:none}
}

/* ============================================================
   RESPONSIVE PASS — every home section, phone → wide desktop
   ============================================================ */
.home main{overflow-x:clip}
.home img,.home svg{max-width:100%}
.home .overlay img{max-width:none !important}

/* section headers: drop the 3-column desk layout */
@media(max-width:720px){
  .act-head:not(.centered){
    grid-template-columns:auto 1fr;
    align-items:start;
    gap:10px 16px;
    padding-top:clamp(40px,8vh,72px);
  }
  .act-head:not(.centered) > .act-all,
  .act-head:not(.centered) > .act-ctas{
    grid-column:2;
    justify-self:start;
  }
  .act-ctas{white-space:normal;flex-wrap:wrap;align-items:flex-start}
}
@media(max-width:480px){
  .act-head:not(.centered){
    grid-template-columns:1fr;
    gap:8px;
  }
  .act-head:not(.centered) > .act-all,
  .act-head:not(.centered) > .act-ctas{grid-column:1}
  .act-head h2{font-size:clamp(26px,9vw,40px);overflow-wrap:anywhere}
  .act-all{white-space:normal}
  .prod-act .act-ctas .act-all{padding:10px 12px 8px}
}

/* hero */
@media(max-width:720px){
  .cine{min-height:0;height:100svh;height:100dvh}
  .cine .cap{bottom:clamp(88px,16vh,128px)}
  .cine .cap h1{font-size:clamp(30px,10.5vw,52px);max-width:11ch}
  .cine-foot{gap:12px;align-items:center}
  .cine-foot .explore{font-size:9px}
}
@media(max-height:560px){
  .cine{min-height:100dvh}
  .cine .cap{bottom:68px}
  .cine .cap h1{font-size:clamp(26px,7vh,44px);margin-bottom:8px}
  .cine .cap .role{font-size:10px}
  .cine-foot{bottom:14px}
}

/* films */
@media(max-width:480px){
  .films-act .film{flex-basis:88vw}
  .films-act .film .plate{max-height:none}
  .films-act .meta{max-width:100%;padding:14px}
  .films-act .synop{display:none}
  .films-act .facts{font-size:9px;gap:6px 10px}
  .films-act .reel-nav{gap:10px}
  .films-act .reel-nav button{width:36px;height:36px}
}

/* work / production */
@media(max-width:960px){
  .prod-visual{min-height:clamp(220px,38vh,340px)}
}
@media(max-width:520px){
  .prod-row{grid-template-columns:32px 1fr;padding-left:10px;padding-right:8px}
  .prod-arr{display:none}
  .prod-row.active .prod-desc{max-height:none}
}

/* frames — captions always readable on stacked/snap layout */
@media(max-width:900px){
  .cursor-gallery{min-height:0}
  .frames-act{padding-bottom:clamp(36px,8vh,72px)}
}

/* license */
@media(max-width:720px){
  .license-wm img,
  .license-cell.is-hero .license-wm img{width:min(58%,200px)}
  .license-ctas{flex-wrap:wrap}
}

/* stories */
@media(max-width:900px){
  .story-media{max-height:none;width:100%}
  .story-editorial .story-text h3{overflow-wrap:anywhere}
}
@media(max-width:480px){
  .story-mag{gap:clamp(36px,8vh,64px);padding-bottom:24px}
}

/* clients — never 7 skinny columns on a phone */
@media(max-width:1100px){
  .home-v2:not(.index-v2) .clients-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}
}
@media(max-width:720px){
  .home-v2:not(.index-v2) .clients-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}
  .home-v2:not(.index-v2) .clients-grid img{height:18px}
}
@media(max-width:420px){
  .home-v2:not(.index-v2) .clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* feedback / record */
@media(max-width:480px){
  .record-visual{width:min(100%,280px)}
  .voice-stage{padding:22px 16px 16px;min-height:0}
  .voice-quote p{font-size:clamp(18px,6.4vw,26px);max-width:none}
  .voice-quote footer{gap:8px 10px}
  .record-thumbs button{width:44px;height:44px}
}

/* partner CTA */
@media(max-width:480px){
  .partner-cta-head{max-width:none}
  .partner-cta-head h2{font-size:clamp(28px,8.5vw,40px)}
  .partner-copy p{font-size:15px}
  .partner-btn{letter-spacing:.12em;font-size:10px}
}

/* menu room */
@media(max-width:720px){
  .overlay .list a .d{display:none}
  .overlay .list a{height:auto;min-height:clamp(44px,11vw,62px)}
  .overlay .foot{font-size:9px;gap:8px;flex-wrap:wrap}
}
@media(max-width:480px){
  .overlay .top{padding:12px var(--pad)}
  .overlay .close{font-size:10px}
  .overlay .work-sub{padding-left:36px}
  .overlay .work-sub .wp-t{font-size:14px}
}

/* footer */
@media(max-width:640px){
  .end-min-base{flex-direction:column;gap:10px}
  .end-min-inner{padding-top:clamp(36px,8vh,64px)}
}

/* very small / landscape phones */
@media(max-width:360px){
  :root{--pad:14px}
  .brand .mark{width:clamp(96px,38vw,128px)}
  .cine .cap h1{font-size:28px}
}
@media(max-height:420px) and (orientation:landscape){
  .cine .cap .hero-eyebrow{display:none}
  .cine .cap h1{font-size:clamp(22px,6vh,36px)}
  .intro .stage{transform:scale(.85)}
}

/* ============================================================
   Camera corners — kept on the Documentary reel (.films-act) only
   ============================================================ */
.prod-corners,
.record-corners{display:none}

/* ============================================================
   Decorative index numbers — hidden site-wide
   (content numbers — dates, years, durations, reel counter — stay)
   Page stylesheets load after this file, so page rules use body.page-*
   ============================================================ */
/* menu + footer */
.overlay .list a .k,
.overlay .wp-k,
.end-nav a .n{display:none}

/* home section headers: drop the number column */
.act-head .seq-num{display:none}
.act-head:not(.centered){grid-template-columns:minmax(0,1fr) auto}
@media(max-width:720px){
  .act-head:not(.centered){grid-template-columns:minmax(0,1fr)}
  .act-head:not(.centered) > .act-all,
  .act-head:not(.centered) > .act-ctas{grid-column:1}
}

/* documentary reel */
.films-act .no,
.films-act .reelno{display:none}

/* services (home) */
.prod-k{display:none}
.prod-row{grid-template-columns:minmax(0,1fr) auto}
.prod-desc{grid-column:1}
.prod-arr{grid-column:2;grid-row:1}
@media(max-width:520px){
  .prod-row{grid-template-columns:minmax(0,1fr)}
}
.prod-cap{visibility:hidden}

/* feedback / recognition */
.record-hud-k{visibility:hidden}
.record-plate-k,
.record-thumbs button span{display:none}

/* start a project */
.start-k{display:none}
.start-types li{grid-template-columns:minmax(0,1fr)}

/* inner pages */
body.page-about .about-value-num,
body.page-about .about-building-num,
body.page-contact .contact-type-k,
body.page-services .svc-tech-num,
body.page-project .proj-theme-list li > span{display:none}
body.page-about .about-value{grid-template-columns:minmax(0,1fr)}

/* Menu — pages only: no side descriptions, no sub-menus, no visible scrollbar. */
.home-v2 .overlay .list a .d,
.home-v2 .overlay .work-sub,
.home-v2 .overlay .work-panel{display:none !important}
.home-v2 .overlay .list{
  overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;
}
.home-v2 .overlay .list::-webkit-scrollbar{width:0;height:0;display:none}
.home-v2 .overlay .list a{height:clamp(44px,calc((100vh - 250px) / 5),88px)}
