/* MENU_C_1148 (Rowan 11:48 via Relay: "Yes, put the new menu live on every page."). Port of the Designer's Option C v2
   (menu_redesign_01_designer/option_c_v2.html md5 c6094f47; css/base.css header part + css/option_c_v2.css, both unchanged in
   the Designer's folder). Replaces menu_v2_4/menu_v2.css on menu pages. Page-level rules (preview bar, marquee, body, .skip)
   are NOT ported: the live site keeps its own. Design tokens are scoped to the header so they never override live tokens;
   --font / --font-d / --bar / --nav come from the live site. The header keeps class "site-header" (banner.js, chooser.js
   measure it), so the live .site-header surface is neutralised here and .mh::before draws the glass instead.
   Rollback: repoint the pages to the previous HTML (backup) – this file is new and versioned. */
.mh,.mh-scrim{--ink:#14204A;--navy:#253679;--blue:#124A92;--muted:#4A5578;--line:#D6DCE8;--mist:#DCEEF9;--tint:#ECEFF8;
 --cta:#BF5508;--cta-h:#A64508;--hdr:72px;--ease:cubic-bezier(.2,.7,.2,1);--t:.18s;
 --font-m:var(--font,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif)}
.site-header.mh{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:0!important;font-family:var(--font-m)}
.mh *,.mh *::before,.mh *::after{box-sizing:border-box}
/* carried over from menu_v2_4 (not menu-specific but lived there) */
a.skip:focus{min-height:44px;display:inline-flex;align-items:center}
.nb-bar .nb-sr:focus-visible{position:static;width:auto;height:44px;min-width:44px;clip:auto;overflow:visible;padding:0 12px}
/* ---------- header mechanics ---------- */
.mh{position:sticky;top:var(--bar,32px);z-index:50}
.mh-wrap{max-width:1280px;margin:0 auto;height:var(--hdr);display:flex;align-items:center;gap:12px;padding:0 24px}
.mh-brand{display:inline-flex;align-items:center;min-height:44px;flex:none;border-radius:8px}
.mh-brand img{display:block;height:40px;width:auto}
.mh-nav{display:flex;align-items:center;flex:1;min-width:0}
.mh-list{list-style:none;margin:0 auto;padding:0;display:flex;align-items:center}
.mh-item{position:relative}
.mh-top{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 12px;font:600 15px/1 var(--font-m);letter-spacing:.005em;color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer;white-space:nowrap}
.mh-split{display:flex;align-items:center}
.mh-split>.mh-top{padding-right:2px}
.mh-chev{display:inline-grid;place-items:center;width:32px;height:44px;padding:0;border:0;background:none;color:var(--navy);cursor:pointer}
.mh-ic{flex:none;transition:transform var(--t) var(--ease)}
.mh-item.open .mh-ic{transform:rotate(180deg)}
.mh-sub{list-style:none;margin:0;padding:0}
.mh-sub a{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--ink);text-decoration:none}
.mh-t{font:600 15px/1.25 var(--font-m)}
.mh-d{display:block;font:400 13px/1.35 var(--font-m);color:var(--muted);margin-top:2px}
.mh-ph{display:none}
.mh-actions{display:flex;align-items:center;gap:6px;flex:none}
.mh-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;background:var(--cta);color:#fff;font:700 15px/1 var(--font-m);text-decoration:none;white-space:nowrap;transition:background-color var(--t),box-shadow var(--t),transform var(--t)}
.mh-cta:hover{background:var(--cta-h)}
.mh-login{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:var(--muted);font:500 15px/1 var(--font-m);text-decoration:none;white-space:nowrap;border-radius:999px}
.mh-login:hover{color:var(--ink)}
.mh a:focus-visible,.mh button:focus-visible{outline:3px solid #253679;outline-offset:2px;border-radius:10px}
.mh .mh-cta:focus-visible{outline-offset:3px;border-radius:999px}
.mh-menu{display:none}
.mh-scrim{display:none}
/* hide-until-open (desktop dropdowns) */
@media (min-width:1021px){
 .mh-panel{position:absolute;top:100%;left:0;z-index:60;padding-top:8px;opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none;
  transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility 0s linear var(--t)}
 .mh-item.open>.mh-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility 0s}
 .mh-item.esc>.mh-panel{transition:none}
}
@media (min-width:1021px) and (max-width:1199px){.mh-top{padding:0 8px}.mh-split>.mh-top{padding-right:0}.mh-chev{width:28px}.mh-cta{padding:0 16px}.mh-login{padding:0 8px}.mh-wrap{padding:0 16px;gap:8px}}
@media (pointer:coarse){.mh-chev{width:44px}}
/* ---------- phone / tablet sheet (<=1020px) ---------- */
@media (max-width:1020px){
 .mh,.mh-scrim{--hdr:64px}
 .mh-wrap{padding:0 16px}
 .mh-brand img{height:36px}
 .mh-menu{display:inline-flex;align-items:center;gap:10px;margin-left:auto;min-height:44px;min-width:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:600 16px/1 var(--font-m);cursor:pointer}
 .mh-burger{position:relative;width:18px;height:12px;display:inline-block}
 .mh-burger i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform var(--t) var(--ease),opacity var(--t)}
 .mh-burger i:nth-child(1){top:0}.mh-burger i:nth-child(2){top:5px}.mh-burger i:nth-child(3){top:10px}
 .mh-menu[aria-expanded="true"] .mh-burger i:nth-child(1){transform:translateY(5px) rotate(45deg)}
 .mh-menu[aria-expanded="true"] .mh-burger i:nth-child(2){opacity:0}
 .mh-menu[aria-expanded="true"] .mh-burger i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
 .mh-nav{position:fixed;left:0;right:0;top:var(--mh-top,124px);bottom:0;z-index:49;display:block;overflow-y:auto;overscroll-behavior:contain;background:#fff;padding:8px 20px calc(28px + env(safe-area-inset-bottom));
  visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s linear .22s}
 body.mh-open .mh-nav{visibility:visible;opacity:1;transform:none;transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s}
 html.mh-lock{overflow:hidden}
 .mh-list{display:block;margin:0}
 .mh-item{border-bottom:1px solid #EEF1F6}
 .mh-top{width:100%;height:auto;min-height:56px;padding:0 4px;font-size:19px}
 .mh-split>.mh-top{flex:1;padding-right:4px}
 .mh-btn{justify-content:space-between}
 .mh-chev,.mh-btn .mh-ic{color:var(--navy)}
 .mh-chev{width:48px;height:48px;border-radius:12px}
 .mh-btn .mh-ic{width:14px;height:14px;margin-right:17px}
 .mh-chev .mh-ic{width:14px;height:14px}
 .mh-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s var(--ease)}
 .mh-pin{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s linear .26s}
 .mh-item.open>.mh-panel{grid-template-rows:1fr}
 .mh-item.open>.mh-panel>.mh-pin{visibility:visible;transition:none}
 .mh-sub{padding:0 0 12px}
 .mh-sub a{min-height:48px;padding:8px 12px;border-radius:12px}
 .mh-t{font-size:17px;font-weight:500}
 .mh-actions{flex-direction:column;align-items:stretch;gap:8px;margin-top:24px}
 .mh-cta{min-height:52px;font-size:16px}
 .mh-login{justify-content:center;min-height:48px;font-size:16px}
}
@media (max-width:374px){.mh-t{font-size:16px}.mh-top{font-size:18px}}
@media (prefers-reduced-motion:reduce){.mh *,.mh-nav,.mh-panel,.mh-pin,.mh-ic,.mh-burger i{transition:none!important;animation:none!important}}
/* same fix as live MENUFIX_v14: html scroll-padding-top makes Chrome scroll the page when a control inside the sticky
   bar/header gets focus. A negative scroll-margin of the same size cancels it for header controls only. */
.mh a,.mh button{scroll-margin-top:calc(-1 * (var(--bar,32px) + var(--nav,72px)))}

/* (Designer) MENU-REDESIGN-01 · Option C v2 (Rowan 11:25): Option B's pill track on top + Option C's mega panels.
   Sources: liquid-glass-tabs_pure.html (pill track), dynamic-island-nav_pure.html (mega surface). Loaded after css/base.css.
   Glass rule: every text colour is >=7:1 even in the worst case (glass alpha over pure black). Browsers without
   backdrop-filter get solid white surfaces (@supports not ...). Teddy heads/photos are decorative (aria-hidden, alt=""). */
:root{--txt2:#3B4562;--glass-hdr:rgba(255,255,255,.92);--glass-pnl:rgba(255,255,255,.95);--soon-bg:#F3F5F9}
.mh::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--glass-hdr);border-bottom:1px solid rgba(214,220,232,.7);transition:box-shadow var(--t)}
.mh.is-scrolled::before{box-shadow:0 8px 28px -14px rgba(20,32,74,.25)}
.mh-login{color:var(--txt2)}
.mh-d{color:var(--txt2)}
/* ---------- desktop: glossy pill track ---------- */
@media (min-width:1021px){
 .mh::before{-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px)}
 .mh-list{gap:2px;padding:4px;border-radius:999px;background:linear-gradient(180deg,#F1F4FA 0%,#E6EAF4 100%);
  border:1px solid rgba(37,54,121,.09);box-shadow:inset 0 1px 2px rgba(20,32,74,.08),inset 0 -1px 0 rgba(255,255,255,.8),0 1px 0 rgba(255,255,255,.9)}
 .mh-item{position:static}
 .mh-item>.mh-top,.mh-item>.mh-split{position:relative;border-radius:999px;transition:background-color var(--t),box-shadow var(--t)}
 .mh-item>.mh-top{padding:0 16px}
 .mh-split>.mh-top{padding:0 2px 0 16px}
 .mh-split .mh-chev{width:32px;border-radius:999px;margin-right:4px}
 .mh-btn{padding-right:12px}
 .mh-item:hover>.mh-top,.mh-item:hover>.mh-split,.mh-item.open>.mh-top,.mh-item.open>.mh-split{background:rgba(255,255,255,.75)}
 /* current page: glossy raised oval */
 .mh-item.is-current>.mh-top,.mh-item.is-current>.mh-split{color:var(--navy);background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 45%,#F2F5FB 100%);
  box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(37,54,121,.06),0 0 0 1px rgba(37,54,121,.08),0 2px 4px rgba(20,32,74,.08),0 8px 18px -8px rgba(20,32,74,.32)}
 .mh-item.is-current>.mh-top::before{content:"";position:absolute;left:14px;right:14px;top:3px;height:42%;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,0));pointer-events:none}
 .mh a:focus-visible,.mh button:focus-visible{border-radius:999px}
 .mh-login{border:1px solid var(--line);margin-left:4px;padding:0 16px;color:var(--ink)}
 .mh-login:hover{background:#F6F8FC}
 .mh-cta{padding:0 22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 18px -8px rgba(191,85,8,.6)}
 /* mega panel (from C), near-opaque glass */
 .mh-wrap{position:relative}
 .mh-panel{left:24px;right:24px;padding-top:8px}
 .mh-pin{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:24px;border-radius:24px;background:var(--glass-pnl);
  -webkit-backdrop-filter:saturate(1.6) blur(20px);backdrop-filter:saturate(1.6) blur(20px);
  border:1px solid rgba(214,220,232,.9);box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(20,32,74,.05),0 30px 60px -24px rgba(20,32,74,.32)}
 .mh-ph{display:block;margin:0;padding:8px 0 0 4px;font:700 22px/1.15 var(--font-d,var(--font-m));letter-spacing:-.01em;color:var(--navy)}
 .mh-ph::after{content:"";display:block;width:28px;height:3px;border-radius:3px;background:var(--cta);margin-top:12px}
 .mh-sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .mh-sub a,.mh-nolink{display:flex;align-items:flex-start;gap:14px;min-height:44px;padding:12px 14px;border-radius:16px;border:1px solid transparent;transition:background-color var(--t),border-color var(--t)}
 .mh-sub a:hover,.mh-sub a:focus-visible{background:#F6F8FC;border-color:#E6EAF2}
 .mh-sub a:hover .mh-t,.mh-sub a:focus-visible .mh-t{color:var(--navy)}
 .mh-tx{padding-top:3px}
}
@media (min-width:1200px){
 .mh-sub[data-n="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}
 .mh-sub[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
 .mh-sub[data-n="4"] a{flex-direction:column}
 .mh-sub[data-n="4"] .mh-tx{padding-top:0}
}
@media (min-width:1021px) and (max-width:1199px){
 .mh-list{gap:0}.mh-item>.mh-top{padding:0 10px}.mh-split>.mh-top{padding:0 0 0 10px}.mh-split .mh-chev{width:26px;margin-right:2px}
 .mh-btn{padding-right:8px}.mh-top{font-size:14.5px}.mh-cta{padding:0 14px;font-size:14.5px}.mh-login{padding:0 12px;font-size:14.5px;margin-left:2px}.mh-brand img{height:34px}
}
@media (min-width:1021px) and (max-width:1099px){.mh-login{border:0;padding:0 8px}.mh-wrap{gap:6px;padding:0 12px}.mh-item>.mh-top{padding:0 9px}}
/* no backdrop-filter support (either spelling): solid surfaces, so contrast never depends on what is behind */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 :root{--glass-hdr:#fff;--glass-pnl:#fff}
}
/* ---------- icons ---------- */
.mh-ico{flex:none;position:relative;display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#F1F4FA;overflow:visible}
.mh-ico img{display:block;width:40px;height:40px}
.mh-ted{background:color-mix(in srgb,var(--ic) 9%,#fff)}
.mh-prop{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--ic);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--ic) 35%,#fff),0 2px 4px rgba(20,32,74,.12)}
.mh-face{background:#fff;border-radius:50%;box-shadow:0 0 0 1px #E3E8F1}
.mh-face img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.mh-logo{background:#fff;box-shadow:0 0 0 1px #E3E8F1}
.mh-logo img{width:38px;height:38px}
/* coming soon: greyed but readable (>=7:1) and still focusable links */
.is-soon .mh-t{color:var(--txt2);font-weight:500}
.mh-soon{display:inline-block;margin-left:2px;padding:1px 8px;border-radius:999px;background:#E6E9F0;color:var(--txt2);font:600 11.5px/1.5 var(--font-m);letter-spacing:.02em;vertical-align:1px}
.is-soon a,.is-soon .mh-nolink{background:var(--soon-bg);border:1px dashed #C9D0DC!important}
.is-soon .mh-ico{background:#EAEDF2}
.is-soon .mh-ico img{filter:grayscale(1);opacity:.6}
.is-soon .mh-prop{color:#5A6482;box-shadow:0 0 0 1.5px #D3D8E2}
.mh-nolink{color:var(--ink);cursor:default}
/* ---------- phone / tablet: C sheet with cards ---------- */
@media (max-width:1020px){
 .mh::before{background:#fff}
 .mh-nav{background:linear-gradient(180deg,#fff 0,#F7F9FC 100%)}
 .mh-item.is-current>.mh-top{color:var(--navy);background:linear-gradient(180deg,#fff,#F2F5FB);border-radius:999px;box-shadow:0 0 0 1px rgba(37,54,121,.1),0 4px 12px -6px rgba(20,32,74,.3);margin:6px 0;padding:0 18px}
 .mh-item.is-current{border-bottom:0}
 .mh-sub{display:grid;gap:6px;padding:0 0 14px}
 .mh-sub a,.mh-nolink{display:flex;align-items:center;gap:12px;padding:8px;background:#fff;border:1px solid #E9EDF4;border-radius:16px;min-height:48px}
 .mh-ico{width:44px;height:44px;border-radius:12px}
 .mh-ico img{width:36px;height:36px}
 .mh-face img{width:44px;height:44px}
 .mh-logo img{width:34px;height:34px}
 .mh-prop{width:20px;height:20px}
 .mh-d{font-size:13px}
 .mh-t{font-weight:600}
 .mh-soon{font-size:11px}
}

/* MENU_C_1148 site fit: live css gives every header/ul/a generic rules (site.css main,header{position:relative} is beaten by .mh);
   these keep the ported menu identical to the mockup on the live pages. */
.mh .mh-list,.mh .mh-sub{list-style:none}
.mh .mh-list>li,.mh .mh-sub>li{margin:0;padding:0}
.mh .mh-brand img{max-width:none}
.mh .mh-sub a,.mh .mh-top{text-decoration:none}
.mh p.mh-ph{max-width:none}
html.mh-lock body{overflow:hidden}
@media (max-width:1020px){.mh .mh-scrim,.mh-scrim{display:none}}