figure.right {float: right; margin: 0 0 20px 50px}
 
 figure { display: table; clear: all }
 
 figure.left {float: none; margin: 30px 0px 30px 0}
 
 figcaption {font-style: italic; padding-top: 4px; color: #666; letter-spacing: .3px; display: table-caption; caption-side: bottom ; font-size: 1rem}
 
 .youtube-video {
  aspect-ratio: 16 / 9;
  width: 100%;
}

.interior-article ul li::marker {color: #65AE60;}

.interior-article ul li {margin-bottom: 8px}

.interior-article ol li {margin-bottom: 8px}

.interior-article ul li::marker {color: #65AE60;}

.interior-article ul li {margin-bottom: 8px}

.interior-article ul {margin-left: 20px}
.interior-article ol {margin-left: 20px}

.interior-article h2 {color: #667B2D; font-size: 1.4rem; margin-top: 2rem; letter-spacing: .03rem}

.interior-article h3 {color: #980707; font-size: 1.2rem; margin-top: 2.1rem; letter-spacing: .03rem}

.interior-article h3.accordion-header {margin-top: 0 }

.interior-article h2.how-do-title {color: #003767; font-size: 1.6rem; margin-top: 0rem;}

.interior-article h2.interior-accordion-title {color: #333; font-size: 1.6rem; margin-top: 0rem;}

.interior-article p, .interior-article li, .interior-article td, .interior-article th, .interior-sidebar li {letter-spacing: .01rem}

.interior-sidebar li {line-height: 1.4rem; margin-bottom: .1rem}

.interior-sidebar li li {list-style-type: none}

.table th {color: #003767}

.breadcrumb-item a {text-decoration: none; color: #085874}

.freeform label {font-family: "Montserrat", "Helvetica Neue", Arial, "Noto Sans", sans-serif; color: #000}

.freeform button {background:#003767; font-weight: bold; font-family: "Montserrat", "Helvetica Neue", Arial, "Noto Sans", sans-serif;}

.header-hours-branch {
  font-weight: 700
}

/* ==========================================================
   WCAG 2.2 – 2.5.8 Target Size (Minimum): 24×24px targets
   ========================================================== */

/* 1. Home page slider dots: 14×14 → 24×24 clickable area.
   The visible dot stays 14px. The extra 5px of padding around it
   is clickable but transparent (background-clip keeps the color
   inside the dot). */
.hero-slider .swiper-pagination-bullet {
  box-sizing: content-box;
  width: 14px;
  height: 14px;
  padding: 5px;
  margin: 0 !important;          /* the padding now provides the spacing */
  background-clip: content-box;
}



/* Freeform radio/checkbox groups: match the legend and options to the other field labels */
.freeform fieldset[data-field-container] {
  font-family: Montserrat, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  color: #000;
}

.freeform fieldset[data-field-container] > legend.freeform-label {
  font-size: 1rem;        /* 16px, same as the other labels */
  font-weight: 600;
  line-height: normal;
  color: #000;
  margin-bottom: 5px;     /* same spacing as the other labels */
}

/* Hero slider arrows: white circle, navy arrow, soft shadow (WCAG 2.1 AA 1.4.11) */
.hero-slider-btn {
  box-sizing: border-box;
  width: 52px;
  height: 52px;
  border: 2px solid #fff;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.90);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  opacity: 1;
}
.hero-slider-btn:hover {
  background-color: #e7f3fb;   /* light blue tint on hover */
}

/* The arrow (existing ::before mask), navy and centred */
.hero-slider-btn::before {
  width: 13px;
  height: 22px;
  margin-left: 2px;
  background-color: #003767;
}
.hero-slider-btn-prev::before {
  margin-left: -2px;
}

@media (min-width: 768px) {
  .hero-slider-btn {
    width: 64px;
    height: 64px;
  }
  .hero-slider-btn::before {
    width: 16px;
    height: 28px;
  }
}

@media (max-width: 767.98px) {
  .hero-slider-btn { display: none; }
}

.header-contact-phone{min-height:24px;align-items:center}
.header-contact ul a{display:inline-block;min-height:24px;line-height:24px}

/* Featured carousel */
.featured,.featured-carousel{min-width:0}
.featured-carousel{position:relative}
.featured-list{display:flex;gap:1.6875rem;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;list-style:none;margin:-4px;padding:4px;scroll-padding-inline:4px}
.featured-list::-webkit-scrollbar{display:none}
.featured-card{flex:0 0 100%;scroll-snap-align:start}
@media(min-width:768px){.featured-card{flex-basis:calc((100% - 2 * 1.6875rem) / 3)}}
.featured-controls{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}
.featured-controls[hidden]{display:none}
.featured-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:2px solid #003767;border-radius:50%;background:#fff;color:#003767;font-size:1.25rem;line-height:1;cursor:pointer}
.featured-btn:hover{background:#003767;color:#fff}
.featured-btn:focus-visible{outline:3px solid #003767;outline-offset:2px}
.featured-btn[aria-disabled="true"]{opacity:.4;cursor:default;background:#fff;color:#003767}
