/* V72: ruhigere, kontrollierte Typografie
   Ziel: Luxury-Anmutung behalten, aber keine riesigen Überschriften mehr. */
:root{
  --v72-display-max:5.05rem;
  --v72-section-max:3.85rem;
  --v72-card-max:2.75rem;
  --v72-form-title-max:3.05rem;
  --v72-line-tight:1.02;
}

/* Grundsätzlich keine Titel mehr, die Container sprengen */
h1,h2,h3,
.boom-hero-content h1,
.boom-v66 .boom-hero-content h1,
.boom-copy h2,.boom-center h2,.boom-band-content h2,.boom-split-text h2,.boom-final h2,
.v66-proof-title,.v66-quiet-layout h2,.boom-v66 .boom-human-statement h2,
.v71-inquiry-copy h2,.v71-step-head h3,
.v67-contact-hero h1,.v67-step-head h2,.v67-contact-ending h2,
.v52-contact-copy h1,.v52-stage-aside h2,.v52-submit-row b,
.v66-collection h3,.boom-v66 .boom-collection .boom-main h3{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}

/* Hero: monumental, aber nicht erschlagend */
.boom-hero-content h1,
.boom-v66 .boom-hero-content h1{
  font-size:clamp(2.45rem,5.15vw,var(--v72-display-max))!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  max-width:980px;
}
.boom-hero-content p:not(.boom-kicker),
.boom-v66 .boom-hero-content p:not(.boom-kicker){
  font-size:clamp(1rem,1.18vw,1.16rem)!important;
  line-height:1.68!important;
  max-width:700px;
}

/* Große Sektionstitel */
.boom-copy h2,.boom-center h2,.boom-band-content h2,.boom-split-text h2,.boom-final h2,
.v66-quiet-layout h2,.v66-proof-caption h2,.boom-v66 .boom-human-statement h2,
.boom-v66 .boom-final h2{
  font-size:clamp(2rem,3.75vw,var(--v72-section-max))!important;
  line-height:1.03!important;
  letter-spacing:-.038em!important;
}
.v66-proof-title{
  font-size:clamp(1.95rem,3.8vw,3.7rem)!important;
  line-height:1.04!important;
}

/* Collections: mehr Ruhe, Titel laufen nicht mehr aus der Karte */
.boom-v66 .boom-collection .boom-main h3,
.v66-collection h3,
.collection-title{
  font-size:clamp(2rem,3.25vw,3.55rem)!important;
  line-height:1.03!important;
  letter-spacing:-.038em!important;
  max-width:760px;
}
.boom-v66 .boom-price,
.v66-price,
.package-price{
  font-size:clamp(1.35rem,2vw,2.1rem)!important;
}

/* Anfrage direkt auf Startseite */
.v71-inquiry-copy h2{
  font-size:clamp(2.15rem,4.35vw,4.7rem)!important;
  line-height:1.01!important;
  letter-spacing:-.045em!important;
}
.v71-inquiry-copy p{
  font-size:clamp(1rem,1.12vw,1.14rem)!important;
  line-height:1.68!important;
}
.v71-step-head h3{
  font-size:clamp(1.85rem,2.75vw,var(--v72-form-title-max))!important;
  line-height:1.02!important;
  letter-spacing:-.038em!important;
}
.v71-choice strong{
  font-size:clamp(1.18rem,1.42vw,1.55rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.v71-choice small,
.v71-choice em{
  font-size:.86rem!important;
}

/* Separate Kontaktseite */
.v67-contact-hero h1,
.v52-contact-copy h1{
  font-size:clamp(2.15rem,4.4vw,4.55rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
.v67-step-head h2,
.v52-stage-aside h2{
  font-size:clamp(1.75rem,3vw,3.1rem)!important;
  line-height:1.04!important;
}
.v67-choice strong,
.v52-choice-main b{
  font-size:clamp(1.25rem,1.75vw,1.85rem)!important;
  line-height:1.08!important;
}
.v67-contact-ending h2{
  font-size:clamp(1.9rem,3.2vw,3.35rem)!important;
  line-height:1.08!important;
}

/* Karten und kleine Headlines */
.boom-soft-card h3,.boom-price-card h3,.boom-timeline-grid h3,
.boom-human-card h3,.v66-trust-strip strong{
  font-size:clamp(1.25rem,1.65vw,1.85rem)!important;
  line-height:1.12!important;
}
.boom-quote-grid blockquote{
  font-size:clamp(1.1rem,1.55vw,1.45rem)!important;
  line-height:1.35!important;
}

/* Navigation bleibt fein und lesbar */
.boom-nav-links a,.boom-menu-button,.v23-nav-links a,.v23-menu-button{
  font-size:.7rem!important;
  letter-spacing:.1em!important;
}
.boom-brand span,.v23-brand{
  letter-spacing:.14em!important;
}

/* Tablet */
@media(max-width:1100px){
  .boom-hero-content h1,.boom-v66 .boom-hero-content h1{
    font-size:clamp(2.35rem,7.2vw,4.6rem)!important;
  }
  .boom-copy h2,.boom-center h2,.boom-band-content h2,.boom-split-text h2,.boom-final h2,
  .v66-quiet-layout h2,.boom-v66 .boom-human-statement h2,.boom-v66 .boom-final h2{
    font-size:clamp(1.95rem,5.2vw,3.45rem)!important;
  }
  .boom-v66 .boom-collection .boom-main h3{
    font-size:clamp(1.85rem,5vw,3.2rem)!important;
  }
}

/* Smartphone: alles deutlich kontrollierter */
@media(max-width:820px){
  body{font-size:15px;}
  .boom-hero-content h1,
  .boom-v66 .boom-hero-content h1{
    font-size:clamp(2.15rem,10.2vw,3.55rem)!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
  }
  .boom-copy h2,.boom-center h2,.boom-band-content h2,.boom-split-text h2,.boom-final h2,
  .v66-proof-title,.v66-quiet-layout h2,.boom-v66 .boom-human-statement h2,
  .boom-v66 .boom-final h2{
    font-size:clamp(1.85rem,8.5vw,3rem)!important;
    line-height:1.06!important;
    letter-spacing:-.03em!important;
  }
  .boom-v66 .boom-collection .boom-main h3,
  .v66-collection h3{
    font-size:clamp(1.75rem,8.4vw,2.75rem)!important;
    line-height:1.06!important;
  }
  .v71-inquiry-copy h2,
  .v67-contact-hero h1,
  .v52-contact-copy h1{
    font-size:clamp(2rem,9vw,3.1rem)!important;
    line-height:1.06!important;
  }
  .v71-step-head h3,.v67-step-head h2,.v52-stage-aside h2{
    font-size:clamp(1.55rem,7.2vw,2.35rem)!important;
    line-height:1.08!important;
  }
  .v71-choice strong,.v67-choice strong,.v52-choice-main b{
    font-size:clamp(1.15rem,5.5vw,1.55rem)!important;
  }
  .v71-trust-strip span,.v67-contact-proof div,.v66-trust-strip div{
    font-size:.92rem!important;
  }
  .boom-nav-links a,.boom-menu-button,.v23-nav-links a,.v23-menu-button{
    font-size:.68rem!important;
  }
}

@media(max-width:420px){
  .boom-hero-content h1,.boom-v66 .boom-hero-content h1{
    font-size:clamp(2rem,11vw,3.1rem)!important;
  }
  .v71-inquiry-copy h2,.v67-contact-hero h1{
    font-size:clamp(1.9rem,10vw,2.75rem)!important;
  }
}
