.container{width:min(calc(100% - 36px),var(--max));margin-inline:auto}
.section{padding:68px 0}
.section-tight{padding:44px 0}
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;min-width:180px;flex:0 0 180px}
.brand-mark{width:39px;height:39px;display:grid;place-items:center;flex:0 0 39px;color:#fff;background:#347da8;border-radius:12px;box-shadow:0 7px 16px rgba(49,95,125,.18)}
.brand-title{display:block;font-weight:600;line-height:1.1}
.brand-sub{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.2}

.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:1 1 auto;min-width:0;flex-wrap:nowrap;white-space:nowrap}
.nav>a,.nav-group-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 11px;color:#34323a;background:transparent;border:0;border-radius:9px;font:inherit;font-size:13px;line-height:1.15;text-decoration:none;white-space:nowrap;cursor:pointer}
.nav>a:hover,.nav>a[aria-current=page],.nav-group-toggle:hover,.nav-group.active>.nav-group-toggle,.nav-group.open>.nav-group-toggle{background:#f0f4f6}
.nav-group{position:relative;display:flex;align-items:center}
.nav-chevron{margin-left:6px;font-size:11px;transition:transform .18s ease}
.nav-group.open .nav-chevron{transform:rotate(180deg)}
.nav-submenu{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:1100;min-width:210px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);white-space:normal}
.nav-group.open>.nav-submenu{display:grid;gap:2px}
.nav-submenu a{display:flex;align-items:center;min-height:38px;padding:9px 11px;color:#34323a;text-decoration:none;border-radius:8px;font-size:13px;line-height:1.25}
.nav-submenu a:hover,.nav-submenu a[aria-current=page]{background:#f0f4f6}
.menu-toggle{display:none;padding:9px 12px;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer}

.site-footer{margin-top:70px;color:#55525b;background:#fff;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:45px 0 30px}
.footer-grid h3{color:#2a282f;font-size:15px;font-weight:600}
.footer-grid p,.footer-grid a{font-size:13px}
.footer-grid a{color:#55525b;text-decoration:none}
.footer-grid a:hover{text-decoration:underline}
.footer-bottom{padding:15px 0 24px;color:#8a8790;border-top:1px solid var(--line);font-size:12px}

@media(max-width:1080px){
  .menu-toggle{display:inline-flex}
  .nav{display:none;position:absolute;top:70px;left:18px;right:18px;align-items:stretch;flex-direction:column;gap:3px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);white-space:normal;max-height:calc(100vh - 92px);overflow:auto}
  .nav.open{display:flex}
  .nav>a,.nav-group-toggle{justify-content:flex-start;width:100%;min-height:42px;padding:10px 12px}
  .nav-group{display:block;width:100%}
  .nav-group-toggle{justify-content:space-between}
  .nav-submenu{position:static;min-width:0;margin:3px 0 6px 12px;padding:5px 0 5px 10px;background:#f8fafb;border:0;border-left:2px solid var(--line);border-radius:0;box-shadow:none}
  .nav-group.open>.nav-submenu{display:grid}
  .nav-submenu a{min-height:39px;padding:9px 11px}
}

@media(max-width:920px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:720px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:22px}
  .brand-sub{display:none}
  .brand{min-width:0;flex:0 1 auto}
  .section{padding:50px 0}
}

@media(prefers-reduced-motion:reduce){
  .nav-chevron{transition:none}
}


/* Header-Fix: Markenbereich darf den Home-Link nicht überdecken */
.header-inner{overflow:visible}
.brand{
  width:180px;
  max-width:180px;
  overflow:hidden;
  position:relative;
  z-index:1;
}
.brand>span:last-child{min-width:0;overflow:hidden}
.brand-title,.brand-sub{overflow:hidden;text-overflow:ellipsis}
.nav{position:relative;z-index:2}

/* Bei knapper Breite früher auf das mobile Menü wechseln. */
@media(max-width:1240px){
  .menu-toggle{display:inline-flex}
  .nav{display:none;position:absolute;top:70px;left:18px;right:18px;align-items:stretch;flex-direction:column;gap:3px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);white-space:normal;max-height:calc(100vh - 92px);overflow:auto}
  .nav.open{display:flex}
  .nav>a,.nav-group-toggle{justify-content:flex-start;width:100%;min-height:42px;padding:10px 12px}
  .nav-group{display:block;width:100%}
  .nav-group-toggle{justify-content:space-between}
  .nav-submenu{position:static;min-width:0;margin:3px 0 6px 12px;padding:5px 0 5px 10px;background:#f8fafb;border:0;border-left:2px solid var(--line);border-radius:0;box-shadow:none}
  .nav-group.open>.nav-submenu{display:grid}
  .nav-submenu a{min-height:39px;padding:9px 11px}
}
