/* Wassching — floating collapsable menu. Square corners, brass hairline, one soft depth. */
.menu-card{position:fixed;top:clamp(16px,3vh,28px);right:clamp(1.5rem,5vw,4rem);z-index:200;width:auto;background:var(--cream-paper);border:1px solid var(--brass-soft);box-shadow:var(--shadow-card);border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:300;overflow:hidden;transition:width var(--dur-base) var(--ease-weight),background var(--dur-base) var(--ease-weight),border-color var(--dur-base) var(--ease-weight),box-shadow var(--dur-base) var(--ease-weight)}
/* Transparent while resting at the top of the homepage; solidifies on scroll. */
.menu-card[data-transparent-top="true"][data-scrolled="false"]{background:transparent;border-color:transparent;box-shadow:none}
.menu-card[data-open="true"]{width:min(300px,calc(100vw - 2 * clamp(1.5rem,5vw,4rem)))}
.menu-head{display:flex;align-items:center;gap:14px;padding:11px 14px}
.menu-mark{display:flex;flex:none}
.menu-mark img{display:block;width:28px;height:28px}
.menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;background:transparent;border:none;cursor:pointer;color:var(--charcoal);font-family:var(--font-body);padding:4px 2px}
.menu-card[data-open="true"] .menu-toggle .lbl{opacity:0;width:0;overflow:hidden}
.menu-toggle .lbl{transition:opacity var(--dur-fast),width var(--dur-fast)}
.menu-toggle .lbl{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-muted);transition:color var(--dur-fast)}
.menu-toggle:hover .lbl{color:var(--charcoal)}
.menu-burger{display:flex;flex-direction:column;gap:5px}
.menu-burger span{display:block;width:22px;height:1.5px;background:var(--charcoal);transition:transform var(--dur-fast) var(--ease-weight),opacity var(--dur-fast)}
.menu-card[data-open="true"] .menu-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-card[data-open="true"] .menu-burger span:nth-child(2){opacity:0}
.menu-card[data-open="true"] .menu-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.menu-panel{max-height:0;opacity:0;overflow:hidden;transition:max-height var(--dur-base) var(--ease-weight),opacity var(--dur-fast) var(--ease-weight)}
.menu-card[data-open="true"] .menu-panel{max-height:min(560px,calc(100svh - 90px));opacity:1;overflow-y:auto}
.menu-panel-inner{padding:2px 14px 14px}
.menu-nav{display:flex;flex-direction:column}
.menu-link{position:relative;display:flex;align-items:baseline;gap:14px;padding:11px 6px 11px 14px;color:var(--charcoal);text-decoration:none;font-family:var(--font-display);font-size:20px;line-height:1.05;transition:color var(--dur-fast) var(--ease-weight),transform var(--dur-base) var(--ease-weight)}
.menu-link + .menu-link{border-top:1px solid var(--line-on-cream)}
.menu-link::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:0;height:0;background:var(--royal-orange);transition:width var(--dur-base) var(--ease-weight),height var(--dur-base) var(--ease-weight)}
.menu-link .num{font-family:var(--font-body);color:var(--royal-orange);font-size:11px;letter-spacing:0.1em;font-variant-numeric:tabular-nums;flex:none;width:1.6em;transition:opacity var(--dur-fast)}
.menu-link:hover{color:var(--steel-blue);transform:translateX(5px)}
.menu-link:hover::before{width:2px;height:64%}
.menu-link[aria-current="page"]{color:var(--steel-blue)}
.menu-link[aria-current="page"]::before{width:2px;height:64%;background:var(--brass-soft)}
.menu-divider{height:1px;background:var(--brass-soft);margin:12px 6px}
.menu-sub{display:flex;flex-direction:column;padding:6px 0 4px 14px;margin-left:calc(1.6em + 14px);border-left:1px solid var(--line-on-cream)}
.menu-sublink{position:relative;padding:7px 6px;color:var(--text-muted);text-decoration:none;font-family:var(--font-body);font-weight:300;font-size:14px;letter-spacing:0.01em;transition:color var(--dur-fast) var(--ease-weight),transform var(--dur-base) var(--ease-weight)}
.menu-sublink:hover{color:var(--steel-blue);transform:translateX(4px)}
.menu-sublink[aria-current="true"]{color:var(--steel-blue)}
.menu-cta{display:block;text-align:center;border:1px solid var(--royal-orange);color:var(--charcoal);text-decoration:none;padding:11px 12px;border-radius:var(--radius-sm);font-size:13px;letter-spacing:0.04em;margin:0 6px;transition:background var(--dur-fast) var(--ease-weight)}
.menu-cta:hover{background:var(--royal-orange)}
.menu-foot{display:flex;align-items:center;justify-content:space-between;margin:14px 6px 2px}
.menu-lang{display:inline-flex;gap:6px;align-items:center;font-size:11px;letter-spacing:0.14em;color:var(--text-muted)}
.menu-lang button{background:transparent;border:none;cursor:pointer;font-family:var(--font-body);font-size:11px;letter-spacing:0.14em;color:var(--text-muted);padding:2px;transition:color var(--dur-fast)}
.menu-lang button.active{color:var(--royal-orange)}
.menu-close{background:transparent;border:none;cursor:pointer;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-body);padding:2px;transition:color var(--dur-fast)}
.menu-close:hover{color:var(--charcoal)}
@media (prefers-reduced-motion: reduce){.menu-card,.menu-panel,.menu-burger span{transition:none}}
@media (max-width:600px){
.menu-toggle{padding:11px 2px;min-height:44px}
.menu-close{padding:11px 6px;min-height:44px}
.menu-lang button{padding:11px 8px;min-height:44px}
.menu-link{padding-top:14px;padding-bottom:14px}
.menu-sublink{padding-top:11px;padding-bottom:11px}
.menu-card{top:12px;right:12px}
.menu-head{padding:8px 10px;gap:10px}
.menu-mark img{width:22px;height:22px}
.menu-toggle .lbl{font-size:10px}
.menu-burger{gap:4px}
.menu-burger span{width:18px}
.menu-card[data-open="true"]{width:min(260px,calc(100vw - 24px))}
.menu-link{font-size:18px}
}
