/* BBB Criminal photography system v16 — permanent framing rules */
:root{--photo-frame-max:560px;}
body.page-home .contact-photo{justify-self:start;}
body.page-home .contact-photo img{object-position:center 44%!important;}
body.page-home .contact-grid{
  grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr)!important;
  gap:clamp(42px,6vw,76px)!important;
  align-items:center!important;
}

/* Editorial split pages: image is a 4:3 panel, not a full-height column. */
section.editorial-split>.article-wrap,
section.editorial-split>.wrap.article-wrap{
  align-items:center!important;
}
section.editorial-split .editorial-visual{
  width:100%;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:4 / 3;
  align-self:center!important;
  background-size:cover;
}

/* Attorney/profile photography beside prose follows the same landscape rule. */
body.page-attorney figure,
body.page-attorney .profile-photo{
  width:100%;
  max-width:var(--photo-frame-max);
}
body.page-attorney figure img,
body.page-attorney .profile-photo img{
  max-height:none!important;
  object-position:center 28%!important;
}

@media(max-width:1000px){
  body.page-home .contact-photo{order:2;}
  body.page-home .contact-grid>div:not(.contact-photo){order:1;}
}

@media(max-width:760px){
  :root{--photo-frame-max:100%;}
}

/* v17 hub hero photography — approved subject-family system */
body.hero-charges .hero-int,
body.hero-process .hero-int,
body.hero-how-we-win .hero-int,
body.hero-team .hero-int,
body.hero-contact .hero-int,
body.hero-courts .hero-int{
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
body.hero-charges .hero-int{background-image:linear-gradient(90deg,rgba(9,30,51,.96) 28%,rgba(17,45,75,.84) 56%,rgba(17,45,75,.48)),url('hero-charges-statutes.jpg')!important;background-position:center 48%!important;}
body.hero-process .hero-int{background-image:linear-gradient(90deg,rgba(9,30,51,.96) 28%,rgba(17,45,75,.82) 58%,rgba(17,45,75,.42)),url('hero-process-files.jpg')!important;background-position:center 55%!important;}
body.hero-how-we-win .hero-int{background-image:linear-gradient(90deg,rgba(9,30,51,.96) 28%,rgba(17,45,75,.82) 58%,rgba(17,45,75,.40)),url('hero-how-we-win-evidence.jpg')!important;background-position:center 48%!important;}
body.hero-team .hero-int{background-image:linear-gradient(90deg,rgba(9,30,51,.96) 28%,rgba(17,45,75,.82) 58%,rgba(17,45,75,.38)),url('hero-working-file-wide.jpg')!important;background-position:center 42%!important;}
body.hero-contact .hero-int{background-image:linear-gradient(90deg,rgba(9,30,51,.96) 28%,rgba(17,45,75,.80) 58%,rgba(17,45,75,.34)),url('hero-contact-phone.jpg')!important;background-position:center 45%!important;}
body.hero-courts .hero-int{background-image:linear-gradient(90deg,rgba(9,30,51,.96) 28%,rgba(17,45,75,.82) 58%,rgba(17,45,75,.40)),url('courthouse-new-haven-jd.jpg')!important;background-position:center 48%!important;}
/* Fees intentionally stays graphic/editorial: no decorative hero photograph. */

/* v17.1 Fees: editorial fee card, not stock/portrait photography */
body.page-fees .hero-int{position:relative;overflow:hidden}
body.page-fees .hero-int .wrap{position:relative;z-index:2;padding-right:min(46vw,650px)}
@media(max-width:900px){body.page-fees .hero-int .wrap{padding-right:24px}}
