@view-transition { navigation:auto; }
::view-transition-old(root) { animation:msc-page-out .22s cubic-bezier(.4,0,.8,1) both; mix-blend-mode:normal; }
::view-transition-new(root) { animation:msc-page-in .4s cubic-bezier(.2,.7,.2,1) both; mix-blend-mode:normal; }
::view-transition-group(*) { animation-duration:.4s; animation-timing-function:cubic-bezier(.2,.7,.2,1); }
@keyframes msc-page-out { to { opacity:0; transform:translateY(-9px); } }
@keyframes msc-page-in { from { opacity:0; transform:translateY(16px); } }
@keyframes msc-page-back-out { to { opacity:0; transform:translateY(9px); } }
@keyframes msc-page-back-in { from { opacity:0; transform:translateY(-16px); } }
html:active-view-transition-type(msc-back)::view-transition-old(root) { animation-name:msc-page-back-out; }
html:active-view-transition-type(msc-back)::view-transition-new(root) { animation-name:msc-page-back-in; }
.gov-nav { view-transition-name:msc-navigation; }
.gov-header { view-transition-name:msc-brand-header; }
::view-transition-old(msc-navigation),::view-transition-new(msc-navigation),::view-transition-old(msc-brand-header),::view-transition-new(msc-brand-header) { animation:none; mix-blend-mode:normal; }
@media(max-width:800px) {
 ::view-transition-old(root) { animation-duration:.16s; }
 ::view-transition-new(root),::view-transition-group(*) { animation-duration:.28s; }
}
.discovery-area-photo picture { display:block; aspect-ratio:3/2; overflow:hidden; }
.discovery-area-photo picture img { aspect-ratio:3/2; object-fit:cover; }
.chapter-nav { position:sticky; top:var(--msc-nav-height,54px); display:flex; justify-content:center; gap:0; background:#fff; border-bottom:1px solid #d5dfe3; z-index:35; padding:0 20px; }
.chapter-nav[hidden] { display:none; }
.chapter-nav a { position:relative; display:flex; align-items:center; gap:9px; padding:14px 22px; min-height:48px; font-size:12px; white-space:nowrap; text-decoration:none; color:#566773; }
.chapter-nav a[aria-current="location"] { color:#1d558c; font-weight:650; }
.chapter-nav a[aria-current="location"]::after { content:""; position:absolute; height:2px; background:#b97824; inset:auto 20px 0; }
.chapter-number { font-size:10px; color:#617686; font-variant-numeric:tabular-nums; }
.chapter-progress { display:none; }
.home-motion :is(#our-purpose,#mission-map,#areas-of-work,#our-approach,#take-part,#accountability) { scroll-margin-top:calc(var(--msc-nav-height,54px) + 62px); }
.mission-connections { background:#fff; }
.mission-map-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr); align-items:center; gap:56px; }
.mission-diagram { position:relative; width:100%; min-width:0; aspect-ratio:8/5.5; min-height:460px; }
.mission-edges { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.mission-edges path { fill:none; stroke:#d5e0df; stroke-width:1.6; vector-effect:non-scaling-stroke; transition:stroke .35s,stroke-width .35s; }
.mission-edges path.is-related { stroke:#6d9f92; stroke-width:2; }
.mission-edges path.is-selected { stroke:#b77525; stroke-width:3; stroke-dasharray:8 6; }
html[data-page-motion="full"] .mission-edges path.is-selected { animation:msc-connection-flow 8s linear infinite paused; }
html[data-page-motion="full"] .mission-connections.is-in-view .mission-edges path.is-selected { animation-play-state:running; }
@keyframes msc-connection-flow { to { stroke-dashoffset:-140; } }
.mission-node { position:absolute; left:var(--node-x); top:var(--node-y); transform:translate(-50%,-28px); width:142px; padding:0; display:flex; align-items:center; flex-direction:column; gap:9px; border:0; background:none; color:#365057; font:inherit; font-size:12px; line-height:1.35; cursor:pointer; box-shadow:none; }
.mission-node:hover { transform:translate(-50%,-28px); }
.mission-node-icon { width:56px; height:56px; display:grid; place-items:center; border-radius:50%; border:1px solid #c5d7d1; background:#fff; color:#40665c; transition:background .25s,color .25s,box-shadow .25s; }
.mission-node-icon svg { width:24px; height:24px; }
.mission-node.is-related .mission-node-icon { background:#edf5f1; border-color:#86ae9e; }
.mission-node[aria-pressed="true"] { color:#204d3e; font-weight:650; }
.mission-node[aria-pressed="true"] .mission-node-icon { color:#fff; border-color:#255d4b; background:#255d4b; box-shadow:0 0 0 5px #edf4f0; }
.mission-node:hover .mission-node-icon { border-color:#1c5946; }
.mission-map-centre { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:155px; text-align:center; padding:20px 5px; background:#fff; }
.mission-map-centre>span { display:block; color:#255d4b; font-size:13px; font-weight:700; margin-bottom:6px; }
.mission-map-centre strong { font-size:23px; font-weight:550; color:#1c3942; }
.mission-map-centre small { display:block; font-size:11px; color:#61756e; margin-top:6px; }
.mission-detail { border-left:2px solid #d3e2dc; padding:10px 0 10px 32px; min-height:385px; min-width:0; }
.home-motion .mission-detail .msc-label { color:#366554; font-size:11px; margin-bottom:14px; }
.home-motion .mission-detail h3 { font-size:30px; line-height:1.2; margin:0 0 20px; color:#203e48; font-weight:550; }
.home-motion .mission-detail>p:not(.msc-label) { font-size:15px; color:#5a6d71; line-height:1.7; }
.home-motion .mission-detail .mission-related-label { font-size:11px; margin:22px 0 8px; color:#657674; }
.mission-related { display:flex; flex-direction:column; gap:0; margin-bottom:25px; }
.mission-related button { display:flex; justify-content:space-between; align-items:center; gap:10px; font:inherit; font-size:13px; text-align:left; padding:9px 0; border:0; border-bottom:1px solid #e0e8e4; border-radius:0; color:#255c4b; background:none; box-shadow:none; transform:none; cursor:pointer; }
.mission-related button svg { width:16px; height:16px; flex:none; }
.home-motion .mission-map-note { border-top:1px solid #e0e8e4; padding-top:18px; margin:24px 0 0; font-size:11px; color:#667770; }
.home-motion .image-hotspot { position:absolute; width:36px; height:36px; transform:translate(-50%,-50%); display:grid; place-items:center; border-radius:50%; border:2px solid #fff; background:#1a4b45; color:#fff; box-shadow:0 0 0 6px #ffffff35; padding:0; cursor:pointer; }
.image-hotspot svg { width:18px; height:18px; transition:transform .2s; }
.image-hotspot[aria-expanded="true"] svg { transform:rotate(45deg); }
.hotspot-detail { position:absolute; left:16px; right:16px; bottom:16px; background:#fff; color:#25463f; padding:18px 42px 18px 18px; border-left:3px solid #b87c34; box-shadow:0 8px 28px #172f3a25; z-index:3; }
.hotspot-detail strong { font-size:14px; font-weight:600; }
.home-motion .hotspot-detail p { font-size:12px; line-height:1.6; margin:6px 0 0; color:#546768; }
.hotspot-detail button { position:absolute; right:8px; top:8px; display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; background:none; color:#355d51; box-shadow:none; }
.hotspot-detail button svg { width:17px; height:17px; }
.route-entry { display:flex; justify-content:flex-end; margin:0 0 20px; }
.route-entry button { border:0; background:none; padding:0; box-shadow:none; transform:none; font:inherit; cursor:pointer; }
.home-motion .route-entry .msc-text-link { color:#fff; font-size:14px; }
.route-entry svg { width:19px; height:19px; }
:is(.discovery-dialog,.trust-drawer,.route-dialog) { color:#213b49; background:#fff; padding:30px; border:1px solid #cad8dc; border-radius:8px; max-height:calc(100dvh - 48px); width:min(740px,calc(100vw - 48px)); box-sizing:border-box; box-shadow:0 30px 100px #142b4a45; overflow-y:auto; overscroll-behavior:contain; font-family:inherit; letter-spacing:0; }
:is(.discovery-dialog,.trust-drawer,.route-dialog)::backdrop { background:#0f293dc4; backdrop-filter:blur(5px); }
html.modal-open { overflow:hidden; }
:is(.discovery-dialog,.trust-drawer,.route-dialog) [hidden] { display:none!important; }
:is(.discovery-dialog,.trust-drawer,.route-dialog) :is(button,a,input,select):focus-visible { outline:3px solid #b97a2b; outline-offset:3px; }
.discovery-top { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:25px; }
.discovery-eyebrow { font-size:11px; color:#527567; margin:0 0 9px; }
.discovery-top h2 { font-size:30px; line-height:1.2; color:#173e4e; font-weight:550; margin:0; }
.discovery-icon { flex:none; display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:50%; background:#eef3f4; color:#3c5d67; padding:0; box-shadow:none; transform:none; cursor:pointer; }
.discovery-icon svg { width:19px; height:19px; }
.discovery-form { display:flex; gap:10px; margin:0; }
.discovery-field { display:flex; align-items:center; gap:12px; padding:8px 14px; border:1px solid #a6bdc8; border-radius:4px; min-width:0; flex:1; }
.discovery-field>svg { flex:none; width:20px; height:20px; color:#64818d; }
.discovery-field input { display:block; min-width:0; width:100%; border:0; background:none; box-shadow:none; font:inherit; font-size:17px; padding:7px 0; color:#1b3e54; outline-offset:5px; }
.discovery-field input::-webkit-search-cancel-button { display:none; }
.discovery-submit { display:grid; place-items:center; width:56px; flex:none; padding:0; border:0; border-radius:4px; background:#214f88; color:#fff; cursor:pointer; }
.discovery-submit svg { width:23px; height:23px; }
.discovery-filters { display:flex; gap:3px; flex-wrap:wrap; border-bottom:1px solid #d9e3e6; margin:20px 0 0; }
.discovery-filters button { border:0; border-bottom:2px solid transparent; border-radius:0; padding:12px 13px; color:#586c79; background:none; box-shadow:none; transform:none; font:inherit; font-size:12px; cursor:pointer; }
.discovery-filters button[aria-pressed="true"] { color:#174f85; border-color:#214f88; font-weight:650; }
.discovery-status { font-size:12px; color:#677b85; margin:20px 0 8px; }
.discovery-results { min-height:270px; max-height:380px; overflow-y:auto; scrollbar-width:thin; }
.discovery-dialog[open] { display:flex; flex-direction:column; height:min(750px,calc(100dvh - 48px)); overflow:hidden; }
.discovery-dialog :is(.discovery-top,.discovery-form,.discovery-filters,.discovery-status,.discovery-footer) { flex-shrink:0; }
.discovery-dialog .discovery-results { flex:1; min-height:0; max-height:none; }
.discovery-result { display:grid; grid-template-columns:1fr 20px; gap:6px 20px; text-decoration:none; padding:16px 10px; border-bottom:1px solid #e3eaed; color:#244a65; }
.discovery-result:hover,.discovery-result:focus-visible { background:#f2f7f6; }
.discovery-result strong { font-size:16px; font-weight:550; line-height:1.35; }
.discovery-result small { font-size:10px; color:#447767; grid-column:1/-1; }
.discovery-result p { grid-column:1/-1; font-size:13px; line-height:1.6; color:#657985; margin:0; }
.discovery-result svg { width:18px; height:18px; }
.discovery-empty { padding:30px 10px; }
.discovery-empty h3 { font-size:20px; font-weight:550; margin:0 0 10px; }
.discovery-empty p { font-size:14px; line-height:1.6; color:#5f737e; }
.discovery-footer { border-top:1px solid #d9e3e6; margin-top:20px; padding-top:18px; display:flex; justify-content:space-between; gap:20px; }
.discovery-footer a { display:inline-flex; align-items:center; gap:10px; font-size:12px; text-decoration:none; color:#214f88; }
.discovery-footer svg { width:16px; height:16px; }
.trust-drawer { margin:0 0 0 auto; height:100dvh; max-height:100dvh; width:min(500px,100vw); border-radius:0; border-right:0; padding:36px; }
.trust-intro { display:flex; align-items:center; gap:16px; padding:20px 0 30px; border-bottom:1px solid #dce5e5; }
.trust-intro>svg { width:34px; height:34px; color:#397764; flex:none; }
.trust-intro p { margin:0; font-size:14px; line-height:1.7; }
.trust-intro strong { font-weight:550; }
.trust-records { margin:0; }
.trust-records>div { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0; border-bottom:1px solid #dce5e5; }
.trust-records dt { font-size:14px; }
.trust-records dd { margin:0; font-size:11px; white-space:nowrap; }
.status-recorded { color:#25664c; }
.status-pending { color:#875c20; }
.trust-disclaimer { font-size:12px; line-height:1.7; color:#65777f; margin:24px 0; }
.trust-actions { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.trust-actions .msc-action,.route-dialog .msc-action { display:inline-flex; align-items:center; gap:15px; background:#214f88; border:0; border-radius:4px; color:#fff; padding:14px 18px; font:inherit; font-size:14px; text-decoration:none; cursor:pointer; }
.trust-actions svg,.route-dialog .msc-action svg { width:18px; height:18px; }
.trust-actions .msc-text-link { display:inline-flex; align-items:center; gap:10px; color:#214f88; font-size:13px; text-decoration:none; }
.route-dialog { width:min(620px,calc(100vw - 48px)); }
.route-dialog fieldset { padding:0; border:0; margin:0 0 24px; }
.route-dialog legend,.route-area-label { display:block; font-size:13px; color:#46626e; margin-bottom:12px; }
.route-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.route-choices label { display:flex; align-items:center; gap:10px; min-height:53px; padding:12px; border:1px solid #ccdadf; border-radius:4px; font-size:14px; cursor:pointer; }
.route-choices label:has(input:checked) { border-color:#2e6e59; background:#f0f7f3; }
.route-choices input { width:16px; height:16px; margin:0; accent-color:#2e6e59; }
.route-dialog select { width:100%; padding:13px; min-height:48px; margin-bottom:26px; font:inherit; font-size:14px; border:1px solid #abc2cb; border-radius:4px; background:#fff; color:#284e62; }
.route-result h3 { font-size:28px; line-height:1.25; font-weight:550; margin:0 0 18px; }
.route-result p { line-height:1.7; font-size:15px; color:#58717c; }
.route-reset { display:block; border:0; background:none; text-decoration:underline; padding:0; margin:22px 0; font:inherit; font-size:13px; color:#3e6581; cursor:pointer; }
.route-result small { display:block; font-size:12px; color:#687f88; line-height:1.6; }
@media(min-width:1500px) {
 .chapter-nav { position:fixed; top:35%; right:14px; padding:0; background:#ffffffeb; border:1px solid #d5e0e4; border-radius:4px; flex-direction:column; opacity:0; visibility:hidden; transition:opacity .2s; }
 .chapter-nav.is-visible { opacity:1; visibility:visible; }
 .chapter-nav a { width:40px; height:40px; min-height:40px; padding:0; justify-content:center; }
 .chapter-number { font-size:11px; }
 .chapter-label { position:absolute; right:49px; color:#214f88; background:#fff; border:1px solid #cbdde4; border-radius:3px; padding:7px 10px; opacity:0; pointer-events:none; }
 .chapter-nav a:hover .chapter-label,.chapter-nav a:focus-visible .chapter-label { opacity:1; }
 .chapter-nav a[aria-current="location"]::after { inset:8px auto 8px -1px; height:auto; width:2px; }
 .chapter-progress { display:block; position:absolute; width:2px; top:0; bottom:0; right:-1px; background:#8ca99d; transform:scaleY(var(--chapter-progress,0)); transform-origin:top; }
 .home-motion :is(#our-purpose,#mission-map,#areas-of-work,#our-approach,#take-part,#accountability) { scroll-margin-top:calc(var(--msc-nav-height,54px) + 16px); }
}
@media(max-width:1000px) {
 .mission-map-layout { gap:25px; grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr); }
 .mission-node { width:112px; font-size:11px; }
 .mission-map-centre { width:128px; }
 .mission-map-centre strong { font-size:20px; }
 .mission-detail { padding-left:22px; }
 .home-motion .mission-detail h3 { font-size:26px; }
 .chapter-nav a { padding-inline:15px; }
}
@media(max-width:800px) {
 .mission-map-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
 .mission-diagram { min-height:440px; max-width:680px; margin:auto; }
 .mission-node { width:130px; font-size:12px; }
 .mission-detail { min-height:310px; }
 .chapter-nav { justify-content:flex-start; overflow-x:auto; scrollbar-width:none; padding-inline:5px; }
 .chapter-nav a { padding:13px 12px; font-size:11px; }
 .chapter-nav a[aria-current="location"]::after { inset-inline:12px; }
 .chapter-number { display:none; }
}
@media(max-width:520px) {
 .mission-diagram { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; aspect-ratio:auto; min-height:0; }
 .mission-edges { display:none; }
 .mission-map-centre { position:static; transform:none; grid-column:1/-1; width:auto; padding:0 0 18px; }
 .mission-map-centre>span,.mission-map-centre small { display:none; }
 .mission-map-centre strong { font-size:20px; }
 .mission-node,.mission-node:hover { position:static; transform:none; width:auto; flex-direction:row; align-items:center; gap:9px; border:1px solid #d7e3dd; border-radius:4px; min-height:74px; padding:10px; text-align:left; font-size:12px; }
 .mission-node-icon { width:30px; height:30px; flex:none; border:0; border-radius:0; }
 .mission-node-icon svg { width:20px; height:20px; }
 .mission-node>span:last-child { min-width:0; overflow-wrap:anywhere; }
 .mission-node[aria-pressed="true"] { background:#255d4b; color:#fff; border-color:#255d4b; }
 .mission-node[aria-pressed="true"] .mission-node-icon { box-shadow:none; background:none; }
 .mission-node.is-related { border-color:#76a88e; }
 .mission-node.is-related .mission-node-icon { background:none; }
 .mission-detail { padding-left:18px; }
 .home-motion .mission-detail h3 { font-size:25px; }
 .home-motion .hotspot-detail { padding:12px 36px 12px 12px; inset:auto 10px 10px; }
 .home-motion .hotspot-detail p { font-size:11px; margin-top:3px; }
 .hotspot-detail strong { font-size:12px; }
 .home-motion .image-hotspot { width:32px; height:32px; }
 .route-entry { justify-content:flex-start; }
 :is(.discovery-dialog,.route-dialog) { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); padding:20px 16px; }
 .discovery-dialog[open] { height:calc(100dvh - 20px); }
 .discovery-top { gap:12px; margin-bottom:20px; }
 .discovery-top h2 { font-size:25px; }
 .discovery-field { padding-inline:10px; gap:8px; }
 .discovery-field input { font-size:16px; }
 .discovery-submit { width:45px; }
 .discovery-filters { gap:0; }
 .discovery-filters button { padding:10px 8px; font-size:11px; }
 .discovery-results { max-height:none; min-height:180px; }
 .discovery-result { padding-inline:3px; }
 .discovery-result strong { font-size:15px; }
 .trust-drawer { padding:25px 20px; }
 .trust-records dt { font-size:13px; }
 .trust-records dd { font-size:10px; }
 .route-choices label { font-size:12px; padding:9px; }
 .route-result h3 { font-size:25px; }
}
@media(max-width:360px) {
 .mission-diagram { grid-template-columns:minmax(0,1fr); }
 .mission-node,.mission-node:hover { min-height:54px; font-size:13px; }
 .mission-map-centre { grid-column:1; }
}
html[data-page-motion="reduced"] .mission-edges path { animation:none!important; }
html[data-page-motion="reduced"]::view-transition-group(*),html[data-page-motion="reduced"]::view-transition-old(*),html[data-page-motion="reduced"]::view-transition-new(*) { animation:none!important; }
@media(prefers-reduced-motion:reduce) {
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation:none!important; }
 .mission-edges path { animation:none!important; }
}
