/* 21.09.2026: editorial image frames use 4:3. Only explicitly marked photos
   and development image slots participate; galleries, logos and icons do not. */
body main [data-photo-format="4:3"][data-photo-format][data-photo-format] {
  aspect-ratio:4 / 3;
  height:auto;
  min-height:0;
}
body main .planned-image[data-photo-format="4:3"] {
  padding:clamp(16px,1.6vw,28px);
}
body main .planned-image[data-photo-format="4:3"] .planned-image__label {
  margin-bottom:10px;
}
body main .planned-image[data-photo-format="4:3"] .planned-image__format {
  margin-top:12px;
}
body main .article-photo-placeholder[data-photo-format="4:3"][data-photo-format] {
  padding:clamp(16px,1.6vw,28px);
  gap:8px;
  line-height:1.4;
}
body main .article-hero-placeholder[data-photo-format="4:3"] {
  padding-bottom:calc(16px + var(--crop-overlap,24px));
}
body main [data-photo-format="4:3"] img {
  width:100%;
  height:100%;
  object-fit:cover;
}
/* Existing portrait focus protects the face when converted to a landscape
   window, including the already-4:3 Journal overview thumbnails. */
body main [data-photo-format="4:3"] img[src*="/journal/portrait-"] {
  object-position:50% 18%;
}
/* Exactly three selected subjects on the Vita page, never an empty fourth
   track at wide desktop sizes. Other topic grids keep their existing layout. */
@media(min-width:1121px) {
  body.anne-v4 .topic-grid[data-vita-topics] {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(28px,3vw,48px);
  }
}
@media(min-width:701px) and (max-width:1120px) {
  body.anne-v4 .topic-grid[data-vita-topics] {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:40px;
  }
}
@media(max-width:700px) {
  body.anne-v4 .topic-grid[data-vita-topics] {
    grid-template-columns:minmax(0,1fr);
    gap:38px;
  }
  body main .planned-image[data-photo-format="4:3"] strong {
    line-height:1.4;
  }
  /* A long delivery brief must fit inside the same photo window. The redundant
     format label stays in the delivery list; it is not editorial page copy. */
  body main .article-hero-placeholder[data-photo-format="4:3"][data-photo-format] {
    padding:12px 12px 36px;
    line-height:1.25;
  }
  body main .article-hero-placeholder[data-photo-format="4:3"] > span:last-child {
    display:none;
  }
}
