/* ========================================================================
   Nerdschmie.de Desktop Design Phase 2 – Shared Landing Hero
   Marker: nerdschmie-desktop-design-phase2-shared-hero-20260826
   Reference: existing Homepage/Deutschland/Bundesland hero geometry.
   ======================================================================== */
.nsd-page-hero.nsd-page-hero--landing {
  position: relative;
  overflow: hidden;
  margin: 0 calc(-50vw + 50%);
  width: 100vw;
  min-height: 340px;
  padding: 4rem 1.5rem 2rem;
  background-image:
    linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,.65) 80%, rgba(0,0,0,.85) 100%),
    var(--nsd-page-hero-bg, var(--ns-hero-bg, none));
  background-size: cover;
  background-position: center 25%;
  background-repeat: no-repeat;
  color: var(--nsd-color-text);
}

.nsd-page-hero.nsd-page-hero--no-media {
  background-color: var(--nsd-color-bg);
}

.nsd-page-hero__overlay {
  position: relative;
  max-width: 900px;
  margin: -.5rem auto 1.5rem;
  padding: 1rem 2.5rem;
  border-radius: var(--nsd-radius-hero);
  background: radial-gradient(circle at top, rgba(0,255,150,.18), rgba(0,0,0,.82));
  backdrop-filter: blur(4px);
  box-shadow: 0 0 32px rgba(0,0,0,.8), 0 0 60px rgba(0,255,150,.18);
}

.nsd-page-hero h1 {
  max-width: 58rem;
  margin: 0 0 .75rem;
  color: var(--nsd-color-accent);
  font-family: var(--nsd-font-body);
  font-size: var(--nsd-type-hero-h1-size);
  font-weight: var(--nsd-type-hero-h1-weight);
  line-height: var(--nsd-type-hero-h1-line);
  letter-spacing: normal;
  text-transform: none;
  text-shadow: none;
}

.nsd-page-hero__eyebrow {
  margin: 0 0 var(--nsd-space-2);
  color: var(--nsd-color-accent);
  font-size: var(--nsd-type-label-size);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nsd-page-hero .nsd-page-hero__subtitle {
  max-width: 42rem;
  margin: .4rem 0 1rem;
  color: var(--nsd-color-text-body);
  font-size: var(--nsd-type-lead-size);
  line-height: var(--nsd-type-lead-line);
  opacity: .85;
}

.nsd-page-hero .nsd-page-hero__content {
  max-width: 46rem;
  margin-bottom: .75rem;
  color: var(--nsd-color-text-body);
  font-size: var(--nsd-type-body-size);
  line-height: var(--nsd-type-body-line);
}

.nsd-page-hero .nsd-page-hero__content > :first-child { margin-top: 0; }
.nsd-page-hero .nsd-page-hero__content > :last-child { margin-bottom: 0; }

.nsd-page-hero__meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--nsd-space-2) var(--nsd-space-4);
  margin-top: var(--nsd-space-3);
  color: var(--nsd-color-text-muted);
  font-size: var(--nsd-type-meta-size);
}

.nsd-page-hero__meta {
  color: var(--nsd-color-text-muted);
  font-size: var(--nsd-type-meta-size);
}

@media (max-width: 700px) {
  .nsd-page-hero.nsd-page-hero--landing {
    min-height: 260px;
    padding: 1.6rem 1rem 2.2rem;
    background-position: center 20%;
    margin-top: .2rem;
  }

  .nsd-page-hero__overlay {
    margin: -25px auto 0;
    padding: .9rem 1.4rem;
    border-radius: 1.1rem;
  }

  .nsd-page-hero .nsd-page-hero__subtitle {
    font-size: .98rem;
    margin-bottom: .6rem;
  }

  .nsd-page-hero .nsd-page-hero__content {
    font-size: .9rem;
    margin-bottom: .6rem;
  }
}
