.local-office-page{color:#303536;background:#fff}.local-office-page *{box-sizing:border-box}.local-office-hero{position:relative;display:grid;min-height:680px;padding:150px 24px 80px;place-items:center;background:linear-gradient(100deg,rgba(10,42,37,.91),rgba(18,91,78,.58)),var(--local-hero) center/cover no-repeat;color:#fff;text-align:center}.local-office-hero>div{width:min(920px,100%)}.local-office-hero p,.local-office-eyebrow{margin:0 0 14px;color:#36cfad;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.local-office-hero h1{margin:0 auto 22px;max-width:900px;color:#fff;font-size:clamp(42px,6vw,76px);font-weight:400;line-height:1.04}.local-office-hero span{display:block;max-width:720px;margin:auto;font-size:clamp(17px,2vw,22px);line-height:1.55}.local-office-hero__actions{display:flex;gap:14px;justify-content:center;margin-top:34px}.local-office-hero__actions a,.local-office-map{display:inline-flex;min-height:46px;padding:10px 27px;align-items:center;justify-content:center;border:2px solid #fff;border-radius:999px;color:#fff;font-size:12px;font-weight:800;text-decoration:none;text-transform:uppercase}.local-office-hero__actions a:hover,.local-office-map:hover{border-color:#3bceac;background:#3bceac}.local-office-intro,.local-office-market,.local-office-details{display:grid;width:min(1180px,calc(100% - 40px));margin:auto;grid-template-columns:1fr 1fr;align-items:center}.local-office-intro{padding:100px 0;gap:80px}.local-office-intro h2,.local-office-market h2,.local-office-services h2,.local-office-faq h2,.local-office-details h2{margin:0 0 22px;font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.08}.local-office-intro p,.local-office-market p{font-size:17px;line-height:1.7}.local-office-intro img,.local-office-market img{width:100%;height:520px;border-radius:32px;object-fit:cover}.local-office-services{padding:90px max(24px,calc((100% - 1280px)/2));background:#f2f7f5;text-align:center}.local-office-services>div{display:grid;margin-top:44px;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:18px;align-items:stretch}.local-office-services article{height:100%;padding:34px 26px;border:1px solid #cfe2dd;border-radius:22px;background:linear-gradient(145deg,#174f45,#32aa91);color:#fff;text-align:left}.local-office-services h3{margin:0 0 14px;color:#fff;font-size:21px}.local-office-services article p{margin:0;line-height:1.55}.local-office-market{padding:100px 0;gap:72px}.local-office-market ul{padding-left:20px;line-height:1.9}.local-office-details{margin-bottom:90px;padding:44px 52px;border-radius:26px;background:#143d36;color:#fff}.local-office-details h2{color:#fff}.local-office-details address{display:grid;gap:5px;font-style:normal;line-height:1.55}.local-office-details>div>a{display:inline-block;margin-top:14px;color:#3bceac}.local-office-details>div>a.local-office-website{display:block}.local-office-map{justify-self:end}.local-office-faq{display:grid;padding:90px max(24px,calc((100% - 1180px)/2));grid-template-columns:.85fr 1.15fr;gap:70px;background:#f5f8f7}.local-office-faq details{border-bottom:1px solid #c9d9d5}.local-office-faq summary{padding:22px 42px 22px 0;font-size:18px;font-weight:700;cursor:pointer}.local-office-faq details p{margin:0;padding:0 30px 24px 0;line-height:1.65}@media(max-width:900px){.local-office-services>div{grid-template-columns:repeat(2,minmax(0,1fr))}.local-office-intro,.local-office-market,.local-office-faq{grid-template-columns:1fr}.local-office-intro,.local-office-market{gap:38px}.local-office-faq{gap:25px}.local-office-details{grid-template-columns:1fr;gap:26px}.local-office-map{justify-self:start}}@media(max-width:600px){.local-office-hero{min-height:620px;padding-top:145px}.local-office-hero h1{font-size:42px}.local-office-hero__actions{display:grid;grid-template-columns:1fr 1fr}.local-office-hero__actions a{padding-inline:12px}.local-office-intro,.local-office-market{padding:68px 0}.local-office-intro img,.local-office-market img{height:330px}.local-office-services{padding-block:68px}.local-office-services>div{grid-template-columns:1fr}.local-office-details{width:calc(100% - 28px);padding:34px 25px}.local-office-faq{padding-block:68px}}
/* Service-card banners and equal-height responsive cards. */
.local-office-services>div{grid-auto-rows:1fr}
.local-office-services article{display:flex!important;min-height:340px!important;padding:0 26px 30px!important;overflow:hidden!important;flex-direction:column!important}
.local-office-services article>img{display:block;width:calc(100% + 52px)!important;max-width:none!important;height:120px!important;margin:0 -26px 26px!important;object-fit:cover!important}
@media(min-width:601px) and (max-width:1180px){.local-office-services>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.local-office-services article{min-height:360px!important}.local-office-services article>img{height:130px!important}}

/* City-specific photography keeps its native 3:2 framing instead of being
   compressed into the legacy panoramic service-card banner. */
.local-office-services--location-specific article>img{
  height:auto!important;
  aspect-ratio:3/2;
  object-fit:cover!important;
}
@media(max-width:600px){
  .local-office-services--location-specific article>img{height:auto!important}
}

/* Brand secondary typography for all location-page tag labels. */
.local-office-hero p,.local-office-eyebrow{font-family:"Avenir Reguler",Avenir,Helvetica,Arial,sans-serif!important}

/* Keep the office CTA aligned with the site's standard button typography. */
.local-office-map{font-family:"Avenir Reguler",Avenir,Helvetica,Arial,sans-serif!important;letter-spacing:.04em}

/* Use the brand typeface throughout the FAQ toggle controls and answers. */
.local-office-faq summary,.local-office-faq details p{font-family:"Avenir Reguler",Avenir,Helvetica,Arial,sans-serif!important}

/* Full-bleed square location photography without the old circular artwork. */
.local-office-intro--square-photo img{
  width:min(460px,100%);
  height:auto;
  aspect-ratio:1;
  justify-self:end;
  border-radius:32px;
  object-fit:cover;
}
@media(max-width:900px){
  .local-office-intro--square-photo img{
    width:min(520px,100%);
    justify-self:center;
  }
}
