/* V7.1.8.201 — selectable, unified navigation system.
   Classic keeps the established menu untouched. Mega Light and Mega Dark
   share one information architecture and differ only in visual treatment. */

.nav-root-row{display:flex;align-items:stretch;height:100%;}
.nav-submenu-toggle{display:none;}

@media (min-width:1181px){
  .site-header.nav-style-mega-light,
  .site-header.nav-style-mega-dark{
    --nav-panel:#fff;
    --nav-panel-soft:#f5f5f3;
    --nav-panel-line:#dddeda;
    --nav-panel-ink:#111;
    --nav-panel-muted:#666963;
    --nav-panel-shadow:0 34px 90px rgba(0,0,0,.16);
  }
  .site-header.nav-style-mega-dark{
    --nav-panel:#111210;
    --nav-panel-soft:#1b1c19;
    --nav-panel-line:rgba(255,255,255,.15);
    --nav-panel-ink:#fff;
    --nav-panel-muted:#b5b8b0;
    --nav-panel-shadow:0 36px 94px rgba(0,0,0,.34);
  }
  .site-header.nav-style-mega-light .site-nav,
  .site-header.nav-style-mega-dark .site-nav{align-items:stretch;}
  .site-header.nav-style-mega-light .nav-item,
  .site-header.nav-style-mega-dark .nav-item{position:static;height:100%;}
  .site-header.nav-style-mega-light .nav-root-row,
  .site-header.nav-style-mega-dark .nav-root-row{position:relative;}
  .site-header.nav-style-mega-light .nav-quote,
  .site-header.nav-style-mega-dark .nav-quote{align-self:center;}
  .site-header.nav-style-mega-light .nav-design-panel,
  .site-header.nav-style-mega-dark .nav-design-panel{
    position:fixed!important;
    top:86px!important;
    left:50%!important;
    right:auto!important;
    display:block!important;
    width:min(1460px,calc(100vw - 64px))!important;
    min-height:0!important;
    padding:0!important;
    border:1px solid var(--nav-panel-line)!important;
    background:var(--nav-panel)!important;
    color:var(--nav-panel-ink)!important;
    box-shadow:var(--nav-panel-shadow)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate(-50%,-16px) scale(.992)!important;
    transform-origin:top center!important;
    transition:opacity .16s ease,transform .2s cubic-bezier(.3,.8,.28,1),visibility 0s linear .2s!important;
    z-index:1100!important;
  }
  .site-header.nav-style-mega-light .nav-item:hover>.nav-design-panel,
  .site-header.nav-style-mega-light .nav-item:focus-within>.nav-design-panel,
  .site-header.nav-style-mega-light .nav-item.is-desktop-open>.nav-design-panel,
  .site-header.nav-style-mega-dark .nav-item:hover>.nav-design-panel,
  .site-header.nav-style-mega-dark .nav-item:focus-within>.nav-design-panel,
  .site-header.nav-style-mega-dark .nav-item.is-desktop-open>.nav-design-panel{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate(-50%,0) scale(1)!important;
    transition:opacity .24s ease,transform .3s cubic-bezier(.16,.84,.24,1),visibility 0s linear 0s!important;
    transition-delay:0s!important;
  }
  .nav-mega-intro > *,
  .nav-mega-group,
  .site-nav .nav-mega-feature{
    --nav-reveal-delay:0s;
    opacity:0;
    transform:translateY(12px);
    transition:opacity .18s ease,transform .24s cubic-bezier(.16,.84,.24,1);
    transition-delay:0s;
  }
  .site-header.nav-style-mega-light .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-intro > *,
  .site-header.nav-style-mega-dark .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-intro > *,
  .site-header.nav-style-mega-light .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-group,
  .site-header.nav-style-mega-dark .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-group,
  .site-header.nav-style-mega-light .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-feature,
  .site-header.nav-style-mega-dark .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-feature{
    opacity:1;
    transform:translateY(0);
    transition-delay:var(--nav-reveal-delay);
  }
  .nav-mega-intro .nav-mega-eyebrow{--nav-reveal-delay:.04s;}
  .nav-mega-intro h2{--nav-reveal-delay:.065s;}
  .nav-mega-intro p{--nav-reveal-delay:.09s;}
  .nav-mega-intro .nav-mega-view-all{--nav-reveal-delay:.115s;}
  .nav-mega-group:nth-child(1){--nav-reveal-delay:.075s;}
  .nav-mega-group:nth-child(2){--nav-reveal-delay:.11s;}
  .nav-mega-group:nth-child(3){--nav-reveal-delay:.145s;}
  .nav-mega-group:nth-child(4){--nav-reveal-delay:.18s;}
  .site-nav .nav-mega-feature{--nav-reveal-delay:.13s;}
  .site-header.nav-style-mega-light .nav-mega-shell,
  .site-header.nav-style-mega-dark .nav-mega-shell{
    display:grid;
    grid-template-columns:minmax(220px,260px) minmax(500px,1fr) minmax(230px,290px);
    min-height:396px;
    background:var(--nav-panel);
  }
  .site-header.nav-style-mega-light .nav-mega-shell.has-no-feature,
  .site-header.nav-style-mega-dark .nav-mega-shell.has-no-feature{
    grid-template-columns:minmax(230px,280px) minmax(0,1fr);
  }
  .nav-design-panel a:after{display:none!important;}
  .nav-mega-intro{
    display:flex;
    flex-direction:column;
    padding:46px 34px 38px;
    border-right:1px solid var(--nav-panel-line);
  }
  .nav-mega-eyebrow{
    color:#d51322;
    font-size:11px;
    line-height:1;
    font-weight:780;
    letter-spacing:.21em;
    text-transform:uppercase;
  }
  .nav-mega-intro h2{
    max-width:220px;
    margin:24px 0 18px;
    color:var(--nav-panel-ink);
    font-size:34px;
    line-height:1.02;
    letter-spacing:-.045em;
    font-weight:690;
  }
  .nav-mega-intro p{
    margin:0;
    color:var(--nav-panel-muted);
    font-size:14px;
    line-height:1.65;
  }
  .site-nav .nav-mega-view-all{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:auto;
    padding:17px 0 0;
    border-top:1px solid var(--nav-panel-line);
    color:var(--nav-panel-ink);
    font-size:12px;
    line-height:1;
    font-weight:760;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .nav-mega-view-all span{color:#d51322;font-size:20px;font-weight:400;transition:transform .2s ease;}
  .nav-mega-view-all:hover span{transform:translateX(5px);}
  .nav-mega-groups{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-content:start;
    gap:36px 30px;
    padding:46px 36px 38px;
  }
  .nav-mega-group header{
    display:flex;
    align-items:center;
    gap:11px;
    min-height:24px;
    padding-bottom:14px;
    position:relative;
  }
  .nav-mega-group header:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:var(--nav-panel-line);
  }
  .nav-mega-group header:after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:42px;
    height:1px;
    background:#d51322;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .28s cubic-bezier(.16,.84,.24,1);
  }
  .site-header.nav-style-mega-light .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-group header:after,
  .site-header.nav-style-mega-dark .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-group header:after{transform:scaleX(1);}
  .nav-mega-group header span{
    color:#d51322;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
  }
  .nav-mega-group header strong{
    color:var(--nav-panel-muted);
    font-size:11px;
    line-height:1.2;
    font-weight:760;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .nav-mega-links{display:flex;flex-direction:column;padding-top:11px;}
  .site-nav .nav-mega-links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:42px;
    padding:4px 0;
    color:var(--nav-panel-ink);
    font-size:15px;
    line-height:1.25;
    font-weight:580;
    letter-spacing:-.018em;
    text-transform:none;
  }
  .nav-mega-links a i{color:#d51322;font-size:12px;font-style:normal;opacity:0;transform:translate(-6px,5px);transition:opacity .18s ease,transform .18s ease;}
  .nav-mega-links a span{transition:transform .18s ease,color .18s ease;}
  .nav-mega-links a:hover span{color:#d51322;transform:translateX(4px);}
  .nav-mega-links a:hover i{opacity:1;transform:translate(0,0);}
  .nav-mega-mobile-all{display:none!important;}
  .site-nav .nav-mega-feature{
    display:flex;
    flex-direction:column;
    min-width:0;
    margin:18px;
    background:var(--nav-panel-soft);
    color:var(--nav-panel-ink);
    overflow:hidden;
    text-transform:none;
    letter-spacing:0;
  }
  .nav-mega-feature figure{height:178px;margin:0;overflow:hidden;background:#eceeeb;}
  .nav-mega-feature img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform .45s cubic-bezier(.2,.72,.22,1);}
  .site-header.nav-style-mega-light .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-feature img,
  .site-header.nav-style-mega-dark .nav-item:is(:hover,:focus-within,.is-desktop-open)>.nav-design-panel .nav-mega-feature img{transform:scale(1);}
  .nav-mega-feature:hover img{transform:scale(1.035);}
  .nav-mega-feature>div{display:flex;flex:1;flex-direction:column;padding:22px 22px 19px;}
  .nav-mega-feature>div>span{color:#d51322;font-size:10px;font-weight:780;letter-spacing:.17em;text-transform:uppercase;}
  .nav-mega-feature strong{margin-top:10px;color:var(--nav-panel-ink);font-size:21px;line-height:1.1;letter-spacing:-.025em;}
  .nav-mega-feature p{margin:10px 0 18px;color:var(--nav-panel-muted);font-size:12px;line-height:1.48;}
  .nav-mega-feature b{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid var(--nav-panel-line);color:var(--nav-panel-ink);font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
  .nav-mega-feature b i{color:#d51322;font-size:16px;font-style:normal;font-weight:400;}
}

@media (min-width:1181px) and (prefers-reduced-motion:reduce){
  .site-header.nav-style-mega-light .nav-design-panel,
  .site-header.nav-style-mega-dark .nav-design-panel,
  .nav-mega-intro > *,
  .nav-mega-group,
  .site-nav .nav-mega-feature,
  .nav-mega-group header:after,
  .nav-mega-feature img{
    transition:none!important;
  }
  .nav-mega-intro > *,
  .nav-mega-group,
  .site-nav .nav-mega-feature{
    transform:none!important;
  }
}

@media (max-width:1320px) and (min-width:1181px){
  .site-header.nav-style-mega-light .nav-mega-shell,
  .site-header.nav-style-mega-dark .nav-mega-shell{grid-template-columns:220px minmax(480px,1fr) 240px;}
  .nav-mega-intro{padding-left:27px;padding-right:27px;}
  .nav-mega-groups{gap:26px 22px;padding-left:28px;padding-right:28px;}
}

@media (max-width:1180px){
  .site-header.nav-style-mega-light,
  .site-header.nav-style-mega-dark{
    --nav-mobile-panel:#fff;
    --nav-mobile-soft:#f5f5f3;
    --nav-mobile-line:#dededb;
    --nav-mobile-ink:#111;
    --nav-mobile-muted:#696b66;
  }
  .site-header.nav-style-mega-dark{
    --nav-mobile-panel:#151613;
    --nav-mobile-soft:#1d1e1b;
    --nav-mobile-line:rgba(255,255,255,.14);
    --nav-mobile-ink:#fff;
    --nav-mobile-muted:#b8bbb3;
  }
  .site-header.nav-style-mega-light .site-nav.open .nav-root-row,
  .site-header.nav-style-mega-dark .site-nav.open .nav-root-row{
    position:relative;
    width:100%;
    height:auto;
  }
  .site-header.nav-style-mega-light .site-nav.open .nav-root,
  .site-header.nav-style-mega-dark .site-nav.open .nav-root{padding-right:70px!important;}
  .site-header.nav-style-mega-light .site-nav.open .nav-submenu-toggle,
  .site-header.nav-style-mega-dark .site-nav.open .nav-submenu-toggle{
    position:absolute;
    top:0;
    right:8px;
    display:grid;
    place-items:center;
    width:52px;
    height:56px;
    padding:0;
    border:0;
    background:transparent;
    color:#111;
    cursor:pointer;
    z-index:2;
  }
  .nav-submenu-toggle span,
  .nav-submenu-toggle span:after{
    display:block;
    width:14px;
    height:1.5px;
    background:currentColor;
    content:"";
    transition:transform .2s ease;
  }
  .nav-submenu-toggle span:after{transform:rotate(90deg);}
  .nav-item.is-mobile-open .nav-submenu-toggle span:after{transform:rotate(0);}
  .site-header.nav-style-mega-light .site-nav.open .nav-design-panel,
  .site-header.nav-style-mega-dark .site-nav.open .nav-design-panel{
    position:static!important;
    display:none!important;
    width:100%!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    background:var(--nav-mobile-panel)!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .site-header.nav-style-mega-light .site-nav.open .nav-item.is-mobile-open>.nav-design-panel,
  .site-header.nav-style-mega-dark .site-nav.open .nav-item.is-mobile-open>.nav-design-panel{display:block!important;}
  .site-header.nav-style-mega-light .nav-mega-shell,
  .site-header.nav-style-mega-dark .nav-mega-shell{display:block;background:var(--nav-mobile-panel);}
  .nav-mega-intro,.nav-mega-feature{display:none!important;}
  .site-header.nav-style-mega-light .nav-mega-groups,
  .site-header.nav-style-mega-dark .nav-mega-groups{display:block;padding:6px 20px 15px;background:var(--nav-mobile-panel);}
  .nav-mega-group{padding:14px 0 3px;}
  .nav-mega-group header{display:flex;align-items:center;gap:10px;padding:0 8px 10px;border-bottom:1px solid var(--nav-mobile-line);}
  .nav-mega-group header span{color:#d51322;font-size:10px;font-weight:800;letter-spacing:.08em;}
  .nav-mega-group header strong{color:var(--nav-mobile-muted);font-size:10px;line-height:1.2;font-weight:760;letter-spacing:.14em;text-transform:uppercase;}
  .nav-mega-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:5px 0;}
  .site-nav.open .nav-mega-links a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    min-height:44px!important;
    padding:6px 8px!important;
    border:0!important;
    border-bottom:1px solid var(--nav-mobile-line)!important;
    color:var(--nav-mobile-ink)!important;
    background:transparent!important;
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:620!important;
    letter-spacing:-.01em!important;
    text-transform:none!important;
  }
  .nav-mega-links a i{display:none;}
  .site-nav.open .nav-mega-mobile-all{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    margin-top:8px;
    padding:0 9px;
    border-top:1px solid var(--nav-mobile-line);
    color:var(--nav-mobile-ink)!important;
    font-size:12px!important;
    font-weight:760!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }
  .nav-mega-mobile-all span{color:#d51322;font-size:18px;}
}

@media (max-width:520px){
  .nav-mega-links{grid-template-columns:1fr;}
}
