/* ── mega menu + mobile drawer ───────────────────────────────────────── */
.mega-scrim{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.hdr.is-mega-open~.mega-scrim{opacity:1;visibility:visible}

.mega{position:absolute;top:100%;left:0;right:0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility .22s;z-index:3}
.nav .item.has-mega:hover .mega,.nav .item.has-mega.is-mega-open .mega{opacity:1;visibility:visible;transform:none}
.mega__box{width:100%;max-width:1507px;margin:0 auto;background:var(--white);border-radius:0 0 4px 4px;box-shadow:0 24px 40px rgba(28,53,85,.08);display:grid;grid-template-columns:repeat(4,1fr);gap:0 109px;padding:24px 36px 40px}
.mega__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:19px;border-bottom:1px solid var(--line);font-size:22px;font-weight:700;color:var(--navy);transition:color .2s}
.mega__head .chev{width:17px;height:17px;flex:none;transform:rotate(90deg)}
.mega__head:hover{color:var(--blush)}
.mega__links{display:flex;flex-direction:column;padding-top:20px}
.mega__links a{font-size:20px;line-height:28px;color:var(--navy);transition:color .2s}
.mega__links a:hover{color:var(--blush)}

/* ── mobile drawer (Figma 149:3159 root · 149:3298 sub) ──────────────── */
.mnav{position:fixed;inset-block-start:58px;inset-inline:0;inset-block-end:0;z-index:55;background:var(--white);overflow:hidden;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.hdr.is-open~.mnav{opacity:1;visibility:visible}
.mnav__pane{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 22px 34px;transition:transform .3s ease}
.mnav__pane--sub{transform:translateX(-100%);padding:0 23px 40px}
.mnav.is-sub .mnav__pane--root{transform:translateX(100%)}
.mnav.is-sub .mnav__pane--sub{transform:none}

.mnav__list{padding-top:6px}
.mnav__item{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;padding:19px 2px;border-bottom:1px solid #dadada;font-size:22px;line-height:28px;font-weight:400;color:var(--navy);text-align:start}
.mnav__item--more .chev-next{width:12px;height:12px;flex:none;transform:rotate(90deg)}
.mnav__item:active{color:var(--blush)}
.mnav__cta{width:100%;height:48px;margin-top:30px;background:var(--blush);color:var(--navy);font-size:20px;font-weight:500}
.mnav__cta:hover{background:var(--navy);color:var(--white)}

.mnav__subhead{position:relative;margin:0 -23px;padding:39px 23px 20px;background:var(--grey)}
.mnav__subtitle{margin-top:42px;font-size:28px;line-height:28px;font-weight:500;color:var(--navy);text-align:start}
.mnav__back{position:absolute;top:39px;right:23px;width:26px;height:26px;border-radius:50%;background:var(--blush);color:var(--navy);display:flex;align-items:center;justify-content:center}
.mnav__back svg{width:16px;height:16px}
.mnav__back:hover{background:var(--navy);color:var(--white)}

.mnav__groups{padding-top:18px}
.mnav__group+.mnav__group{margin-top:24px}
.mnav__ghead{display:flex;align-items:center;justify-content:flex-start;flex-direction:row-reverse;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:22px;line-height:28px;font-weight:700;color:var(--navy)}
.mnav__ghead .chev-prev{width:14px;height:14px;flex:none}
.mnav__glinks{padding-top:12px;display:flex;flex-direction:column}
.mnav__glinks a{font-size:20px;line-height:32px;color:var(--navy)}
.mnav__glinks a:active{color:var(--blush)}

@media(min-width:1024px){.mnav{display:none}}
@media(max-width:1023px){.mega{display:none}}

/* mobile drawer — groups inside a submenu */
.mnav__group{padding-bottom:14px}
.mnav__ghead{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:14px 0 12px;border-bottom:1px solid var(--line);font-size:17px;font-weight:700;color:var(--navy)}
.mnav__ghead .chev-prev{width:14px;height:14px;transform:rotate(90deg)}
.mnav__group a:not(.mnav__ghead){display:block;padding:7px 0;font-size:16px;color:var(--navy)}
.mnav__cta{background:var(--blush);color:var(--navy);font-weight:500}
.mnav__cta:hover{background:var(--navy);color:var(--white)}
.mnav__phone{text-align:center;font-size:20px;font-weight:700;color:var(--navy)}
