/* base.css - gemeinsame Foundation der 12 Template-Seiten.
   Enthaelt NUR Regeln, die auf allen 12 Seiten zeichengleich waren
   (kein Durchsickern einzelner Properties). index/impressum/datenschutz
   haben eigenes Design und verlinken base.css NICHT. Stand 2026-06-28. */

* {box-sizing:border-box;}
html {scroll-behavior:smooth;}
a {color:inherit;text-decoration:none;}
.shell {width:min(var(--max),calc(100% - 48px));margin:0 auto;}
.nav-wrap {position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);}
.nav {height:56px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo-image {display:block;height:40px;width:auto;max-width:240px;object-fit:contain;filter:brightness(0) invert(1);}
.logo-text {display:flex;flex-direction:column;line-height:1.15;}
.nav-cluster {display:flex;align-items:center;gap:22px;}
.nav-links {display:flex;gap:22px;font-size:14px;color:rgba(255,255,255,.82);}
.nav-cta:hover {background:var(--teal-2);}
@media (max-width:720px) {.nav-links{display:none;}}
.hero .orbital {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.footer-grid {display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;}
footer strong {display:block;color:#fff;font-weight:600;margin-bottom:8px;}
.footer-grid .legal {display:flex;flex-direction:column;gap:6px;}
@media (max-width:720px) {.footer-grid{grid-template-columns:1fr 1fr;}}
/* Tools-Dropdown (Hauptnav) */
.nav-drop{position:relative;display:inline-block;}
.nav-drop-t{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:5px;line-height:inherit;}
.nav-drop-t .caret{font-size:10px;transition:transform .2s ease;}
.nav-drop.open .nav-drop-t .caret{transform:rotate(180deg);}
.nav-drop-menu{position:absolute;top:calc(100% + 12px);right:0;min-width:212px;background:#0a1f3d;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 16px 38px rgba(0,0,0,.30);padding:8px;display:none;z-index:70;}
.nav-drop.open .nav-drop-menu{display:block;}
.nav-drop-menu a{display:block;padding:10px 14px;border-radius:8px;color:rgba(255,255,255,.9)!important;font-size:14px;font-weight:500;white-space:nowrap;opacity:1;}
.nav-drop-menu a:hover{background:rgba(255,255,255,.08);color:#fff!important;}
.nav-drop-menu a::after{content:none!important;}
@media (hover:hover){.nav-drop:hover .nav-drop-menu{display:block;}}
