/* Shared responsive corrections, loaded after both base stylesheets. */
@media (min-width: 801px) and (max-width: 1100px) {
  .site-header { padding-inline: 24px; }
  .site-header nav { gap: 14px; }
  .site-header .brand { width: 110px; }
  .site-header nav a { font-size: 10px; letter-spacing: .04em; }
}

@media (max-width: 800px) {
  html { scroll-padding-top: 90px; }
  body { padding-bottom: 0; }
  body:has(.social-dock) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  body.menu-open { overflow: hidden; }
  .site-header { z-index: 60; }
  .site-header nav { visibility: hidden; padding-bottom: calc(30px + env(safe-area-inset-bottom)); }
  .site-header nav.open { visibility: visible; }
  .site-header nav a { flex-shrink: 0; }
  .social-dock { bottom: calc(8px + env(safe-area-inset-bottom)); }
  .page-main { padding-top: 74px; }
  .page-hero { padding: 64px 22px 48px; gap: 28px; }
  .page-hero h1 { font-size: clamp(43px, 12.6vw, 64px); }
  .section-label { flex-wrap: wrap; row-gap: 12px; }
  .instagram-gallery-link { margin-left: 0; min-height: 44px; display: inline-flex; align-items: center; }
  .button, .text-link, .media-filters button, footer a { min-height: 44px; }
  footer a { display: inline-flex; align-items: center; }
  .media-filters { flex-wrap: wrap; }
  .profile-directory nav {
    position: static; inset: auto; width: 100%; height: auto;
    transform: none; flex-direction: row; justify-content: flex-start;
    background: transparent; z-index: auto;
  }

  /* Match the desktop's continuous image treatment without a card over the face. */
  .hero { display: flex; flex-direction: column; justify-content: flex-start; padding: 340px 24px 96px; min-height: 100svh; background: #090909; }
  .hero-copy { width: 100%; padding: 0; border: 0; border-radius: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; opacity: 1; transform: none; transition: none; }
  .hero h1 { font-size: clamp(34px,9.5vw,46px); line-height: 1.02; margin: 18px 0; max-width: 440px; }
  .hero-intro { color: #d0ccc4; font-size: 14px; line-height: 1.65; max-width: 360px; }
  .hero-actions { margin-top: 22px; gap: 12px; }
  .hero .eyebrow { font-size: 9px; letter-spacing: .13em; }
  .hero-visual { position: absolute; inset: 74px 0 auto; width: 100%; height: 560px; margin: 0; opacity: 1; transform: none; transition: none; }
  .portrait-wrap { position: relative; width: 100%; height: 100%; }
  .portrait-wrap img { display: block; height: 100%; object-position: 60% top; filter: none; }
  .portrait-wrap:after { display: block; background: linear-gradient(180deg,transparent 24%,rgba(9,9,9,.15) 38%,rgba(9,9,9,.78) 63%,#090909 100%); }
  .hero .text-link { min-height: 0; padding: 10px 0; border-bottom: 0; }
  .hero-card { left: auto; right: 22px; bottom: 22px; }
  .portrait-panel { height: auto; aspect-ratio: 4 / 3; }
  .portrait-panel img { object-position: 80% center; }
  .about-heading figure { height: auto; aspect-ratio: 4 / 3; }
  .about-heading img { object-position: 80% center; }

  /* Preserve the whole scene in group photographs; captions have their own space. */
  .gallery .gallery-grid { grid-template-rows: none; grid-auto-rows: auto; }
  .gallery .gallery-grid figure:nth-child(n), .page-gallery figure { height: auto; background: #121312; }
  .gallery .gallery-grid figure:nth-child(n) img, .page-gallery figure img {
    height: auto; aspect-ratio: auto; object-fit: contain !important; transform: none;
  }
  .gallery .gallery-grid figure:after { display: none; }
  .gallery .gallery-grid figcaption, .page-gallery figcaption {
    position: static; padding: 18px 20px 22px; margin: 0; background: #121312;
  }
  .gallery .gallery-grid figcaption p { font-size: 17px; line-height: 1.4; }
  .page-gallery { gap: 24px; }
  .page-gallery figcaption { line-height: 1.5; }
  .journal-hero figure { height: auto; aspect-ratio: 1 / 1; }
  .journal-hero img { transform: none; object-position: 35% center; }
  .page-photo-feature { height: auto; }
  .page-photo-feature img { height: auto; max-height: 650px; object-fit: contain; }
  .page-photo-feature:after { display: none; }
  .page-photo-feature figcaption { position: static; padding: 22px; background: #111; }
  .thoughts-photo-break { height: auto; }
  .thoughts-photo-break img { height: auto; aspect-ratio: 1 / 1; object-position: 21% center; }
  .thoughts-photo-break:after { display: none; }
  .thoughts-photo-break figcaption { position: static; padding: 22px; }

  /* Keep editorial headlines below their photographs at narrow widths. */
  .press-grid > a { display: flex; flex-direction: column; min-height: 0 !important; }
  .press-cover { position: relative; inset: auto; z-index: auto; height: 300px; flex-shrink: 0; }
  .press-cover img { object-position: center 20%; }
  .press-feature .press-cover img { object-position: 60% center; }
  .press-grid > a:after { display: none; }
  .press-content { position: relative; padding: 26px; background: #111; }
  .press-brand-cover { height: 220px; }
}
