/* ===== mega menu + find ===== */
.topbar .wrap{position:relative}
@media(min-width:901px){.topbar .wrap{height:62px}.brand{font-size:1.16rem}.mbtn,.mlink{font-size:.94rem;padding:9px 13px}.mbtn::after{bottom:-11px}.findbtn{padding:8px 11px 8px 13px}.nav-cta{padding:8px 16px;font-size:.9rem}}
.mnav{display:flex;gap:4px;align-items:center;margin-left:28px;flex:1}
.mbtn,.mlink{border:0;background:transparent;font:500 .9rem var(--font);color:var(--ink-2);padding:8px 12px;border-radius:980px;cursor:pointer;transition:background .15s,color .15s;text-decoration:none}
.mbtn:hover,.mlink:hover,.mbtn[aria-expanded="true"]{background:var(--raise);color:var(--ink)}
.mbtn{position:relative}.mbtn::after{content:"";position:absolute;left:12px;right:12px;bottom:-12px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform .2s cubic-bezier(.3,0,.2,1)}
.mbtn[aria-expanded="true"]::after{transform:scaleX(1)}
.mright{display:flex;align-items:center;gap:10px}
.findbtn{display:inline-flex;align-items:center;gap:8px;border:0;background:var(--raise);color:var(--ink-2);font:500 .86rem var(--font);padding:7px 10px 7px 12px;border-radius:980px;cursor:pointer;transition:background .15s,color .15s}
.findbtn:hover{background:#E8E8ED;color:var(--ink)}
.findbtn kbd{font:600 .62rem var(--mono);color:var(--ink-3);background:#fff;border:1px solid var(--line);border-radius:6px;padding:2px 6px}
.navtoggle{display:none;width:40px;height:40px;border:0;background:transparent;cursor:pointer;padding:0;position:relative}
.navtoggle span{position:absolute;left:10px;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s cubic-bezier(.3,0,.2,1),opacity .2s,top .25s}
.navtoggle span:nth-child(1){top:13px}.navtoggle span:nth-child(2){top:19px}.navtoggle span:nth-child(3){top:25px}
.navtoggle[aria-expanded="true"] span:nth-child(1){top:19px;transform:rotate(45deg)}.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}.navtoggle[aria-expanded="true"] span:nth-child(3){top:19px;transform:rotate(-45deg)}
/* panels */
.topbar{z-index:50;position:sticky;top:0}
.mpanels{position:absolute;left:0;right:0;top:100%;z-index:55}
.mpanel{display:none;position:relative;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 24px 60px -30px rgba(0,0,0,.25)}
.mpanel.open{display:block;animation:mpin .2s cubic-bezier(.3,0,.2,1)}
@keyframes mpin{from{opacity:.35;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mpanel.open{animation:none}}
.mwrap{max-width:var(--maxw);margin:0 auto}
.mgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px;padding:30px 24px 34px;height:auto}
.mfeat{display:block;background:var(--raise);color:var(--ink);border-radius:20px;padding:22px 22px 20px;text-decoration:none;transition:transform .2s cubic-bezier(.3,0,.2,1),box-shadow .2s}
.mfeat:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.06)}
.mfeat .mf-eyebrow{display:block;font:600 .58rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.mfeat b{display:block;font:700 1.15rem var(--display);letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}
.mfeat p{font-size:.86rem;color:var(--ink-2);margin:0 0 12px;line-height:1.5}
.mfeat .go{font:600 .86rem var(--font);color:var(--accent)}
.mcol .mey{font:600 .6rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.mcol a{display:block;font:500 .92rem var(--font);color:var(--ink-2);padding:6px 0;text-decoration:none;transition:color .15s,transform .15s}
.mcol a:hover{color:var(--accent);transform:translateX(2px)}
/* drawer (mobile) */
.drawer{position:fixed;inset:60px 0 0 0;background:var(--surface);z-index:60;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s cubic-bezier(.3,0,.2,1),transform .22s cubic-bezier(.3,0,.2,1),visibility 0s .22s;overflow:auto;-webkit-overflow-scrolling:touch}
.drawer.open{opacity:1;visibility:visible;transform:none;transition:opacity .22s cubic-bezier(.3,0,.2,1),transform .22s cubic-bezier(.3,0,.2,1),visibility 0s}
.dinner{padding:14px 20px 40px}
.dfind{display:flex;align-items:center;gap:10px;width:100%;border:0;background:var(--raise);color:var(--ink-2);font:500 .95rem var(--font);padding:14px 16px;border-radius:16px;cursor:pointer;margin-bottom:10px}
.dgroup{border-top:1px solid var(--line)}
.dgroup summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font:600 1.05rem var(--font);padding:16px 4px;color:var(--ink)}
.dgroup summary::-webkit-details-marker{display:none}
.dgroup summary::after{content:"+";font:300 1.3rem var(--font);color:var(--ink-3);transition:transform .25s cubic-bezier(.3,0,.2,1)}
.dgroup[open] summary::after{transform:rotate(45deg);color:var(--accent)}
.dgroup a{display:block;font:500 .95rem var(--font);color:var(--ink-2);padding:9px 4px 9px 14px;text-decoration:none}
.dgroup a:active{color:var(--accent)}
.dcta{display:block;text-align:center;background:var(--accent);color:#fff;font:500 1rem var(--font);padding:14px;border-radius:980px;margin-top:18px;text-decoration:none}
/* find overlay */
.find{position:fixed;inset:0;background:rgba(29,29,31,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:70;opacity:0;visibility:hidden;transition:opacity .18s,visibility 0s .18s;display:flex;justify-content:center;align-items:flex-start;padding:min(14vh,120px) 16px 16px}
.find.open{opacity:1;visibility:visible;transition:opacity .18s,visibility 0s}
.finner{width:min(680px,100%);background:#fff;border-radius:22px;box-shadow:0 30px 80px -20px rgba(0,0,0,.35);overflow:hidden;transform:translateY(-6px) scale(.99);transition:transform .2s cubic-bezier(.3,0,.2,1)}
.find.open .finner{transform:none}
.fbox{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--ink-3)}
.fbox input{flex:1;border:0;outline:none;font:500 1.05rem var(--font);color:var(--ink);background:transparent;min-width:0}
.fbox input::placeholder{color:#A1A1A6}
.fclose{border:1px solid var(--line);background:#fff;font:600 .62rem var(--mono);color:var(--ink-3);border-radius:8px;padding:4px 8px;cursor:pointer}
.fres{max-height:52vh;overflow:auto}
.fres a{display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line);transition:background .12s}
.fres a:last-child{border-bottom:0}
.fres a.on,.fres a:hover{background:var(--raise)}
.fres .fk{flex:none;font:600 .56rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-tint);padding:4px 8px;border-radius:980px;min-width:58px;text-align:center}
.fres b{font:600 .95rem var(--font)}
.fres small{display:block;font:500 .8rem var(--font);color:var(--ink-3)}
.fres .fempty{padding:22px 16px;color:var(--ink-3);font-size:.9rem}
.fhint{display:flex;gap:16px;padding:10px 16px;font:500 .72rem var(--font);color:var(--ink-3);background:var(--raise)}
@media(max-width:900px){.mnav,.mpanels{display:none}.navtoggle{display:block}.findbtn span,.findbtn kbd{display:none}.findbtn{padding:8px}.nav-cta{display:none}}
@media(min-width:901px){.drawer{display:none}}

.topbar.scrolled{box-shadow:0 8px 24px -18px rgba(0,0,0,.25)}
.dlang{display:flex;gap:16px;padding:18px 2px 4px;margin-top:6px;border-top:1px solid #E5E5EA;font:500 .85rem var(--font,-apple-system,sans-serif)}
.dlang a{color:#6E6E73;text-decoration:none}
.dlang a.on{color:#1D1D1F;font-weight:700}
.flang{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:20px 0 4px;font:500 .84rem var(--font,-apple-system,sans-serif)}
.flang a{color:#6E6E73;text-decoration:none}
.flang a:hover{color:#1D1D1F}
.flang a.on{color:#1D1D1F;font-weight:700}
.flang .sep{color:#C7C7CC}
