/* Netzgaenger Header. Alles unter #ngh bzw. body.ngh-on gescoped.
   Farben, Radien und Schatten uebernommen aus den neuen Super-LPs
   (Referenz: /test-startseite/, Variablen --o, --ink, --ink2, --muted).
   Schrift: Source Sans 3 mit Rueckfall auf Source Sans Pro, die lokal in
   300 / 400 / 600 vorliegt. Kein 500er, kein 700er.
   Raster: max-width 1200 mit 20 px Innenabstand, genau wie .wrap der LPs. */

#ngh{
  --ink:#2a2f4f;      /* Ueberschriften, Navigation */
  --ink2:#343034;     /* Fliesstext */
  --mut:#5b5d68;      /* Untertitel */
  --line:#e3e3e3;
  --soft:#f6f6f6;
  --oat:#e8f2ef;      /* Teaser-Flaeche, --o-lt der LPs */
  --acct:#2d7b6b;     /* Primaergruen, --o der LPs */
  --acct2:#235f53;    /* --o-dk */
  --r:12px;
  --pill:999px;
  --sh-hi:0 14px 34px rgba(0,0,0,.10);
  font-family:'Source Sans 3','Source Sans Pro',Helvetica,sans-serif;
  font-size:16px; line-height:1.4; font-weight:400; color:var(--ink2);
  background:#fff; position:sticky; top:0; z-index:100;
  transition:box-shadow .2s ease;
}
#ngh.stuck{box-shadow:0 6px 20px -12px rgba(42,47,79,.35)}
#ngh *{box-sizing:border-box}
#ngh a{text-decoration:none;color:inherit}
#ngh a:hover,#ngh a:focus{text-decoration:none}
#ngh p,#ngh ul,#ngh li{margin:0;padding:0;list-style:none}
#ngh nav{overflow:visible;float:none;width:auto}
#ngh button{font-family:inherit}
#ngh img{max-width:100%;height:auto}

/* --- dunkle Kopfzeile --- */
#ngh .hd-top{background:var(--acct2);color:#fff;font-size:14px;line-height:1.4}
#ngh .hd-top-in{max-width:1200px;margin:0 auto;padding:7px 0;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
#ngh .hd-top a{color:#fff;display:inline-flex;align-items:center;gap:7px}
#ngh .hd-top a:hover{color:#bfe3d9}
#ngh .hd-top svg{width:15px;height:15px;flex:0 0 auto}
#ngh .hd-top .hd-top-r{margin-left:auto;color:#fff}

/* --- Leiste --- */
#ngh .hd-bar{max-width:1200px;margin:0 auto;padding:0;height:104px;display:flex;align-items:center;gap:18px;
  border-bottom:0;transition:height .2s ease}
#ngh.stuck .hd-bar{height:72px}

/* Logo wie bisher: Rakete, Name in Versalien, zwei Claimzeilen darunter */
#ngh .hd-logo{flex:0 0 auto;display:flex;align-items:center;gap:9px;color:var(--ink)}
#ngh .hd-logo img{display:block;width:auto;height:62px;flex:0 0 auto;transition:height .2s ease;float:none;margin:0}
#ngh.stuck .hd-logo img{height:46px}
#ngh .hd-claim b{display:block;font-size:15px;font-weight:400;line-height:1.25;letter-spacing:.6px;
  text-transform:uppercase;color:var(--ink);white-space:nowrap}
#ngh .hd-claim span{display:block;font-size:13px;font-weight:300;letter-spacing:.4px;line-height:1.3;
  color:var(--ink2);white-space:nowrap}
#ngh .hd-claim .hd-claim-m{display:none}
/* 24.09.2026: Claim bleibt auch im fixierten Kopf vollstaendig stehen (Rene). Vorher: #ngh.stuck .hd-claim .hd-claim-d{display:none} */

#ngh .hd-nav{display:flex;align-items:center;gap:0}
#ngh .hd-nav>li{position:relative;display:flex;align-items:center}
#ngh .hd-lnk{display:inline-flex;align-items:center;padding:10px 2px 10px 10px;font-size:16px;font-weight:600;
  color:var(--ink);position:relative;line-height:1.2;white-space:nowrap}
#ngh .hd-lnk::after{content:"";position:absolute;left:10px;right:2px;bottom:2px;height:2px;background:var(--acct);
  transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
#ngh .hd-lnk:hover::after{transform:scaleX(1)}
#ngh .hd-item:hover .hd-lnk::after,#ngh .hd-item.on .hd-lnk::after{transform:scaleX(1)}
#ngh .hd-item:hover .hd-lnk,#ngh .hd-item.on .hd-lnk{color:var(--acct)}
#ngh .hd-tog{background:none;border:0;padding:10px 6px 10px 5px;cursor:pointer;color:var(--ink);
  display:inline-flex;align-items:center;border-radius:6px}
#ngh .hd-tog:hover{color:var(--acct)}
#ngh .hd-caret{width:9px;height:9px;flex:0 0 auto;transition:transform .18s ease;opacity:.55}
#ngh .hd-tog[aria-expanded="true"] .hd-caret{transform:rotate(180deg);opacity:1}

#ngh .hd-right{margin-left:auto;display:flex;align-items:center;gap:6px}
#ngh .hd-cta{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:var(--pill);
  background:var(--acct);color:#fff;font-size:13.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;
  white-space:nowrap;transition:background .2s;line-height:1.2}
#ngh .hd-cta:hover{background:var(--acct2);color:#fff}
#ngh .hd-ico{width:42px;height:42px;display:grid;place-items:center;border:0;background:none;border-radius:50%;cursor:pointer;color:var(--ink);padding:0}
#ngh .hd-ico:hover{background:var(--soft)}
#ngh .hd-ico svg{width:22px;height:22px}
#ngh .hd-burger{display:none}

/* --- Megapanel --- */
#ngh .hd-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);
  box-shadow:var(--sh-hi);display:none}
#ngh .hd-panel.open{display:block}
#ngh .hd-panel-in{max-width:1200px;margin:0 auto;padding:32px 0 28px}
#ngh .hd-cols{display:grid;gap:32px}
#ngh .hd-cols-3{grid-template-columns:repeat(3,minmax(0,1fr)) 340px}
#ngh .hd-cols-2{grid-template-columns:repeat(2,minmax(0,1fr)) 340px}
#ngh .hd-col .hd-kick{margin:0 0 11px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--acct);line-height:1.2}
#ngh .hd-col li+li{margin-top:2px}
#ngh .hd-col a{display:block;padding:6px 0;font-size:16px;font-weight:600;color:var(--ink);line-height:1.3}
#ngh .hd-col a small{display:block;font-size:15px;font-weight:400;line-height:1.4;color:var(--mut);margin-top:2px}
#ngh .hd-col a:hover{color:var(--acct)}
#ngh .hd-col a:hover small{color:var(--mut)}

/* Teaser */
#ngh .hd-teaser{background:var(--oat);border-radius:var(--r);padding:22px;align-self:start;text-align:center}
#ngh .hd-teaser figure{margin:0 0 14px;border-radius:10px;overflow:hidden;aspect-ratio:16/10;background:#dfece8}
#ngh .hd-teaser figure img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
#ngh .hd-teaser .hd-th{margin:0 0 7px;font-size:17px;font-weight:600;line-height:1.3;text-align:left;color:var(--ink)}
#ngh .hd-teaser p{margin:0 0 16px;font-size:15px;font-weight:400;line-height:1.55;color:var(--ink2);text-align:left}
#ngh .hd-btn,#ngh .hd-col a.hd-btn,#ngh .hd-cols-portrait .hd-col a.hd-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;
  border:2px solid var(--acct);border-radius:var(--pill);font-size:15px;font-weight:600;line-height:1.2;
  color:var(--acct);background:transparent;cursor:pointer;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s}
#ngh .hd-btn:hover,#ngh .hd-col a.hd-btn:hover,#ngh .hd-cols-portrait .hd-col a.hd-btn:hover{background:var(--acct);border-color:var(--acct);color:#fff}


/* Unterhalb der Rasterbreite braucht die Leiste wieder einen Rand */
@media (max-width:1240px){
  #ngh .hd-top-in{padding:7px 20px}
  #ngh .hd-bar{padding:0 20px}
  #ngh .hd-panel-in{padding:32px 20px 28px}
}


/* Panel "Über mich": eine Linkspalte, rundes Portrait daneben, Visitenkarte rechts */
#ngh .hd-cols-portrait{grid-template-columns:repeat(2,minmax(0,1fr)) 340px;align-items:start}
#ngh .hd-cols-portrait .hd-portrait{align-self:center}
#ngh .hd-cols-portrait .hd-teaser{width:auto;margin:0;text-align:left;background:none;padding:0;border-radius:0}
#ngh .hd-portrait{display:flex;justify-content:flex-end;align-items:center}
#ngh .hd-portrait img{width:260px;height:260px;border-radius:50%;object-fit:cover;display:block;background:none}
#ngh .hd-cols-portrait .hd-col:first-child a{font-size:17px;padding:9px 0}
#ngh .hd-vcard{margin-top:16px;display:flex;flex-direction:column;gap:8px;text-align:left}
#ngh .hd-vcard a,#ngh .hd-col .hd-vcard a{display:inline-flex;align-items:center;gap:9px;padding:0;
  font-size:15px;font-weight:600;color:var(--ink);line-height:1.3}
#ngh .hd-vcard a:hover,#ngh .hd-col .hd-vcard a:hover{color:var(--acct)}
#ngh .hd-vcard svg{width:17px;height:17px;flex:0 0 auto;color:var(--acct)}
#ngh .hd-vcard a.hd-wa svg{width:19px;height:19px;color:#25d366}
#ngh .hd-vcard a.hd-wa:hover svg{color:#1da851}
@media (max-width:1100px){
  #ngh .hd-cols-portrait{grid-template-columns:repeat(2,minmax(0,1fr)) 240px}
  #ngh .hd-portrait img{width:180px;height:180px}
}

/* Sprungziele nicht unter dem Sticky-Header verstecken */
body.ngh-on :target{scroll-margin-top:115px}
@media (max-width:1024px){body.ngh-on :target{scroll-margin-top:70px}}

/* Adminleiste */
.admin-bar #ngh{top:32px}
@media (max-width:782px){.admin-bar #ngh{top:46px}}

/* --- Mobil --- */
@media (max-width:1150px){#ngh .hd-cta{display:none}}
@media (max-width:1024px){
  #ngh .hd-bar{height:62px;padding:0 14px;gap:10px;border-bottom:1px solid var(--line)}
  #ngh.stuck .hd-bar{height:58px}
  #ngh .hd-logo img,#ngh.stuck .hd-logo img{height:42px}
  #ngh .hd-claim b,#ngh.stuck .hd-claim b{font-size:14px}
  #ngh .hd-claim .hd-claim-d,#ngh.stuck .hd-claim .hd-claim-d{display:none}
  #ngh .hd-claim .hd-claim-m,#ngh.stuck .hd-claim .hd-claim-m{display:block;font-size:12px;letter-spacing:.3px}
  #ngh .hd-nav{display:none}
  #ngh .hd-burger{display:grid}
  #ngh .hd-top-in{padding:6px 14px;gap:16px;font-size:13px;justify-content:center;flex-wrap:nowrap}
  #ngh .hd-top .hd-top-r{display:none}
}
@media (max-width:420px){
  #ngh .hd-top-in{gap:10px;font-size:12px}
  #ngh .hd-top svg{width:14px;height:14px}
}

#ngh .hd-drawer{position:fixed;inset:0;background:#fff;z-index:99998;display:none;flex-direction:column}
#ngh .hd-drawer.open{display:flex}
#ngh .hd-dr-top{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line);flex:0 0 auto}
#ngh .hd-dr-top img{height:42px;width:auto;display:block}
#ngh .hd-dr-body{overflow-y:auto;padding:16px 14px 34px;-webkit-overflow-scrolling:touch}

#ngh .hd-dr-kacheln{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}
#ngh .hd-kachel{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);
  border-radius:var(--r);font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.25}
#ngh .hd-kachel svg{width:20px;height:20px;flex:0 0 auto;color:var(--acct)}
#ngh .hd-kachel:hover{border-color:var(--acct);color:var(--acct)}

#ngh .hd-acc{border-top:1px solid var(--line)}
#ngh .hd-acc>div{border-bottom:1px solid var(--line)}
#ngh .hd-accrow{display:flex;align-items:center;gap:10px}
#ngh .hd-accrow>a{flex:1;display:block;padding:15px 2px;font-size:16.5px;font-weight:600;line-height:1.2;color:var(--ink)}
#ngh .hd-acctog{flex:0 0 auto;padding:15px 6px;background:none;border:0;cursor:pointer;color:var(--ink);display:flex;align-items:center}
#ngh .hd-acctog .hd-caret{width:12px;height:12px}
#ngh .hd-acctog[aria-expanded="true"] .hd-caret{transform:rotate(180deg)}
#ngh .hd-acc ul{padding:0 0 12px;display:none}
#ngh .hd-acc ul.open{display:block}
#ngh .hd-acc li.hd-sub{padding:14px 0 4px 14px;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.12em;
  text-transform:uppercase;color:var(--acct)}
#ngh .hd-acc li.hd-sub:first-child{padding-top:4px}
#ngh .hd-acc ul a{display:block;padding:8px 0 8px 14px;font-size:15.5px;font-weight:600;line-height:1.3;color:var(--ink)}
#ngh .hd-acc ul a small{display:block;font-size:13px;font-weight:400;line-height:1.4;color:var(--mut);margin-top:1px}
#ngh .hd-acc li.hd-more{padding:10px 0 4px 14px}
#ngh .hd-acc li.hd-more a{display:inline-flex;align-items:center;justify-content:center;padding:11px 24px;
  border:2px solid var(--acct);border-radius:var(--pill);background:transparent;color:var(--acct);
  font-size:15px;font-weight:600;line-height:1.2}
#ngh .hd-acc li.hd-more a:hover{background:var(--acct);color:#fff}
#ngh .hd-acc li.hd-acc-karte{padding:0}
/* Der Name wird mobil zur Zwischenueberschrift, gleiche Optik und Abstaende wie hd-sub */
#ngh .hd-acc li.hd-acc-karte .hd-th{margin:0;padding:14px 0 4px 14px;font-size:11px;font-weight:600;
  line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--acct)}
#ngh .hd-acc li.hd-acc-karte p:not(.hd-th){margin:0;padding:8px 0 4px 14px;font-size:15px;font-weight:400;
  line-height:1.5;color:var(--ink2)}
#ngh .hd-acc li.hd-acc-karte .hd-vcard{margin-top:6px;padding-left:14px;gap:2px}
#ngh .hd-acc .hd-vcard a{display:inline-flex;align-items:center;gap:10px;padding:6px 0;font-size:15.5px}
#ngh .hd-acc li.hd-acc-portrait{padding:14px 0 6px 14px}
#ngh .hd-acc li.hd-acc-portrait img{width:150px;height:150px;border-radius:50%;object-fit:cover;display:block}

#ngh .hd-kaffee{display:flex;align-items:center;gap:10px;margin-top:22px;padding:15px 18px;border-radius:var(--r);
  background:var(--oat);font-size:15px;font-weight:600;color:var(--ink);line-height:1.35}
#ngh .hd-kaffee svg{width:19px;height:19px;flex:0 0 auto;color:var(--acct)}

/* Tastaturbedienung sichtbar machen */
#ngh a:focus-visible,#ngh button:focus-visible{outline:2px solid var(--acct);outline-offset:2px;border-radius:4px}

/* 1.5.3: Seite hinter offenem Mega-Panel weiss und unscharf.
   Scrim sitzt in #ngh mit z-index:-1, also ueber dem Seiteninhalt, unter Kopfzeile und Panel.
   #ngh wird beim Oeffnen ueber die schwebende CTA-Leiste der LPs (z-index 9000) gehoben. */
#ngh .hd-scrim{position:fixed;inset:0;z-index:-1;background:rgb(0 0 0 / 55%);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease,visibility 0s linear .2s}
html.ngh-dim #ngh{z-index:9500}
html.ngh-dim #ngh .hd-scrim{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease,visibility 0s}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  #ngh .hd-scrim{background:rgb(0 0 0 / 70%)}
}
@media (max-width:1024px){ #ngh .hd-scrim{display:none} }
@media (prefers-reduced-motion:reduce){ #ngh .hd-scrim{transition:none} }

/* 1.5.4: Panel-Schatten nur nach unten und zu den Seiten, oben abgeschnitten */
#ngh .hd-panel{clip-path:inset(0 -60px -60px -60px)}

/* 1.5.5: Scrim beginnt erst an der Unterkante des Headers. Vorher lief er hinter dem
   transparenten .hd-bar mit, und blur() zog Seiteninhalt von unten in die Kopfzeile
   (sah aus wie ein Schatten ueber dem Panel). */
#ngh .hd-scrim{position:absolute;inset:auto;top:100%;left:0;right:0;height:100vh}

/* Handy: Kopf nur durch feine graue Linie vom Inhalt getrennt, auch beim Scrollen (Rene, 28.09.2026) */
@media(max-width:781px){#ngh,#ngh.stuck{box-shadow:0 1px 0 #e3e3e3}}
