:root{--menu-red:#c8102e;--menu-ink:#1d1d1f;--menu-muted:#5f5f64;--menu-line:#dedee3;--menu-bg:rgba(255,255,255,.94)}
.mobile-menu-state{position:fixed;left:-9999px;top:-9999px;opacity:0;pointer-events:none}
nav{position:fixed;top:0;left:0;right:0;height:74px;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;background:var(--menu-bg);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(0,0,0,.07)}
nav .logo{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
nav .logo img{height:56px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:29px;list-style:none;margin:0;padding:0;position:absolute;left:50%;transform:translateX(-50%)}
.nav-links>li{position:relative}
.nav-links a{font-size:14px;font-weight:650;color:#3d3d41;text-decoration:none;white-space:nowrap;transition:color .18s ease}
.nav-links>li>a:hover{color:var(--menu-red)}
.nav-contact{display:inline-flex;align-items:center;justify-content:center;background:var(--menu-ink);color:#fff;text-decoration:none;font-size:13px;font-weight:750;border-radius:999px;padding:13px 24px;transition:.18s ease}
.nav-contact:hover{background:var(--menu-red)}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 55px rgba(0,0,0,.12);border-radius:22px;z-index:600}
.dropdown-menu:before{content:"";position:absolute;left:0;right:0;top:-20px;height:22px}
.dropdown:hover>.dropdown-menu,.dropdown:focus-within>.dropdown-menu,.dropdown-menu:hover{display:block}
.program-tree-menu{width:min(1080px,88vw);grid-template-columns:repeat(4,1fr);padding:58px 16px 16px;overflow:visible}
.program-tree:hover>.program-tree-menu,.program-tree:focus-within>.program-tree-menu,.program-tree-menu:hover{display:grid}
.program-tree-home-link{position:absolute;left:20px;top:15px;font-size:13px!important;font-weight:800!important;color:var(--menu-red)!important}
.program-tree-col{padding:16px 18px;border-radius:15px}
.program-tree-col:hover{background:#f7f7f8}
.program-tree-title{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#9a9aa0;margin-bottom:10px}
.program-tree-title-spaced{margin-top:20px}
.program-tree-menu .program-tree-col a{display:block;padding:7px 0;font-size:13px;color:#3f3f43;text-decoration:none;line-height:1.25}
.program-tree-menu .program-tree-col a:hover{color:var(--menu-red)}
.insights-menu-panel{min-width:330px;padding:10px}
.insights-menu-panel a{display:block;padding:12px 14px;border-radius:12px;font-size:13px;color:#3d3d41;text-decoration:none;line-height:1.35}
.insights-menu-panel a:hover{background:#f5f5f7;color:var(--menu-red)}
.mobile-menu-toggle{display:none;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.mobile-menu-toggle span{width:19px;height:2px;background:#222;border-radius:2px;transition:.2s}
.mobile-menu-shell{display:none}
@media(max-width:1050px){
  nav{height:66px;padding:0 18px}
  nav .logo img{height:48px}
  .nav-links,.nav-contact{display:none}
  .mobile-menu-toggle{display:flex}
  .mobile-menu-shell{display:block;position:fixed;inset:0;z-index:700;pointer-events:none}
  .mobile-menu-overlay{position:absolute;inset:0;background:rgba(0,0,0,.32);opacity:0;transition:.2s;cursor:pointer}
  .mobile-menu-panel{position:absolute;right:0;top:0;height:100%;width:min(390px,91vw);background:#fff;transform:translateX(100%);transition:transform .24s ease;padding:20px 18px 28px;overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.12)}
  .mobile-menu-state:checked ~ .mobile-menu-shell{pointer-events:auto}
  .mobile-menu-state:checked ~ .mobile-menu-shell .mobile-menu-overlay{opacity:1}
  .mobile-menu-state:checked ~ .mobile-menu-shell .mobile-menu-panel{transform:translateX(0)}
  .mobile-menu-state:checked ~ nav .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-state:checked ~ nav .mobile-menu-toggle span:nth-child(2){opacity:0}
  .mobile-menu-state:checked ~ nav .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-panel-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 18px;border-bottom:1px solid var(--menu-line)}
  .mobile-panel-label{font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#929297}
  .mobile-close{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f3f3f5;font-size:26px;line-height:1;cursor:pointer}
  .mobile-nav-list{padding:14px 0;display:flex;flex-direction:column;gap:3px}
  .mobile-nav-link,.mobile-accordion-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 10px;border-radius:12px;color:#26262a;text-decoration:none;font-size:16px;font-weight:700;cursor:pointer;background:transparent;border:0;text-align:left}
  .mobile-nav-link:active,.mobile-accordion-trigger:active{background:#f3f3f5}
  details summary{list-style:none}
  details summary::-webkit-details-marker{display:none}
  .mobile-program-links{display:flex;flex-direction:column;padding:2px 10px 10px 18px}
  .mobile-page-link{padding:8px 0;color:#57575d;text-decoration:none;font-size:14px;line-height:1.35}
  .mobile-program-group{display:block;padding:14px 0 4px;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#a0a0a5}
  .mobile-contact-link{display:flex;align-items:center;justify-content:center;background:var(--menu-ink);color:#fff;text-decoration:none;font-size:14px;font-weight:800;padding:14px;border-radius:999px;margin-top:8px}
}
