/* ─── Off-Canvas-Menü — gilt für alle Seiten ─────────────────────
   Lag früher in jeder Seite einzeln. Die Startseite hatte dabei noch
   Regeln vom entfernten Quicklinks-Menü, weshalb das Untermenü dort
   auf dem Desktop anders aufgebaut war als überall sonst. */

.menu-overlay{position:fixed;inset:0;background:rgba(20,30,30,.96);backdrop-filter:blur(16px);
  z-index:300;opacity:0;pointer-events:none;transition:opacity .4s ease;overflow-y:auto}
.menu-overlay.open{opacity:1;pointer-events:auto}
.menu-inner{min-height:100%;display:flex;flex-direction:column;padding:32px 56px;color:#fff;
  max-width:1480px;margin:0 auto}
.menu-top{display:flex;justify-content:space-between;align-items:center;height:88px}
.menu-logo img{height:62px;width:auto;filter:brightness(0) invert(1) opacity(.78)}
.menu-close{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);
  background:transparent;display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .25s,border-color .25s}
.menu-close:hover{background:rgba(255,255,255,.1);border-color:#fff}
.menu-close svg{width:16px;height:16px;stroke:#fff;stroke-width:1.5;fill:none;stroke-linecap:round}

.menu-nav{margin:auto 0;display:flex;flex-direction:column;gap:18px;align-items:flex-start;width:100%}
.menu-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;position:relative}
.menu-nav a, .menu-toggle{font-family:var(--serif);font-size:clamp(40px,5vw,68px);font-weight:400;
  color:#fff;line-height:1.05;letter-spacing:-.005em;transition:color .2s,transform .25s;
  display:inline-flex;align-items:center;gap:18px;background:none;border:0;cursor:pointer;padding:0}
.menu-nav a em, .menu-toggle em{font-style:italic;color:var(--green-light)}
.menu-nav a:hover, .menu-toggle:hover{color:var(--green-light);transform:translateX(8px)}
.menu-toggle .chevron{display:inline-flex;width:22px;height:22px;font-size:0;transition:transform .35s ease}
.menu-toggle .chevron svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.menu-toggle[aria-expanded="true"] .chevron{transform:rotate(180deg)}

.menu-submenu{display:flex;flex-direction:column;gap:0;max-height:0;overflow:hidden;opacity:0;
  transition:max-height .45s ease,opacity .35s ease,margin .3s ease;width:100%;margin:0;padding-left:32px}
.menu-submenu.open{max-height:1200px;opacity:1;margin-top:14px;margin-bottom:8px}
.menu-submenu-list{display:flex;flex-direction:column}
.menu-submenu-list a{font-family:var(--sans);font-size:clamp(15px,1.4vw,18px);font-weight:300;
  color:rgba(255,255,255,.78);letter-spacing:.04em;display:flex;align-items:center;gap:14px;
  padding:8px 0;line-height:1.4;text-transform:none;transform:none}
.menu-submenu-list a::before{content:"";display:inline-block;width:24px;height:1px;
  background:rgba(255,255,255,.5);flex-shrink:0;transition:width .2s,background .2s}
.menu-submenu-list a:hover{color:var(--green-light);transform:translateX(4px)}
.menu-submenu-list a:hover::before{width:36px;background:var(--green-light)}

.menu-bottom{display:flex;justify-content:space-between;align-items:flex-end;font-size:12.5px;
  color:rgba(255,255,255,.6);letter-spacing:.1em;flex-wrap:wrap;gap:14px;
  padding-top:32px;margin-top:32px;border-top:1px solid rgba(255,255,255,.1)}
.menu-bottom strong{font-weight:500;color:#fff}
.menu-legal{display:flex;gap:22px;flex-wrap:wrap}
.menu-legal a{font-family:var(--sans);font-size:12.5px;font-weight:400;color:rgba(255,255,255,.7);
  letter-spacing:.05em;transition:color .2s;text-transform:none}
.menu-legal a:hover{color:#fff}

@media (max-width:1024px){ .menu-inner{padding:32px 24px} }
@media (max-width:600px){
  .menu-inner{padding:24px 20px}
  .menu-nav a, .menu-toggle{font-size:32px;gap:14px}
  .menu-submenu-list a{font-size:15px}
}
