/* Einheitlicher Header, Navigation und Footer für jede Seite. */
site-header,site-footer,site-nav{display:block}
site-header header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,229,225,.8)}
site-header .nav-shell{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
site-header .brand,site-footer .brand{display:flex;align-items:center;gap:12px;min-width:max-content}
site-header .brand img,site-footer .brand img{width:46px;height:46px;object-fit:contain}
site-header .brand strong,site-footer .brand strong{display:block;font-family:Manrope,"DM Sans",sans-serif;font-size:1rem;line-height:1.15}
site-header .brand span,site-footer .brand span{display:block;color:var(--pine);font-size:.72rem;font-weight:700;margin-top:3px}
site-header site-nav{margin-left:auto}
site-header nav ul{display:flex;align-items:center;gap:30px;list-style:none;padding:0;margin:0}
site-header nav a{position:relative;display:block;color:var(--ink);font-weight:700;font-size:.9rem}
site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--red);transition:right .2s}
site-header nav a:hover::after,site-header nav a.active::after{right:0}
site-header .nav-call{display:flex;align-items:center;gap:9px;background:var(--red);color:#fff;padding:11px 16px;border-radius:12px;font-size:.88rem;font-weight:800}
site-header .nav-call:hover{background:var(--pine-dark,var(--dark))}
site-header .menu-toggle{display:none;place-items:center;border:0;background:var(--sand);width:46px;height:46px;border-radius:12px;color:var(--ink);cursor:pointer}
site-header .icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
site-footer footer{background:#101a18;color:#aeb9b6;padding:64px 0 24px}
site-footer .footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr 1fr;gap:48px}
site-footer .footer-brand{margin-bottom:18px}
site-footer .footer-brand strong{color:#fff}
site-footer .footer-brand span{color:#91cfbb}
site-footer .footer-copy{margin:0;color:#aeb9b6;font-size:.88rem;max-width:330px}
site-footer .footer-title{color:#fff;font-family:Manrope,"DM Sans",sans-serif;font-size:.9rem;font-weight:800;margin:0 0 18px}
site-footer .footer-links{list-style:none;margin:0;padding:0;display:grid;gap:10px}
site-footer .footer-links a{color:#aeb9b6;font-size:.87rem}
site-footer .footer-links a:hover{color:#fff}
site-footer .footer-hours{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.82rem}
site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);font-size:.76rem}
site-footer .legal{display:flex;flex-wrap:wrap;gap:18px}
site-footer .legal a{color:#aeb9b6}
site-footer .legal a:hover{color:#fff}
@media(max-width:980px){site-header .nav-call{display:none}site-footer .footer-grid{grid-template-columns:1.3fr 1fr 1fr}site-footer .footer-grid>div:last-child{grid-column:2/4}}
@media(max-width:760px){site-header .nav-shell{height:72px}site-header .brand img{width:40px;height:40px}site-header nav{display:none;position:fixed;inset:72px 0 0;z-index:99;background:rgba(255,255,255,.98);padding:32px 24px}site-header nav.open,site-header nav.active{display:block}site-header nav ul{align-items:stretch;flex-direction:column;gap:0}site-header nav a{padding:15px 2px;border-bottom:1px solid var(--line);font-size:1.05rem}site-header .menu-toggle{display:grid}site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:38px 26px}site-footer .footer-grid>div:first-child{grid-column:1/-1}site-footer .footer-grid>div:last-child{grid-column:auto}site-footer .footer-bottom{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){site-header .brand strong{font-size:.9rem}site-header .brand span{font-size:.64rem}site-footer .footer-grid{grid-template-columns:1fr}site-footer .footer-grid>div:first-child{grid-column:auto}}
