/* ---------- menu button (shared with home page) ---------- */
.bm-open{display:flex;align-items:center;gap:10px;background:var(--bee);color:var(--ink);border:0;border-radius:999px;padding:6px 6px 6px 16px;font-family:var(--big);font-weight:800;font-size:14px;cursor:pointer;transition:transform .2s}
.bm-open:hover{transform:rotate(-3deg)}
.bm-open i{display:block;width:36px;height:36px;border-radius:50%;background:var(--ink);position:relative}
.bm-open i:before,.bm-open i:after{content:"";position:absolute;left:10px;right:10px;height:2.5px;background:var(--bee);border-radius:2px;transition:transform .3s}
.bm-open i:before{top:13px}.bm-open i:after{top:20px}
.bm-open:hover i:before{transform:translateX(3px)}
.bm-open:hover i:after{transform:translateX(-3px)}

/* ---------- menu overlay ---------- */
.bm{position:fixed;inset:0;z-index:1000;visibility:hidden;pointer-events:none}
.bm.open{visibility:visible;pointer-events:auto}
.bm-bg{position:absolute;inset:0;background:var(--bee);clip-path:circle(0 at calc(100% - 60px) 40px);transition:clip-path .6s cubic-bezier(.7,0,.2,1)}
.bm.open .bm-bg{clip-path:circle(150% at calc(100% - 60px) 40px)}
.bm-panel{position:absolute;inset:clamp(10px,2vw,24px);background:var(--ink);color:#fff;border-radius:32px;display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr auto;gap:20px;padding:clamp(24px,4vw,56px);opacity:0;transform:translateY(24px) scale(.98);transition:opacity .35s .2s,transform .5s .2s cubic-bezier(.2,.7,.2,1);overflow:auto}
.bm.open .bm-panel{opacity:1;transform:none}
.bm-close{position:absolute;right:clamp(16px,2.4vw,30px);top:clamp(16px,2.4vw,30px);width:54px;height:54px;border-radius:50%;border:2px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:transform .3s,background .3s}
.bm-close:hover{transform:rotate(90deg);background:var(--bee);color:var(--ink);border-color:var(--bee)}
.bm-list{list-style:none;margin:0;padding:0;align-self:center;counter-reset:bm}
.bm-list li{counter-increment:bm}
.bm-list a{display:flex;align-items:baseline;gap:18px;text-decoration:none;font-family:var(--big);font-weight:800;font-size:clamp(34px,5.4vw,78px);line-height:1.08;letter-spacing:-.02em;transition:color .25s,transform .35s cubic-bezier(.2,.7,.2,1)}
.bm-list a:before{content:"0" counter(bm);font-size:14px;letter-spacing:.1em;color:var(--bee);font-weight:700;transform:translateY(-1.4em)}
.bm-list a:hover,.bm-list a:focus-visible{color:var(--bee);transform:translateX(18px)}
.bm-list a .bm-tag{font-family:var(--ui);font-size:14px;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:0}
.bm-list li{opacity:0;transform:translateY(30px);transition:opacity .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
.bm.open .bm-list li{opacity:1;transform:none}
.bm-card{align-self:center;justify-self:center;position:relative;width:min(420px,100%);aspect-ratio:1/1.05;display:grid;place-items:center;text-decoration:none;color:var(--ink)}
.bm-card .hex{position:absolute;inset:0;background:var(--bee);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);border-radius:30px;transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.bm-card:hover .hex{transform:rotate(30deg) scale(1.04)}
.bm-card .in{position:relative;text-align:center;width:66%}
.bm-card svg{width:78%;margin:0 auto;overflow:visible}
.bm-card b{display:block;font-family:var(--big);font-weight:900;font-size:clamp(20px,2vw,28px);line-height:1.05;margin-top:6px}
.bm-card span{display:block;font-weight:800;font-size:14px;margin-top:6px}
.bm-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid rgba(255,255,255,.12);padding-top:22px}
.bm-pages{display:flex;flex-wrap:wrap;gap:10px}
.bm-pages a{border:2px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 16px;font-family:var(--big);font-weight:700;font-size:14px;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.bm-pages a:hover{background:#fff;color:var(--ink);border-color:#fff}
.bm-social{display:flex;gap:10px;align-items:center}
.bm-social a{height:48px;min-width:48px;border-radius:999px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;text-decoration:none;font-weight:800;font-size:14px;transition:background .2s,color .2s}
.bm-social a:hover{background:var(--bee);color:var(--ink)}
@media (max-width:860px){.bm-panel{grid-template-columns:1fr}.bm-card{width:min(260px,70%)}.bm-list a:before{display:none}}

/* keep the menu self-contained on any page */
.bm,.bm *{box-sizing:border-box}
.bm-panel{font-family:"Nunito",system-ui,sans-serif;line-height:1.4}
.bm a,.bm a:visited{color:#fff}
.bm-card,.bm-card:visited{color:#111014!important}
.bm-list a{white-space:nowrap}
.bm-list a .bm-tag{white-space:normal;max-width:10em;line-height:1.2}
.bm-pages a:hover{color:#111014!important}
.bm-social a:hover{color:#111014!important}
