/* NAHIC v59 | Konsistentes Hero-System. Nur Einstiegs-/Titelbereiche. */
:root {
  --nh-hero-max: 1120px;
  --nh-hero-side: 22px;
  --nh-hero-title: clamp(43px, 5.05vw, 65px);
  --nh-hero-copy: 17px;
  --nh-hero-line: 1.68;
}
/* Gemeinsame Typografie für Angebots- und Leistungsseiten. */
.nahic-hero-split h1,
.nahic-hero-season h1,
.nahic-hero-story h1 {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: var(--nh-hero-title) !important;
  font-weight: 500 !important;
  line-height: 1.09 !important;
  letter-spacing: -.027em !important;
  text-wrap: balance;
}
.nahic-hero-split p:not(.hero-tag),
.nahic-hero-season .clean-hero-content > p,
.nahic-hero-story p {
  font-size: var(--nh-hero-copy) !important;
  line-height: var(--nh-hero-line) !important;
}
.nahic-hero-split .eyebrow,
.nahic-hero-season .clean-kicker,
.nahic-hero-story .about-eyebrow,
.nahic-hero-compact .eyebrow {
  font-size: 11px !important;
  letter-spacing: .16em !important;
  line-height: 1.45;
}
/* Variante A: Startseite ist ein bewusst eigenständiger Marken-Hero. */
.nahic-hero-brand .hero-content {max-width: 800px;}
/* Variante B: Split-Heros mit Text und Bild. Einheitliche Geometrie. */
.nahic-hero-split .hero-top,
.nahic-hero-split .offer-hero-grid,
.nahic-hero-split .pizzahero-grid {
  width: min(var(--nh-hero-max), calc(100% - 2 * var(--nh-hero-side)));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: center;
  gap: clamp(30px, 4.3vw, 62px);
  min-height: 0;
  box-sizing: border-box;
}
/* Live-Cooking hat sein dekoratives Wellenende und darunter das Angebotsbanner. */
section.hero.nahic-hero-split {padding: 66px 0 0 !important;}
.nahic-hero-split .hero-top {padding: 0 0 76px !important;}
.nahic-hero-split .hero-photo {
  height: 370px !important;
  width: 100%;
  max-height: none;
  object-fit: cover;
  border-radius: 108px 24px 90px 24px !important;
}
.nahic-hero-split .hero-top h1,
.nahic-hero-split .offer-hero-grid h1,
.nahic-hero-split .pizzahero-grid h1 {margin: 13px 0 19px !important;max-width: 710px;}
.nahic-hero-split .hero-top .intro,
.nahic-hero-split .offer-hero-grid p,
.nahic-hero-split .pizzahero-grid p {max-width: 540px;}
.nahic-hero-split .hero-ctas {margin-top: 24px;}
/* Angebot, eigene Aktionsfarbe und Rahmen bleiben. */
section.offer-hero.nahic-hero-split {padding: 67px 0 92px !important;}
.nahic-hero-split .offer-hero-image,
.nahic-hero-split .pizzahero-img {
  height: 370px !important;
  transform: none !important;
  border-radius: 108px 24px 90px 24px !important;
}
.nahic-hero-split .offer-hero-image img,
.nahic-hero-split .pizzahero-img img {height: 100%;width: 100%;object-fit: cover;}
.nahic-hero-split .offer-kicker {font-size: 12px;line-height: 1.6;max-width: 510px;}
/* Pizza-Katalog. */
section.pizzahero.nahic-hero-split .pizzahero-grid {padding: 67px 0 93px !important;}
/* Variante B, saisonal: Bildfüllung statt Splitfoto. */
section.clean-hero.nahic-hero-season {
  min-height: 480px !important;
  display: flex;
  align-items: center;
}
.nahic-hero-season .clean-hero-content {
  width: min(var(--nh-hero-max), calc(100% - 2 * var(--nh-hero-side)));
  margin-inline: auto;
  padding: 70px 0 82px !important;
  box-sizing: border-box;
}
.nahic-hero-season .clean-hero-content > h1 {max-width: 690px;margin: 13px 0 19px !important;}
.nahic-hero-season .clean-hero-content > p {max-width: 590px;}
.nahic-hero-season .clean-hero-buttons {margin-top: 23px;gap: 12px;}
/* Story: gleiche Zeilenlänge und Typografie, bewusste bildfreie Gestaltung. */
section.about-hero.nahic-hero-story {padding: 70px 0 76px !important;}
.nahic-hero-story .about-shell {width: min(var(--nh-hero-max), calc(100% - 2 * var(--nh-hero-side)));}
.nahic-hero-story h1 {max-width: 750px;margin: 13px 0 19px !important;}
.nahic-hero-story p {max-width: 635px !important;}
.nahic-hero-story .about-cta {margin-top: 15px;}
/* Variante C: kurze Katalog-/Kontakt-Einstiege. */
.nahic-hero-compact.page-intro {padding: 45px 0 30px !important;max-width: 770px;}
.nahic-hero-compact.page-intro h1,
.nahic-hero-contact > h1 {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 500 !important;
  font-size: clamp(34px, 4vw, 49px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.nahic-hero-compact.page-intro .intro-text {font-size: 16px !important;line-height: 1.65 !important;max-width: 640px;margin-inline: auto;}
main.nahic-hero-contact {padding-top: 47px !important;}
.nahic-hero-contact > p#allgemeinerAnfrageHinweis {font-size: 16px;line-height: 1.65 !important;}
/* Detailseiten im Aufbau: Inhalte unverändert, Einstiegshöhe reduziert. */
section.coming-main.nahic-hero-utility {min-height: 0 !important;padding: 76px 24px 81px !important;}
.nahic-hero-utility .coming-inner {width: min(760px,100%);margin-inline: auto;}
.nahic-hero-utility h1 {font-size: clamp(35px,4vw,51px) !important;line-height: 1.14 !important;letter-spacing: -.022em;text-wrap: balance;}
/* Harmonisierung auf Tablets: Zwei Spalten nur, wenn genug Breite. */
@media(max-width: 830px) {
  :root {--nh-hero-side: 21px;--nh-hero-title: clamp(39px, 6vw, 54px);--nh-hero-copy: 16px;}
  .nahic-hero-split .hero-top,
  .nahic-hero-split .offer-hero-grid,
  .nahic-hero-split .pizzahero-grid {grid-template-columns: 1fr;gap: 28px;}
  section.hero.nahic-hero-split {padding-top: 45px !important;}
  .nahic-hero-split .hero-top {padding-bottom: 68px !important;}
  section.offer-hero.nahic-hero-split {padding: 48px 0 70px !important;}
  section.pizzahero.nahic-hero-split .pizzahero-grid {padding: 48px 0 70px !important;}
  .nahic-hero-split .hero-photo,
  .nahic-hero-split .offer-hero-image,
  .nahic-hero-split .pizzahero-img {height: 290px !important;border-radius: 78px 21px 66px 21px !important;}
  section.clean-hero.nahic-hero-season {min-height: 0 !important;}
  .nahic-hero-season .clean-hero-content {padding: 61px 0 68px !important;}
  section.about-hero.nahic-hero-story {padding: 54px 0 61px !important;}
  .nahic-hero-compact.page-intro {padding: 35px 0 26px !important;}
  section.coming-main.nahic-hero-utility {padding: 61px 21px 66px !important;}
}
@media(max-width: 580px) {
  :root {--nh-hero-side: 18px;--nh-hero-title: clamp(36px, 9.6vw, 43px);--nh-hero-copy: 15.5px;--nh-hero-line: 1.62;}
  .nahic-hero-split .hero-top,
  .nahic-hero-split .offer-hero-grid,
  .nahic-hero-split .pizzahero-grid {gap: 22px;}
  .nahic-hero-split h1,
  .nahic-hero-season h1,
  .nahic-hero-story h1 {overflow-wrap: normal;}
  section.hero.nahic-hero-split {padding-top: 40px !important;}
  .nahic-hero-split .hero-top {padding-bottom: 59px !important;}
  section.offer-hero.nahic-hero-split {padding: 41px 0 66px !important;}
  section.pizzahero.nahic-hero-split .pizzahero-grid {padding: 41px 0 66px !important;}
  .nahic-hero-split .hero-photo,
  .nahic-hero-split .offer-hero-image,
  .nahic-hero-split .pizzahero-img {height: 238px !important;border-radius: 66px 18px 58px 18px !important;}
  .nahic-hero-split .hero-top h1,
  .nahic-hero-split .offer-hero-grid h1,
  .nahic-hero-split .pizzahero-grid h1 {margin: 11px 0 15px !important;}
  .nahic-hero-split .hero-ctas {margin-top: 20px;gap: 9px;}
  .nahic-hero-season .clean-hero-content {padding: 47px 0 56px !important;}
  .nahic-hero-season .clean-hero-content > h1 {margin: 11px 0 16px !important;}
  .nahic-hero-season .clean-hero-buttons {margin-top: 19px;}
  section.about-hero.nahic-hero-story {padding: 45px 0 52px !important;}
  .nahic-hero-story h1 {margin: 11px 0 15px !important;}
  .nahic-hero-story .about-cta {margin-top: 10px;}
  .nahic-hero-compact.page-intro {padding: 30px 0 22px !important;}
  .nahic-hero-compact.page-intro h1,
  .nahic-hero-contact > h1 {font-size: clamp(31px, 8.3vw, 38px) !important;}
  .nahic-hero-compact.page-intro .intro-text {font-size: 14px !important;}
  main.nahic-hero-contact {padding-top: 34px !important;}
  .nahic-hero-contact > p#allgemeinerAnfrageHinweis {font-size: 15px;}
  section.coming-main.nahic-hero-utility {padding: 50px 18px 55px !important;}
}
