.gallery-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.film-section {
  padding: clamp(56px, 8vw, 110px) clamp(24px, 8vw, 130px) 0;
}

.media-heading { max-width: 900px; margin-bottom: 36px; }
.media-heading h2 { font-size: clamp(34px, 4.2vw, 58px); line-height: 1.12; }
.media-heading .eyebrow { margin-bottom: 16px; font-size: .875rem; }
.film-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 44px);
  align-items: start;
}

.film-grid figure, .etna-film { min-width: 0; margin: 0; }
.film-grid video, .etna-film video {
  display: block;
  width: 100%;
  height: auto;
  background: var(--deep);
  object-fit: contain;
  border-radius: 2px;
}
.landscape-film { aspect-ratio: 848 / 478; }
.portrait-film { aspect-ratio: 464 / 832; }
.film-still img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  border-radius: 2px;
}
.film-grid figcaption, .etna-film figcaption {
  margin-top: 14px;
  color: #405e69;
  font-size: .9375rem;
  line-height: 1.6;
}
.film-grid figcaption small, .etna-film figcaption small {
  display: block;
  margin-top: 5px;
  font-size: .875rem;
}
.etna-story {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
  align-items: center;
  gap: clamp(32px, 8vw, 100px);
  border-top: 1px solid var(--line);
  padding-top: clamp(40px, 6vw, 80px);
}
.etna-copy { max-width: 590px; }
.etna-copy h3 { margin: 0; font: 400 clamp(36px, 4.5vw, 62px)/1.1 var(--serif); letter-spacing: -.025em; }
.etna-copy > p:not(.eyebrow) { font-size: 1.125rem; }
.etna-copy .eyebrow { font-size: .875rem; }
.etna-copy > p.media-note { margin-top: 28px; font-size: .875rem; color: #405e69; }
video:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }

.breakfast-gallery {
  display: grid;
  grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr);
  gap: 24px clamp(20px, 3vw, 40px);
  margin-top: clamp(56px, 7vw, 90px);
  align-items: start;
}
.breakfast-heading { grid-column: 1 / -1; max-width: 780px; margin-bottom: 8px; }
.breakfast-heading .eyebrow { font-size: .875rem; margin-bottom: 16px; }
.breakfast-heading h3 { margin: 0; font: 400 clamp(32px, 4vw, 54px)/1.12 var(--serif); letter-spacing: -.025em; }
.breakfast-gallery figure { min-width: 0; margin: 0; }
.breakfast-gallery img { display: block; width: 100%; height: auto; border-radius: 2px; }
.breakfast-gallery figcaption { margin-top: 14px; color: #405e69; font-size: .9375rem; line-height: 1.6; }

@media (max-width: 780px) {
  .film-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .film-still { width: min(100%, 420px); justify-self: center; }
  .etna-story { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .etna-film { width: min(100%, 320px); justify-self: center; }
  .breakfast-gallery { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .breakfast-detail { width: min(100%, 280px); justify-self: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
