/* Keep iPhone typography stable when the viewport rotates. */
html { -webkit-text-size-adjust:none; text-size-adjust:none; }
.filmstrip-section { -webkit-text-size-adjust:none; text-size-adjust:none; }

/* The private page follows Studio's gray canvas, but keeps a black phone canvas. */
html:has(.client-private-header),
body:has(.client-private-header) { --client-private-background:#121212; background:var(--client-private-background); }
body:has(.client-private-header) :is(.client-resource-page,
  .client-resource-pending,
  .client-resource-loading,
  .client-resource-state) { background:var(--client-private-background); }
@media (max-width:600px), (max-height:500px) and (pointer:coarse) {
  html:has(.client-private-header),
  body:has(.client-private-header) { --client-private-background:#000; }
}

.client-access-dialog h2,
.client-resource-hero h1,
.client-resource-texts h2,
.client-photo-library h2,
.client-photo-group-title h3 { font-size:28.288px !important; }

@media (max-width:760px), (max-height:500px) and (pointer:coarse) {
  .client-access-dialog h2,
  .client-resource-hero h1,
  .client-resource-texts h2,
  .client-photo-library h2,
  .client-photo-group-title h3 { font-size:24px !important; }
}

@media (orientation:landscape) and (pointer:coarse) and (max-height:500px) {
  .body-copy>p { font-size:12px; }
  .manifesto.language-copy h2,
  .site-footer .language-copy { font-size:24px; }
  .mobile-menu .client-mobile-logout { font-size:32px; }
}

/* Preserve the published photo-card and Retina rules when updating this file. */
.client-photo-meta{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr;align-content:start}
.client-photo-meta>strong{align-self:center;white-space:nowrap}
.client-photo-meta>.client-photo-meta-actions{grid-area:1 / 2;align-self:center}
.client-photo-meta>small{grid-column:1 / -1;grid-row:2;white-space:normal;overflow:visible;text-overflow:clip}
.client-photo-meta>span{grid-column:1 / -1;grid-row:3;display:block;max-height:none;-webkit-line-clamp:unset;overflow:visible}
@media(min-width:761px){.filmstrip-section{--film-frame-width:min(1000px,72vw)}}

/* Studio reference: native navigation, no isolated header snapshot. */
@view-transition { navigation:none; }
html body .site-header { view-transition-name:none; }
.client-resource-loading { z-index:90; inset:72px 0 0; }
@media(max-width:1100px) { .client-resource-loading { top:68px; } }
