.program-map{position:relative;isolation:isolate;overflow:hidden;background:#05062a;color:#fff;padding:65px 0 35px;min-height:800px}.program-map:before{content:"";position:absolute;z-index:-1;left:-50%;top:-350px;width:160%;height:1100px;border-radius:50%;background:linear-gradient(130deg,#7234ef 20%,#43139b 55%,#0a0a3c 85%);transform:rotate(-23deg);opacity:.75;pointer-events:none}.map-intro{position:relative}.map-intro h1{font-size:clamp(36px,5vw,66px);max-width:900px}.map-intro p{color:#c9cce5;max-width:800px}.map-intro .eyebrow{color:#c3a1ff}.map-tools{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:30px 0 12px}.map-tools label{flex:1 1 300px;margin:0;max-width:550px;color:#e4e5f4;font-size:13px}.map-tools input{margin:7px 0 0;background:#ffffff12;border:1px solid #8177ad;color:white;width:100%;min-height:48px}.map-tools input::placeholder{color:#c0bdd4}.map-tools button{min-height:48px;background:#f3f5ff;color:#211348;padding:12px 20px}.map-search-status{font-size:13px}.map-tree-shell{position:relative;margin-top:32px}.program-map details{border:0;background:transparent;margin:0;color:#fff;border-radius:0}.program-map summary{list-style:none;padding:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;border-radius:14px;cursor:pointer}.program-map summary::-webkit-details-marker{display:none}.program-map summary:hover{background:#ffffff08}.program-map summary strong{font-size:17px;line-height:1.3;max-width:280px}.program-map summary>span{font-size:12px;color:#c6c8e2;max-width:270px;padding:0 9px}.program-map summary:after{content:"+";font-size:20px;color:#bd95ff}.program-map details[open]>summary:after{content:"−"}.map-container-model{width:145px;height:98px;overflow:visible;filter:drop-shadow(0 8px 15px #0004);transition:transform .2s}.program-map summary:hover .map-container-model{transform:translateY(-4px)}.map-root>summary{max-width:330px;margin:0 auto 30px}.map-root>summary .map-container-model{width:190px;height:129px}.program-map ul{list-style:none;padding:0;margin:0}.map-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;position:relative;padding-top:26px!important}.map-branches:before{content:"";position:absolute;top:0;height:1px;left:16.66%;right:16.66%;background:#a593da}.map-root>summary:before{content:"";position:absolute;width:1px;height:30px;background:#a593da;top:calc(100% - 1px)}.map-root>summary{position:relative}.map-branch{position:relative;min-width:0}.map-branch:before{content:"";position:absolute;height:26px;width:1px;background:#a593da;left:50%;top:-26px}.map-category>summary{min-height:185px}.map-modules{padding:20px 0 0!important}.map-module{margin-bottom:25px;position:relative;padding-top:22px}.map-module:before{content:"";position:absolute;left:50%;height:22px;width:1px;background:#9583d0;top:0}.map-module summary{padding:10px 9px;background:#15143e;border:1px solid #ffffff24}.map-module summary strong{font-size:15px}.map-module summary .map-container-model{width:110px;height:75px}.map-leaves{padding:10px 0 0 15px!important;border-left:1px solid #9a84d4;margin-left:15px!important}.map-leaves li{margin:7px 0}.map-leaves a{display:flex;gap:10px;justify-content:space-between;text-align:left;border:1px solid #ffffff28;border-radius:8px;padding:13px 12px;background:#211b50;font-size:13px;line-height:1.5;min-height:46px}.map-leaves a:hover{background:#39246b;border-color:#b69be9}.map-leaves a>span{color:#c6abff}.map-footer-note{margin-top:32px;font-size:12px;color:#c0c0d9}.map-detail-dialog{width:min(800px,95vw);max-height:90dvh;border:0;padding:0;border-radius:18px;background:#fff;color:#17223a;box-shadow:0 25px 100px #0008;overflow:auto}.map-detail-dialog::backdrop{background:#03061bca}.map-detail-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid #e2e8f0;background:#f2f6ff}.map-detail-heading button{border-radius:50%;min-height:44px;min-width:44px;padding:0;font-size:28px;background:#dfe8f8;color:#192749}.map-detail-dialog [data-map-content]{padding:28px}.map-detail-dialog h2{font-size:30px;line-height:1.2}.map-detail-dialog p{line-height:1.8;color:#42516a}.map-feature-link{display:inline-block;margin-top:25px;text-decoration:underline;color:#6331bc}.map-home-link{margin-top:14px}@media(max-width:760px){.program-map{padding-top:40px}.map-branches{grid-template-columns:1fr;gap:18px;padding-top:0!important;border-left:1px solid #9a84d4;margin-left:10px!important}.map-branches:before{display:none}.map-branch{padding-left:20px}.map-branch:before{height:1px;width:20px;left:0;top:75px}.map-category>summary{min-height:0;padding-bottom:10px}.map-root>summary:before{display:none}.map-tools{align-items:stretch}.map-tools button{flex:1 1 130px}.map-module summary{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px}.map-module summary .map-container-model{width:100px;height:68px}.map-module summary strong{max-width:170px;text-align:left}.map-module summary>span{flex-basis:100%;max-width:100%}.map-module summary:after{position:absolute;right:12px;top:8px}.map-module>details>summary{position:relative}.map-detail-dialog [data-map-content]{padding:20px}.map-detail-dialog h2{font-size:25px}.map-container-model{width:130px;height:88px}}@media(prefers-reduced-motion:reduce){.map-container-model{transition:none!important;transform:none!important}}@media print{.program-map{background:#fff;color:#111}.program-map summary strong,.program-map summary>span,.map-leaves a{color:#111}.map-tools,.map-detail-dialog{display:none}}

@media(max-width:1050px){.site-nav .nav-main{height:auto;flex-wrap:wrap;padding:16px 0;gap:12px}.site-nav .nav-links{width:100%;overflow:auto;white-space:nowrap;padding:7px 0}}
