:root{--navy:#0d3b5b;--deep:#0a2f48;--teal:#0878b7;--pale:#f4fafc;--muted:#49718c}
.mhfa-aligned:is(.page-area,.page-course) .smsts-hero-booking,
.mhfa-aligned:is(.page-area,.page-course) .audit-booking-hero>.v2-booking-panel,
.mhfa-aligned:is(.page-area,.page-course) .smsts-online-step{border-top-color:var(--teal)}
.mhfa-aligned:is(.page-area,.page-course) .smsts-join-list li:before,
.mhfa-aligned:is(.page-area,.page-course) .smsts-online-step h3:before,
.mhfa-aligned:is(.page-area,.page-course) .smsts-hero-helper a,
.mhfa-aligned:is(.page-area,.page-course) .course-button-wrapper>a.secondary,
.mhfa-aligned:is(.page-area,.page-course) .cro-inline-actions>a:not(.button_redesigned){color:var(--teal)}
.mhfa-aligned:is(.page-area,.page-course) .button_redesigned:not(.secondary):hover{background:#086699}
body .brand .brand-symbol>img[data-stg-symbol]{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
.footer .brand .brand-symbol{background:transparent;border-radius:0;overflow:visible}
.footer .brand{grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;width:max-content;max-width:100%}
.footer .brand .brand-copy strong{font-size:24px;line-height:1.15;letter-spacing:0;word-spacing:0;color:#fff}
.footer .brand .brand-copy small{font-size:11px;line-height:1.4;letter-spacing:0;margin-top:5px;color:#bed3e0;white-space:normal;max-width:240px}
.footer .brand .brand-symbol{width:44px;height:51px}
@media(max-width:900px){.footer .brand{grid-template-columns:38px minmax(0,1fr);gap:10px}.footer .brand .brand-symbol{width:38px;height:44px}.footer .brand .brand-copy strong{font-size:21px}}

/* Existing authored course reviews only. Keep the original review text and controls. */
.template-v2.page-course .reviews-sliders {
  min-width: 0;
  margin: 36px 0 32px;
  padding: 0;
  background: transparent;
  container-name: sssts-reviews;
  container-type: inline-size;
}
.template-v2.page-course .reviews-sliders > .padding-right-1rem {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 20px;
  padding: 0;
}
.template-v2.page-course .reviews-sliders .padding-right-1rem .w-embed {
  max-width: 100%;
  line-height: 1;
}
.template-v2.page-course .reviews-sliders .padding-right-1rem .w-embed img {
  display: block;
  width: 246px;
  height: auto;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: left center;
}
.template-v2.page-course .reviews-sliders .padding-right-1rem > h3 {
  max-width: 620px;
  margin: 0;
  font-size: 27px;
  line-height: 1.22;
  letter-spacing: -.025em;
  color: var(--navy, #123b50);
}
.template-v2.page-course .reviews-sliders .reviews-mask {
  display: flex;
  align-items: stretch;
  gap: 20px; /* Existing arrow script advances by card width plus exactly 20px. */
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
}
.template-v2.page-course .reviews-sliders .reviews-mask::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.template-v2.page-course .reviews-sliders .reviews-mask:focus-visible {
  outline: 3px solid #df9d35;
  outline-offset: -3px;
  border-radius: 8px;
}
.template-v2.page-course .course-overview-grid .reviews-mask > .w-slide,
.template-v2.page-course .reviews-sliders .reviews-mask > .w-slide {
  display: flex !important;
  flex: 0 0 calc(50% - 10px);
  min-width: 0;
  height: auto;
  align-self: stretch;
  scroll-snap-align: start;
}
.template-v2.page-course .reviews-sliders .testimonial-slide {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 22px;
  border: 1px solid #d8e4eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}
.template-v2.page-course .reviews-sliders .testimonial-slide h4 {
  margin: 0 0 12px;
  font-size: 19px;
  line-height: 1.3;
  letter-spacing: -.015em;
  color: var(--navy, #123b50);
}
.template-v2.page-course .reviews-sliders .testimonial-slide p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.65;
  color: #3f5967;
  overflow-wrap: anywhere;
}
.template-v2.page-course .reviews-sliders .testimonial-slide .font-weight-500 {
  margin: auto 0 0;
  padding-top: 2px;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 500;
  color: #607783;
}
.template-v2.page-course .reviews-sliders .v2-review-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
}
.template-v2.page-course .reviews-sliders .v2-review-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #b4c8d1;
  border-radius: 50%;
  background: #fff;
  color: var(--navy, #123b50);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.template-v2.page-course .reviews-sliders .v2-review-controls button:hover {
  border-color: var(--teal, #157c80);
  background: #edf5f7;
}
.template-v2.page-course .reviews-sliders .v2-review-controls button:focus-visible {
  outline: 3px solid #df9d35;
  outline-offset: 3px;
}
@container sssts-reviews (max-width: 640px) {
  .template-v2.page-course .course-overview-grid .reviews-mask > .w-slide,
  .template-v2.page-course .reviews-sliders .reviews-mask > .w-slide {
    flex-basis: 100%;
  }
  .template-v2.page-course .reviews-sliders .padding-right-1rem > h3 {
    font-size: 24px;
  }
}
@media (max-width: 600px) {
  .template-v2.page-course .reviews-sliders {
    margin-block: 28px;
  }
  .template-v2.page-course .reviews-sliders > .padding-right-1rem {
    gap: 10px;
    margin-bottom: 16px;
  }
  .template-v2.page-course .reviews-sliders .padding-right-1rem > h3 {
    font-size: 23px;
    line-height: 1.25;
  }
  .template-v2.page-course .reviews-sliders .padding-right-1rem .w-embed img {
    width: 230px;
  }
  .template-v2.page-course .course-overview-grid .reviews-mask > .w-slide,
  .template-v2.page-course .reviews-sliders .reviews-mask > .w-slide {
    flex-basis: 100%;
  }
  .template-v2.page-course .reviews-sliders .testimonial-slide {
    padding: 20px;
  }
  .template-v2.page-course .reviews-sliders .v2-review-controls {
    margin-top: 12px;
  }
}

/* The 48 location pages use embedded lists, rather than Webflow CMS items.
   Keep their existing text, URLs and list markup; align them with the site grid. */
.mhfa-aligned.page-area .main-wrapper > .section-4 {
  padding-block: 56px;
  border-top: 1px solid var(--line, #d8e4eb);
}

.mhfa-aligned.page-area .section-4 > .w-container {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 32px;
}

.mhfa-aligned.page-area .section-4 .heading-21 {
  margin: 0 0 24px;
  font-size: clamp(26px, 2.5vw, 34px);
  line-height: 1.2;
}

/* Balanced columns give a compact grid while retaining the five real lists
   and their alphabetical reading order, without display:contents. */
.mhfa-aligned.page-area .section-4 .code-embed > div {
  columns: 5;
  column-gap: 32px;
}

.mhfa-aligned.page-area .section-4 .code-embed ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mhfa-aligned.page-area .section-4 .code-embed li {
  margin: 0;
  padding: 0;
  break-inside: avoid;
}

.mhfa-aligned.page-area .section-4 .code-embed a {
  display: block;
  min-height: 40px;
  padding-block: 8px;
  font-size: 15px;
  font-weight: 500;
  line-height: 24px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.mhfa-aligned.page-area .section-4 .code-embed a:hover {
  text-decoration-thickness: 2px;
}

.mhfa-aligned.page-area .section-4 .code-embed a:focus-visible {
  outline: 3px solid #df9d35;
  outline-offset: 1px;
  border-radius: 2px;
}

@media (min-width: 1500px) {
  .mhfa-aligned.page-area .section-4 > .w-container {
    max-width: 1360px;
  }
}

@media (max-width: 1140px) {
  .mhfa-aligned.page-area .section-4 > .w-container {
    padding-inline: 27px;
  }
  .mhfa-aligned.page-area .section-4 .code-embed > div {
    columns: 4;
    column-gap: 24px;
  }
}

@media (max-width: 800px) {
  .mhfa-aligned.page-area .section-4 .code-embed > div {
    columns: 3;
  }
}

@media (max-width: 700px) {
  .mhfa-aligned.page-area .main-wrapper > .section-4 {
    padding-block: 40px;
  }
  .mhfa-aligned.page-area .section-4 > .w-container {
    padding-inline: 22px;
  }
}

@media (max-width: 540px) {
  .mhfa-aligned.page-area .section-4 .code-embed > div {
    columns: 2;
    column-gap: 20px;
  }
}

@media (max-width: 370px) {
  .mhfa-aligned.page-area .section-4 > .w-container {
    padding-inline: 17px;
  }
}

/* One compact lockup for the header and footer, across every page template. */
:is(.site-header,.footer) .brand{
  display:grid;grid-template-columns:44px max-content;column-gap:10px;
  align-items:center;width:max-content;max-width:100%;text-decoration:none;
}
:is(.site-header,.footer) .brand .brand-symbol{
  width:44px;height:auto;aspect-ratio:46.15 / 52.53;
  background:transparent;overflow:visible;border-radius:0;
}
:is(.site-header,.footer) .brand .brand-copy{
  display:flex;flex-direction:column;justify-content:center;align-self:center;gap:2px;
}
:is(.site-header,.footer) .brand .brand-copy strong{
  display:block;font-size:24px;line-height:1.05;margin:0;
  letter-spacing:0;word-spacing:0;white-space:nowrap;
}
:is(.site-header,.footer) .brand .brand-copy small{
  display:block;font-size:11px;line-height:1.2;margin:0;
  letter-spacing:0;word-spacing:0;max-width:none;white-space:nowrap;
}
@media(max-width:900px){
  :is(.site-header,.footer) .brand{grid-template-columns:40px max-content;column-gap:9px}
  :is(.site-header,.footer) .brand .brand-symbol{width:40px;height:auto}
  :is(.site-header,.footer) .brand .brand-copy strong{font-size:22px}
  :is(.site-header,.footer) .brand .brand-copy small{font-size:10.5px}
}
@media(max-width:420px){
  :is(.site-header,.footer) .brand{grid-template-columns:36px max-content;column-gap:8px}
  :is(.site-header,.footer) .brand .brand-symbol{width:36px;height:auto}
  :is(.site-header,.footer) .brand .brand-copy strong{font-size:20px}
  :is(.site-header,.footer) .brand .brand-copy small{font-size:10px}
}
