/* A5.21.7 — CLEAN FINISH
   Final tightening pass: authentic photography, mobile rhythm, readable chrome,
   cleaner crops and fewer "designed at you" moments. */

/* Chrome */
.home-v2 .topbar nav a,
.cast58 .topbar nav a,
.project-file .topbar nav a{
  font-size:13px!important;
}
.home-v2 .topbar .nav-book,
.cast58 .topbar .nav-book,
.project-file .topbar .nav-book{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 17px!important;
}
.v2-actions a,
.v2-cta-actions a{
  font-size:13px!important;
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.v2-section-label{
  font-size:11px!important;
  letter-spacing:.09em!important;
}

/* HERO: real photograph, cobalt as accent instead of a stage set. */
.v2-hero{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
}
.v2-hero-visual{
  background:#ece9e3!important;
  border-left:10px solid #2458ff!important;
}
.v2-hero-visual:before{
  width:10%!important;
  background:linear-gradient(90deg,rgba(8,17,31,.24),transparent)!important;
}
.v2-hero-visual:after{
  background:linear-gradient(180deg,transparent 70%,rgba(8,17,31,.16))!important;
}
.v2-hero-visual img{
  object-fit:cover!important;
  object-position:center 31%!important;
  filter:none!important;
}
.v2-hero-note{
  right:24px!important;
  bottom:20px!important;
  padding:8px 10px!important;
  background:rgba(8,17,31,.76)!important;
  color:#fff!important;
  border-radius:2px!important;
}

/* Work cards: sharper purpose-built crops. */
.v2-work-card:nth-child(3) .v2-work-media img{
  object-fit:cover!important;
  object-position:center 46%!important;
}
.v2-work-card:nth-child(4) .v2-work-media img{
  object-fit:cover!important;
  object-position:center 42%!important;
}
.v2-work-head p:last-child{
  font-size:16px!important;
}

/* Live: let the photograph breathe. */
.v2-live-photo:after{
  background:linear-gradient(90deg,rgba(8,17,31,.66) 0%,rgba(8,17,31,.24) 48%,rgba(8,17,31,0) 82%)!important;
}
.v2-live-copy p:not(.v2-section-label){
  max-width:29ch!important;
}

/* Depth: keep the receipts legible and calm. */
.v2-depth-stats{
  gap:34px!important;
}
.v2-stat span{
  font-size:16px!important;
  line-height:1.5!important;
}

/* Casting hero: preserve the face and reduce the giant-photo feeling. */
.cast58 .casting-hero-media img,
.cast58.a510-cast .casting-hero-media img{
  object-position:center 24%!important;
}
.cast58 .casting-status b{
  font-size:15px!important;
}
.cast58 .booking-row strong{
  font-size:16px!important;
}

/* Project pages */
.project-file .project-ledger{
  font-size:14px!important;
}
.project-file .project-ledger span{
  font-size:10px!important;
}
.project-file .project-hero-media img{
  object-position:center 42%!important;
}
.project-file.scrambled-file .project-hero-media img{
  object-position:center!important;
}

/* MOBILE: the previous editorial layer was overriding the one-column hero. */
@media(max-width:900px){
  .v2-hero{
    display:block!important;
    min-height:0!important;
  }
  .v2-hero-copy{
    min-height:auto!important;
    padding:94px 22px 54px!important;
  }
  .v2-hero h1{
    max-width:9.5ch!important;
    font-size:clamp(54px,14vw,78px)!important;
    line-height:.88!important;
  }
  .v2-hero h1 span{
    display:inline!important;
    white-space:normal!important;
  }
  .v2-hero h1 span:after{
    content:" ";
  }
  .v2-hero h1 em{
    display:block!important;
    margin-top:8px!important;
  }
  .v2-hero-deck{
    font-size:18px!important;
    max-width:30ch!important;
  }
  .v2-hero-visual{
    min-height:68svh!important;
    border-left:0!important;
    border-top:8px solid #2458ff!important;
  }
  .v2-hero-visual:before{
    display:none!important;
  }
  .v2-hero-visual img{
    object-position:center 28%!important;
  }

  .v2-engine{
    display:block!important;
    padding:78px 22px!important;
  }
  .v2-engine-intro{
    max-width:none!important;
  }
  .v2-engine h2{
    max-width:7ch!important;
    font-size:clamp(56px,14vw,76px)!important;
  }
  .v2-engine-copy{
    margin-top:34px!important;
  }
  .v2-engine-copy>p{
    font-size:19px!important;
  }

  .v2-work{
    padding:78px 22px!important;
  }
  .v2-work-head{
    display:block!important;
    margin-bottom:34px!important;
  }
  .v2-work-head h2{
    font-size:clamp(52px,13vw,72px)!important;
    max-width:8ch!important;
  }
  .v2-work-head p:last-child{
    margin-top:18px!important;
    max-width:31ch!important;
  }
  .v2-work-card:nth-child(1) .v2-work-media{
    aspect-ratio:4/3!important;
    height:auto!important;
  }
  .v2-work-card:nth-child(1) .v2-work-media img{
    object-fit:contain!important;
  }
  .v2-work-meta h3{
    font-size:27px!important;
  }
  .v2-work-card:nth-child(1) .v2-work-meta h3{
    font-size:34px!important;
  }

  .v2-live{
    min-height:72svh!important;
  }
  .v2-live-copy{
    min-height:72svh!important;
    padding:64px 22px!important;
    justify-content:flex-end!important;
  }
  .v2-live-copy h2{
    font-size:clamp(54px,14vw,74px)!important;
  }
  .v2-live-copy p:not(.v2-section-label){
    font-size:18px!important;
  }

  .v2-depth{
    display:block!important;
    padding:78px 22px!important;
  }
  .v2-depth h2{
    font-size:clamp(52px,13vw,72px)!important;
    max-width:8ch!important;
  }
  .v2-depth-copy p:last-child{
    font-size:18px!important;
  }
  .v2-depth-stats{
    display:block!important;
    margin-top:42px!important;
  }
  .v2-stat{
    padding:18px 0 20px!important;
    border-top:1px solid rgba(8,17,31,.16)!important;
  }
  .v2-stat:last-child{
    border-bottom:1px solid rgba(8,17,31,.16)!important;
  }
  .v2-stat strong{
    font-size:42px!important;
  }
  .v2-stat span{
    max-width:30ch!important;
  }

  .v2-cta{
    padding:78px 22px!important;
  }
  .v2-cta-inner{
    display:block!important;
  }
  .v2-cta h2{
    font-size:clamp(54px,14vw,76px)!important;
    max-width:8ch!important;
  }
  .v2-cta p{
    font-size:17px!important;
  }
  .v2-cta-actions{
    margin-top:32px!important;
    align-items:stretch!important;
  }
  .v2-cta-actions a{
    width:100%!important;
  }

  .home-v2 footer{
    font-size:12px!important;
  }

  /* Casting mobile */
  .cast58 .casting-hero,
  .cast58.a510-cast .casting-hero{
    display:block!important;
    min-height:0!important;
  }
  .cast58 .casting-hero-copy{
    padding:84px 20px 42px!important;
  }
  .cast58 .casting-hero-media{
    height:560px!important;
  }
  .cast58 .casting-hero-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 20%!important;
  }
  .cast58 .casting-status{
    display:block!important;
  }
  .cast58 .casting-status span{
    display:block!important;
    padding:10px 0!important;
    border-top:1px solid rgba(8,17,31,.12)!important;
  }
  .cast58 .door-section,
  .cast58 .proof-section,
  .cast58 .operator-section,
  .cast58 .booking-section{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .cast58 .file-media{
    aspect-ratio:4/3!important;
  }

  /* Projects mobile */
  .project-file .project-hero{
    display:block!important;
    min-height:0!important;
  }
  .project-file .project-hero-copy{
    padding:84px 20px 40px!important;
  }
  .project-file .project-hero-media{
    min-height:480px!important;
  }
  .project-file .project-ledger{
    display:none!important;
  }
  .project-file .project-evidence{
    padding:70px 20px!important;
  }
  .project-file .project-evidence-wrap{
    display:block!important;
  }
  .project-file .evidence-copy{
    margin-top:34px!important;
  }
  .project-file .project-close{
    padding:68px 20px!important;
  }
}

@media(max-width:560px){
  .home-v2 .topbar{
    height:62px!important;
    padding:0 14px!important;
  }
  .home-v2 .brand{
    font-size:14px!important;
  }
  .home-v2 .topbar .nav-book{
    min-height:38px!important;
    padding:0 14px!important;
    font-size:11px!important;
  }
  .v2-hero-copy{
    padding-top:86px!important;
  }
  .v2-hero-visual{
    min-height:590px!important;
  }
}
