/* MSV mobile experience. No declarations affect the desktop breakpoint. */
@media (max-width:1023px) {
  :root { --m-ink:#102f43; --m-muted:#526b7b; --m-blue:#126b9a; --m-lime:#a9cf46; --m-canvas:#edf4f7; --m-line:#dce7ed; --m-radius:24px; --m-bottom:calc(88px + env(safe-area-inset-bottom)); }
  html { scroll-padding-top:88px; }
  body { background:var(--m-canvas)!important; overflow-x:clip; }
  *,*::before,*::after { box-sizing:border-box; }
  .site-shell { background:var(--m-canvas)!important; padding-bottom:var(--m-bottom)!important; }
  .site-frame { padding:0 16px!important; max-width:760px!important; }
  .site-header { top:0!important; margin:0 -16px!important; width:calc(100% + 32px); min-height:72px; padding:calc(12px + env(safe-area-inset-top)) 20px 12px!important; border-radius:0!important; border:0!important; border-bottom:1px solid rgba(16,47,67,.07)!important; background:rgba(250,253,255,.95)!important; box-shadow:none!important; backdrop-filter:blur(24px)!important; -webkit-backdrop-filter:blur(24px)!important; }
  .site-header>a { min-height:44px; }
  .site-header img { height:33px!important; width:auto!important; }
  .site-header button[aria-label="Open menu"] { width:44px!important; height:44px!important; background:#edf4f7!important; border:1px solid var(--m-line)!important; border-radius:15px!important; }
  .page-spacer { display:none!important; }
  .site-frame :is(a,button,input,select,textarea) { -webkit-tap-highlight-color:transparent; }
  .site-frame :is(button,a,summary) { touch-action:manipulation; }
  .site-frame :is(button,summary) { min-height:44px!important; }
  .site-frame button { transition:background .2s,color .2s,transform .2s!important; }
  .site-frame button:active,.m-action-bar a:active { transform:scale(.98); }
  .site-frame :is(h1,h2,h3,h4,p) { overflow-wrap:break-word; }
  .site-frame :is(h1,h2,h3) { text-wrap:pretty!important; }
  .inner-page { margin:0!important; padding:28px 0 0!important; gap:24px!important; }
  .inner-page>*,.inner-page div { min-width:0!important; }
  .inner-page :is(h1,h2,h3,h4,p,span) { color:var(--m-ink)!important; }
  .inner-page h1,.inner-page>.m-page-intro h2 { font-size:32px!important; line-height:1.16!important; letter-spacing:-.035em!important; font-weight:800!important; }
  .inner-page h2 { font-size:27px!important; line-height:1.2!important; letter-spacing:-.03em!important; }
  .inner-page h3 { font-size:22px!important; line-height:1.25!important; letter-spacing:-.025em!important; }
  .inner-page p { font-size:15px!important; line-height:1.7!important; color:var(--m-muted)!important; }
  .inner-page [style*="box-shadow"] { box-shadow:none!important; }
  .m-page-intro { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:20px!important; padding:0 4px 4px!important; border:0!important; }
  .m-page-intro>div:first-child { gap:14px!important; }
  .m-page-intro>div:first-child>span:first-child { background:transparent!important; border:0!important; padding:0!important; border-radius:0!important; font-size:11px!important; line-height:1.5!important; letter-spacing:.15em!important; color:var(--m-blue)!important; }
  .m-page-intro>div:first-child>h2 { max-width:100%!important; }
  .m-page-intro>div:last-child:not(:first-child) { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; width:100%; }
  .m-page-intro>div:last-child:not(:first-child)>div { background:#fff!important; border:1px solid var(--m-line)!important; border-radius:18px!important; padding:16px!important; gap:5px!important; }
  .m-page-intro>div:last-child:not(:first-child)>div>span:first-child { font-size:18px!important; line-height:1.3!important; }
  .m-page-intro>div:last-child:not(:first-child)>div>span:not(:first-child) { font-size:12px!important; line-height:1.5!important; }
  .m-surface { background:#fff!important; border:1px solid var(--m-line)!important; border-radius:var(--m-radius)!important; padding:24px 20px!important; gap:20px!important; }
  .m-primary { min-height:52px!important; border-radius:16px!important; padding:12px 20px!important; color:white!important; background:var(--m-blue)!important; font-size:14px!important; line-height:1.4!important; text-align:center; }
  .m-primary * { color:white!important; }
  .m-action-bar { position:fixed; left:0; right:0; bottom:0; z-index:65; display:grid; grid-template-columns:88px minmax(0,1fr); gap:10px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:rgba(250,253,255,.96); border-top:1px solid rgba(16,47,67,.09); box-shadow:0 -8px 32px rgba(16,47,67,.05); backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px); }
  .m-action-bar a { display:flex; align-items:center; justify-content:center; gap:8px; min-height:52px; border-radius:16px; font:700 13px 'Public Sans',sans-serif; white-space:nowrap; }
  .m-action-call { background:#edf4f7; color:var(--m-ink); border:1px solid var(--m-line); }
  .m-action-book { background:var(--m-blue); color:#fff; }
  nav[aria-label="Mobile navigation"] { bottom:auto!important; top:calc(80px + env(safe-area-inset-top))!important; left:12px!important; right:12px!important; border-radius:24px!important; padding:14px!important; max-height:calc(100dvh - 112px - env(safe-area-inset-top))!important; box-shadow:0 22px 80px rgba(6,32,52,.2)!important; }
  nav[aria-label="Mobile navigation"]>span:first-child { display:none!important; }
  nav[aria-label="Mobile navigation"] button { display:flex!important; gap:14px!important; align-items:center!important; min-height:54px!important; border:0!important; background:transparent!important; border-radius:14px!important; padding:0 12px!important; font-size:15px!important; }
  nav[aria-label="Mobile navigation"] button:focus-visible { outline:2px solid var(--m-blue); }
  nav[aria-label="Mobile navigation"] a { min-height:52px!important; border-radius:14px!important; font-size:14px!important; }
  /* Hero: dedicated right-hand photo framing; copy is completely below the wall logo. */
  .hero { width:100%!important; max-width:100%!important; margin:16px 0 0!important; height:auto!important; min-height:0!important; max-height:none!important; padding:0!important; gap:0!important; background:#0b293e!important; border-radius:28px!important; box-shadow:0 16px 36px rgba(16,47,67,.1)!important; }
  .hero-background { position:relative!important; inset:auto!important; width:100%; height:304px!important; flex:0 0 auto; background-size:auto 138%!important; background-position:100% 40%!important; }
  .hero>div:not([class]) { display:none!important; }
  .hero-content { width:100%; padding:24px 22px 20px!important; gap:0!important; }
  .hero-content::before { content:''; position:absolute; height:44px; left:0; right:0; top:-43px; background:linear-gradient(0deg,#0b293e,transparent); pointer-events:none; }
  .hero-copy { max-width:100%!important; width:100%; gap:16px!important; }
  .hero-eyebrow { background:transparent!important; padding:0!important; border-radius:0!important; box-shadow:none!important; font:700 10px/1.6 'Public Sans'!important; color:#b7dce8!important; letter-spacing:.11em!important; white-space:normal!important; max-width:100%!important; }
  .hero h1 { max-width:none!important; font-size:30px!important; line-height:1.17!important; letter-spacing:-.04em!important; }
  .hero h1 span { color:#a5d5ed!important; }
  .hero-copy>p { max-width:none!important; font-size:14px!important; line-height:1.7!important; color:#c1d3dd!important; }
  .hero-actions { display:flex!important; flex-direction:column!important; gap:10px!important; width:100%; margin-top:4px; }
  .hero-actions>a { width:100%!important; min-height:54px!important; padding:0 18px!important; border-radius:16px!important; font-size:14px!important; justify-content:center!important; gap:10px!important; white-space:normal!important; }
  .hero-actions>a:first-child { background:#fff!important; color:var(--m-ink)!important; box-shadow:none!important; }
  .hero-actions>a:first-child span { width:26px!important; height:26px!important; border-color:var(--m-line)!important; }
  .hero-actions>a:last-child { background:rgba(255,255,255,.055)!important; color:#fff!important; border-color:rgba(255,255,255,.25)!important; }
  .hero-stats-wrap { padding:0 16px 16px!important; }
  .hero-stats { display:flex!important; flex-direction:column!important; padding:0 16px!important; gap:0!important; border-radius:20px!important; border:1px solid rgba(255,255,255,.11)!important; background:rgba(255,255,255,.045)!important; box-shadow:none!important; }
  .hero-stat { flex:none!important; display:flex!important; align-items:center!important; padding:16px 0!important; gap:14px!important; min-height:76px!important; width:100%; border:0!important; border-bottom:1px solid rgba(255,255,255,.1)!important; }
  .hero-stat:last-child { border-bottom:0!important; }
  .hero-stat-icon { width:38px!important; height:38px!important; border-radius:12px!important; background:rgba(168,207,70,.09)!important; border-color:rgba(168,207,70,.15)!important; }
  .hero-stat-icon svg { width:20px!important; height:20px!important; stroke:#b7d874!important; }
  .hero-stat-text { gap:5px!important; }
  .hero-stat-text br { display:none; }
  .hero-stat-text>span:first-child { font-size:14px!important; line-height:1.3!important; }
  .hero-stat-text>span:last-child { font-size:12px!important; line-height:1.5!important; color:#acc4d2!important; }
  /* Home feed */
  .clients { margin-top:24px!important; padding:24px 18px!important; border-radius:24px!important; background:#fff!important; border:1px solid var(--m-line)!important; box-shadow:none!important; gap:20px!important; }
  .clients>p { font-size:13px!important; line-height:1.6!important; color:var(--m-muted)!important; }
  .clients-marquee { height:76px!important; margin:0 -18px; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
  .clients-track { gap:24px!important; animation-duration:40s!important; }
  .clients-track>div { flex:0 0 148px!important; width:148px!important; height:76px!important; }
  .clients-track img { object-fit:contain!important; max-width:130px!important; max-height:52px!important; }
  .client-proof { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:18px 8px!important; }
  .client-metric { min-width:0; padding:0!important; gap:7px!important; }
  .client-metric>span:first-child { font-size:23px!important; line-height:1.2!important; }
  .client-metric>span:last-child { font-size:11px!important; line-height:1.55!important; }
  .client-proof>a { grid-column:1/-1; margin:0!important; justify-self:stretch!important; border-radius:14px!important; font-size:14px!important; min-height:50px!important; }
  .audiences { margin:32px 0 0!important; padding:0!important; gap:20px!important; }
  .audiences>div:first-child { align-items:flex-start!important; text-align:left!important; gap:12px!important; padding:0 4px!important; }
  .audiences>div:first-child>span { padding:0!important; background:transparent!important; border:0!important; color:var(--m-blue)!important; font-size:10px!important; letter-spacing:.15em!important; }
  .audiences h2 { font-size:27px!important; line-height:1.2!important; max-width:100%!important; color:var(--m-ink)!important; }
  .audiences h2 span { color:var(--m-blue)!important; }
  .audiences-frame { border:0!important; box-shadow:none!important; background:transparent!important; overflow:visible!important; }
  .audiences-frame>div:first-child,.audiences-frame>div:nth-child(2) { display:none!important; }
  .audiences-frame>div:last-child { padding:0!important; }
  .audiences-grid { display:flex!important; flex-direction:column!important; gap:10px!important; }
  .audience-card { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; min-height:0!important; padding:18px!important; gap:9px 12px!important; mask-image:none!important; -webkit-mask-image:none!important; background:#fff!important; border:1px solid var(--m-line)!important; border-radius:20px!important; }
  .audience-card h3 { font-size:17px!important; line-height:1.3!important; color:var(--m-ink)!important; }
  .audience-card>span:nth-child(2) { grid-column:1/-1; grid-row:2; border:0!important; background:#edf5f8!important; color:var(--m-blue)!important; font-size:11px!important; padding:5px 9px!important; justify-self:start; }
  .audience-card>span:last-child { grid-column:1/-1; padding:0!important; border:0!important; color:var(--m-muted)!important; font-size:13px!important; line-height:1.5!important; }
  #services { margin-top:32px!important; padding:24px 18px!important; gap:20px!important; border-radius:24px!important; background:#0b293e!important; }
  .services-intro { gap:16px!important; }
  .services-intro h2 { font-size:27px!important; line-height:1.2!important; }
  .services-intro p { font-size:14px!important; line-height:1.65!important; }
  .services-intro>a { min-height:48px!important; border-radius:14px!important; width:100%; }
  .services-filters { margin:0!important; gap:16px!important; }
  .services-filter-row { display:flex!important; flex-wrap:wrap!important; margin:0!important; overflow:visible!important; padding:0!important; gap:8px!important; }
  .services-filter-row>span { flex:0 0 100%!important; font-size:10px!important; letter-spacing:.12em!important; }
  .services-filter-row button { min-height:44px!important; max-width:100%; padding:8px 12px!important; font-size:12px!important; border-radius:12px!important; white-space:normal!important; line-height:1.4!important; }
  .services-carousel { height:326px!important; perspective:none!important; transform-style:flat!important; }
  .service-slide { display:none!important; }
  .service-slide[data-mobile-active="true"] { display:block!important; position:relative!important; left:0!important; top:0!important; width:100%!important; height:326px!important; opacity:1!important; transform:none!important; filter:none!important; border-radius:20px!important; }
  .service-slide-panel { left:12px!important; right:12px!important; bottom:12px!important; padding:16px!important; border-radius:16px!important; }
  .service-slide-panel h3 { font-size:19px!important; line-height:1.25!important; }
  .service-slide-panel p { font-size:11px!important; line-height:1.5!important; }
  .service-slide-panel>span { min-height:44px!important; border-radius:12px!important; font-size:13px!important; }
  .services-nav-wrap,.services-nav { width:100%!important; }
  .services-nav { padding:6px!important; gap:8px!important; border-radius:16px!important; background:rgba(255,255,255,.08)!important; border-color:rgba(255,255,255,.12)!important; box-shadow:none!important; }
  .services-nav button { width:44px!important; height:44px!important; flex:0 0 auto!important; }
  .services-nav>div { min-width:0!important; flex:1!important; }
  .services-nav>div span { color:#fff!important; }
  .services-nav>div span:first-child { font-size:13px!important; }
  .services-nav>div span:last-child { font-size:10px!important; line-height:1.5!important; }
  [role="dialog"][aria-label="Service details"] { padding:12px!important; align-items:center!important; }
  [role="dialog"][aria-label="Service details"]>div { display:flex!important; flex-direction:column!important; max-height:calc(100dvh - 24px)!important; width:100%!important; min-width:0!important; overflow-y:auto!important; border-radius:24px!important; }
  [role="dialog"][aria-label="Service details"]>div>div:first-child { min-height:230px!important; flex:0 0 230px!important; }
  [role="dialog"][aria-label="Service details"]>div>div:last-child { flex:0 0 auto!important; }
  /* Reused owner note, values and credentials, also surfaced on mobile Home. */
  .m-home-story { display:flex; flex-direction:column; gap:24px; margin-top:32px; }
  .about-letter { grid-template-columns:minmax(0,1fr)!important; border:1px solid var(--m-line)!important; border-radius:24px!important; box-shadow:none!important; }
  .m-story-photo,.about-letter>div:first-child { min-height:270px!important; padding:24px!important; background-position:50% 45%!important; }
  .about-letter>div:first-child span { color:white!important; }
  .m-story-copy,.about-letter>div:last-child { padding:28px 22px!important; gap:20px!important; background:#fff!important; }
  .about-letter>div:last-child>p:first-of-type { font-size:20px!important; line-height:1.6!important; color:var(--m-ink)!important; }
  .about-letter>div:last-child>p:not(:first-of-type) { font-size:14px!important; line-height:1.8!important; color:var(--m-muted)!important; }
  .about-letter>div:last-child>div:last-child { flex-wrap:wrap!important; gap:10px!important; }
  .about-letter>div:last-child>div:last-child span { font-size:12px!important; }
  .about-facts { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
  .about-facts>div { padding:20px 16px!important; background:#fff!important; border:1px solid var(--m-line)!important; border-radius:18px!important; gap:7px!important; }
  .about-facts>div>span:first-child { font-size:25px!important; }
  .about-facts>div>span:last-child { font-size:12px!important; line-height:1.5!important; }
  .about-values { grid-template-columns:minmax(0,1fr)!important; background:#0b293e!important; border:0!important; border-radius:24px!important; padding:26px 22px!important; gap:24px!important; box-shadow:none!important; }
  .about-values :is(h2,h3,p,span) { color:#e8f2f6!important; }
  .about-values>div:first-child>span { font-size:10px!important; letter-spacing:.15em!important; color:#b2d570!important; }
  .about-values h3 { font-size:27px!important; line-height:1.2!important; }
  .about-values p { font-size:14px!important; line-height:1.7!important; color:#b5cbd8!important; }
  .about-values>div:last-child>div { grid-template-columns:28px minmax(0,1fr)!important; gap:12px!important; padding:22px 0!important; }
  .about-values>div:last-child>div:first-child { padding-top:0!important; }
  .about-values>div:last-child>div>span { color:#a8cd65!important; font-size:11px!important; }
  .about-values>div:last-child>div>div>span:first-child { font-size:18px!important; line-height:1.3!important; }
  .about-values>div:last-child>div>div>span:last-child { color:#b5cbd8!important; font-size:14px!important; line-height:1.75!important; }
  .about-credentials { grid-template-columns:minmax(0,1fr)!important; padding:26px 22px!important; gap:22px!important; border-radius:24px!important; background:white!important; border:1px solid var(--m-line)!important; box-shadow:none!important; }
  .about-credentials h3 { font-size:26px!important; line-height:1.2!important; color:var(--m-ink)!important; }
  .about-credentials>div:first-child>span:first-child { font-size:10px!important; color:var(--m-blue)!important; letter-spacing:.15em!important; }
  .about-credentials>div:last-child { display:flex!important; flex-direction:column!important; gap:0!important; }
  .about-credentials>div:last-child>span { min-height:52px; padding:14px 0!important; border:0!important; border-bottom:1px solid var(--m-line)!important; border-radius:0!important; box-shadow:none!important; background:transparent!important; font-size:13px!important; }
  /* Seven-step timeline and FAQs */
  .process-steps-card { grid-template-columns:minmax(0,1fr)!important; padding:26px 20px!important; background:#fff!important; border:1px solid var(--m-line)!important; border-radius:24px!important; gap:26px!important; }
  .process-steps-card>div:first-child { position:static!important; gap:16px!important; }
  .process-steps-card>div:first-child>div { padding:16px!important; border-radius:16px!important; }
  .process-steps-card>div:first-child>a { width:100%!important; }
  .process-timeline { position:relative; }
  .process-timeline::before { content:''; position:absolute; top:18px; bottom:56px; left:17px; width:1px; background:#d8e7ed; }
  .process-timeline>div { position:relative; grid-template-columns:36px minmax(0,1fr)!important; gap:14px!important; padding:0 0 26px!important; border:0!important; }
  .process-timeline>div:last-child { padding-bottom:0!important; }
  .process-timeline>div>div:first-child>span:first-child { width:36px!important; height:36px!important; border-radius:12px!important; background:#eaf3f7!important; color:var(--m-blue)!important; font-size:14px!important; box-shadow:0 0 0 5px white!important; }
  .process-timeline>div>div:first-child>span:last-child:not(:first-child) { display:none!important; }
  .process-timeline>div>div:last-child { gap:10px!important; }
  .process-timeline h3 { font-size:19px!important; line-height:1.3!important; padding-top:5px; }
  .process-timeline p { font-size:14px!important; line-height:1.7!important; }
  .process-timeline>div>div:last-child>span { font-size:11px!important; line-height:1.5!important; padding:6px 10px!important; white-space:normal!important; }
  .inner-page details { border:1px solid var(--m-line)!important; border-radius:16px!important; background:white!important; padding:0 16px!important; margin-bottom:10px; }
  .inner-page summary { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:12px!important; padding:17px 0!important; min-height:58px!important; font-size:14px!important; line-height:1.5!important; color:var(--m-ink)!important; cursor:pointer; }
  .inner-page details>p,.inner-page details>div { padding:0 0 18px!important; font-size:14px!important; line-height:1.7!important; color:var(--m-muted)!important; }
  /* Coverage: selector before the map, full-width city details. */
  #areas { display:grid!important; grid-template-columns:minmax(0,1fr)!important; }
  .m-areas-0 { order:0; }
  .m-areas-1 { order:2; }
  .m-areas-2 { display:contents!important; }
  .m-city-tabs { order:1; display:flex!important; flex-wrap:wrap!important; gap:8px!important; }
  .m-city-tabs button { padding:10px 14px!important; font-size:13px!important; min-height:46px!important; border-radius:14px!important; box-shadow:none!important; }
  .m-city-detail { order:3; display:flex!important; flex-direction:column!important; background:white!important; border:1px solid var(--m-line)!important; border-radius:24px!important; }
  .m-city-detail>div { padding:24px 20px!important; border:0!important; }
  .m-city-detail h3 { font-size:28px!important; }
  .m-areas-3 { order:4; }
  .m-areas-4 { order:5; }
  .m-areas-5 { order:6; }
  .areas-map-card { padding:8px!important; background:#fff!important; border:1px solid var(--m-line)!important; border-radius:24px!important; }
  .areas-map-card>div { padding:12px 10px 18px!important; gap:14px!important; }
  .areas-map-card>div>div:last-child { gap:12px!important; }
  .areas-map-card>div>div:last-child>span { font-size:11px!important; }
  #msv-map { height:350px!important; border-radius:17px!important; touch-action:pan-y; }
  .m-equipment { display:flex!important; flex-direction:column!important; padding:24px 20px!important; gap:20px!important; }
  .m-equipment>div:last-child { min-height:250px!important; }
  /* Journal and long-form reading */
  .m-news-0>p { padding-top:0!important; }
  .news-lead { min-height:560px!important; padding:24px 20px!important; border-radius:24px!important; box-shadow:none!important; }
  .news-lead :is(h3,p,span) { color:#fff!important; }
  .news-lead h3 { font-size:27px!important; line-height:1.2!important; }
  .news-lead p { font-size:14px!important; line-height:1.65!important; }
  .news-lead>div>div:last-child { flex-wrap:wrap!important; gap:10px!important; }
  .news-lead>div>div:last-child>span:last-child { margin:4px 0 0!important; width:100%; min-height:48px!important; color:var(--m-ink)!important; border-radius:14px!important; }
  .m-news-2 { gap:12px!important; }
  .m-news-2>div { padding:0 4px 10px!important; }
  .m-news-2>a { display:grid!important; grid-template-columns:minmax(0,1fr) 84px!important; gap:12px!important; padding:20px 16px!important; margin-bottom:12px; background:white!important; border:1px solid var(--m-line)!important; border-radius:20px!important; }
  .m-news-2>a>span:first-child { display:none!important; }
  .m-news-2>a>span:last-child { width:84px!important; height:104px!important; border:0!important; border-radius:12px!important; box-shadow:none!important; }
  .m-news-2>a h3 { font-size:18px!important; line-height:1.3!important; }
  .m-news-2>a p { font-size:13px!important; line-height:1.6!important; }
  .m-news-2>a>div>div>span { font-size:10px!important; line-height:1.5!important; letter-spacing:0!important; }
  #article { gap:24px!important; }
  #article>header { padding:0 4px!important; gap:18px!important; align-items:flex-start!important; text-align:left!important; }
  #article>header h1 { font-size:30px!important; line-height:1.2!important; }
  #article>header>div:last-child { justify-content:flex-start!important; gap:10px!important; }
  #article>header a { min-height:44px; display:inline-flex; align-items:center; }
  .m-article-1 { min-height:240px!important; border-radius:24px!important; box-shadow:none!important; }
  .m-article-2 { gap:16px!important; }
  #article aside { background:#e4eef3!important; border:1px solid var(--m-line)!important; padding:20px!important; gap:14px!important; border-radius:20px!important; }
  #article aside nav { display:flex!important; flex-direction:column!important; gap:0!important; }
  #article aside nav a { min-height:44px; padding:10px 0!important; font-size:13px!important; line-height:1.5!important; }
  #article aside>a { min-height:50px!important; }
  .m-article-body { padding:26px 20px!important; gap:28px!important; background:white!important; border:1px solid var(--m-line)!important; border-radius:24px!important; }
  .m-article-body>p:first-child { font-size:18px!important; line-height:1.65!important; }
  #article section { gap:14px!important; }
  #article section h2 { font-size:24px!important; line-height:1.3!important; }
  #article section p { font-size:15px!important; line-height:1.8!important; }
  #article section [style*="border-left"] span { font-size:14px!important; line-height:1.7!important; }
  .m-article-3 { padding:22px!important; background:#0b293e!important; border-radius:20px!important; }
  .m-article-3 * { color:#fff!important; }
  /* Careers */
  .careers-role-list { gap:12px!important; }
  .m-role { display:flex!important; flex-direction:column!important; align-items:stretch!important; padding:20px 16px!important; gap:16px!important; background:#f6fafb!important; border:1px solid var(--m-line)!important; border-radius:18px!important; }
  .m-role>div:first-child { min-width:0!important; gap:8px!important; }
  .m-role>div:first-child>span:first-child { font-size:18px!important; line-height:1.3!important; }
  .m-role>div:first-child>span:last-child { font-size:14px!important; line-height:1.6!important; color:var(--m-muted)!important; }
  .m-role>div:last-child { gap:8px!important; }
  .m-role>div:last-child>span { font-size:11px!important; padding:6px 10px!important; }
  .m-role button { margin-left:auto; border-radius:12px!important; min-height:44px!important; }
  .m-night-shift { grid-template-columns:minmax(0,1fr)!important; padding:24px 20px!important; gap:26px!important; background:#fff!important; }
  .m-night-shift>div { min-width:0!important; }
  #apply { display:flex!important; flex-direction:column!important; gap:24px!important; }
  #apply>form { width:100%; padding:26px 20px!important; background:white!important; border:1px solid var(--m-line)!important; border-radius:24px!important; gap:20px!important; }
  #apply>div { width:100%; padding:24px 20px!important; background:#e3eef3!important; border-radius:20px!important; }
  #apply>div a { overflow-wrap:anywhere; font-size:17px!important; }
  #apply input[type="file"] { pointer-events:auto!important; }
  /* Community retains the photography and Pride colours. */
  .community-hero { grid-template-columns:minmax(0,1fr)!important; padding:26px 20px!important; gap:28px!important; background:#fff!important; border:1px solid var(--m-line)!important; border-radius:24px!important; }
  .community-hero>div[style*="position:absolute"] { display:none!important; }
  .community-hero h2 { font-size:34px!important; line-height:1.15!important; }
  .community-hero p { font-size:15px!important; line-height:1.7!important; }
  .community-hero>div:nth-last-child(2)>div:last-child { gap:10px!important; }
  .community-hero>div:nth-last-child(2)>div:last-child>div { max-width:100%!important; }
  .m-community-photos { min-height:280px!important; width:100%!important; margin:0!important; padding:8px 0!important; overflow:hidden; }
  .m-community-photos>div { width:40%!important; max-width:160px; min-width:0!important; flex:0 0 40%!important; border-radius:20px!important; }
  .m-community-photos>div:first-child { margin:0 -14% 0 0!important; }
  .m-community-photos>div:last-child { margin:0 0 0 -14%!important; }
  .m-community-photos>div>div { border-radius:16px!important; }
  .m-community-1,.m-community-2 { grid-template-columns:minmax(0,1fr)!important; gap:22px!important; }
  .m-community-1>div,.m-community-2>div { min-width:0!important; }
  /* Native-sized form controls and calm footer. */
  .walkthrough { margin:32px 0 0!important; padding:0!important; gap:16px!important; }
  .walkthrough-intro,.walkthrough-form { min-width:0!important; flex:1 1 100%!important; width:100%!important; border-radius:24px!important; padding:26px 20px!important; background:white!important; border:1px solid var(--m-line)!important; box-shadow:none!important; gap:18px!important; }
  .walkthrough-intro h2 { font-size:28px!important; line-height:1.2!important; }
  .walkthrough-intro>p { font-size:15px!important; line-height:1.7!important; }
  .walkthrough-intro>div span:last-child { font-size:13px!important; line-height:1.6!important; }
  .walkthrough-intro>a { min-height:50px!important; border-radius:14px!important; font-size:14px!important; }
  .walkthrough-form>div:first-child h3 { font-size:23px!important; line-height:1.3!important; }
  .walkthrough-form>div:first-child>span { font-size:10px!important; line-height:1.5!important; }
  .form-pair { flex-direction:column!important; flex-wrap:nowrap!important; gap:18px!important; }
  .form-pair>label,.form-pair>div { flex:0 0 auto!important; width:100%!important; }
  .site-frame form label { font-size:12px!important; line-height:1.6!important; gap:8px!important; letter-spacing:.015em!important; }
  .site-frame form input:not([type="hidden"]):not([name="website"]):not([type="file"]),.site-frame form select,.site-frame form textarea { display:block; width:100%!important; min-width:0!important; max-width:100%; background:#f5f9fb!important; border:1px solid #d7e4eb!important; border-radius:14px!important; font:400 16px/1.5 'Public Sans'!important; color:var(--m-ink)!important; outline-offset:3px; box-shadow:none!important; }
  .site-frame form input:not([type="hidden"]):not([name="website"]):not([type="file"]),.site-frame form select { min-height:54px!important; padding:12px 14px!important; }
  .site-frame form textarea { min-height:128px!important; padding:14px!important; resize:vertical; }
  .site-frame form input:focus,.site-frame form textarea:focus,.site-frame form select:focus { border-color:var(--m-blue)!important; outline:2px solid rgba(18,107,154,.15); }
  .site-frame form .property-type>span,.site-frame form .form-pair>div>span { font-size:12px!important; }
  .property-type>div,.form-pair>div>div { gap:8px!important; flex-wrap:wrap!important; }
  .property-type button,.form-pair button { min-height:44px!important; padding:10px 13px!important; font-size:12px!important; border-radius:12px!important; }
  .site-frame form button[type="submit"] { min-height:54px!important; border-radius:16px!important; font-size:14px!important; background:var(--m-blue)!important; box-shadow:none!important; }
  .site-frame form [role="status"],.site-frame form [aria-live] { font-size:14px!important; line-height:1.6!important; text-align:left!important; }
  .site-footer { margin:32px -16px 0!important; padding:30px 20px 20px!important; width:calc(100% + 32px); border:0!important; border-top:1px solid var(--m-line)!important; border-radius:0!important; background:#f9fcfd!important; box-shadow:none!important; gap:28px!important; }
  .footer-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:28px 20px!important; }
  .footer-grid>div { flex:none!important; min-width:0!important; gap:8px!important; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand img { height:36px!important; width:auto!important; align-self:flex-start; }
  .footer-brand p { font-size:14px!important; line-height:1.7!important; }
  .footer-grid h4 { font-size:11px!important; letter-spacing:.13em!important; color:var(--m-blue)!important; margin-bottom:8px!important; }
  .footer-grid a { display:flex!important; align-items:center; min-height:44px; font-size:13px!important; line-height:1.5!important; padding:7px 0; }
  .footer-grid>div>div { font-size:13px!important; line-height:1.6!important; }
  .site-footer>div:last-child { gap:18px!important; padding-top:20px!important; }
  .site-footer>div:last-child>div { gap:12px!important; }
  .site-footer>div:last-child span { font-size:11px!important; line-height:1.7!important; }
  .site-footer>div:last-child a { min-height:44px; display:inline-flex; align-items:center; font-size:12px!important; }
  @media (prefers-reduced-motion:no-preference) { .inner-page,.m-home-story { animation:msv-mobile-enter .32s ease both; } }
  @keyframes msv-mobile-enter { from { opacity:.2; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
@media (min-width:1024px) { .m-home-story,.m-action-bar { display:none; } }
@media (max-width:374px) { .hero-background { height:280px!important; } .hero-content { padding:22px 20px 20px!important; } .hero h1 { font-size:28px!important; } .m-action-bar { grid-template-columns:76px minmax(0,1fr); padding-left:12px; padding-right:12px; gap:8px; } .m-action-bar a { font-size:12px; } }
@media (prefers-reduced-motion:reduce) and (max-width:1023px) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
/* Second visual review: compact footer, readable colour panels and form consistency. */
@media (max-width:1023px) {
  .hero-background { background-size:auto 155%!important; }
  .hero-actions>a:first-child svg { stroke:var(--m-blue)!important; }
  .hero-stat { border-image:none!important; }
  .clients-track { animation-name:msv-mobile-marquee!important; }
  @keyframes msv-mobile-marquee { to { transform:translateX(calc(-50% - 12px)); } }
  nav[aria-label="Mobile navigation"] .m-menu-close { justify-content:flex-end!important; min-height:44px!important; color:var(--m-muted)!important; font-size:12px!important; }
  nav[aria-label="Mobile navigation"] .m-menu-close span { font-size:25px!important; font-weight:400; }
  nav[aria-label="Mobile navigation"] button[aria-current="page"] { background:#e6f1f7!important; color:var(--m-blue)!important; }
  nav[aria-label="Mobile navigation"]>span[style*="align-self:center"] { display:none!important; }
  .m-home-story .about-letter>div:first-child { min-height:240px!important; }
  .m-home-story .about-letter>div:last-child { padding:28px 22px!important; }
  #news .m-news-2>a { padding:20px 16px!important; gap:14px!important; }
  #news .m-news-2>a h3 { font-size:18px!important; line-height:1.3!important; }
  #news .m-news-2>a p { font-size:13px!important; line-height:1.6!important; }
  #news .m-news-2>a>span:last-child { width:84px!important; height:104px!important; }
  .m-news-3 { display:flex!important; flex-direction:column!important; gap:24px!important; }
  .m-news-3>div { width:100%!important; padding:24px 20px!important; border:1px solid var(--m-line)!important; border-radius:24px!important; }
  .m-news-3>div:first-child { background:#fff!important; }
  .m-news-3>div:last-child { background:#0b293e!important; }
  .m-news-3>div:last-child :is(h3,p,span) { color:#e9f3f7!important; }
  .m-news-3>div:last-child p { color:#b5cad7!important; }
  #careers .m-night-shift { padding:0!important; background:transparent!important; border:0!important; }
  #careers .m-night-shift>div { padding:24px 20px!important; border:1px solid var(--m-line)!important; border-radius:24px!important; background:#fff!important; }
  #careers .m-night-shift>div:last-child { background:#e0edf3!important; }
  #careers .m-night-shift>div:last-child svg { stroke:var(--m-blue)!important; }
  #careers .m-night-shift>div:last-child p { font-size:14px!important; }
  #careers .m-night-shift>div:last-child>div>span:has(svg) { background:#f5fafc!important; border:1px solid var(--m-line)!important; }
  #apply>form>div:has(>label+label) { grid-template-columns:minmax(0,1fr)!important; gap:20px!important; }
  #apply>form { gap:20px!important; }
  #apply label { font-size:12px!important; gap:8px!important; }
  #apply :is(input:not([type="hidden"]):not([type="file"]):not([name="website"]),select,textarea) { font-size:16px!important; border-radius:14px!important; padding:14px!important; min-height:54px!important; }
  #apply textarea { min-height:128px!important; }
  #apply>div>div:first-child { background:#0b293e!important; border-radius:20px!important; padding:24px 18px!important; }
  #apply>div>div:first-child :is(h3,p,span) { color:#e8f2f6!important; }
  #apply>div>div:first-child p { color:#bad0dc!important; }
  #apply>div>div:first-child a { width:100%; min-height:52px; font-size:13px!important; line-height:1.5!important; padding:12px!important; text-align:center; overflow-wrap:normal!important; }
  #community .m-community-1 { grid-template-columns:minmax(0,1fr)!important; gap:14px!important; }
  #community .m-community-1>article { background:#fff!important; border:1px solid var(--m-line)!important; border-top:3px solid #dc6648!important; padding:24px 20px!important; border-radius:22px!important; gap:14px!important; }
  #community .m-community-1>article:nth-child(2) { border-top-color:#2d996b!important; }
  #community .m-community-1>article:nth-child(3) { border-top-color:#8766b0!important; }
  #community .m-community-1>article>span:first-child { display:none!important; }
  #community .m-community-1>article>span:nth-child(2) { width:44px!important; height:44px!important; background:#dc6648!important; border:0!important; }
  #community .m-community-1>article:nth-child(2)>span:nth-child(2) { background:#2d996b!important; }
  #community .m-community-1>article:nth-child(3)>span:nth-child(2) { background:#8766b0!important; }
  #community .m-community-1>article h3 { font-size:21px!important; }
  #community .m-community-1>article p { font-size:14px!important; line-height:1.75!important; }
  .m-community-photos { display:flex!important; justify-content:center!important; padding:22px 12px!important; min-height:290px!important; overflow:visible!important; }
  .m-community-photos>div { width:42%!important; flex-basis:42%!important; }
  .m-community-photos>div:first-child { margin:0 -14% 0 0!important; }
  .m-community-photos>div:last-child { margin:0 0 0 -14%!important; }
  .m-community-2>div { padding:24px 20px!important; background:#fff!important; border:1px solid var(--m-line)!important; border-radius:24px!important; }
  .m-community-2>div:last-child { padding:0!important; border:0!important; background:transparent!important; gap:20px!important; }
  .m-community-2>div:last-child>div { padding:24px 20px!important; background:#fff!important; border:1px solid var(--m-line)!important; border-radius:24px!important; }
  .m-footer-links { display:flex; flex-direction:column; margin-top:-8px; }
  .m-footer-links details { border-bottom:1px solid var(--m-line); }
  .m-footer-links summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; min-height:56px; gap:12px; list-style:none; font:600 14px 'Public Sans'; color:var(--m-ink); }
  .m-footer-links summary::-webkit-details-marker { display:none; }
  .m-footer-links summary>span { font-size:23px; font-weight:400; color:var(--m-muted); transition:transform .2s; }
  .m-footer-links details[open] summary>span { transform:rotate(45deg); }
  .m-footer-links details>div { display:flex; flex-direction:column; gap:2px; padding:0 0 16px; }
  .m-footer-links a { min-height:44px; display:flex; align-items:center; color:var(--m-muted); font:400 14px/1.5 'Public Sans'; padding:8px 0; }
  .m-footer-links img { max-width:240px; width:auto; height:auto; object-fit:contain; align-self:flex-start; margin:8px 0; }
  .footer-grid { display:flex!important; flex-direction:column!important; gap:0!important; }
  .footer-grid>div:not(.footer-brand) { display:none!important; }
}

@media (max-width:1023px) {
 .site-frame button { min-width:44px!important; }
 #apply select { -webkit-appearance:none; appearance:none; height:54px!important; padding-right:38px!important; background:#f5f9fb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23526b7b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center!important; }
 .site-frame .property-type button[aria-pressed="true"],.site-frame .form-pair button[aria-pressed="true"] { color:#fff!important; background:var(--m-blue)!important; border-color:var(--m-blue)!important; }
 .m-areas-5>div:last-child,.m-process-3>div:last-child,.m-about-4>div:last-child { display:flex!important; flex-direction:column!important; width:100%; gap:10px!important; }
 .m-areas-5>div:last-child>a,.m-process-3>div:last-child>a,.m-about-4>div:last-child>* { width:100%; min-height:52px!important; border-radius:15px!important; text-align:center; }
 .m-community-3>a { display:flex!important; align-items:center; justify-content:center; border-radius:15px!important; background:var(--m-blue)!important; color:#fff!important; min-height:54px!important; width:100%; font-size:14px!important; }
}
@media (prefers-reduced-motion:reduce) and (max-width:1023px) {
 .site-frame .clients-track,.site-frame .inner-page,.site-frame button { animation:none!important; transition:none!important; }
}
@media (max-width:1023px) {
  #article .m-article-3, #article .m-article-3 * { color:#fff!important; }
  #article>header button { color:var(--m-blue)!important; background:#fff!important; border-color:var(--m-line)!important; }
  .inner-page .m-primary, .inner-page .m-primary * { color:#fff!important; }
  [role="dialog"][aria-label="Service details"]>div { background:#f8fbfd!important; }
}
/* Home refinement: both original hero actions are visible before the description. */
@media (max-width:1023px) {
  .hero-background { height:clamp(200px,56vw,236px)!important; }
  .hero-content { padding:20px 20px 24px!important; }
  .hero-copy { gap:12px!important; }
  .hero-eyebrow { order:0; }
  .hero h1 { order:1; font-size:28px!important; line-height:1.18!important; }
  .hero-actions { order:2; margin-top:2px!important; }
  .hero-copy>p { order:3; margin-top:8px!important; }
}

/* Original five-way app navigation, restored at Leo's request. */
@media (max-width:1023px) {
  :root { --m-bottom:calc(120px + env(safe-area-inset-bottom)); }
  .m-tab-bar { left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:2px;padding:16px 8px calc(12px + env(safe-area-inset-bottom));background:#e6f2fb;border:0;border-top:1px solid #d3e3ee;border-radius:0;box-shadow:0 -6px 24px rgba(11,51,80,.08);backdrop-filter:none;-webkit-backdrop-filter:none; }
  .m-tab-bar button { min-width:44px;min-height:54px!important;gap:4px!important;padding:5px 2px!important;background:transparent;border:0;border-radius:16px;touch-action:manipulation; }
  .m-tab-bar button svg { width:21px;height:21px; }
  .m-tab-bar button span { font:600 11.5px/1.2 'Public Sans',sans-serif!important; }
  .m-tab-bar button[aria-current="page"],.m-tab-bar button[aria-expanded="true"] { color:#0b6596!important; }
  .m-tab-bar button[aria-current="page"] svg { stroke-width:2.3; }
  .m-tab-bar .m-tab-book { width:60px!important;height:60px!important;min-height:60px!important;margin-top:-14px!important;align-self:center;justify-self:center;border:3px solid #fff!important;border-radius:50%!important;background:linear-gradient(155deg,#3c9bd1,#0b5c8c)!important;color:#fff!important;box-shadow:0 7px 18px rgba(11,92,140,.24)!important; }
  .m-tab-bar .m-tab-book svg { width:25px;height:25px; }
  .m-tab-bar button:focus-visible { outline:2px solid #0b6596;outline-offset:2px; }
  .m-tab-bar button:active { transform:scale(.96); }
}
/* Full-width Home hero: no outer card, rounded crop or side gutters. */
@media (max-width:1023px) {
  .hero { width:100vw!important;max-width:none!important;margin:0 calc(50% - 50vw)!important;border:0!important;border-radius:0!important;box-shadow:none!important; }
  .hero-background { border-radius:0!important; }
}

/* The navigation owns its own row; content scrolls entirely above it. */
@media (max-width:1023px) {
  html,body { height:100%;overflow:hidden; }
  .site-shell { position:fixed;inset:0 0 calc(83px + env(safe-area-inset-bottom));min-height:0!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:calc(84px + env(safe-area-inset-top));padding-bottom:24px!important; }
  .hero-content { min-height:calc(100svh - 72px - env(safe-area-inset-top) - clamp(200px,56vw,236px) - 83px - env(safe-area-inset-bottom))!important; }
}

/* Safari's browser chrome and keyboard can shrink/pan the visual viewport independently. */
@media (max-width:1023px) {
  .site-shell { top:var(--msv-visual-top,0px)!important;bottom:auto!important;height:calc(var(--msv-visual-height,100dvh) - var(--msv-nav-space,83px))!important; }
  .m-tab-bar { position:fixed!important;top:calc(var(--msv-visual-top,0px) + var(--msv-visual-height,100dvh) - var(--msv-nav-height,83px))!important;bottom:auto!important; }
  .hero-content { min-height:max(0px,calc(var(--msv-visual-height,100dvh) - var(--msv-header-height,72px) - var(--msv-nav-space,83px) - clamp(200px,56vw,236px)))!important; }
  nav[aria-label="Mobile navigation"] { top:calc(var(--msv-visual-top,0px) + var(--msv-header-height,72px) + 8px)!important;max-height:calc(var(--msv-visual-height,100dvh) - var(--msv-header-height,72px) - 24px)!important; }
  [role="dialog"][aria-label="Service details"] { top:var(--msv-visual-top,0px)!important;bottom:auto!important;height:var(--msv-visual-height,100dvh)!important; }
  [role="dialog"][aria-label="Service details"]>div { max-height:calc(var(--msv-visual-height,100dvh) - 24px)!important; }
  html[data-msv-keyboard="open"] .m-tab-bar { visibility:hidden;pointer-events:none; }
}

@media (max-width:1023px) {
  html[data-msv-short-viewport="true"] .hero-background { height:clamp(160px,calc(var(--msv-visual-height,100dvh) * .25),210px)!important;background-size:cover!important;background-position:100% 45%!important; }
  html[data-msv-short-viewport="true"] .hero-content { min-height:0!important; }
}

@media (max-width:1023px) { html[data-msv-short-viewport="true"] .hero-copy>p { margin-top:var(--msv-hero-fold-gap,8px)!important; } }
