:root{--sp-navy:#062f55;--sp-navy2:#082848;--sp-gold:#ffca16;--sp-orange:#f05a28;--sp-line:#dbe5ec;--sp-text:#0e2b45;--sp-muted:#61788d}
.sp-utility,.sp-header,.sp-context,.sp-footer{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box}.sp-utility *,.sp-header *,.sp-context *,.sp-footer *{box-sizing:border-box}.sp-shell{width:min(1220px,calc(100% - 40px));margin:0 auto}.sp-utility{height:40px;background:#062f55;color:#d9e7f2;font-size:12px}.sp-utility .sp-shell{height:100%;display:flex;align-items:center;justify-content:space-between}.sp-utility .sp-shell>div{display:flex;gap:23px;align-items:center}.sp-utility a{color:inherit;text-decoration:none}.sp-header{background:#fff;border-bottom:1px solid #e6edf3;position:relative;z-index:900}.sp-nav-shell{min-height:92px;display:flex;align-items:center;gap:26px}.sp-logo{display:flex;align-items:center;flex:0 0 238px}.sp-logo img{width:215px;max-height:66px;object-fit:contain}.sp-nav{display:flex;align-items:center;justify-content:center;gap:22px;flex:1}.sp-nav a{color:#173954;text-decoration:none;font-size:14px;font-weight:800;white-space:nowrap;position:relative}.sp-nav a.is-active:after{content:"";height:3px;background:var(--sp-gold);position:absolute;left:0;right:0;bottom:-20px;border-radius:3px}.sp-trip{background:var(--sp-gold);color:#062f55!important;border-radius:11px;padding:16px 20px;text-decoration:none;font-size:14px;font-weight:900;white-space:nowrap}.sp-trip span{margin-left:10px}.sp-context{background:#f5f8fb;border-bottom:1px solid #e1e9ef;color:#647b8f;font-size:12px}.sp-context .sp-shell{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.sp-context a{color:#0b4c7d;text-decoration:none;font-weight:800}.sanum-platform-bar{display:none!important}.sp-footer{background:#062848;color:#cfe0ee;padding:50px 0 0;margin-top:0;clear:both}.sp-footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:34px}.sp-footer-brand a{display:inline-flex;background:#fff;border-radius:14px;padding:9px 12px}.sp-footer-brand img{width:210px}.sp-footer-brand p{font-size:13px;line-height:1.7;color:#b8cede;max-width:350px;margin:18px 0}.sp-footer h4{color:#fff;font-size:14px;margin:4px 0 16px}.sp-footer-grid>div:not(.sp-footer-brand){display:flex;flex-direction:column}.sp-footer a{color:#c1d5e4;text-decoration:none;font-size:13px;margin-bottom:9px}.sp-footer a:hover{color:var(--sp-gold)}.sp-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#9fb9cc}.sp-footer-bottom a{color:#fff;margin:0}.sp-module-footer-hidden{display:none!important}
/* Make module sub-navigation feel like a Sanum.store workspace rather than a separate site */
body>.topbar,body>.site-header{box-shadow:none!important;border-top:0!important;border-bottom:1px solid #e4ebf1!important;background:#fff!important;position:relative!important;top:auto!important;z-index:100!important}body>.topbar .brand,body>.site-header .brand{filter:none!important}body>.topbar a,body>.site-header a{transition:color .15s ease,background .15s ease}body>.topbar nav a.active,body>.site-header nav a.active{color:var(--sp-orange)!important}body>.topbar nav a:hover,body>.site-header nav a:hover{color:var(--sp-orange)!important}
@media(max-width:1100px){.sp-nav{gap:14px}.sp-nav a{font-size:12px}.sp-logo{flex-basis:190px}.sp-logo img{width:180px}.sp-footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}}
@media(max-width:820px){.sp-utility{display:none}.sp-nav-shell{min-height:74px;flex-wrap:wrap;padding:8px 0}.sp-logo{flex:1 1 auto}.sp-logo img{width:175px}.sp-trip{padding:12px 15px}.sp-nav{order:3;flex:1 0 100%;justify-content:flex-start;overflow-x:auto;padding:8px 0 5px;gap:18px}.sp-nav a.is-active:after{bottom:-7px}.sp-context .sp-shell{overflow-x:auto;white-space:nowrap}.sp-footer-grid{grid-template-columns:1fr 1fr}.sp-footer-brand{grid-column:1/-1}.sp-footer-bottom{flex-direction:column}}
@media(max-width:520px){.sp-shell{width:min(100% - 24px,1220px)}.sp-trip{display:none}.sp-footer-grid{grid-template-columns:1fr}.sp-footer-brand{grid-column:auto}}
body>footer:not(.sp-footer){display:none!important}
.module-wordmark{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.module-wordmark b{font-size:21px;color:#062f55;font-style:normal}.module-wordmark em{font-size:15px;color:#f05a28;font-style:normal;font-weight:900}.site-header .brand-copy strong{color:#062f55!important}.site-header .brand-copy span{color:#f05a28!important}.topbar .brand strong{color:#062f55!important}.topbar .brand em{color:#f05a28!important}.topbar .brand small{color:#71879a!important}

.sp-breadcrumb{display:flex;align-items:center;gap:7px;white-space:nowrap}.sp-breadcrumb strong{color:#102f49}.sp-breadcrumb em{font-style:normal;color:#6b8193}.sp-context .sp-shell>div{display:flex;align-items:center;gap:7px}

/* v34: module footer now mirrors the main Sanum.store footer */
.sp-footer{background:#031f37!important;color:#c9dbea!important;padding:58px 0 0!important}
.sp-footer-grid{display:grid!important;grid-template-columns:minmax(250px,1.45fr) repeat(5,minmax(132px,1fr))!important;gap:34px!important;align-items:start!important}
.sp-footer-brand{padding-right:14px}.sp-footer-brand a{background:#fff!important;border-radius:14px!important;padding:9px 12px!important;margin:0 0 2px!important}.sp-footer-brand img{width:215px!important;max-height:72px!important;object-fit:contain!important}
.sp-footer-brand p{font-size:13.5px!important;line-height:1.7!important;max-width:360px!important;color:#b8cede!important;margin:18px 0 20px!important}
.sp-trust-pills{display:grid;gap:8px;justify-items:start}.sp-trust-pills span{font-size:11.5px;line-height:1.25;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);padding:7px 10px;border-radius:999px;color:#d9e8f3}
.sp-footer h4{font-size:14px!important;line-height:1.3!important;color:#fff!important;margin:4px 0 16px!important;font-weight:900!important}.sp-footer-grid>div:not(.sp-footer-brand){display:flex!important;flex-direction:column!important;min-width:0!important}
.sp-footer-grid>div:not(.sp-footer-brand)>a{display:inline-block!important;width:max-content!important;max-width:100%!important;font-size:13px!important;line-height:1.45!important;color:#c1d5e4!important;margin:0 0 10px!important;padding:1px 0!important;border-bottom:1px solid transparent!important}.sp-footer-grid>div:not(.sp-footer-brand)>a:hover{color:#ffd04d!important;border-color:rgba(255,208,77,.5)!important;transform:translateX(2px)}
.sp-footer-bottom{border-top:1px solid rgba(255,255,255,.09)!important;margin-top:40px!important;padding:18px 0!important;font-size:12px!important;color:#829daf!important;display:flex!important;justify-content:space-between!important;align-items:center!important}.sp-footer-bottom b{font-weight:400;margin:0 5px}.sp-footer-partners{display:flex;align-items:center;gap:13px}.sp-footer-partners em{font-style:normal;color:#829daf}.sp-footer-bottom a{color:#d8e7f2!important;margin:0!important}
/* MapLibre controls shared by Transit + Weather */
#map .maplibregl-canvas,#network-map .maplibregl-canvas,#hero-map .maplibregl-canvas{outline:none}.maplibregl-ctrl-group{border-radius:11px!important;overflow:hidden!important;box-shadow:0 8px 28px rgba(6,47,85,.16)!important}.maplibregl-ctrl-attrib{font-size:9px!important}.sp-map-marker{line-height:1;cursor:pointer}.sp-map-marker .temp-dot,.sp-map-marker .pressure-dot,.sp-map-marker .aqi-dot,.sp-map-marker .uv-dot,.sp-map-marker .wind-dot,.sp-map-marker .visibility-dot,.sp-map-marker .marine-dot,.sp-map-marker .pollen-dot,.sp-map-marker .storm-dot{transform:none!important}
@media(max-width:1180px){.sp-footer-grid{grid-template-columns:1.4fr repeat(2,1fr)!important}.sp-footer-brand{grid-row:span 2}}
@media(max-width:760px){.sp-footer{padding-top:40px!important}.sp-footer-grid{grid-template-columns:1fr 1fr!important;gap:30px 22px!important}.sp-footer-brand{grid-column:1/-1;grid-row:auto;padding-right:0}.sp-footer-bottom{align-items:flex-start!important;flex-direction:column!important}.sp-footer-partners{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:520px){.sp-footer-grid{grid-template-columns:1fr!important}.sp-footer-brand{grid-column:auto}.sp-footer-grid>div:not(.sp-footer-brand)>a{font-size:13.5px!important}.sp-footer h4{font-size:15px!important}}

/* v37 — sitewide footer alignment */
.sp-footer{width:100%!important;margin:0!important;background:#062848!important;padding:54px 0 0!important;border:0!important;border-radius:0!important;box-shadow:none!important;clear:both!important}
.sp-footer .sp-shell{width:min(1380px,calc(100% - 64px))!important;max-width:1380px!important;margin-left:auto!important;margin-right:auto!important}
.sp-footer-grid-v37{display:grid!important;grid-template-columns:minmax(270px,1.55fr) repeat(5,minmax(125px,1fr))!important;gap:38px!important;align-items:start!important}
.sp-footer-brand a{display:inline-flex!important;background:#fff!important;border-radius:16px!important;padding:10px 14px!important;margin:0!important}
.sp-footer-brand img{display:block!important;width:220px!important;height:auto!important;max-height:74px!important;object-fit:contain!important}
.sp-footer-brand p{max-width:345px!important;margin:20px 0!important;color:#c4d7e6!important;font-size:14px!important;line-height:1.75!important}
.sp-trust-pills{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.sp-trust-pills span{display:inline-flex!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:999px!important;padding:7px 11px!important;color:#e7f0f7!important;font-size:12px!important}
.sp-footer-column{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important}.sp-footer-column h4{margin:2px 0 17px!important;color:#fff!important;font-size:15px!important;font-weight:900!important}.sp-footer-column a{display:inline-block!important;width:max-content!important;max-width:100%!important;margin:0 0 10px!important;color:#c4d7e6!important;font-size:13px!important;line-height:1.45!important;text-decoration:none!important}.sp-footer-column a:hover{color:#ffc20f!important}
.sp-footer-bottom-v37{margin-top:42px!important;min-height:64px!important;padding:20px 0!important;border-top:1px solid rgba(255,255,255,.1)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;color:#9eb6c8!important}
.sp-footer-partners{display:flex!important;gap:14px!important;align-items:center!important;white-space:nowrap!important}.sp-footer-partners em{font-style:normal!important;color:#9eb6c8!important}.sp-footer-partners a{margin:0!important;color:#fff!important}
@media(max-width:1180px){.sp-footer-grid-v37{grid-template-columns:1.4fr repeat(2,1fr)!important}.sp-footer-brand{grid-row:span 2!important}}
@media(max-width:760px){.sp-footer .sp-shell{width:min(100% - 32px,1380px)!important}.sp-footer-grid-v37{grid-template-columns:1fr 1fr!important;gap:28px 22px!important}.sp-footer-brand{grid-column:1/-1!important;grid-row:auto!important}.sp-footer-bottom-v37{align-items:flex-start!important;flex-direction:column!important}.sp-footer-partners{white-space:normal!important;flex-wrap:wrap!important}}
@media(max-width:520px){.sp-footer-grid-v37{grid-template-columns:1fr!important}.sp-footer-brand{grid-column:auto!important}}
