/* ============================================================
   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:#14161B;             /* 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:#0E1013;            /* 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(138,109,20,.08);
  --cqm-tint16:rgba(138,109,20,.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}
}
