/* Complete mobile photographs only. Desktop, native PDP openings and gallery/zoom stay unchanged. */
@media(max-width:900px){
  /* The fixed header is84px above640px in the active v2.css cascade. */
  body.editorial-family-page .ef-hero{
    height:auto;
    min-height:0;
    max-height:none;
    padding-block-start:84px;
    background:var(--site-content,var(--ivory));
    color:var(--olive-d);
  }
  body.editorial-family-page .ef-hero-frame{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:auto;
  }
  body.editorial-family-page .ef-hero-shade{display:none}
  body.editorial-family-page .ef-hero-copy{
    height:auto;
    min-height:0;
    justify-content:flex-start;
    padding-block:24px 30px;
    background:var(--site-content,var(--ivory));
    color:var(--olive-d);
  }
  body.editorial-family-page .ef-hero h1{color:var(--olive-d);text-shadow:none}

  body.editorial-family-page .ef-study .ef-image-frame,
  body.editorial-family-page .ef-closing-frame,
  body.pde-page .pde-story .pde-scene-frame{
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:auto;
  }

  /* v2.js writes112% height,relative positioning,top and transforms inline on touch.
     These exact photo scopes need important resets; no functional gallery/zoom image matches. */
  body.editorial-family-page .ef-hero-frame>img,
  body.editorial-family-page .ef-study .ef-image-frame>img,
  body.editorial-family-page .ef-closing-frame>img,
  body.pde-page .pde-story .pde-scene-frame>img{
    display:block;
    position:static!important;
    inset:auto!important;
    top:auto!important;
    width:100%;
    height:auto!important;
    min-height:0;
    max-height:none;
    object-fit:contain;
    transform:none!important;
    translate:none!important;
    rotate:none!important;
    scale:none!important;
    will-change:auto;
  }

  /* Keep source-matched card masks and hit areas; fit the complete photo inside them. */
  .shp-grid .pgrid .pcard.catalogue-card .pph>img:not(.catalogue-hover),
  .shp-grid .pgrid .pcard .pph>img.catalogue-hover,
  .shp-grid .pgrid .pcard.collection-card .pph>img.collection-base,
  .shp-grid .pgrid .pcard.collection-card .pph .collection-scene,
  .shp-grid .pgrid .pcard.collection-card .collection-mosaic img,
  body.editorial-family-page .ef-model .ef-model-image>img,
  body.editorial-family-page .ef-model.catalogue-card .ef-model-image>img:not(.catalogue-hover),
  body.editorial-family-page .ef-model.catalogue-card .ef-model-image>img.catalogue-hover{
    object-fit:contain;
    object-position:center;
    transform:none;
  }
}
@media(max-width:640px){
  /* Matches the existing phone header height; no photo begins beneath its68px cover. */
  body.editorial-family-page .ef-hero{padding-block-start:68px}
}
