/* Full capability map. Existing six-building hero stays in its original place. */
.studio .brand{width:125px;flex-shrink:0}
.studio .brand-logo-crop{display:block;width:116px;height:90px;overflow:hidden}
.studio .brand-logo-crop img{width:116px;height:116px;max-width:none;position:relative;top:-13px;object-fit:contain;border-radius:0}
.studio .nav-row{height:102px}.studio .desktop-nav{gap:23px}
.studio .footer-top .brand-logo-crop{width:130px;height:100px}.studio .footer-top .brand-logo-crop img{width:130px;height:130px;top:-15px}
.fm-heading-copy{max-width:355px}.fm-heading-copy>p{margin-bottom:19px}.studio .fm-heading-copy .text-link{font-size:12px}
.fm-benefits{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 35px}
.fm-benefits>span{display:flex;align-items:center;gap:8px;color:#486a99;font-size:11px;border:1px solid #dce7f9;background:#f5f9ff;border-radius:50px;padding:9px 14px}
.fm-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 245px minmax(0,1fr);gap:30px;isolation:isolate;align-items:center}
.fm-connections{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}
.fm-connections path{fill:none;stroke:#8bb5f1;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:5 7;animation:fm-flow 8s linear infinite}
.fm-side{display:flex;flex-direction:column;gap:15px;min-width:0}
.fm-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:175px;padding:20px 23px;background:#fff;border:1px solid #dae6f7;border-radius:18px;text-align:left;box-shadow:0 8px 25px #1555f507;position:relative;transition:background .25s,transform .25s,border-color .25s}
.fm-card:hover{transform:translateY(-3px);border-color:#8bb5f5}
.fm-card[aria-pressed=true]{background:#edf4ff;border-color:#1555f5;box-shadow:0 8px 25px #1555f515}
.fm-card-top{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.fm-icon{display:grid;place-items:center;color:#1555f5;background:#edf4ff;border-radius:10px;width:38px;height:38px}
.fm-card-number{color:#8fa6c5;font-size:10px;font-weight:750}
.fm-card strong{font-size:17px;color:#15315c;line-height:1.3;letter-spacing:-.02em;font-weight:750}
.fm-card-summary{font-size:12px;color:#5b7293;line-height:1.7;margin-top:8px;max-width:310px}
.fm-card-action{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:750;color:#1555f5;margin-top:14px}
.fm-hub{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:330px}
.fm-hub-orbit{position:absolute;top:0;width:285px;height:285px;border:1px solid #c3d9fb;border-radius:50%;box-shadow:0 0 0 23px #1555f504,0 0 0 46px #1555f503;z-index:-1}
.fm-brand{width:235px;height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d5e4fa;border-radius:50%;background:#fff;box-shadow:0 18px 55px #1555f516;overflow:hidden}
.fm-brand img{width:190px;height:190px;object-fit:contain;margin-top:-15px}.fm-brand>span{font-size:7px;font-weight:800;letter-spacing:.1em;color:#718cb0;margin-top:-2px}
.studio .fm-hub>p{font-size:12px;line-height:1.8;color:#6b82a2;margin-top:28px}
.fm-detail{margin-top:35px;display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;background:#f1f6ff;border:1px solid #dae6f7;border-radius:24px;padding:34px;scroll-margin-top:125px;align-items:center}
.fm-detail-copy{min-width:0}.fm-detail-copy h3{font-size:30px;line-height:1.15;font-weight:750;letter-spacing:-.04em;color:#14325e}
.studio .fm-detail-copy>p{font-size:14px;line-height:1.8;margin-top:16px}
.studio .fm-detail-copy .eyebrow{font-size:8px;line-height:1.6;margin-bottom:16px}
.studio .fm-detail .check-list{gap:12px;margin-block:24px}.studio .fm-detail .check-list li{font-size:12px;line-height:1.7}
.fm-detail-preview{min-width:0}.fm-detail-preview .browser-frame{transform:none!important;border:1px solid #d7e3f6;border-radius:12px;box-shadow:0 15px 30px #1555f512}
.studio .fm-detail-preview .frame-bar{font-size:8px;padding:11px}.fm-detail-preview img{width:100%;aspect-ratio:1.5;object-fit:cover;object-position:top}
.fm-detail-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.studio .fm-back-link{font-size:11px;color:#6b83a4}
.studio .fm-plan-note{display:flex;align-items:flex-start;justify-content:center;gap:9px;font-size:11px;line-height:1.8;color:#7288a6;margin-top:22px}
@keyframes fm-flow{to{stroke-dashoffset:-96}}
@media(max-width:1100px){.fm-layout{grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);gap:20px}.fm-brand{width:185px;height:185px}.fm-brand img{width:150px;height:150px;margin-top:-10px}.fm-hub-orbit{width:210px;height:210px;top:20px}.fm-brand>span{font-size:6px}.fm-card{padding:18px;min-height:180px}.fm-card strong{font-size:15px}.fm-card-summary{font-size:12px}.fm-detail{padding:28px;gap:25px}.fm-detail-copy h3{font-size:27px}.studio .desktop-nav{gap:16px}.studio .desktop-nav a{font-size:11px}}
@media(max-width:800px){.fm-layout{grid-template-columns:1fr 1fr;gap:15px}.fm-hub{grid-column:1/-1;grid-row:1;min-height:245px;margin:0 0 20px}.fm-hub-orbit{width:200px;height:200px;top:0}.fm-hub>p{display:none}.fm-brand{width:200px;height:200px}.fm-brand img{width:160px;height:160px}.fm-left{grid-column:1}.fm-right{grid-column:2}.fm-connections{display:none}.fm-card{min-height:185px}.fm-detail{grid-template-columns:1fr}.fm-detail-preview img{aspect-ratio:1.7}}
@media(max-width:640px){.studio .nav-row{height:87px}.studio .brand{width:105px}.studio .brand-logo-crop{width:98px;height:76px}.studio .brand-logo-crop img{width:98px;height:98px;top:-11px}.studio .footer-top .brand-logo-crop{width:110px;height:85px}.studio .footer-top .brand-logo-crop img{width:110px;height:110px;top:-12px}.fm-heading-copy{max-width:none;margin-top:23px}.studio .fm-heading-copy>p{font-size:14px}.studio .fm-heading-copy .text-link{font-size:11px}.fm-benefits{gap:8px;margin-bottom:25px}.fm-benefits>span{font-size:10px;padding:8px 10px}.fm-layout{gap:10px}.fm-side{gap:10px}.fm-card{padding:14px 12px;min-height:210px;border-radius:14px}.fm-card-top{margin-bottom:13px}.fm-icon{width:33px;height:33px;border-radius:9px}.fm-icon svg{width:21px;height:21px}.fm-card strong{font-size:13px;line-height:1.5}.fm-card-summary{font-size:11px;line-height:1.7;margin-top:8px}.fm-card-action{font-size:10px;margin-top:auto;padding-top:14px;gap:6px}.fm-card-number{font-size:8px}.fm-hub{min-height:230px;margin-bottom:5px}.fm-detail{margin-top:24px;padding:25px 19px;gap:25px;border-radius:18px}.fm-detail-copy h3{font-size:27px}.studio .fm-detail-copy>p{font-size:13px}.studio .fm-detail .check-list li{font-size:12px}.studio .fm-detail-copy .eyebrow{font-size:7px}.studio .fm-detail-preview .frame-bar{font-size:6px;padding:8px}.fm-detail .text-link{font-size:12px}.studio .fm-plan-note{font-size:10px;justify-content:flex-start;line-height:1.8;margin-top:20px}.fm-plan-note svg{margin-top:2px}.studio .fm-back-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){.fm-connections path{animation:none}.fm-card{transition:none}}
.motion-paused .fm-connections path{animation-play-state:paused}
/* Color identifies a module and the line that connects it to the school. */
.fm-layout{gap:36px}
.fm-card{border-color:color-mix(in srgb,var(--fm-color) 25%,white);background:linear-gradient(115deg,var(--fm-tint),#fff 72%);min-height:202px;box-shadow:0 8px 24px #15315c05}
.fm-card::before{content:"";position:absolute;left:0;top:23px;bottom:23px;width:3px;border-radius:0 4px 4px 0;background:var(--fm-color);opacity:.8}
.fm-icon{color:var(--fm-color);background:var(--fm-tint);border:1px solid color-mix(in srgb,var(--fm-color) 14%,white)}
.fm-card-number,.fm-card-action{color:var(--fm-color)}
.fm-card:hover,.fm-card:focus-visible{border-color:var(--fm-color);box-shadow:0 8px 25px color-mix(in srgb,var(--fm-color) 12%,transparent)}
.fm-card:focus-visible{outline:3px solid var(--fm-color);outline-offset:4px}
.fm-card[aria-pressed=true]{background:var(--fm-tint);border-color:var(--fm-color);box-shadow:inset 0 0 0 1px var(--fm-color),0 10px 25px #15315c0a}
.fm-highlights{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.fm-highlights>span{font-size:9px;font-weight:650;line-height:1.4;padding:4px 7px;border-radius:5px;color:var(--fm-color);background:var(--fm-tint);border:1px solid color-mix(in srgb,var(--fm-color) 16%,white)}
.fm-card-action{margin-top:12px}
.fm-connections{z-index:0}.fm-side,.fm-hub{position:relative;z-index:1}
.fm-connections path{stroke:var(--fm-line,#96a9c4);stroke-width:2.8;stroke-dasharray:none;animation:none;opacity:.8;transition:stroke-width .2s,opacity .2s}
.fm-connections .fm-line-halo{stroke:white;stroke-width:7;opacity:1}
.fm-connections circle{fill:white;stroke:var(--fm-line);stroke-width:2.5}
.fm-connections .fm-node-core{fill:var(--fm-line);stroke:white;stroke-width:1.5}
.fm-connections .is-active path:not(.fm-line-halo),.fm-connections .is-emphasized path:not(.fm-line-halo){stroke-width:4;opacity:1}
.fm-connections .is-active .fm-node-core,.fm-connections .is-emphasized .fm-node-core{r:5}
.fm-hub-orbit{border-color:#99b8e7;box-shadow:0 0 0 18px #1555f504}
.fm-detail{--fm-color:#ae6812;--fm-tint:#fff7e9;background:linear-gradient(120deg,var(--fm-tint),#fff);border-color:color-mix(in srgb,var(--fm-color) 28%,white)}
.studio .fm-detail .eyebrow,.fm-detail .check-list svg{color:var(--fm-color)}
@media(max-width:1100px){.fm-layout{gap:27px}.fm-card{padding:18px;min-height:219px}}
@media(max-width:800px){.fm-layout{gap:26px}.fm-connections{display:block}.fm-card{min-height:230px}.fm-hub{margin-bottom:12px}.fm-connections .fm-mobile-spine{stroke:#7d95b9;stroke-width:2;opacity:.65}.fm-connections path{stroke-width:2.5}}
@media(max-width:640px){.fm-layout{gap:22px}.fm-card{padding:14px 11px;min-height:263px}.fm-card::before{top:16px;bottom:16px;width:2px}.fm-card-summary{font-size:10px}.fm-highlights{gap:4px;margin-top:9px}.fm-highlights>span{font-size:8px;padding:3px 5px}.fm-card-action{margin-top:auto}.fm-card strong{font-size:12px}.fm-connections circle{stroke-width:2}}
@media(prefers-reduced-motion:reduce){.fm-connections path{transition:none}}
@media(min-width:1101px){.fm-card{min-height:188px;padding:16px 23px}.fm-card-top{margin-bottom:8px}.fm-card-summary{margin-top:6px}.fm-highlights{margin-top:8px}.fm-card-action{margin-top:10px}}
