/* ============================================================
   CQ MEGA-MENU v4  (fleet standard, light-first, Jasper panels)
   Ships to sites as cq-menu.css. One component fleet-wide:
   only the DATA (window.CQ_MENU) and --cqm-accent differ.
   Markup is rendered by cq-menu.js into <nav id="cqMega">.
   v3 (unchanged in v4): 36px dark utility strip, 65px bar
   (sites may pin 72px), 48px logo, text+chevron top links,
   active-page underline, solid pill CTA, mobile drawer.
   v4 (Jasper.ai panel restyle — capture in _jasper/):
   - square white panel card, radius 0, no shadow, padding 24,
     floating 12px below the bar over a 60% black page veil
   - serif display column titles (Instrument Serif) + hairline
     #f2f2f3 column dividers — gradient col headers removed
   - flush link rows: 16/12 padding, 450 label + right chevron;
     hover = accent-10% tint fill + 12px content indent +
     chevron scale 1.4 (~150ms)
   - feature -> left spotlight rail (~320px): media, eyebrow
     chip, serif headline, sub, mono underlined text-CTA
   - top-nav hover = soft accent-tint pill (.3s fade);
     CTA hover darkens to accentInk
   - open animation 180ms fade + 8px drop (PRM: instant)
   - built-in minmax(0,1fr) columns + 700 top items (absorbs
     the former per-site overrides)
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif&display=swap");

#cqMega{
  --cqm-accent:#175CD3;            /* overridden per site via data-accent / CQ_MENU.accent */
  --cqm-accent-ink:var(--cqm-accent); /* darker accent for accent-as-text (CQ_MENU.accentInk) */
  --cqm-ink:#101828;
  --cqm-top-ink:#0A1430;             /* top-level link ink (reference) */
  --cqm-ink-2:#344054;
  --cqm-grey:#667085;
  --cqm-line:#E4E7EC;
  --cqm-hair:#F2F2F3;                /* v4: Jasper hairline (panel dividers) */
  --cqm-bg:rgba(255,255,255,.95);    /* v3: reference bar wash */
  --cqm-strip-bg:#070F26;            /* v3: utility strip dark navy */
  --cqm-tint:#F6F8FB;
  /* v4: light accent tints (row hover fill / top pill). Static rgba
     fallback first; color-mix derives them from the live accent. */
  --cqm-tint10:rgba(23,92,211,.08);
  --cqm-tint16:rgba(23,92,211,.13);
  --cqm-scrim:rgba(0,0,0,.6);        /* v4: page veil behind open panels */
  /* v4: display serif for panel titles / spotlight headline / mobile
     items; per-site override via CQ_MENU.fonts.display */
  --cqm-display:"Instrument Serif",Georgia,"Times New Roman",serif;
  --cqm-mono:ui-monospace,"IBM Plex Mono","Cascadia Mono",Consolas,"Courier New",monospace;
  position:relative;
  z-index:940;
  font-family:inherit;
  color:var(--cqm-ink);
  -webkit-font-smoothing:antialiased;
}
@supports (background:color-mix(in srgb,red 10%,#fff)){
  #cqMega{
    --cqm-tint10:color-mix(in srgb,var(--cqm-accent) 10%,#fff);
    --cqm-tint16:color-mix(in srgb,var(--cqm-accent) 16%,#fff);
  }
}
#cqMega *,#cqMega *::before,#cqMega *::after{box-sizing:border-box}
#cqMega a{text-decoration:none;color:inherit}
#cqMega ul{list-style:none;margin:0;padding:0}
#cqMega button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:left}
#cqMega svg{display:inline-block;vertical-align:middle;flex:none}
#cqMega .cqm-ic svg{width:18px;height:18px;stroke:var(--cqm-accent)}

/* focus visibility (fleet a11y baseline) */
#cqMega a:focus-visible,
#cqMega button:focus-visible{
  outline:2px solid var(--cqm-accent);
  outline-offset:2px;
  border-radius:8px;
}

/* ---------------- utility strip (v3, UNCHANGED) ----------------
   36px dark navy band directly above the white bar: tagline
   left/centre-left, phone + email right. Sits under the cqbar
   family strip so the two dark bands read as one. Rendered only
   when CQ_MENU.tagline or CQ_MENU.contacts is present. */
.cqm-strip{
  position:relative;                 /* v4: paints above the page veil */
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:36px;
  padding:2px clamp(16px,4vw,40px);
  background:var(--cqm-strip-bg);
  color:rgba(255,255,255,.85);
  font-size:13px;
  line-height:1.35;
}
.cqm-tagline{
  margin:0;
  font-weight:500;
  letter-spacing:.01em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cqm-contacts{
  display:flex;
  align-items:center;
  gap:18px;
  flex:none;
  margin-left:auto;
}
.cqm-contact{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  color:rgba(255,255,255,.92);
  font-weight:500;
  white-space:nowrap;
  transition:color .15s ease;
}
#cqMega .cqm-contact{color:rgba(255,255,255,.92)}   /* id-scoped: outranks #cqMega a{color:inherit} */
#cqMega .cqm-contact:hover{color:#fff}
#cqMega .cqm-contact .cqm-ic svg{width:15px;height:15px;stroke:rgba(255,255,255,.72)}
#cqMega .cqm-contact:hover .cqm-ic svg{stroke:#fff}
#cqMega .cqm-strip a:focus-visible{outline-color:#fff}

/* ---------------- page veil (v4, desktop) ----------------
   60% black full-viewport scrim behind an open panel (the Jasper
   separation device — the panel has no shadow/border). Child of the
   mount: z 1 under the bar (z 2) and strip (z 3); panels live inside
   the bar so they paint above it. Click closes (cq-menu.js);
   aria-hidden — purely decorative to AT. */
.cqm-veil{
  display:none;
  position:fixed;
  inset:0;
  z-index:1;
  background:var(--cqm-scrim);
  border:0;margin:0;padding:0;
}
#cqMega.cqm-panelopen .cqm-veil{display:block;animation:cqmFade .18s ease both}

/* ---------------- bar (v3 chrome, UNCHANGED geometry) ---------------- */
.cqm-bar{
  position:relative;
  z-index:2;                         /* v4: above the veil (was 0) */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:56px;
  padding:0 clamp(16px,4vw,40px);
  border-bottom:1px solid var(--cqm-line);
}
/* frosted layer lives on a pseudo-element: backdrop-filter on the bar itself
   would become the containing block for the fixed mobile drawer/scrim */
.cqm-bar::before{
  content:"";
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  z-index:-1;
  background:var(--cqm-bg);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.cqm-list{
  display:flex;
  align-items:stretch;
  gap:2px;
  flex-wrap:wrap;
}
.cqm-item{position:static}

/* ---------------- v2 two-section header (UNCHANGED) ----------------
   brand (left) | items (centre) | phone · search · CTA (right). */
#cqMega.cqm-v2 .cqm-bar{min-height:65px}   /* v3: reference bar height */
#cqMega.cqm-v2 .cqm-list{flex:1 1 auto;justify-content:center}
.cqm-brand{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  flex:none;
  padding:4px 0;
}
/* v3: 48px logo by default (natural width); CQ_MENU.brand.height
   still wins via inline style for sites that pinned their own */
.cqm-brand img{display:block;height:48px;max-height:56px;width:auto}
.cqm-tools{display:flex;align-items:center;gap:8px;flex:none}
.cqm-phone{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:6px 10px;
  border-radius:10px;
  font-size:.92rem;
  font-weight:600;
  color:var(--cqm-ink-2);
  white-space:nowrap;
  transition:background-color .15s ease,color .15s ease;
}
.cqm-phone:hover{color:var(--cqm-accent-ink);background:var(--cqm-tint)}
.cqm-phone .cqm-ic svg{width:17px;height:17px}
.cqm-searchbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  border-radius:10px;
  transition:background-color .15s ease;
}
.cqm-searchbtn:hover{background:var(--cqm-tint)}
.cqm-searchbtn .cqm-ic svg{width:19px;height:19px;stroke:var(--cqm-ink-2)}
.cqm-searchbtn:hover .cqm-ic svg{stroke:var(--cqm-accent-ink)}
/* CTA — v3 pill UNCHANGED (solid accent, 50px radius); v4 adds the
   Jasper hover: background darkens to accentInk (colour transition) */
.cqm-cta{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 26px;
  border-radius:50px;
  background:var(--cqm-accent);
  color:#fff;
  font-size:.85rem;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(16,24,40,.16);
  transition:box-shadow .2s ease,transform .2s ease,background-color .2s ease;
}
#cqMega .cqm-cta,#cqMega .cqm-cta:hover{color:#fff}
.cqm-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(16,24,40,.2);background:var(--cqm-accent-ink)}
.cqm-cta::before{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:50px;
  border:1.5px solid var(--cqm-accent);
  opacity:0;
  pointer-events:none;
  animation:cqmPulse 3.2s ease-out infinite;
}
@keyframes cqmPulse{
  0%{transform:scale(.96);opacity:.3}
  60%{transform:scale(1.12);opacity:0}
  100%{transform:scale(1.12);opacity:0}
}

/* top-level link / disclosure button — v3 text + chevron; v4: 700
   weight fleet-wide (absorbs the caqa-com override) and a soft
   accent-tint pill fading in on hover/open (.3s, Jasper) */
.cqm-top{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:6px 13px;
  font-size:.9rem;
  font-weight:700;
  color:var(--cqm-top-ink);
  position:relative;
  white-space:nowrap;
  background-color:transparent;
  transition:background-color .3s ease;
}
#cqMega .cqm-top:hover,
#cqMega .cqm-top:focus-visible,
#cqMega .cqm-top[aria-expanded="true"]{background-color:var(--cqm-tint16)}
/* accent underline marks the ACTIVE page only (v4: hover no longer
   grows it — hover feedback is the tint pill above) */
.cqm-top::after{
  content:"";
  position:absolute;
  left:13px;right:13px;bottom:5px;
  height:2px;
  background:var(--cqm-accent);
  border-radius:2px;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .22s ease;
}
.cqm-top.cqm-active::after{transform:scaleX(1)}
/* id-scoped colours: #cqMega a/button{color:inherit} carries ID
   specificity, so bare-class colour declarations never win */
#cqMega .cqm-top{color:var(--cqm-top-ink)}
#cqMega .cqm-top[aria-expanded="true"]{color:var(--cqm-accent-ink)}

.cqm-chev svg{width:14px;height:14px;stroke:currentColor;transition:transform .2s ease}
.cqm-top[aria-expanded="true"] .cqm-chev svg{transform:rotate(180deg)}

/* burger (mobile only) — UNCHANGED (per-site a11y blocks target it) */
.cqm-burger{
  display:none;
  align-items:center;
  gap:9px;
  min-height:44px;
  min-width:44px;
  padding:6px 12px;
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--cqm-ink);
  border:1px solid var(--cqm-line);
  border-radius:10px;
  background:#fff;
}
.cqm-burger svg{width:20px;height:20px;stroke:var(--cqm-ink)}
.cqm-burger .cqm-x{display:none}
.cqm-open .cqm-burger .cqm-x{display:inline-block}
.cqm-open .cqm-burger .cqm-lines{display:none}

/* ---------------- desktop panel (v4: Jasper card) ----------------
   Square white card, no border/shadow (the veil separates), padding
   24, floating 12px below the bar (top calc leaves margin-top free
   for per-site nudges). Widths: default anchored card with side
   margins; item.panel:"wide" = near-full; "auto" = content-width,
   centred. */
.cqm-panel{
  position:absolute;
  top:calc(100% + 12px);
  left:clamp(24px,4vw,60px);
  right:clamp(24px,4vw,60px);
  z-index:2;
  background:#fff;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:24px;
  overflow:hidden;
  animation:cqmPanelIn .18s ease-out both;
}
.cqm-panel[hidden]{display:none}
.cqm-panel-wide{left:12px;right:12px}
.cqm-panel-auto{
  left:0;right:0;
  width:-moz-max-content;
  width:max-content;
  max-width:min(1080px,calc(100vw - 48px));
  margin-left:auto;
  margin-right:auto;
}
/* open: 180ms fade + 8px drop (Jasper clone timing) */
@keyframes cqmPanelIn{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}

/* panel grid — minmax(0,1fr) columns BUILT IN (v4 absorbs the former
   caqa-com/caqa-consulting overrides); feature = spotlight rail track */
.cqm-cols{display:grid;gap:0 24px;position:relative;align-items:stretch}
.cqm-cols-1{grid-template-columns:minmax(0,1fr);max-width:520px}
.cqm-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cqm-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cqm-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
/* spotlight variants: rail is a fixed ~320px track, left by default
   (feature.side:"right" flips it). Old v3 .cqm-feat overrides no
   longer match — intentional, v4 owns spotlight geometry. */
.cqm-cols-1.cqm-spot-l{grid-template-columns:320px minmax(0,1fr);max-width:none}
.cqm-cols-2.cqm-spot-l{grid-template-columns:320px repeat(2,minmax(0,1fr))}
.cqm-cols-3.cqm-spot-l{grid-template-columns:320px repeat(3,minmax(0,1fr))}
.cqm-cols-4.cqm-spot-l{grid-template-columns:300px repeat(4,minmax(0,1fr))}
.cqm-cols-1.cqm-spot-r{grid-template-columns:minmax(0,1fr) 320px;max-width:none}
.cqm-cols-2.cqm-spot-r{grid-template-columns:repeat(2,minmax(0,1fr)) 320px}
.cqm-cols-3.cqm-spot-r{grid-template-columns:repeat(3,minmax(0,1fr)) 320px}
.cqm-cols-4.cqm-spot-r{grid-template-columns:repeat(4,minmax(0,1fr)) 300px}
@media (min-width:900px) and (max-width:1199.98px){
  .cqm-cols-1.cqm-spot-l{grid-template-columns:270px minmax(0,1fr)}
  .cqm-cols-2.cqm-spot-l{grid-template-columns:270px repeat(2,minmax(0,1fr))}
  .cqm-cols-3.cqm-spot-l{grid-template-columns:270px repeat(3,minmax(0,1fr))}
  .cqm-cols-4.cqm-spot-l{grid-template-columns:250px repeat(4,minmax(0,1fr))}
  .cqm-cols-1.cqm-spot-r{grid-template-columns:minmax(0,1fr) 270px}
  .cqm-cols-2.cqm-spot-r{grid-template-columns:repeat(2,minmax(0,1fr)) 270px}
  .cqm-cols-3.cqm-spot-r{grid-template-columns:repeat(3,minmax(0,1fr)) 270px}
  .cqm-cols-4.cqm-spot-r{grid-template-columns:repeat(4,minmax(0,1fr)) 250px}
}

/* columns: hairline dividers (Jasper #f2f2f3), no stagger in v4 */
.cqm-col{
  min-width:0;
  padding-right:24px;
  border-right:1px solid var(--cqm-hair);
}
.cqm-col:last-child{padding-right:0;border-right:0}

/* column header — v4: serif display title (gradient headers OUT),
   optional 16:9 media card above, optional 14px desc below */
.cqm-colmedia{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  margin:0 0 12px;
  background:var(--cqm-tint10);
}
.cqm-colmedia img{display:block;width:100%;height:100%;object-fit:cover}
.cqm-colhead{
  display:block;
  padding:6px 12px 12px;
  border-bottom:0;
  margin:0;
}
.cqm-colhead .cqm-coltitle{
  display:block;
  font-family:var(--cqm-display);
  font-weight:400;
  font-size:clamp(22px,1.9vw,26px);
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--cqm-ink);
}
.cqm-colhead .cqm-coldesc{
  display:block;
  margin-top:6px;
  font-size:14px;
  line-height:1.35;
  color:var(--cqm-ink-2);
}

/* link rows — v4 Jasper anatomy: flush full-width rows, 16px/12px
   padding, 450 label + right chevron; hover = accent tint fill +
   12px content indent + chevron scale 1.4, ~150ms */
.cqm-linkrow{display:flex;align-items:stretch}
.cqm-link{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding:16px 12px;
  border-radius:0;
  background-color:transparent;
  transition:background-color .15s ease-out,padding-left .15s ease-out;
}
.cqm-link:hover,
.cqm-link:focus-visible{background-color:var(--cqm-tint10);padding-left:24px}
.cqm-link-txt{flex:1 1 auto;min-width:0}
.cqm-link-lbl{
  display:block;
  font-size:16px;
  font-weight:450;
  color:var(--cqm-ink);
  line-height:1.35;
}
.cqm-desc{
  display:block;
  font-size:13.5px;
  color:var(--cqm-grey);
  line-height:1.4;
  margin-top:3px;
}
/* optional NEW-style tag (links[].tag) — Jasper yellow chip */
.cqm-tag{
  flex:none;
  align-self:center;
  background:#FFF133;
  color:var(--cqm-accent-ink);
  font-family:var(--cqm-mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:2px 6px;
  border-radius:0;
}
/* right chevron — the only row glyph (Jasper); scales 1.4 on hover */
.cqm-rowchev{flex:none;display:inline-flex;align-items:center}
.cqm-rowchev svg{width:12px;height:12px;stroke:var(--cqm-ink);transition:transform .15s ease-out}
.cqm-link:hover .cqm-rowchev svg,
.cqm-link:focus-visible .cqm-rowchev svg,
.cqm-sublink:hover .cqm-rowchev svg,
.cqm-sublink:focus-visible .cqm-rowchev svg{transform:scale(1.4)}

/* tertiary (children) — v4: indented 14px, 14/500, small chevron */
.cqm-subtoggle{display:none}                 /* desktop: children always visible */
.cqm-sub{display:block;padding:0 0 8px;margin:0 0 4px 14px;border-left:0}
.cqm-sublink{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:36px;
  font-size:14px;
  font-weight:500;
  color:var(--cqm-ink-2);
  padding:8px 12px;
  border-radius:0;
  background-color:transparent;
  transition:background-color .15s ease-out,padding-left .15s ease-out;
}
.cqm-sublink:hover,
.cqm-sublink:focus-visible{color:var(--cqm-ink);background-color:var(--cqm-tint10);padding-left:24px}

/* ---------------- spotlight rail (v4, from v3 `feature`) ----------------
   Left rail by default (feature.side:"right" flips the track): media on
   top, optional eyebrow chip (feature.eyebrow), serif display headline
   (feature.title), sub, mono underlined text-CTA (feature.ctaLabel,
   default "Explore"). Square corners, no shadow. Hidden <900px. */
.cqm-featcol{display:flex}
.cqm-feature{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex:1 1 auto;
  min-width:0;
  min-height:44px;
  border:0;
  border-radius:0;
  overflow:hidden;
  background:#fff;
}
.cqm-feat-media{
  display:block;
  align-self:stretch;
  aspect-ratio:16/10;
  background:var(--cqm-tint10);
  overflow:hidden;
}
.cqm-feat-media img,
.cqm-feat-media video{display:block;width:100%;height:100%;object-fit:cover}
.cqm-feat-eyebrow{
  display:inline-block;
  margin:14px 12px 0;
  background:var(--cqm-accent);
  color:#fff;
  font-family:var(--cqm-mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:3px 8px;
  border-radius:0;
}
.cqm-feat-title{
  display:block;
  padding:10px 12px 0;
  font-family:var(--cqm-display);
  font-weight:400;
  font-size:clamp(26px,2.2vw,30px);
  line-height:1.05;
  letter-spacing:-.01em;
  color:var(--cqm-ink);
}
.cqm-feat-sub{
  display:block;
  padding:8px 12px 0;
  font-size:14px;
  color:var(--cqm-ink-2);
  line-height:1.45;
}
.cqm-feat-more{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 12px 4px;
  font-family:var(--cqm-mono);
  font-size:15px;
  font-weight:600;
  color:var(--cqm-accent-ink);
  text-decoration:underline;
  text-underline-offset:4px;
}
.cqm-feat-arr{display:inline-block;transition:transform .18s ease}
.cqm-feature:hover .cqm-feat-arr{transform:translateX(3px)}

/* scrim (mobile drawer backdrop — UNCHANGED) */
.cqm-scrim{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(16,24,40,.44);
  border:0;
  padding:0;
  z-index:938;
  opacity:0;
  transition:opacity .2s ease;
}
.cqm-open .cqm-scrim{display:block;opacity:1}

/* ============================================================
   MOBILE  (<900px) — v3 drawer mechanics UNCHANGED; v4 restyle:
   white, square, serif section headers, chevron rows, same tints
   ============================================================ */
@media (max-width:899.98px){
  .cqm-veil{display:none!important}            /* desktop-only device */
  .cqm-burger{display:inline-flex;order:3}
  /* v3 strip on mobile: single centred line (tagline hidden <600px) */
  .cqm-strip{justify-content:center;gap:12px}
  .cqm-contacts{margin-left:0;gap:14px}
  /* bar stays 60px with burger */
  .cqm-bar{min-height:60px}
  #cqMega.cqm-v2 .cqm-bar{min-height:60px}
  /* bar on mobile: brand left, phone/CTA + burger right */
  .cqm-brand{order:1;margin-right:auto}
  .cqm-brand img{height:36px}
  .cqm-tools{order:2;gap:6px}
  .cqm-searchbtn{display:none}
  .cqm-phone{min-width:44px;justify-content:center;padding:6px}
  .cqm-phone .cqm-phlbl{display:none}          /* icon-only tap-to-call */
  .cqm-cta{min-height:44px;padding:9px 16px;font-size:.82rem}
  .cqm-cta::before{content:none}               /* no pulse ring in tight bar */
  .cqm-list{
    position:fixed;
    top:0;right:0;bottom:0;
    width:min(360px,92vw);
    z-index:941;
    display:block;
    background:#fff;
    border-left:1px solid var(--cqm-hair);     /* v4: hairline, no shadow */
    box-shadow:none;
    padding:64px 14px 24px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    transform:translateX(102%);
    visibility:hidden;
    transition:transform .44s cubic-bezier(.32,1.25,.42,1),visibility 0s linear .44s;
  }
  /* springy slide-in (overshoot bezier) — v3 mechanics kept */
  .cqm-open .cqm-list{transform:translateX(0);visibility:visible;transition:transform .44s cubic-bezier(.32,1.25,.42,1)}
  #cqMega.cqm-v2 .cqm-list{flex:none}
  .cqm-item{border-bottom:1px solid var(--cqm-hair)}
  .cqm-item:last-child{border-bottom:0}
  .cqm-top{
    display:flex;
    width:100%;
    justify-content:space-between;
    min-height:48px;
    padding:12px 8px;
    white-space:normal;
    transition:none;
  }
  #cqMega .cqm-top:hover,
  #cqMega .cqm-top:focus-visible,
  #cqMega .cqm-top[aria-expanded="true"]{background-color:transparent}
  .cqm-top::after{content:none}
  #cqMega .cqm-top.cqm-active{color:var(--cqm-accent-ink)}  /* active page in the drawer */
  /* v4: drawer items are serif display (Jasper mobile nav) */
  .cqm-top .cqm-lbl{
    flex:1 1 auto;
    font-family:var(--cqm-display);
    font-weight:400;
    font-size:1.45rem;
    line-height:1.15;
    letter-spacing:-.01em;
  }
  /* accordion level 1: the panel — v4: white bordered card, square */
  .cqm-panel{
    position:static;
    margin:0 0 12px;
    border:1px solid var(--cqm-hair);
    border-radius:0;
    box-shadow:none;
    background:#fff;
    padding:6px 10px 10px;
    animation:cqmFade .18s ease both;
  }
  .cqm-panel-wide,.cqm-panel-auto{width:auto;max-width:none;margin-left:0;margin-right:0}
  .cqm-cols,.cqm-cols-1,.cqm-cols-2,.cqm-cols-3,.cqm-cols-4,
  .cqm-cols.cqm-spot-l,.cqm-cols.cqm-spot-r{grid-template-columns:1fr;gap:12px;max-width:none}
  .cqm-col{padding-right:0;border-right:0}
  .cqm-featcol{display:none}                   /* spotlight rail is desktop-only */
  .cqm-colmedia{display:none}                  /* column art is desktop-only */
  .cqm-colhead{padding:10px 8px 6px}
  .cqm-colhead .cqm-coltitle{font-size:1.15rem}
  .cqm-colhead .cqm-coldesc{display:none}
  .cqm-link{padding:12px 8px;min-height:44px}
  .cqm-link:hover,.cqm-link:focus-visible{padding-left:16px}
  /* accordion level 2: tertiary lists behind aria-expanded buttons */
  .cqm-subtoggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    border-radius:0;
    flex:none;
  }
  .cqm-subtoggle svg{width:15px;height:15px;stroke:var(--cqm-ink-2);transition:transform .2s ease}
  .cqm-subtoggle[aria-expanded="true"] svg{transform:rotate(180deg)}
  .cqm-sub{display:none;margin-left:10px}
  .cqm-sub.on{display:block}
  .cqm-sublink{min-height:44px}
}
/* narrow phones: strip = contacts only, centred (tagline hidden) */
@media (max-width:599.98px){
  .cqm-tagline{display:none}
}
/* very narrow: email keeps its icon, drops the long label */
@media (max-width:419.98px){
  .cqm-contact-mail .cqm-clbl{display:none}
}
@keyframes cqmFade{from{opacity:0}to{opacity:1}}

/* body scroll lock while drawer is open (class set by cq-menu.js) */
body.cqm-lock{overflow:hidden}

/* ============================================================
   Legacy header hiding (v2) — cq-menu.js stamps
   data-cq-legacy-header="off" on elements matched by
   CQ_MENU.legacyHide selectors (old topbar / tagline strip /
   old logo row). Two-section header standard.
   ============================================================ */
[data-cq-legacy-header="off"]{display:none!important}

/* ============================================================
   Reduced motion — panel opens instantly, nothing animates
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  #cqMega .cqm-top,
  #cqMega .cqm-chev svg,
  #cqMega .cqm-subtoggle svg,
  #cqMega .cqm-link,
  #cqMega .cqm-sublink,
  #cqMega .cqm-rowchev svg,
  #cqMega .cqm-phone,
  #cqMega .cqm-contact,
  #cqMega .cqm-searchbtn,
  #cqMega .cqm-cta,
  #cqMega .cqm-feat-arr,
  #cqMega .cqm-scrim{transition:none}
  #cqMega .cqm-panel{animation:none}
  #cqMega.cqm-panelopen .cqm-veil{animation:none}
  #cqMega .cqm-cta::before{animation:none;opacity:0}   /* pulse ring static/off */
  #cqMega .cqm-cta:hover{transform:none}
  #cqMega .cqm-link:hover,#cqMega .cqm-link:focus-visible,
  #cqMega .cqm-sublink:hover,#cqMega .cqm-sublink:focus-visible{padding-left:12px}
  #cqMega .cqm-link:hover .cqm-rowchev svg,
  #cqMega .cqm-sublink:hover .cqm-rowchev svg{transform:none}
  #cqMega .cqm-feature:hover .cqm-feat-arr{transform:none}
}
/* PRM drawer: plain fade instead of springy slide */
@media (prefers-reduced-motion:reduce) and (max-width:899.98px){
  #cqMega .cqm-list{
    transform:none;
    opacity:0;
    transition:opacity .15s linear,visibility 0s linear .15s;
  }
  #cqMega.cqm-open .cqm-list{opacity:1;transition:opacity .15s linear}
}

/* print-safe */
@media print{
  #cqMega{display:none!important}
}

/* cq-menufont-21jul */ #cqMega .cqm-top{font-size:.9rem;font-weight:700;font-family:inherit}

/* cq-burger-label-1sep26
   At narrow widths the bar has no room left for the burger, so it shrinks to
   its 44px minimum while the visible "Menu" word keeps its natural width and
   spills past the viewport, giving the page a horizontal scrollbar. The button
   already carries aria-label="Open menu", so the word can be taken out of the
   visual flow without any loss to screen reader users. */
@media (max-width:599.98px){
  .cqm-burger{overflow:hidden}
  .cqm-burger > span:not(.cqm-lines):not(.cqm-x){
    position:absolute;
    width:1px;height:1px;
    padding:0;margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
}
