/* ==========================================================================
   NEST Ausbilden – Dachmarken-spezifische Ergänzungen.
   Basiert auf styles.css (gemeinsames NEST-Designsystem: Navy + Gold,
   Jost + Inter). Hier nur die Bausteine, die es nur auf der Übersichtsseite
   gibt: das Ökosystem-Visual im Hero, die Marken-Karten und das Zitat.
   ========================================================================== */

/* Anker-Ziele nicht unter den klebenden Header scrollen lassen */
section[id], div[id] { scroll-margin-top: 90px; }

/* Pfeil-Icon in Buttons sauber ausrichten */
.btn svg { width: 1em; height: 1em; flex-shrink: 0; }
.btn { display: inline-flex; align-items: center; gap: .5em; }

/* --------------------------------------------------------------------------
   HERO – „Launchpad": drei Marken-Karten im Linear/Vercel-Stil.
   Junges Startup-Look: präzises Glas-Panel mit 1px-Borders, feinem
   Punktraster und dezentem Aurora-Akzent – Micro-Interactions statt
   Dekoration. Seiten-Hintergrund bleibt unverändert --navy-deep.
   -------------------------------------------------------------------------- */
.hero-visual { display: none; } /* altes Mockup-Frame nicht mehr genutzt */

/* --------------------------------------------------------------------------
   Marken-Logo „NEST | AUSBILDEN" (Header, Footer, Hero)
   -------------------------------------------------------------------------- */
.brand-logo { height: 30px; width: auto; display: block; }
.nest-footer__logo .brand-logo { height: 34px; }
@media (max-width: 600px) { .brand-logo { height: 26px; } }

/* --------------------------------------------------------------------------
   HERO – Textseite: prominentes Marken-Logo, oversized Headline mit
   Gold-Shine, verfeinerte Kennzahlen, gestaffelte Entrance-Motion.
   -------------------------------------------------------------------------- */
.hero-inner { align-items: center; }

/* Eyebrow-Badge mit Punkt, dezentes Glas */
.hero .hero-badge {
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .8);
  text-transform: none; letter-spacing: .01em; font-weight: 600;
  padding: 6px 14px 6px 11px;
}
.hero .hero-badge .hb-dot {
  width: 7px; height: 7px; border-radius: 50%; background: var(--gold);
}

/* Oversized Headline, Highlight in Gold (ohne Leucht-/Shine-Effekt) */
.hero h1 {
  font-size: clamp(2.3rem, 5vw, 3.6rem);
  line-height: 1.06; letter-spacing: -.025em;
}
.hero h1 em { font-style: normal; color: var(--gold); }

/* Lead: Schlüsselbegriffe heller hervorheben */
.hero p.lead { max-width: 44ch; color: rgba(255, 255, 255, .64); }
.hero p.lead strong { color: #fff; font-weight: 700; }

/* gestaffelte Entrance der Textbausteine (verzahnt mit dem Launchpad) */
.hero-text > * { animation: hero-up .7s cubic-bezier(.2, .7, .2, 1) both; }
.hero-text > *:nth-child(1) { animation-delay: .02s; }
.hero-text > *:nth-child(2) { animation-delay: .10s; }
.hero-text > *:nth-child(3) { animation-delay: .18s; }
.hero-text > *:nth-child(4) { animation-delay: .26s; }
.hero-text > *:nth-child(5) { animation-delay: .34s; }
@keyframes hero-up { from { opacity: 0; transform: translateY(16px); } }

@media (max-width: 860px) {
  .hero .hero-badge { display: inline-flex; margin-left: auto; margin-right: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-text > * { animation: none; }
}

/* --------------------------------------------------------------------------
   HERO – Phone-Mockup: zeigt die drei NEST Seiten nacheinander (Karussell).
   Seiten-Hintergrund bleibt --navy-deep wie auf den Schwesterseiten.
   -------------------------------------------------------------------------- */
.hero-visual-wrap {
  position: relative; z-index: 2;
  flex-shrink: 0;
  width: 320px; max-width: 100%;
  display: flex; flex-direction: column; align-items: center;
}

.hero-phone {
  position: relative; z-index: 1;
  width: 280px; aspect-ratio: 280 / 588;
  padding: 12px;
  border-radius: 42px;
  background: linear-gradient(160deg, #2b3b5e, #18243f 45%, #0c1829);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 40px 80px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .14);
  animation: hp-rise .9s cubic-bezier(.2, .7, .2, 1) both;
}
@keyframes hp-rise { from { opacity: 0; transform: translateY(26px); } }
.hp-notch {
  position: absolute; top: 18px; left: 50%; transform: translateX(-50%);
  width: 96px; height: 24px; border-radius: 0 0 16px 16px;
  background: #0c1829; z-index: 3;
}
.hp-frame {
  position: relative; width: 100%; height: 100%;
  border-radius: 30px; overflow: hidden;
  background: #0c1829;
}
.hp-shot {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: top;
  opacity: 0;
  animation: hp-cycle 13.5s ease-in-out infinite;
}
.hp-shot:nth-child(1) { animation-delay: 0s; }
.hp-shot:nth-child(2) { animation-delay: -9s; }
.hp-shot:nth-child(3) { animation-delay: -4.5s; }
@keyframes hp-cycle {
  0%, 30% { opacity: 1; }
  36%, 94% { opacity: 0; }
  100% { opacity: 1; }
}

/* Fortschritts-Dots */
.hp-dots { position: relative; z-index: 1; display: flex; gap: 8px; margin-top: 22px; }
.hp-dots i {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255, 255, 255, .25);
  animation: hp-dot 13.5s ease-in-out infinite;
}
.hp-dots i:nth-child(1) { animation-delay: 0s; }
.hp-dots i:nth-child(2) { animation-delay: -9s; }
.hp-dots i:nth-child(3) { animation-delay: -4.5s; }
@keyframes hp-dot {
  0%, 30% { background: var(--gold); width: 22px; border-radius: 100px; }
  36%, 94% { background: rgba(255, 255, 255, .25); width: 8px; border-radius: 50%; }
  100% { background: var(--gold); width: 22px; border-radius: 100px; }
}

.hp-caption {
  position: relative; z-index: 1;
  margin-top: 18px;
  font-family: var(--font-alt); font-size: .82rem; font-weight: 500;
  color: rgba(255, 255, 255, .55); letter-spacing: .02em; text-align: center;
}

@media (max-width: 980px) { .hero-visual-wrap { width: 300px; } .hero-phone { width: 260px; } }
@media (max-width: 860px) {
  .hero-visual-wrap { order: 1; margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-phone { animation: none; }
  .hp-shot { animation: none; }
  .hp-shot:nth-child(1) { opacity: 1; }
  .hp-shot:nth-child(2), .hp-shot:nth-child(3) { opacity: 0; }
  .hp-dots i { animation: none; }
  .hp-dots i:nth-child(1) { background: var(--gold); width: 22px; border-radius: 100px; }
}




/* --------------------------------------------------------------------------
   ANGEBOTE – dunkles Showcase-Band im Linear-Look.
   Passt zum Hero-Launchpad: Navy-Band, Glas-Karten mit 1px-Borders,
   Punktraster hinter den Produkt-Mockups, Gold-Beam beim Hover.
   -------------------------------------------------------------------------- */
.angebote { background: var(--navy-deep); }
/* lokaler Aurora-Akzent wie im Hero */
.angebote .container { position: relative; }
.angebote .container::before {
  content: ''; position: absolute; z-index: 0; pointer-events: none;
  inset: -6% -10%;
  background:
    radial-gradient(38% 34% at 88% 4%, rgba(239, 165, 0, .12), transparent 70%),
    radial-gradient(40% 36% at 4% 96%, rgba(56, 109, 200, .14), transparent 70%);
  filter: blur(10px);
}
.angebote .section-head { position: relative; z-index: 1; }
.angebote .section-label { color: var(--gold); }

.eco-cards {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 920px) { .eco-cards { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; } }

/* Karte: dunkles Glas, 1px-Border, Gold-Beam beim Hover (wie das Hero-Panel) */
.eco-card {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column;
  background: linear-gradient(170deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px;
  backdrop-filter: blur(8px);
  transition: transform .25s cubic-bezier(.2, .7, .2, 1), border-color .25s ease,
              box-shadow .25s ease, background .25s ease;
}
.eco-card::before {
  content: ''; position: absolute; top: 0; left: 12%; right: 12%; height: 1px; z-index: 4;
  background: linear-gradient(90deg, transparent, rgba(239, 165, 0, .85), transparent);
  opacity: 0; transition: opacity .3s ease;
}
.eco-card:hover {
  transform: translateY(-4px);
  background: linear-gradient(170deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03));
  border-color: rgba(239, 165, 0, .35);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .45), 0 0 28px rgba(239, 165, 0, .1);
}
.eco-card:hover::before { opacity: 1; }

/* Screenshot-Bühne: echter Website-Screenshot je Marke, gold-Linie unten */
.eco-card-top {
  position: relative; display: block;
  height: 210px; overflow: hidden;
  background: #0c1829;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.eco-card-top::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 3;
  background: var(--gold);
  transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
}
.eco-card:hover .eco-card-top::after { transform: scaleX(1); }
.eco-shot {
  width: 100%; height: 100%; display: block;
  object-fit: cover; object-position: top center;
  transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}
.eco-card:hover .eco-shot { transform: scale(1.04); }


/* Karten-Body: Kicker, Logo statt Text-Headline, helle Typo */
.eco-card-body { display: flex; flex-direction: column; flex: 1; padding: 22px 22px 24px; }
.eco-card-kicker {
  font-family: var(--font-alt); font-weight: 700; font-size: .66rem;
  letter-spacing: .1em; text-transform: uppercase; color: var(--gold);
  margin-bottom: 12px;
}
.eco-card-logo { margin: 0 0 12px; }
.eco-card-logo img {
  width: 150px; height: auto; display: block;
  filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .3));
}
.eco-card-body > p { color: rgba(255, 255, 255, .62); line-height: 1.6; margin-bottom: 14px; font-size: .92rem; }
.eco-card-list { margin: 0 0 22px; }
.eco-card-list li { font-size: .88rem; color: rgba(255, 255, 255, .72); }
.eco-card-list li::before { background: rgba(239, 165, 0, .14); color: var(--gold); }

/* CTA: Outline-Button, füllt sich beim Hover gold (Linear-Stil) */
.eco-card-btn {
  margin-top: auto; align-self: flex-start;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .16);
  color: #fff;
}
.eco-card-btn:hover {
  background: var(--gold); border-color: var(--gold); color: var(--navy);
}
/* --------------------------------------------------------------------------
   ÜBER UNS – Zitat-Karte
   -------------------------------------------------------------------------- */
.about-quote {
  position: relative;
  background: linear-gradient(160deg, var(--navy), var(--navy-deep));
  color: #fff;
  border-radius: 20px;
  padding: 40px 36px 32px;
  box-shadow: 0 24px 60px rgba(15, 33, 69, .25);
  overflow: hidden;
}
.about-quote::before {
  content: ''; position: absolute; top: 0; left: 0; width: 6px; height: 100%;
  background: var(--gold);
}
.about-quote-mark {
  display: block; width: 42px; height: 42px;
  color: var(--gold); margin-bottom: 14px;
}
.about-quote p {
  font-family: var(--font-alt); font-size: 1.18rem; font-weight: 600;
  line-height: 1.55; color: #fff; margin-bottom: 26px;
}
.about-quote-by { display: flex; align-items: center; gap: 14px; }
.about-quote-by .logo-mark {
  width: 42px; height: 42px; flex-shrink: 0;
  display: grid; place-content: center; border-radius: 12px;
  background: var(--gold); color: var(--navy);
  font-family: var(--font-alt); font-weight: 900; font-size: 1.2rem;
}
.about-quote-by span { font-size: .9rem; color: rgba(255, 255, 255, .75); line-height: 1.4; }
.about-quote-by strong { color: #fff; font-weight: 800; }

/* --------------------------------------------------------------------------
   Rechtstexte (Impressum / Datenschutz)
   -------------------------------------------------------------------------- */
.legal-hero {
  background: var(--navy-deep); position: relative; overflow: hidden;
  padding: 70px 0 100px;
}
.legal-hero::after {
  content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 60px;
  background: var(--gold); clip-path: polygon(0 100%, 100% 35%, 100% 100%);
}
.legal-hero .container { position: relative; z-index: 2; }
.legal-hero h1 { font-family: var(--font-alt); font-size: clamp(2rem, 5vw, 3rem); font-weight: 900; color: #fff; letter-spacing: -.02em; }
.legal-hero h1 em { font-style: normal; color: var(--gold); }
.legal-hero p { color: rgba(255, 255, 255, .65); margin-top: 10px; max-width: 50ch; }

.legal-prose { max-width: 820px; margin: 0 auto; padding: clamp(40px, 6vw, 70px) 0 clamp(50px, 7vw, 90px); }
.legal-prose h2 {
  font-family: var(--font-alt); font-size: 1.2rem; font-weight: 800; color: var(--navy);
  margin: 34px 0 12px; display: flex; align-items: center; gap: 10px;
}
.legal-prose h2:first-child { margin-top: 0; }
.legal-prose h2::before { content: ''; width: 4px; height: 22px; border-radius: 2px; background: var(--gold); flex-shrink: 0; }
.legal-prose h3 { font-family: var(--font-alt); font-size: 1rem; font-weight: 700; color: var(--navy); margin: 20px 0 6px; }
.legal-prose p, .legal-prose li { color: var(--text-soft); line-height: 1.7; margin-bottom: 10px; }
.legal-prose ul { padding-left: 1.2rem; margin-bottom: 12px; }
.legal-prose a { color: var(--gold-dark); font-weight: 600; }

/* --------------------------------------------------------------------------
   ÜBER NEST – dekoratives „NEST"-Wasserzeichen hinter dem Zitat entfernen
   -------------------------------------------------------------------------- */
#ueber-uns .split-media::after { content: none; display: none; }
#ueber-uns .split-media { background: linear-gradient(160deg, var(--navy), var(--navy-deep)); }

/* --------------------------------------------------------------------------
   HEADER – stilistisch an der NEST Explore (Messe) Seite orientiert:
   schlanke Navigation mit Gold-Hover-Unterstrich, Gold-Pill-CTA.
   -------------------------------------------------------------------------- */
.site-header .nav-links li:not(.nav-li-termin) > a {
  position: relative; color: rgba(255, 255, 255, .8);
  font-weight: 600; font-size: 14px; letter-spacing: .2px;
  transition: color .2s ease;
}
.site-header .nav-links li:not(.nav-li-termin) > a:hover { color: var(--gold); }
.site-header .nav-links li:not(.nav-li-termin) > a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -5px; height: 2px;
  background: var(--gold); border-radius: 2px;
  transform: scaleX(0); transform-origin: left; transition: transform .22s ease;
}
.site-header .nav-links li:not(.nav-li-termin) > a:hover::after { transform: scaleX(1); }

/* CTA als Gold-Pill mit weißer Schrift (wie auf der Explore-Seite) */
.site-header .nav-cta .btn-primary,
.site-header .nav-li-termin-a {
  color: #fff; border-radius: 9999px;
  padding: 9px 22px; font-size: 13px; font-weight: 700; letter-spacing: .2px;
}
.site-header .nav-cta .btn-primary:hover,
.site-header .nav-li-termin-a:hover { color: #fff; transform: translateY(-1px); }
