/* Editorial media layer. Uses the existing Court Systems identity tokens. */
.site-media {margin:48px 0 28px;min-width:0;}
.site-media img {display:block;width:100%;height:auto;border-radius:0;}
.site-media figcaption {margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.55;font-weight:400;letter-spacing:0;text-transform:none;}
.site-media--photo img {max-height:560px;object-fit:contain;background:var(--text);}
.site-media--diagram {border-top:1px solid var(--line);padding-top:20px;}
.article .site-media + h2 {margin-top:32px;}
body:has(.content-grid) .hero:has(.media-hero-grid) {padding:72px 0 64px;}
body:has(.content-grid) .hero .media-hero-grid {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center;}
body:has(.content-grid) .hero .media-hero-grid::before {display:none;}
.media-hero-copy {min-width:0;}
body:has(.content-grid) .hero:has(.media-hero-grid) h1 {font-size:clamp(40px,4.4vw,62px);line-height:1.02;margin:22px 0 24px;letter-spacing:-.055em;}
.media-hero-grid .site-media {margin:0;}
.media-hero-grid .site-media img {max-height:500px;}
.media-hero-grid .site-media--photo img {aspect-ratio:4/3;object-fit:cover;}
.media-hero-grid .site-media--portrait img {aspect-ratio:auto;max-height:480px;object-fit:contain;}
.hero-visual:has(.site-media) {min-height:0;background:none;overflow:visible;}
.hero-visual:has(.site-media)::after {display:none;}
.hero-visual .site-media {margin:0;}
.hero-visual .site-media img {max-height:none;}
.hero-visual:has(.site-media) .visual-note {position:static;display:block;margin-top:16px;}
.home-media {grid-column:1/-1;margin:36px auto 0;max-width:960px;width:100%;}
.home-media.site-media--portrait img {max-height:500px;}
.page-card .site-media {margin:0 0 24px;}
.page-card .site-media img {aspect-ratio:4/3;object-fit:cover;max-height:none;}
.page-card .site-media figcaption {font-size:11px;line-height:1.5;margin-top:10px;}
.page-card:has(.site-media) {display:block;}
@media(max-width:980px){
  body:has(.content-grid) .hero .media-hero-grid {gap:32px;}
  body:has(.content-grid) .hero:has(.media-hero-grid) h1 {font-size:44px;}
}
@media(max-width:760px){
  body:has(.content-grid) .hero .media-hero-grid {grid-template-columns:1fr;gap:32px;}
  body:has(.content-grid) .hero:has(.media-hero-grid) {padding:40px 0;}
  body:has(.content-grid) .hero:has(.media-hero-grid) h1 {font-size:clamp(36px,9vw,48px);}
  .media-hero-grid .site-media--portrait img {max-height:420px;}
  .site-media {margin:32px 0 24px;}
  .site-media figcaption {font-size:12px;}
}
