#basemsp-accessible-homepage.bm-locations-page {
  --bm-loc-navy:#051e29;
  --bm-loc-ink:#082f3e;
  --bm-loc-blue:#019fdb;
  --bm-loc-link:#007eae;
  --bm-loc-muted:#496871;
  --bm-loc-line:#d8e5e9;
  overflow:hidden;
  color:var(--bm-loc-ink);
  background:#f5f8f9;
}

#basemsp-accessible-homepage .bm-locations-masthead {
  position:relative;
  padding:26px 0 46px;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 90% -30%,rgba(1,159,219,.24),transparent 34%),
    linear-gradient(rgba(1,159,219,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(1,159,219,.035) 1px,transparent 1px),
    var(--bm-loc-navy);
  background-size:auto,46px 46px,46px 46px,auto;
}

#basemsp-accessible-homepage .bm-locations-breadcrumb { display:flex; align-items:center; gap:10px; margin-bottom:27px; color:#8fa5ad; font-size:12px; line-height:1.5; }
#basemsp-accessible-homepage .bm-locations-breadcrumb a { color:#fff; text-decoration:none; }
#basemsp-accessible-homepage .bm-locations-breadcrumb a:hover,
#basemsp-accessible-homepage .bm-locations-breadcrumb a:focus-visible { color:var(--bm-loc-blue); }
#basemsp-accessible-homepage .bm-locations-title-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.62fr); gap:80px; align-items:end; }
#basemsp-accessible-homepage .bm-locations-kicker { margin:0 0 10px; color:#6ed0f1; font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
#basemsp-accessible-homepage .bm-locations-masthead h1 { max-width:790px; margin:0; color:#fff; font-size:clamp(42px,5vw,68px); font-weight:500; line-height:1.03; letter-spacing:-.052em; }
#basemsp-accessible-homepage .bm-locations-masthead h1 em { color:var(--bm-loc-blue); font-style:normal; }
#basemsp-accessible-homepage .bm-locations-title-row > p { max-width:480px; margin:0 0 4px auto; color:#c0d0d5; font-size:15px; line-height:1.68; }

#basemsp-accessible-homepage .bm-eyebrow { margin:0 0 9px; color:var(--bm-loc-link); font-size:11px; font-weight:500; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }
#basemsp-accessible-homepage .bm-locations-directory { padding:62px 0 92px; background:#f5f8f9; }
#basemsp-accessible-homepage .bm-locations-directory-bar { display:flex; justify-content:space-between; align-items:end; gap:50px; padding-bottom:25px; border-bottom:1px solid var(--bm-loc-line); }
#basemsp-accessible-homepage .bm-locations-directory-bar h2 { margin:0; color:var(--bm-loc-ink); font-size:clamp(28px,3vw,40px); font-weight:500; line-height:1.12; letter-spacing:-.04em; }
#basemsp-accessible-homepage .bm-locations-directory-bar > span { max-width:390px; padding-bottom:3px; color:var(--bm-loc-muted); font-size:13px; line-height:1.62; text-align:right; }
#basemsp-accessible-homepage .bm-locations-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding-top:31px; }
#basemsp-accessible-homepage .bm-locations-card { display:flex; flex-direction:column; min-height:395px; overflow:hidden; border:1px solid var(--bm-loc-line); border-radius:22px; color:inherit; background:#fff; box-shadow:0 17px 48px rgba(5,30,41,.07); text-decoration:none; transition:border-color .24s ease,box-shadow .24s ease; }
#basemsp-accessible-homepage .bm-locations-card:hover,
#basemsp-accessible-homepage .bm-locations-card:focus-visible { border-color:rgba(1,159,219,.5); box-shadow:0 23px 58px rgba(5,30,41,.12); }
#basemsp-accessible-homepage .bm-locations-card-image { min-height:150px; background:linear-gradient(180deg,rgba(5,30,41,.08),rgba(5,30,41,.48)),url("../../images/hero-it-support-fleet-v1.webp") 72% 56% / cover; }
#basemsp-accessible-homepage .bm-locations-card-image-farnborough { background-image:linear-gradient(180deg,rgba(5,30,41,.08),rgba(5,30,41,.42)),url("../../images/hero-it-support-farnborough-v1.webp"); background-position:72% center; background-size:cover; }
#basemsp-accessible-homepage .bm-locations-card-image-basingstoke { background-image:linear-gradient(180deg,rgba(5,30,41,.08),rgba(5,30,41,.42)),url("../../images/hero-it-support-basingstoke-v1.webp"); background-position:74% center; background-size:cover; }
#basemsp-accessible-homepage .bm-locations-card-image-reading { background-image:linear-gradient(180deg,rgba(5,30,41,.08),rgba(5,30,41,.42)),url("../../images/hero-it-support-reading-v1.webp"); background-position:76% center; background-size:cover; }
#basemsp-accessible-homepage .bm-locations-card-copy { display:block; padding:23px 22px 17px; }
#basemsp-accessible-homepage .bm-locations-card-copy small { display:block; color:var(--bm-loc-link); font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
#basemsp-accessible-homepage .bm-locations-card-copy strong { display:block; margin-top:4px; color:var(--bm-loc-ink); font-size:27px; font-weight:500; letter-spacing:-.035em; }
#basemsp-accessible-homepage .bm-locations-card-copy > span { display:block; margin-top:9px; color:var(--bm-loc-muted); font-size:13px; line-height:1.62; }
#basemsp-accessible-homepage .bm-locations-card > b { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:auto 22px 0; padding:16px 0 20px; border-top:1px solid var(--bm-loc-line); color:var(--bm-loc-link); font-size:13px; font-weight:500; }
#basemsp-accessible-homepage .bm-locations-card > b span { color:var(--bm-loc-blue); font-size:20px; font-weight:400; }

#basemsp-accessible-homepage .bm-locations-context { padding:42px 0; border-top:1px solid var(--bm-loc-line); border-bottom:1px solid var(--bm-loc-line); background:#fff; }
#basemsp-accessible-homepage .bm-locations-context-inner { display:grid; grid-template-columns:62px minmax(0,1fr) auto; gap:25px; align-items:center; }
#basemsp-accessible-homepage .bm-locations-context-icon { display:inline-flex; align-items:center; justify-content:center; width:58px; height:58px; border-radius:50%; color:#fff; background:linear-gradient(145deg,#02b8e9,#007eae); box-shadow:0 12px 24px rgba(1,159,219,.17); }
#basemsp-accessible-homepage .bm-locations-context-icon svg { width:26px; height:26px; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
#basemsp-accessible-homepage .bm-locations-context h2 { margin:0; color:var(--bm-loc-ink); font-size:21px; font-weight:500; line-height:1.35; letter-spacing:-.025em; }
#basemsp-accessible-homepage .bm-locations-context p { margin:6px 0 0; color:var(--bm-loc-muted); font-size:14px; line-height:1.65; }
#basemsp-accessible-homepage .bm-locations-context .bm-section-link { white-space:nowrap; }

#basemsp-accessible-homepage .bm-locations-final { padding:92px 0; color:#fff; background:radial-gradient(circle at 85% 0%,rgba(53,202,238,.18),transparent 32%),var(--bm-loc-navy); }
#basemsp-accessible-homepage .bm-locations-final-inner { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.75fr); gap:90px; align-items:center; }
#basemsp-accessible-homepage .bm-locations-final .bm-eyebrow { color:#6ed0f1; }
#basemsp-accessible-homepage .bm-locations-final h2 { max-width:680px; margin:0; color:#fff; font-size:clamp(36px,4vw,56px); font-weight:400; line-height:1.1; letter-spacing:-.047em; }
#basemsp-accessible-homepage .bm-locations-final-inner > div:last-child > p { margin:0; color:#c2d2d7; font-size:16px; line-height:1.72; }
#basemsp-accessible-homepage .bm-locations-final .bm-button { margin-top:26px; }

#basemsp-accessible-homepage.bm-motion [data-reveal] { opacity:0; transform:translateY(16px); transition:opacity .62s ease,transform .62s ease; }
#basemsp-accessible-homepage.bm-motion [data-reveal].bm-visible { opacity:1; transform:none; }

@media (max-width:980px) {
  #basemsp-accessible-homepage .bm-locations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #basemsp-accessible-homepage .bm-locations-context-inner { grid-template-columns:62px minmax(0,1fr); }
  #basemsp-accessible-homepage .bm-locations-context .bm-section-link { grid-column:2; justify-self:start; }
}

@media (max-width:760px) {
  #basemsp-accessible-homepage .bm-locations-masthead { padding:23px 0 35px; }
  #basemsp-accessible-homepage .bm-locations-breadcrumb { justify-content:center; margin-bottom:25px; }
  #basemsp-accessible-homepage .bm-locations-title-row { grid-template-columns:1fr; gap:17px; text-align:center; }
  #basemsp-accessible-homepage .bm-locations-masthead h1 { margin:0 auto; font-size:clamp(38px,11vw,49px); }
  #basemsp-accessible-homepage .bm-locations-title-row > p { margin:0 auto; font-size:14px; }
  #basemsp-accessible-homepage .bm-locations-directory { padding:46px 0 70px; }
  #basemsp-accessible-homepage .bm-locations-directory-bar { align-items:flex-start; flex-direction:column; gap:12px; text-align:center; }
  #basemsp-accessible-homepage .bm-locations-directory-bar > div,
  #basemsp-accessible-homepage .bm-locations-directory-bar > span { width:100%; max-width:none; text-align:center; }
  #basemsp-accessible-homepage .bm-locations-directory-bar h2 { font-size:31px; }
  #basemsp-accessible-homepage .bm-locations-grid { display:flex; gap:16px; margin-right:-16px; padding-top:25px; padding-right:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; }
  #basemsp-accessible-homepage .bm-locations-grid::-webkit-scrollbar { display:none; }
  #basemsp-accessible-homepage .bm-locations-card { flex:0 0 min(88%,350px); min-height:410px; scroll-snap-align:start; }
  #basemsp-accessible-homepage .bm-locations-context { padding:48px 0; }
  #basemsp-accessible-homepage .bm-locations-context-inner { grid-template-columns:1fr; gap:17px; text-align:center; }
  #basemsp-accessible-homepage .bm-locations-context-icon { margin:0 auto; }
  #basemsp-accessible-homepage .bm-locations-context .bm-section-link { grid-column:auto; justify-self:center; margin-top:4px; }
  #basemsp-accessible-homepage .bm-locations-final { padding:76px 0; }
  #basemsp-accessible-homepage .bm-locations-final-inner { grid-template-columns:1fr; gap:27px; text-align:center; }
  #basemsp-accessible-homepage .bm-locations-final h2 { font-size:clamp(32px,9.5vw,43px); }
}

@media (prefers-reduced-motion:reduce) {
  #basemsp-accessible-homepage.bm-motion [data-reveal] { opacity:1; transform:none; transition:none; }
}
