/* Photo-first service pages and opt-in, first-party films. */
.generated-service-media { min-height: 0; aspect-ratio: 4 / 3; }
.generated-service-media img { object-position: center; }
.gallery-intro { padding: 64px 0 76px; background: linear-gradient(120deg, #fff5e7, #fffdf8 58%, #e8f4f7); }
.gallery-intro h1 { max-width: 900px; font-size: clamp(42px, 5.5vw, 76px); line-height: 1.15; margin-block: 22px; }
.gallery-intro .content-lead { max-width: 700px; }
.gallery-intro .button-row { margin-top: 30px; }
.gallery-section { padding-block: 76px; }
.gallery-explanation { max-width: 800px; margin-bottom: 40px; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 52px 32px; }
.gallery-film { min-width: 0; }
.gallery-player { position: relative; overflow: hidden; border-radius: 24px; background: #0c3448; aspect-ratio: 9 / 16; }
.gallery-player video { display: block; width: 100%; height: 100%; object-fit: contain; }
.gallery-play { position: absolute; inset-inline: 20px; bottom: 24px; min-height: 52px; border: 1px solid #fff8; border-radius: 40px; padding: 12px 18px; background: #fffdf8; color: #12425a; font: inherit; font-weight: 700; cursor: pointer; box-shadow: 0 6px 24px #092a4540; }
.gallery-play span { margin-inline-end: 8px; }
.gallery-play:hover { background: #e9f3d9; }
.gallery-play:focus-visible, .gallery-player video:focus-visible { outline: 3px solid #087db4; outline-offset: 4px; }
.gallery-play[hidden], .gallery-error[hidden] { display: none; }
.gallery-play:disabled { cursor: progress; opacity: .75; }
.gallery-meta { font-size: 13px; color: #52686d; margin: 18px 0 9px; }
.gallery-film h3 { margin: 0 0 14px; font-size: clamp(24px, 2.2vw, 30px); }
.gallery-film > p:not(.gallery-meta) { font-size: 16px; }
.gallery-error { padding: 12px; border-inline-start: 3px solid #c94f31; background: #fff1e7; }
.gallery-stories { padding-block: 76px; background: #f8f7f1; }
.gallery-illustration-note { max-width: 800px; margin: 0 0 34px; color: #52686d; font-size: 15px; line-height: 1.65; }
.gallery-story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.gallery-story { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #dbe5e2; border-radius: 26px; background: #fffdf8; box-shadow: 0 18px 35px rgb(15 62 68 / 8%); }
.gallery-story figure { display: grid; place-items: center; margin: 0; aspect-ratio: 6 / 5; background: #f1f5ef; }
.gallery-story figure img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gallery-story-caption { flex: 1; padding: 27px 30px 32px; }
.gallery-story-caption h3 { margin: 0 0 10px; color: #153f40; font: 600 clamp(23px, 2vw, 29px)/1.2 var(--font-display); }
.gallery-story-caption p { margin: 0; color: #52686d; font-size: 15px; line-height: 1.65; }
.gallery-press { background: #f6eedf; padding-block: 72px; }
#filme, #bilder, #presse { scroll-margin-top: 120px; }
@media (max-width: 1000px) { .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; } }
@media (max-width: 760px) { .gallery-story-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .gallery-intro { padding-block: 38px 46px; }
  .gallery-grid { grid-template-columns: minmax(0, 1fr); gap: 42px; }
  .gallery-film { max-width: 390px; margin-inline: auto; width: 100%; }
  .gallery-player { border-radius: 20px; }
  .gallery-section, .gallery-stories, .gallery-press { padding-block: 44px; }
  .gallery-story-caption { padding: 22px 20px 26px; }
}
