/* HDB Media: selected editorial photography, 23 October 2026. */
.hero-visual--editorial > img {
  object-position: 50% 53%;
  filter: brightness(.96);
}
.hero-visual--editorial:after {
  background: linear-gradient(180deg,rgba(0,0,0,.34),transparent 28%,transparent 58%,rgba(0,0,0,.74));
}
.hdb-agency-story { grid-template-columns: 1.14fr 1fr; gap: 6%; }
.production-image.production-image--dialogue {
  min-height: 0;
  aspect-ratio: auto;
  align-self: center;
  margin: 0;
  background: transparent;
  overflow: visible;
}
.production-image--dialogue > img {
  display: block;
  position: static;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  filter: none;
}
.production-image--dialogue figcaption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0 0;
  border-top: 2px solid var(--hdb-orange,#ff6b35);
  color: #bdc2b8;
  font-size: .78rem;
  line-height: 1.5;
}
.production-image--dialogue figcaption strong {
  color: #f3f2ec;
  font-size: .72rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.hdb-film-gallery {
  background: var(--hdb-paper,#f3f2ec);
  color: var(--hdb-ink,#161918);
}
.hdb-film-gallery__heading {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: end;
  gap: 8%;
  margin-bottom: 40px;
}
.hdb-film-gallery h2 {
  margin: 0;
  font-size: clamp(2.1rem,3.5vw,3.6rem);
  line-height: 1.05;
  letter-spacing: -.055em;
}
.hdb-film-gallery h2 em {
  color: #c34518;
  font-style: normal;
}
.hdb-film-gallery__heading > p {
  max-width: 480px;
  margin: 0;
  color: #62665f;
  font-size: 1rem;
  line-height: 1.7;
}
.hdb-film-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
}
.hdb-film-gallery figure { min-width: 0; margin: 0; }
.hdb-film-gallery figure > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  background: #dddcd5;
}
.hdb-film-gallery figcaption {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: start;
  gap: 12px;
  padding: 22px 0 0;
}
.hdb-film-gallery__number {
  padding-top: 5px;
  color: #c34518;
  font-size: .72rem;
  font-weight: 700;
}
.hdb-film-gallery h3 {
  margin: 0 0 9px;
  font-size: clamp(1.2rem,1.6vw,1.6rem);
  line-height: 1.15;
  letter-spacing: -.035em;
}
.hdb-film-gallery figcaption p {
  margin: 0;
  color: #62665f;
  font-size: .92rem;
  line-height: 1.65;
}
.hdb-film-gallery__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 42px;
  padding-top: 24px;
  border-top: 1px solid #cfd0c7;
  font-size: .9rem;
}
.hdb-film-gallery__footer > p { margin: 0; color: #62665f; }
.hdb-film-gallery__footer a {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 20px;
  padding: 10px 0;
  color: #161918;
  border-bottom: 1px solid #c34518;
  font-weight: 700;
  text-decoration: none;
}
.hdb-film-gallery__footer svg { width: 18px; height: 18px; color: #c34518; }
.hdb-film-gallery a:focus-visible { outline: 2px solid #c34518; outline-offset: 5px; }
@media(max-width:1000px) {
  .hdb-agency-story { grid-template-columns: 1fr 1fr; gap: 5%; }
  .production-image--dialogue figcaption { flex-direction: column; gap: 5px; }
  .hdb-film-gallery__grid { gap: 18px; }
  .hdb-film-gallery figcaption { grid-template-columns: 18px 1fr; gap: 8px; }
}
@media(max-width:760px) {
  .hdb-agency-story { grid-template-columns: 1fr; gap: 36px; }
  .production-image--dialogue figcaption { flex-direction: row; }
  .hdb-film-gallery__heading { grid-template-columns: 1fr; gap: 22px; }
  .hdb-film-gallery__grid { grid-template-columns: 1fr; gap: 40px; }
  .hdb-film-gallery figure { display: grid; grid-template-columns: .9fr 1fr; gap: 22px; align-items: center; }
  .hdb-film-gallery figcaption { padding: 0; }
  .hdb-film-gallery__footer { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media(max-width:540px) {
  .hero-visual--editorial > img { object-position: 50% 60%; }
  .production-image--dialogue figcaption { flex-direction: column; gap: 5px; }
  .hdb-film-gallery figure { display: block; }
  .hdb-film-gallery figure > img { aspect-ratio: 4 / 5; object-position: 50% 58%; }
  .hdb-film-gallery figcaption { padding-top: 18px; grid-template-columns: 24px 1fr; }
  .hdb-film-gallery h3 { font-size: 1.45rem; }
}
