/* Display-font fit only. Source layouts, content and motion stay unchanged. */
.hero h1, .hero h2, .section h2, .pole-hero h1, .closing h2 {
  letter-spacing: -.025em;
  line-height: 1.07;
}
.price-row strong { line-height: .92; letter-spacing: -.035em; }
.fb-marquee-item { font-size: clamp(1.7rem, 3.4vw, 3.25rem); line-height: 1.12; letter-spacing: -.02em; }
.pole-countdown strong { letter-spacing: -.02em; line-height: 1.05; }
.coffee-card h3 { letter-spacing: -.025em; line-height: 1.07; }
.hours-dialog h2 { font-size: clamp(1.85rem, 9cqw, 3.2rem); line-height: 1.08; letter-spacing: -.035em; }
/* The long German title must fit the card on narrow phones without an orphaned letter. */
@media (max-width: 720px) {
  .hours-dialog h2 { font-size: clamp(1.25rem, 10cqw, 2.5rem); text-wrap: balance; }
}
.gallery-page-hero h1 { font-size: clamp(2.7rem, 4.5vw, 5.3rem); line-height: 1.12; letter-spacing: -.025em; }
.gallery-page-closing p { font-size: clamp(2.5rem, 4vw, 5rem); line-height: 1.07; letter-spacing: -.025em; }
.legal-main h1 { font-size: clamp(3rem, 6vw, 5.5rem); line-height: 1.08; letter-spacing: -.035em; }

@media (min-width: 981px) {
  .services-stage-copy > h1, .services-stage-copy > h2 { font-size: clamp(2.35rem, 2.92vw, 4.4rem); line-height: 1.07; }
  .services .section-head h2 { font-size: clamp(3.5rem, min(5.2vw, 7dvh), 8rem); line-height: 1.05; }
  .lounge h2 { font-size: clamp(3.3rem, min(4.2vw, 7dvh), 9rem); line-height: 1.08; }
  .gallery .section-head h2 { font-size: clamp(3.2rem, 4.05vw, 5.5rem); line-height: 1.08; }
  .contact h2 { font-size: clamp(3rem, 4.5vw, 7rem); line-height: 1.08; }
  .closing h2 { font-size: clamp(4.15rem, min(5.25vw, 9dvh), 8.75rem); line-height: 1.12; }
  .coffee-card h3 { font-size: clamp(1.9rem, min(2.55vw, 4.2dvh), 5.2rem); }
  .pole-countdown strong { font-size: clamp(2.4rem, 3.8vw, 5rem); }
}
@media (min-width: 721px) and (max-width: 980px) {
  .services-stage-copy > h1, .services-stage-copy > h2 { font-size: clamp(1.7rem, 3.65vw, 2.4rem); line-height: 1.08; }
  .lounge h2 { font-size: clamp(2.9rem, 6.5vw, 4.2rem); }
  .closing h2 { font-size: clamp(3.5rem, 6vw, 5rem); }
  .coffee-card h3 { font-size: clamp(1.7rem, 3.1vw, 2.5rem); }
}
@media (max-width: 720px) {
  .services-stage-copy > h1 { font-size: clamp(1.42rem, 6.45vw, 2.45rem); line-height: 1.1; letter-spacing: -.028em; }
  .services .section-head h2 { font-size: clamp(2.65rem, 12vw, 3.65rem); line-height: 1.07; }
  .lounge h2 { font-size: clamp(2.2rem, 10.3vw, 3.45rem); line-height: 1.1; }
  .gallery .section-head h2 { font-size: clamp(2.1rem, 9.7vw, 3.55rem); line-height: 1.08; }
  .contact h2 { font-size: clamp(2.4rem, 10.2vw, 3.65rem); line-height: 1.08; }
  .closing h2, html[lang="en"] .closing h2 { font-size: clamp(2.2rem, 9.3vw, 3.1rem); line-height: 1.12; }
  .coffee-card h3 { font-size: clamp(1.12rem, 4.9vw, 1.62rem); line-height: 1.08; }
  .price-row-featured .price-value { font-size: 3.7rem; }
  .price-value { font-size: 2.1rem; }
  .gallery-page-hero h1, html[lang="en"] .gallery-page-hero h1 { font-size: clamp(2.15rem, 10.2vw, 3.2rem); line-height: 1.12; }
  .gallery-page-closing p { font-size: clamp(2.1rem, 9.8vw, 3.4rem); line-height: 1.1; }
  .legal-main h1 { font-size: clamp(2.35rem, 11vw, 4.5rem); line-height: 1.12; }
}
@media (max-width: 720px) and (max-height: 760px) {
  .services-stage-copy > h1 { font-size: clamp(1.35rem, 6vw, 2.2rem); }
}
@media (orientation: landscape) and (max-width: 980px) and (max-height: 500px) {
  .services-stage-copy > h1 { font-size: clamp(1.45rem, 3.1vw, 2rem); }
  .closing h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
}
