/* Exhibition layer: photography, restrained movement and collection-specific pacing. */
.home-page .cinema-frame {
  transform: scale(var(--hero-scale, 1)) !important;
  transform-origin: center;
  border: 1px solid transparent;
  border-color: rgb(255 255 255 / var(--hero-border, 0));
  will-change: transform;
}
.home-page .hero-slide.is-current img { animation: none; transform: none; }
.home-page .cinema-copy h1 { font-size: clamp(3.8rem, 7vw, 7.8rem); }
.home-page .hero-bottom { justify-content: flex-start; }
.home-page .hero-credit { gap: 18px; }
.home-page .cinema-copy { opacity: var(--hero-copy-opacity, 1); }
.home-page .selected-frames { background: #0e1012; }
.home-page .film-frame { width: clamp(240px, 29vw, 440px); }
.home-page .film-frame:nth-child(-n+2) { width: clamp(360px, 43vw, 660px); }
.home-page .film-frame:nth-child(even) { padding-top: 28px; }
.home-page .film-photo img, .home-page .film-frame:nth-child(even) img { height: clamp(290px, 35vw, 490px); }
.home-page .portfolio-card .card-heading { border-color: color-mix(in srgb, var(--series-accent, #c2b395) 30%, transparent); }
.home-page .portfolio-card .card-heading > span, .home-page .portfolio-card .card-open { color: var(--series-accent, #c2b395); }
.home-page .portfolio-card .card-link:hover img { filter: brightness(1.035); transform: none; }
.featured-project {
  max-width: 1720px; margin: 0 auto; padding: 100px var(--gutter);
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 8%; align-items: center;
  --series-accent: #d3a778;
}
.featured-images { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .55fr); gap: 24px; align-items: end; }
.featured-images picture { display: block; }
.featured-images img { width: 100%; height: auto; object-fit: contain; }
.featured-secondary { padding-bottom: 44px; }
.featured-copy { min-width: 0; }
.featured-copy .section-kicker { color: var(--series-accent); margin-bottom: 22px; }
.featured-copy h2 { font: 400 clamp(2.8rem, 4.8vw, 5.5rem)/1.06 var(--font-display); letter-spacing: -.025em; max-width: 13ch; }
.featured-copy > p:not(.section-kicker) { margin: 24px 0; color: var(--muted); max-width: 36ch; }
.featured-copy .text-link { border-color: var(--series-accent); }
.featured-meta { display: flex; gap: 20px; margin-top: 30px; font-size: .75rem; color: var(--muted); }
.project-page { --series-accent: #c2b395; --series-tint: #141414; }
.project-page .project-opening { background: linear-gradient(180deg, var(--series-tint), #0b0c0e); }
.project-page .project-meta, .project-page .section-kicker, .project-page .project-opening-copy .project-meta { color: var(--series-accent); }
.project-page .project-opening .text-link, .project-page .gallery-heading { border-color: color-mix(in srgb, var(--series-accent) 40%, transparent); }
.project-page .language-switcher button[aria-pressed=true] { color: var(--series-accent); border-color: var(--series-accent); background: transparent; }
.project-page .gallery-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: clamp(48px, 7vw, 112px) clamp(20px, 4vw, 64px) !important;
  align-items: end !important;
}
.project-page .gallery-grid .gallery-item {
  grid-column: span var(--frame-span, 6) !important;
  align-self: end !important;
}
.project-page .gallery-grid .gallery-media .responsive-picture { display: grid !important; place-items: center; }
.project-page .gallery-grid .gallery-image {
  width: auto !important; max-width: 100% !important; max-height: 84svh !important; height: auto !important;
  object-fit: contain !important; margin-inline: auto !important; background: transparent;
}
.project-page .gallery-grid .gallery-item[data-frame-span="12"] .gallery-card { max-width: 1200px; margin-inline: auto !important; }
.project-page .gallery-caption { display: flex; gap: 18px; padding-top: 16px; border-top: 1px solid #ffffff1c; margin-top: 16px; }
.project-page .frame-number { color: var(--series-accent); font: 400 .75rem/1.8 var(--font-ui); font-variant-numeric: tabular-nums; flex-shrink: 0; }
.project-page .gallery-caption .gallery-note { padding-top: 0 !important; font-size: .875rem; max-width: 48ch; }
.project-page .gallery-caption:has(.gallery-note:empty) { padding-top: 10px; }
.project-page .photo-story { margin-top: 18px; font-size: .9375rem; color: var(--muted); }
.project-page .photo-story summary { cursor: pointer; padding: 12px 0; color: var(--series-accent); }
.project-page .photo-story p { max-width: 52ch; }
.project-page .next-project-copy small { color: var(--series-accent); }
@media (max-width: 1100px) and (min-width: 821px) {
  .featured-project { gap: 5%; }
  .featured-images { gap: 16px; }
}
@media (max-width: 820px), (max-width: 1000px) and (max-height: 520px) and (pointer: coarse) {
  .home-page .cinema-copy h1 { font-size: clamp(2.6rem, 12vw, 5.5rem); }
  .home-page .hero-bottom { grid-template-columns: 1fr; }
  .home-page .hero-credit { display: flex; align-items: baseline; }
  .home-page .hero-credit > b { max-width: none; }
  .home-page .film-frame, .home-page .film-frame:nth-child(-n+2), .home-page .film-frame:nth-child(even) { width: calc(100vw - 64px); max-width: 420px; padding-top: 0; }
  .home-page .film-photo img, .home-page .film-frame:nth-child(even) img { height: min(105vw, 470px); }
  .featured-project { padding: 54px var(--gutter); grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .featured-images { grid-template-columns: minmax(0, 1fr) minmax(0, .55fr); gap: 16px; }
  .featured-secondary { padding-bottom: 24px; }
  .featured-copy h2 { font-size: clamp(2.3rem, 9vw, 3.5rem); }
  .featured-copy > p:not(.section-kicker) { margin: 18px 0; }
  .featured-meta { margin-top: 22px; }
  .project-page .gallery-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 36px !important; }
  .project-page .gallery-grid .gallery-item { grid-column: 1 !important; }
  .project-page .gallery-grid .gallery-image { width: 100% !important; max-height: none !important; }
  .project-page .gallery-caption { margin-top: 12px; padding-top: 12px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .cinema-frame { transform: none !important; will-change: auto; }
  .home-page .cinema-copy { opacity: 1; }
}

/* Final composition: image edges define the layout, without artificial photo mats. */
.home-page .selected-frames { background: var(--bg); border-bottom: 1px solid var(--line); }
.home-page .filmstrip { align-items: flex-start; gap: clamp(24px, 3vw, 48px); }
.home-page .film-frame,
.home-page .film-frame:nth-child(even),
.home-page .film-frame:nth-child(-n+2) {
  width: calc(clamp(300px, 34vw, 510px) * var(--photo-ratio)); max-width: none; padding-top: 0;
}
.home-page .film-photo, .home-page .film-photo img { background: transparent; }
.home-page .film-photo img,
.home-page .film-frame:nth-child(even) img { display: block; height: auto; max-height: none; width: 100%; }
.home-page .project-grid { gap: 80px 5%; align-items: start; }
.home-page .portfolio-card:nth-child(even) { padding-top: 0; }
.home-page .portfolio-card .card-image { background: transparent; }
.home-page .card-heading h3 { font: 500 clamp(1.65rem, 2.4vw, 2.9rem)/1.15 var(--font-ui); letter-spacing: -.045em; }
.home-page .portfolio-card .card-count { top: auto; bottom: 20px; left: 20px; right: auto; }
.home-page .manifest-visual { transform: none; }
.featured-project { border-bottom: 1px solid var(--line); gap: 7%; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
.featured-images { display: block; max-width: 620px; }
.featured-secondary { display: none; }
.featured-copy h2 { font: 500 clamp(2.5rem, 4.5vw, 5rem)/1.08 var(--font-ui); letter-spacing: -.055em; }
.project-page .gallery-grid .gallery-media,
.project-page .gallery-grid .gallery-card { background: transparent !important; }
.project-page .gallery-grid .gallery-image { width: 100% !important; max-height: none !important; }
.project-page .gallery-grid .gallery-item[data-frame-span="12"] .gallery-card { max-width: 1000px; }
@media (max-width: 820px), (max-width: 1000px) and (max-height: 520px) and (pointer: coarse) {
  .home-page .film-frame, .home-page .film-frame:nth-child(even), .home-page .film-frame:nth-child(-n+2) {
    width: calc((100vw - 64px) * min(var(--photo-ratio), 1)); max-width: none;
  }
  .home-page .film-photo img, .home-page .film-frame:nth-child(even) img { height: auto; max-height: none; }
  .home-page .project-grid { gap: 48px; }
  .featured-project { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .featured-images { width: 100%; max-width: 480px; }
  .featured-copy h2 { font-size: clamp(2.25rem, 9vw, 3.5rem); }
}
/* Collection opening follows the photograph's dimensions. */
.project-page .project-opening { min-height: 0; align-items: center; padding-bottom: clamp(48px, 7vw, 100px); }
.project-page .project-opening-media { height: auto !important; min-height: 0 !important; background: transparent !important; }
.project-page .project-opening-media .responsive-picture { height: auto !important; min-height: 0 !important; }
.project-page .project-opening-media #projectHeroImage { height: auto !important; max-height: 78svh !important; width: auto !important; max-width: 100% !important; margin: auto; }
.project-page .project-opening h1,
.project-page .project-opening h1.title-long,
.project-page .project-opening h1.title-extra-long { font: 500 clamp(2.5rem, 4.1vw, 5rem)/1.1 var(--font-ui) !important; letter-spacing: -.05em !important; }
@media (max-width: 820px), (max-width: 1000px) and (max-height: 520px) and (pointer: coarse) {
  .project-page .project-opening-media #projectHeroImage { max-height: 58svh !important; }
  .project-page .project-opening h1,
  .project-page .project-opening h1.title-long,
  .project-page .project-opening h1.title-extra-long { font-size: clamp(2.1rem, 9vw, 3.4rem) !important; }
}
/* Gentle photographic motion, independent of the fixed hero typography. */
.home-page .hero-slide { transition: opacity 1.6s ease-in-out; }
.home-page .hero-slide.is-current img { animation: photograph-drift 7.2s linear both; }
.home-page.hero-is-paused .hero-slide.is-current img { animation-play-state: paused; }
.home-page .hero-bottom { justify-content: space-between; }
.hero-playback { display: grid; place-items: center; flex-shrink: 0; width: 48px; height: 48px; border: 1px solid #ffffff70; border-radius: 50%; background: #080a0b55; color: #fff; font-size: 1rem; cursor: pointer; }
.hero-playback:hover { background: #ffffff20; }
@media (max-width: 820px) { .home-page .hero-bottom { grid-template-columns: minmax(0, 1fr) auto; } }
@media (prefers-reduced-motion: reduce) { .home-page .hero-slide.is-current img { animation: none; } .home-page .hero-slide { transition: none; } }

/* Never crop slideshow photographs; choose images within 10% of the frame ratio. */
.home-page .cinema-hero { height: auto; min-height: 0; max-height: none; aspect-ratio: 3 / 2; }
.home-page .cinema-frame img,
.home-page .hero-slide.is-current img { object-fit: contain !important; object-position: center !important; transform: none !important; animation: none !important; }
@media (max-width:820px) {
  .home-page .cinema-hero { height: auto; min-height: 0; max-height: none; aspect-ratio: 2 / 3; }
}
