/* Version 6: a broader service hierarchy, complete case artwork, local map previews. */
.office-map-google{height:430px;display:flex;flex-direction:column;border:1px solid #cbd7df;background:#eef2f4;overflow:hidden}
.google-map-canvas{position:relative;flex:1;min-height:0}
.google-map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:28px;text-align:center}
.google-map-loading[hidden]{display:none}
.map-loading-mark{font-size:28px;color:var(--blue)}
.google-map-loading strong{font-size:23px;font-weight:500;letter-spacing:-.025em}
.map-load-message{font-size:12px;color:var(--muted)}
.retry-office-map{border:1px solid var(--blue);background:white;padding:10px 17px;color:var(--blue);cursor:pointer;font:inherit;font-size:12px}
.office-map-google .google-map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;filter:none;opacity:0}
.office-map-google .google-map-frame.is-ready{opacity:1}
.google-map-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:white;border-top:1px solid #d4dfe5}
.google-map-footer .map-status{padding:0;font-size:10px!important;background:none;z-index:auto}
.google-map-footer a{font-size:11px;color:var(--blue);white-space:nowrap}
@media(max-width:760px){.office-map-google{height:370px}.google-map-footer{padding:14px 12px;gap:9px}.google-map-footer a{font-size:10px}.google-map-footer .map-status{font-size:9px!important}}
.disclosure-index{display:flex;flex-wrap:wrap;gap:10px 22px;padding:22px 0 28px;margin-bottom:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.disclosure-index a{font-size:13px;color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.credits-copy h2[id]{scroll-margin-top:120px}
.capability-grid .capability{padding:30px 25px;border-right:1px solid #c7d4dd;border-bottom:1px solid #c7d4dd}
.capability-grid .capability:nth-child(4n){border-right:0}
.capability-grid .capability:nth-last-child(-n+4){border-bottom:0}
.enterprise-services{border-top:1px solid var(--line)}
.enterprise-service{display:grid;grid-template-columns:.6fr 1.2fr 1.1fr;gap:48px;padding:46px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.enterprise-number{color:var(--blue);font-size:10px;letter-spacing:.07em;padding-top:8px}
.enterprise-service h3{font-size:32px;line-height:1.12;letter-spacing:-.035em;margin-bottom:19px}
.enterprise-service p,.enterprise-service li{font-size:15px;line-height:1.8;color:var(--muted)}
.enterprise-service ul{list-style:none;padding:0;margin:0}
.enterprise-service li{border-bottom:1px solid #e2e8ed;padding:7px 0}
.enterprise-service li:first-child{padding-top:0}
.enterprise-service .service-output{font-size:12px;margin-top:22px}
.service-output span{display:block;font-size:9px;letter-spacing:.1em;color:var(--blue);margin-bottom:6px}
.programme-control{background:var(--ink);color:white;padding:40px 46px;margin-top:48px;max-width:100%}
.programme-control h3{font-size:32px;letter-spacing:-.025em;margin:15px 0}
.programme-control p{max-width:780px;font-size:15px;line-height:1.85;color:#cbd9e3}
.programme-control .text-link{color:white;margin-top:22px}
.capacity-copy .capacity-qualification{font-size:12px;color:#bfd1e0;margin-top:17px;line-height:1.7}
.case-full-visual{margin:0 0 50px;background:var(--wash)}
.case-full-visual>a{display:block;cursor:zoom-in}
.case-full-visual img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.case-full-visual figcaption{display:flex;justify-content:space-between;gap:15px;padding:15px 19px;font-size:11px;line-height:1.6;color:var(--muted)}
.case-full-visual figcaption a{color:var(--blue);white-space:nowrap}
.case-results-wide{margin-bottom:65px}
.case-results-wide h2{font-size:38px;letter-spacing:-.035em;margin:15px 0 30px}
.case-metric-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-metric-row>div{padding:24px 32px;border-right:1px solid var(--line)}
.case-metric-row>div:first-child{padding-left:0}
.case-metric-row>div:last-child{border:0}
.case-metric-row strong{display:block;font-size:clamp(38px,5vw,64px);letter-spacing:-.045em;font-weight:500}
.case-metric-row span{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.case-results-wide .demo-notice{margin-top:20px}
.office-map-local{height:400px;overflow:hidden;border:1px solid #cad7df;display:flex;flex-direction:column;background:#edf2f4}
.district-preview{position:relative;flex:1;min-height:0;overflow:hidden}
.district-preview svg{position:absolute;inset:25px 0 0;width:100%;height:100%}
.district-top{position:relative;z-index:1;display:flex;justify-content:space-between;padding:19px 21px;color:#47677c;font-size:9px;letter-spacing:.1em}
.district-label{position:absolute;left:20px;bottom:17px;padding:14px 18px;background:#fffffff2;border-left:3px solid var(--blue);box-shadow:0 3px 14px #14364d0a;max-width:calc(100% - 40px)}
.district-label>span{font-size:10px;color:#527088;display:block;margin-bottom:5px}
.district-label strong{font-size:22px;font-weight:500;display:block;letter-spacing:-.025em}
.district-label small{font-size:9px;color:#6c8190;display:block;margin-top:7px}
.office-map-actions{position:relative;z-index:3;background:white;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-top:1px solid #cbd7df}
.office-map-actions button{font:inherit;font-size:12px;font-weight:500;color:var(--blue);background:transparent;border:0;cursor:pointer;padding:5px 0;text-align:left}
.office-map-actions button span{margin-left:10px}
.office-map-actions button:disabled{cursor:wait;opacity:.65}
.office-map-actions a{font-size:11px;white-space:nowrap}
.map-status{position:relative;z-index:3;font-size:9px!important;color:#61798b;background:white;margin:0!important;padding:0 18px 12px;line-height:1.6!important}
.office-map-local iframe{position:absolute;inset:0;width:100%;height:calc(100% - 88px);z-index:2;filter:none;background:#edf2f4}
.office-map-local iframe[hidden]{display:none}
@media(max-width:980px){.enterprise-service{grid-template-columns:1fr 1fr;gap:25px}.enterprise-number{grid-column:1/-1}.capability-grid .capability:nth-child(2n){border-right:0}.capability-grid .capability:nth-last-child(-n+4){border-bottom:1px solid #c7d4dd}.capability-grid .capability:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:760px){.enterprise-service{grid-template-columns:1fr;padding:30px 0;gap:21px}.enterprise-service h3{font-size:29px}.enterprise-service p,.enterprise-service li{font-size:14px}.programme-control{padding:28px 24px}.programme-control h3{font-size:28px}.case-full-visual{margin-bottom:32px}.case-full-visual figcaption{display:block;padding:13px;font-size:10px}.case-full-visual figcaption a{display:block;margin-top:7px}.case-results-wide h2{font-size:31px}.case-metric-row>div{padding:20px 12px}.case-metric-row strong{font-size:36px}.case-metric-row span{font-size:11px;line-height:1.5}.office-map-local{height:350px}.district-label strong{font-size:21px}.office-map-actions{padding:13px}.map-status{padding:0 13px 12px}.office-map-actions button{font-size:11px}}
@media(max-width:380px){.capability-grid .capability{border-right:0}.capability-grid .capability:nth-last-child(2){border-bottom:1px solid #c7d4dd}.case-metric-row strong{font-size:30px}}
