.elementor-2025 .elementor-element.elementor-element-8d6735a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2025 .elementor-element.elementor-element-da02205{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2025 .elementor-element.elementor-element-33b4a91{width:100%;max-width:100%;}.elementor-2025 .elementor-element.elementor-element-33b4a91 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2025 .elementor-element.elementor-element-e6d6fbe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2025 .elementor-element.elementor-element-9d191f1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2025 .elementor-element.elementor-element-4843cf5{width:100%;max-width:100%;}.elementor-2025 .elementor-element.elementor-element-4843cf5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2025 .elementor-element.elementor-element-c825792{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2025 .elementor-element.elementor-element-ca6bbdf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2025 .elementor-element.elementor-element-d8ec6e3{width:100%;max-width:100%;}.elementor-2025 .elementor-element.elementor-element-d8ec6e3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2025 .elementor-element.elementor-element-cc1ca7f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2025 .elementor-element.elementor-element-8efd631{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2025 .elementor-element.elementor-element-e482a08{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}/* Start custom CSS for container, class: .elementor-element-8d6735a *//* Areas of Service — city grid + county detail sections */
.bw-city-section {
  display: none !important;
}

.bw-city-badge {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 40px;
  padding: 18px 34px;
  border: 1px solid rgba(209, 177, 107, 0.35);
  border-radius: 50px;
  background: #fbf6ea;
  color: #12254d;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 4px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.bw-city-badge span {
  width: 10px;
  height: 10px;
  background: #d1b16b;
  border-radius: 50%;
  flex-shrink: 0;
}

.bw-city-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 35px;
}

.bw-city-card {
  display: block;
  background: #fff;
  padding: 36px 40px;
  border-radius: 28px;
  border: 1px solid rgba(209, 177, 107, 0.15);
  box-shadow: 0 15px 45px rgba(18, 37, 77, 0.08);
  text-decoration: none;
  transition: transform 0.52s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.52s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.52s cubic-bezier(0.22, 1, 0.36, 1);
}

.bw-city-card:hover {
  transform: translateY(-6px);
  border-color: #d1b16b;
  box-shadow: 0 24px 60px rgba(18, 37, 77, 0.12);
}

.bw-city-card h3 {
  font-family: 'Playfair Display', serif;
  color: #12254d;
  font-size: 34px;
  margin: 0;
  line-height: 1.2;
}

.bw-city-card h3::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: #d1b16b;
  margin-top: 12px;
  border-radius: 20px;
}

.bw-city-card p {
  display: none !important;
}

/* County detail bands */
.bw-county-section {
  width: 100%;
  background: #faf8f3;
  padding: 56px 20px;
  font-family: 'Montserrat', sans-serif;
}

.bw-county-card {
  max-width: 1500px;
  margin: 0 auto;
  background: #faf8f3;
  border: 1px solid rgba(209, 177, 107, 0.22);
  border-radius: 30px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  box-shadow: 0 18px 45px rgba(18, 37, 77, 0.06);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.bw-county-card:hover {
  transform: translateY(-6px);
  border-color: rgba(209, 177, 107, 0.45);
  box-shadow: 0 24px 60px rgba(18, 37, 77, 0.12);
}

.bw-county-image {
  min-height: 420px;
  background: #12254d;
}

.bw-county-image img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  display: block;
}

.bw-county-content {
  padding: 56px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}

.bw-county-content h2 {
  margin: 0 0 24px;
  color: #12254d;
  font-family: 'Playfair Display', serif;
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 700;
  line-height: 1.15;
}

.bw-county-content h2::after {
  content: '';
  display: block;
  width: 85px;
  height: 3px;
  background: #d1b16b;
  margin-top: 16px;
  border-radius: 50px;
}

.bw-county-content p {
  margin: 0 0 20px;
  color: #666666;
  font-size: 18px;
  line-height: 1.85;
}

.bw-county-content p:last-of-type {
  margin-bottom: 0;
}

.bw-county-nav-section,
.bw-county-nav {
  display: none !important;
}

.bw-county-content h2 a,
.bw-county-content h2 a:link,
.bw-county-content h2 a:visited,
.bw-county-content h2 a:active,
.bw-county-content h2 a:focus {
  color: #12254d !important;
  text-decoration: none;
  transition: color 0.25s ease;
}

.bw-county-content h2 a:hover {
  color: #d1b16b !important;
}

.bw-city-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 35px;
  margin-bottom: 40px;
}

.bw-city-list a,
.bw-city-list a:link,
.bw-city-list a:visited,
.bw-city-list a:active,
.bw-city-list a:focus,
.bw-city-list a:focus-visible,
.bw-city-list span {
  display: inline-block;
  padding: 10px 18px;
  background: #f8f5ee !important;
  border: 1px solid rgba(209, 177, 107, 0.25) !important;
  border-radius: 50px !important;
  font-family: 'Montserrat', sans-serif;
  color: #12254d !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  outline: none !important;
  cursor: pointer;
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.bw-city-list a:hover,
.bw-city-list a:focus:hover,
.bw-city-list span:hover {
  background: #ffffff !important;
  border-color: #d1b16b !important;
  color: #12254d !important;
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 10px 24px rgba(18, 37, 77, 0.12) !important;
}

@media (max-width: 1024px) {
  .bw-city-grid {
    grid-template-columns: 1fr;
  }

  .bw-county-card {
    grid-template-columns: 1fr;
  }

  .bw-county-image,
  .bw-county-image img {
    min-height: 280px;
  }

  .bw-county-content {
    padding: 40px 28px;
  }
}

@media (max-width: 768px) {
  .bw-city-section {
    padding: 40px 16px 56px;
  }

  .bw-city-card {
    padding: 30px;
  }

  .bw-city-card h3 {
    font-size: 28px;
  }

  .bw-county-section {
    padding: 40px 16px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-33b4a91 */.bw-county-section{
    width:100%;
    background:#faf8f3;
    padding:80px 20px;
    font-family:'Montserrat',sans-serif;
}

.bw-county-card{
    max-width:1500px;
    margin:0 auto;

    background:#ffffff;

    border:1px solid rgba(209,177,107,.22);
    border-radius:30px;

    overflow:hidden;

    display:grid;
    grid-template-columns:1fr 1fr;

    box-shadow:0 18px 45px rgba(18,37,77,.06);
}

.bw-county-image{
    min-height:550px;
}

.bw-county-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.bw-county-content{
    padding:65px 60px;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

.bw-county-content h2{
    margin:0 0 28px;

    color:#12254d;

    font-family:'Playfair Display',serif;
    font-size:52px;
    font-weight:700;
    line-height:1.15;
}

.bw-county-content h2::after{
    content:'';
    display:block;

    width:85px;
    height:3px;

    background:#d1b16b;

    margin-top:18px;
    border-radius:50px;
}

.bw-county-content p{
    margin:0 0 24px;

    color:#666666;

    font-size:18px;
    line-height:1.9;
}

.bw-county-content p:last-child{
    margin-bottom:0;
}

@media(max-width:1024px){

    .bw-county-card{
        grid-template-columns:1fr;
    }

    .bw-county-image{
        min-height:320px;
    }

    .bw-county-content{
        padding:40px 28px;
    }

    .bw-county-content h2{
        font-size:38px;
    }

    .bw-county-content p{
        font-size:16px;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4843cf5 */.bw-county-section{
    width:100%;
    background:#faf8f3;
    padding:80px 20px;
    font-family:'Montserrat',sans-serif;
}

.bw-county-card{
    max-width:1500px;
    margin:0 auto;

    background:#ffffff;
    border:1px solid rgba(209,177,107,.22);
    border-radius:30px;

    overflow:hidden;

    display:grid;
    grid-template-columns:1fr 1fr;

    box-shadow:0 18px 45px rgba(18,37,77,.06);
}

.bw-county-image{
    min-height:550px;
}

.bw-county-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.bw-county-content{
    padding:65px 60px;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

.bw-county-content h2{
    margin:0 0 28px;

    color:#12254d;

    font-family:'Playfair Display',serif;
    font-size:52px;
    font-weight:700;
    line-height:1.15;
}

.bw-county-content h2::after{
    content:'';
    display:block;

    width:85px;
    height:3px;

    background:#d1b16b;

    margin-top:18px;
    border-radius:50px;
}

.bw-county-content p{
    margin:0 0 24px;

    color:#666666;

    font-size:18px;
    line-height:1.9;
}

.bw-county-content p:last-child{
    margin-bottom:0;
}

@media(max-width:1024px){

    .bw-county-card{
        grid-template-columns:1fr;
    }

    .bw-county-image{
        min-height:320px;
    }

    .bw-county-content{
        padding:40px 28px;
    }

    .bw-county-content h2{
        font-size:38px;
    }

    .bw-county-content p{
        font-size:16px;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d8ec6e3 */.bw-county-section{
    width:100%;
    background:#faf8f3;
    padding:80px 20px;
    font-family:'Montserrat',sans-serif;
}

.bw-county-card{
    max-width:1500px;
    margin:0 auto;

    background:#ffffff;
    border:1px solid rgba(209,177,107,.22);
    border-radius:30px;

    overflow:hidden;

    display:grid;
    grid-template-columns:1fr 1fr;

    box-shadow:0 18px 45px rgba(18,37,77,.06);
}

.bw-county-image{
    min-height:550px;
}

.bw-county-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.bw-county-content{
    padding:65px 60px;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

.bw-county-content h2{
    margin:0 0 28px;

    color:#12254d;

    font-family:'Playfair Display',serif;
    font-size:52px;
    font-weight:700;
    line-height:1.15;
}

.bw-county-content h2::after{
    content:'';
    display:block;

    width:85px;
    height:3px;

    background:#d1b16b;

    margin-top:18px;
    border-radius:50px;
}

.bw-county-content p{
    margin:0 0 24px;

    color:#666666;

    font-size:18px;
    line-height:1.9;
}

.bw-county-content p:last-child{
    margin-bottom:0;
}

@media(max-width:1024px){

    .bw-county-card{
        grid-template-columns:1fr;
    }

    .bw-county-image{
        min-height:320px;
    }

    .bw-county-content{
        padding:40px 28px;
    }

    .bw-county-content h2{
        font-size:38px;
    }

    .bw-county-content p{
        font-size:16px;
    }

}/* End custom CSS */
/* Start custom CSS *//* Areas page — fill county card photos (no navy gap under images) */
.page-id-2287 .bw-county-section:not(.bw-county-page) .bw-county-card .bw-county-image,
.page-area-of-services .bw-county-section:not(.bw-county-page) .bw-county-card .bw-county-image {
  position: relative !important;
  align-self: stretch !important;
  height: 100% !important;
  min-height: 100% !important;
  overflow: hidden !important;
  background-color: transparent !important;
}

.page-id-2287 .bw-county-section:not(.bw-county-page) .bw-county-card .bw-county-image img,
.page-area-of-services .bw-county-section:not(.bw-county-page) .bw-county-card .bw-county-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Center page title */
.page-id-2287 .page-header,
.page-area-of-services .page-header {
  text-align: center !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-id-2287 .page-header .entry-title,
.page-area-of-services .page-header .entry-title {
  text-align: center !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep county cards centered in the content column */
.page-id-2287 .bw-county-section,
.page-area-of-services .bw-county-section {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.page-id-2287 .bw-county-card,
.page-area-of-services .bw-county-card {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 768px) {
  .page-id-2287 .bw-county-section:not(.bw-county-page) .bw-county-card .bw-county-image,
  .page-area-of-services .bw-county-section:not(.bw-county-page) .bw-county-card .bw-county-image {
    height: 280px !important;
    min-height: 280px !important;
  }
}

/* Areas of Service — space above page title */
.page-id-2287 .page-header,
.page-area-of-services .page-header {
  padding-top: clamp(28px, 4vw, 48px) !important;
  margin-top: 0 !important;
  text-align: center !important;
}
.page-id-2287 .entry-title,
.page-area-of-services .entry-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
}/* End custom CSS */