/* AIT Group, Unterseiten: Navigation, Handy-Menue und Footer der neuen Startseite (ait-website-experiment).
   Eigene Klassen (sn, sm, sf, sb), damit nichts mit base.css, hero.css oder footer.css kollidiert. */

:root{
  --s-bg:#07080B;
  --s-panel:rgba(255,255,255,.035);
  --s-line:rgba(255,255,255,.1);
  --s-line-2:rgba(255,255,255,.18);
  --s-text:#EEEBF3;
  --s-muted:#8F8B9B;
  --s-violet:#9146E8;
  --s-violet-l:#B386F0;
  --s-gutter:clamp(20px,4vw,64px);
  --s-display:"Inter Display","Inter",system-ui,sans-serif;
  --s-mono:"JetBrains Mono",ui-monospace,monospace;
  --s-ease:cubic-bezier(.16,1,.3,1);
  --hd-h:76px;
}

/* ---------- Buttons ---------- */
.sb{position:relative;display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px;border-radius:999px;
  font-family:"Inter",system-ui,sans-serif;font-weight:500;font-size:14px;line-height:1;white-space:nowrap;text-decoration:none;
  background:var(--s-text);color:var(--s-bg);overflow:hidden;isolation:isolate;transition:color .3s}
.sb::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--s-violet);transform:translateY(101%);transition:transform .5s var(--s-ease)}
.sb:hover::before{transform:translateY(0)}
.sb:hover{color:#fff}
.sn .sb,.sm .sb{color:var(--s-bg)}
.sn .sb--ghost,.sn .sb:hover{color:var(--s-text)}
.sn .sb:not(.sb--ghost):hover{color:#fff}
.sb--ghost{background:transparent;color:var(--s-text);box-shadow:inset 0 0 0 1px var(--s-line-2)}

/* ---------- Navigation ---------- */
.sn{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:var(--hd-h);padding:0 var(--s-gutter);color:var(--s-text);font-family:"Inter",system-ui,sans-serif;
  background:rgba(7,8,11,.82);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
.sn a{color:inherit;text-decoration:none}
.sn__brand{display:flex;align-items:center;gap:10px;font-family:var(--s-display);font-size:20px;letter-spacing:-.02em;line-height:1}
.sn__brand img{display:block;width:28px;height:28px}
.sn__brand em{margin-left:4px;font-style:normal;color:var(--s-muted)}
.sn__links{display:flex;gap:6px;padding:5px;border-radius:999px;background:var(--s-panel);box-shadow:inset 0 0 0 1px var(--s-line)}
.sn__links a{padding:8px 16px;border-radius:999px;font-size:14px;line-height:1.4;color:var(--s-muted);transition:color .3s,background .3s}
.sn__links a:hover{color:var(--s-text);background:rgba(255,255,255,.07)}
.sn__right{display:flex;align-items:center;gap:18px}
.sn__lang{font-family:var(--s-mono,"JetBrains Mono",ui-monospace,monospace);font-size:12px;letter-spacing:.08em;color:var(--s-muted);padding:6px 2px;transition:color .3s}
.sn__lang:hover{color:var(--s-text)}
.sn__back{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--s-muted);transition:color .3s}
.sn__back:hover{color:var(--s-text)}
.sn__burger{display:none;position:relative;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer;box-shadow:inset 0 0 0 1px var(--s-line-2)}
.sn__burger i{position:absolute;left:14px;right:14px;height:1.5px;background:var(--s-text);transition:transform .5s var(--s-ease)}
.sn__burger i:first-child{top:18px}
.sn__burger i:last-child{top:25px}
.s-menu-open .sn__burger i:first-child{transform:translateY(3.5px) rotate(45deg)}
.s-menu-open .sn__burger i:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* ---------- Handy-Menue ---------- */
.sm{position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;justify-content:center;padding:100px var(--s-gutter) 40px;
  background:rgba(7,8,11,.96);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--s-text);
  clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .8s var(--s-ease),visibility 0s .8s}
.s-menu-open .sm{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .8s var(--s-ease)}
.s-menu-open{overflow:hidden}
.sm a{color:inherit;text-decoration:none}
.sm nav{display:flex;flex-direction:column;gap:6px}
.sm nav a{display:flex;gap:14px;align-items:baseline;font-family:var(--s-display);font-size:clamp(40px,11vw,72px);line-height:1.05;letter-spacing:-.035em}
.sm nav a span,.sm__mono{font-family:var(--s-mono);font-size:12px;letter-spacing:.02em;text-transform:uppercase}
.sm nav a span{color:var(--s-violet-l)}
.sm__mono{margin:auto 0 0;color:var(--s-muted)}

/* ---------- Footer (gleich auf Startseite und Unterseiten) ---------- */
.sf{position:relative;z-index:2;background:var(--s-bg);color:var(--s-text);padding:clamp(72px,8vw,128px) var(--s-gutter) 30px;overflow:hidden;border-top:1px solid var(--s-line);font-family:"Inter",system-ui,sans-serif}
.sf::before{content:"";position:absolute;left:50%;top:-30%;width:min(1100px,120vw);height:520px;translate:-50% 0;pointer-events:none;background:radial-gradient(closest-side,rgba(145,70,232,.16),transparent)}
.sf a{color:inherit;text-decoration:none}
.sf__head{margin:0 0 16px;font-family:var(--s-mono);font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--s-muted)}
.sf__top{position:relative;display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px clamp(24px,3vw,48px);padding-bottom:clamp(48px,6vw,80px)}
.sf__logo{display:inline-flex;align-items:center;gap:12px;font-family:var(--s-display);font-size:24px;letter-spacing:-.02em;line-height:1}
.sf__logo img{width:34px;height:34px}
.sf__logo em{margin-left:5px;font-style:normal;color:var(--s-muted)}
.sf__claim{max-width:22ch;margin:22px 0 0;font-family:var(--s-display);font-size:clamp(24px,2.2vw,34px);line-height:1.1;letter-spacing:-.03em;color:#CFCAD9}
.sf__claim em{font-style:normal;color:var(--s-violet-l)}
.sf__col ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.sf__col a{display:inline-flex;align-items:center;gap:6px;font-size:15px;color:#CFCAD9;transition:color .3s}
.sf__col a:hover{color:var(--s-text)}
.sf__ext{width:14px;height:14px;opacity:.6}
.sf__info{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--s-line);border-bottom:1px solid var(--s-line)}
.sf__cell{padding:28px clamp(16px,2vw,32px) 30px 0}
.sf__cell+.sf__cell{padding-left:clamp(16px,2vw,32px);border-left:1px solid var(--s-line)}
.sf__big-link{display:inline-flex;align-items:center;gap:12px;font-family:var(--s-display);font-size:clamp(20px,1.9vw,28px);font-style:normal;line-height:1.25;letter-spacing:-.02em;transition:color .3s}
a.sf__big-link:hover{color:var(--s-violet-l)}
.sf__big-link svg{width:22px;height:22px;flex:none}
.sf__note{margin:8px 0 0;font-size:13.5px;color:var(--s-muted)}
.sf__social{display:flex;gap:10px;flex-wrap:wrap}
.sf__chip{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 18px 0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--s-line-2);font-size:15px;transition:background .3s,box-shadow .3s,color .3s}
.sf__chip svg{width:18px;height:18px}
.sf__chip:hover{background:var(--s-violet);box-shadow:inset 0 0 0 1px var(--s-violet);color:#fff}
.sf__wm{position:relative;font-family:var(--s-display);font-size:clamp(90px,23vw,380px);letter-spacing:-.07em;line-height:.8;text-align:center;padding:clamp(40px,5vw,72px) 0 30px;
  background:linear-gradient(180deg,var(--s-text),rgba(238,235,243,.08));-webkit-background-clip:text;background-clip:text;color:transparent}
.sf__wm em{margin-left:.12em;font-style:normal;-webkit-text-fill-color:transparent;background:linear-gradient(180deg,var(--s-violet-l),rgba(145,70,232,.05));-webkit-background-clip:text;background-clip:text}
.sf__row{position:relative;display:flex;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--s-line);color:var(--s-muted);
  font-family:var(--s-mono);font-size:12px;letter-spacing:.02em;text-transform:uppercase;line-height:1.55}
.sf__row a{transition:color .3s}
.sf__row a:hover{color:var(--s-text)}
@media (max-width:1000px){
  .sf__top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sf__brand{grid-column:1/-1}
}
@media (max-width:720px){
  .sf__info{grid-template-columns:minmax(0,1fr)}
  .sf__cell,.sf__cell+.sf__cell{padding:24px 0;border-left:0}
  .sf__cell+.sf__cell{border-top:1px solid var(--s-line)}
}
@media (max-width:520px){
  .sf__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:1100px){
  .sn__links{display:none}
  .sn__burger{display:block}
}
@media (max-width:820px){
  .sn__right>.sb:not(.sn__login),.sn__back{display:none}
}
