@layer vendor, site;
@layer site {
/* Shared subpage hero, based on flugsimulation/index.html.
   Loaded after page styles so it replaces their older hero layout rules.
   Homepage heroes are excluded because they do not use nf-subpage-hero. */
body .page-hero.nf-subpage-hero {
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  display:block;
  height:auto;
  min-height:0;
  max-height:none;
  padding:145px 0 74px;
  overflow:hidden;
  color:#fff;
  font-size:1rem;
  font-weight:400;
  line-height:1.65;
  letter-spacing:normal;
  text-align:left;
}

body .page-hero.nf-subpage-hero > .container.nf-subpage-hero-inner {
  position:relative;
  z-index:2;
  display:block;
  width:min(1220px,calc(100% - 40px));
  max-width:1220px;
  height:auto;
  min-height:0;
  max-height:none;
  margin:0 auto;
  padding:0;
  transform:none;
}

body .nf-subpage-hero .nf-subpage-hero-eyebrow {
  position:static;
  display:inline-flex;
  max-width:100%;
  margin:0 0 9px;
  padding:0;
  border:0;
  background:none;
  color:#82dfff;
  font-size:.77rem;
  font-weight:900;
  line-height:1.65;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}

body .nf-subpage-hero h1.nf-subpage-hero-title {
  position:static;
  display:block;
  width:100%;
  max-width:980px;
  min-height:1.03em;
  margin:13px 0 20px;
  padding:0;
  transform:none;
  color:#fff;
  font-size:clamp(3rem,5.2vw,5.3rem);
  font-weight:700;
  line-height:1.03;
  text-align:left;
  overflow-wrap:anywhere;
  hyphens:auto;
}

body .nf-subpage-hero p.nf-subpage-hero-lead {
  display:block;
  width:100%;
  max-width:820px;
  min-height:5.28em;
  margin:0;
  padding:0;
  color:rgba(255,255,255,.88);
  font-size:clamp(1.06rem,1.45vw,1.18rem);
  font-weight:400;
  line-height:1.76;
  letter-spacing:normal;
}

/* Reserve the reference's button area even on pages without a hero CTA. */
body .nf-subpage-hero .nf-subpage-hero-actions {
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  align-items:flex-start;
  gap:12px;
  min-height:48px;
  margin:32px 0 0;
  padding:0;
}

body .nf-subpage-hero .nf-subpage-hero-actions .btn {
  min-height:48px;
  margin:0;
}

body .nf-subpage-hero .nf-subpage-hero-note {
  max-width:820px;
  min-height:0;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:.78rem;
  line-height:1.6;
}

/* Keep editorial notes below the two buttons without shifting the hero copy. */
body .nf-subpage-hero .nf-subpage-hero-actions > .nf-subpage-hero-note {
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  width:100%;
}

/* Retain the Community artwork as a decorative layer behind the shared copy. */
body .nf-subpage-hero .nf-subpage-hero-art {
  position:absolute;
  z-index:1;
  inset:0 0 0 auto;
  width:min(38%,560px);
  opacity:1;
  pointer-events:none;
}
body .nf-subpage-hero .nf-subpage-hero-art picture,
body .nf-subpage-hero .nf-subpage-hero-art img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right bottom;
}

@media(min-width:1001px) {
  body .page-hero.nf-subpage-hero {
    height:524px;
    min-height:524px;
    max-height:524px;
  }
}

@media(max-width:680px) {
  body .page-hero.nf-subpage-hero > .container.nf-subpage-hero-inner {
    width:calc(100% - 28px);
  }
}

@media(max-width:1000px) {
  body .nf-subpage-hero .nf-subpage-hero-art {
    width:34%;
  }
}

@media(min-width:601px) and (max-width:800px) {
  body .nf-subpage-hero p.nf-subpage-hero-lead {
    min-height:7.04em;
  }
}

@media(max-width:600px) {
  body .page-hero.nf-subpage-hero {
    padding:126px 0 64px;
  }
  body .nf-subpage-hero h1.nf-subpage-hero-title {
    min-height:2.06em;
    font-size:clamp(2.7rem,10.2vw,3.45rem);
  }
  body .nf-subpage-hero p.nf-subpage-hero-lead {
    min-height:11.34em;
    font-size:1rem;
    line-height:1.62;
  }
  body .nf-subpage-hero .nf-subpage-hero-actions {
    min-height:0;                 /* v766: Buttons stehen nebeneinander (v763) – vorher 108px für zwei Zeilen reserviert */
    margin-top:25px;
  }
  body .nf-subpage-hero .nf-subpage-hero-actions .btn {
    width:100%;
  }
  /* v766: Community – das freigestellte Gruppenbild war hier auf eine 120–180px schmale Spalte rechts begrenzt
     (Personen winzig). Jetzt in voller Breite unter den Buttons, die Gruppe steht auf der Unterkante. */
  body .nf-subpage-hero .nf-subpage-hero-art {
    inset:auto 0 0 0;
    width:100%;
    height:min(64vw,380px);
  }
  body .nf-subpage-hero .nf-subpage-hero-art picture,
  body .nf-subpage-hero .nf-subpage-hero-art img {
    object-position:center bottom;
  }
  body .page-hero.nf-subpage-hero:has(.nf-subpage-hero-art) {
    padding-bottom:calc(min(64vw,380px) + 6px);
  }
}
}
