*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

figure {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
}

body {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #666666;
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  color: #333333;
  line-height: 1.2;
}

p {
  margin: 0;
}

.site-container {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.page-inner main .container {
  max-width: 1000px;
}

.btn-revive {
  appearance: none;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition-property: background-color, color, border-color, transform, box-shadow;
  transition-duration: 0.3s ease;
  transition-timing-function: ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 2rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  border-radius: 50rem;
  white-space: nowrap;
}
.btn-revive:focus-visible {
  outline: 2px solid #9289c0;
  outline-offset: 3px;
}
.btn-revive--primary {
  background-color: #9289c0;
  color: #ffffff;
}
.btn-revive--primary:hover, .btn-revive--primary:focus-visible {
  background-color: rgb(121.4298342541, 110.4011049724, 177.7988950276);
  color: #ffffff;
}
.btn-revive--light {
  background-color: #ffffff;
  color: #434460;
}
.btn-revive--light:hover, .btn-revive--light:focus-visible {
  background-color: rgb(242.25, 242.25, 242.25);
  color: #434460;
}
.btn-revive--sm {
  padding: 0.625rem 1.5rem;
  font-size: 0.75rem;
}
.btn-revive--lg {
  padding: 0.875rem 2.25rem;
  font-size: 0.875rem;
}

.site-header {
  position: relative;
  z-index: 100;
  background-color: #ffffff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  overflow: visible;
}
.site-header__navbar {
  padding: 0;
}
.site-header__inner {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 100%;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.site-header__logo-link {
  display: inline-flex;
}
.site-header__logo-link:focus-visible {
  outline: 2px solid #9289c0;
  outline-offset: 4px;
  border-radius: 0.25rem;
}
.site-header__toggler {
  border: 0;
  padding: 0.25rem;
}
.site-header__toggler:focus {
  box-shadow: none;
}
.site-header__toggler:focus-visible {
  outline: 2px solid #9289c0;
  outline-offset: 2px;
}
.site-header__offcanvas {
  --bs-offcanvas-width: min(20rem, 85vw);
}
@media (min-width: 992px) {
  .site-header__offcanvas {
    --bs-offcanvas-width: auto;
    overflow: visible;
  }
}
.site-header__nav-link {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #666666;
  transition: color 0.3s ease;
}
.site-header__nav-link:hover, .site-header__nav-link:focus-visible {
  color: #9289c0;
}
.site-header__nav-link.is-active, .site-header__nav-link.active {
  color: #9289c0;
}
.current-menu-item > .site-header__nav-link, .current-menu-ancestor > .site-header__nav-link, .current_page_item > .site-header__nav-link {
  color: #9289c0;
}
.site-header__phone {
  font-size: 0.875rem;
  font-weight: 500;
  color: #333333;
  text-decoration: none;
  transition: color 0.3s ease;
}
.site-header__phone:hover, .site-header__phone:focus-visible {
  color: #9289c0;
}
.site-header__phone-icon {
  width: 0.875rem;
  height: 0.875rem;
  flex-shrink: 0;
}
.site-header__bottom-brush {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 3.75rem;
  background-image: url("../assets/images/header-bottom-shape.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
  pointer-events: none;
  z-index: 4;
}
@media (min-width: 992px) {
  .site-header__mega-item {
    position: static;
  }
}
.site-header__mega-item.is-open > .site-header__nav-link, .site-header__mega-item:hover > .site-header__nav-link {
  color: #9289c0;
}

.mega-menu {
  display: none;
  background-color: #2b2b2b;
  color: #ffffff;
}
.site-header__mega-item.is-open .mega-menu {
  display: block;
}
.mega-menu {
  margin-top: 1rem;
  padding: 1rem 0 0.75rem;
  border-radius: 0.5rem;
}
@media (min-width: 992px) {
  .mega-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    margin-top: 0;
    padding: calc(3.75rem + 2rem) 0 4rem;
    border-radius: 0;
    z-index: 3;
  }
  .mega-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: calc(3.75rem + 2rem);
  }
}
@media (min-width: 992px) {
  .mega-menu__inner {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.mega-menu__heading {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
}
.mega-menu__heading-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.mega-menu__heading-link:hover, .mega-menu__heading-link:focus-visible {
  color: #9289c0;
}
.mega-menu__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mega-menu__link {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #ffffff;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  transition: color 0.3s ease;
}
.mega-menu__link::before {
  content: "";
  flex-shrink: 0;
  width: 0.35rem;
  height: 0.35rem;
  margin-top: 0.45em;
  border-radius: 50%;
  background-color: #ffffff;
}
.mega-menu__link:hover, .mega-menu__link:focus-visible {
  color: #9289c0;
}
.mega-menu__link:focus-visible {
  outline: 2px solid #9289c0;
  outline-offset: 2px;
}

.hero {
  position: relative;
  z-index: 1;
  min-height: 37.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-top: -1px;
}
.hero__background {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__background-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
.hero__background-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.25) 50%, rgba(0, 0, 0, 0.35) 100%);
  z-index: 1;
}
.hero__bottom-brush {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3.75rem;
  background-image: url("../assets/images/banner-bottom-brush.jpg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: bottom center;
  z-index: 3;
  pointer-events: none;
}
.hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 4rem;
  padding-bottom: 12.5rem;
}
.hero__title {
  max-width: 52rem;
  margin-bottom: 2rem;
  font-size: clamp(2rem, 5vw, 3.375rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  line-height: 1.2;
}
.hero__title-emphasis {
  font-weight: 700;
}
.hero__cta {
  margin-top: 0.75rem;
}
@media (max-width: 767.98px) {
  .hero {
    min-height: 28rem;
  }
  .hero__content {
    padding-bottom: 11.5rem;
  }
}

.highlight-section {
  position: relative;
  z-index: 10;
  display: flow-root;
}
.highlight-section__inner {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-top: -7.5rem;
  padding-bottom: 5rem;
}
.highlight-section__bottom-space {
  height: 4rem;
  background-color: #ffffff;
  margin-top: -1px;
}

.highlight-box {
  position: relative;
  background-color: #434460;
  border-radius: 1.25rem 1.25rem 0 0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.16);
  padding: 20px;
}
.highlight-box__inner {
  display: flex;
  flex-direction: column;
}
.highlight-box__media {
  flex: 0 0 auto;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 768px) {
  .highlight-box__media {
    flex: 0 0 42%;
    max-width: 42%;
  }
}
.highlight-box__image {
  width: 100%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
  object-position: center;
}
@media (min-width: 768px) {
  .highlight-box__image {
    min-height: 100%;
  }
}
.highlight-box__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  padding: 2rem 1.5rem;
}
@media (min-width: 768px) {
  .highlight-box__content {
    padding: 3rem 4rem;
  }
}
.highlight-box__title {
  margin-bottom: 1rem;
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  font-weight: 500;
  color: #ffffff;
  line-height: 1.2;
}
.highlight-box__divider {
  width: 100%;
  max-width: 100%;
  height: 1px;
  margin-bottom: 1.5rem;
  background-color: rgba(255, 255, 255, 0.6);
  border: none;
}
.highlight-box__text {
  margin-bottom: 2rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  color: #ffffff;
  max-width: 36rem;
}
.highlight-box__cta {
  align-self: flex-start;
}
.highlight-box__bottom-brush {
  position: absolute;
  bottom: -23px;
  left: 0;
  width: 100%;
  height: 34px;
  background-image: url("../assets/images/highlight-box-bottom-shape.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center;
  z-index: 2;
  pointer-events: none;
  transform: translateY(1px);
}
@media (min-width: 768px) {
  .highlight-box__inner {
    flex-direction: row;
    align-items: stretch;
    min-height: 20rem;
  }
  .highlight-box__content {
    padding-bottom: 6.75rem;
  }
}
@media (max-width: 767.98px) {
  .highlight-box__content {
    padding-bottom: 5.75rem;
  }
}

.services-section {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #ffffff;
}
.services-section__title {
  margin-bottom: 4rem;
  font-size: clamp(2rem, 4vw, 2.625rem);
  font-weight: 700;
  color: #333333;
}
.services-section__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

.service-card__media {
  position: relative;
  width: 100%;
  max-width: 22rem;
}
.service-card__media-glow {
  position: absolute;
  left: -6%;
  top: -4%;
  width: 108%;
  height: auto;
  z-index: 0;
  opacity: 0.55;
  pointer-events: none;
  user-select: none;
}
.service-card__image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}
.service-card__heading {
  margin-bottom: 1rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 500;
  color: #666666;
}
.service-card__text {
  margin-bottom: 1.5rem;
  font-size: 1rem;
  line-height: 1.75;
  color: #666666;
  max-width: 36rem;
}
.service-card__list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #666666;
}
.service-card__list-item::before {
  content: "";
  flex-shrink: 0;
  width: 0.375rem;
  height: 0.375rem;
  margin-top: 0.45em;
  border-radius: 50%;
  background-color: #9289c0;
}
@media (min-width: 992px) {
  .service-card__media {
    max-width: 26rem;
  }
}

.testimonials-section {
  padding-top: 4rem;
  padding-bottom: 5rem;
  background-color: #ffffff;
}
.testimonials-section__header {
  margin-bottom: 3rem;
}
.testimonials-section__brush {
  display: block;
  width: min(14rem, 55vw);
  height: auto;
  margin: 0 auto 1rem;
}
.testimonials-section__title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 2.625rem);
  font-weight: 700;
  color: #333333;
}
.testimonials-section__carousel-wrap {
  position: relative;
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 3rem;
  padding-right: 3rem;
}
@media (min-width: 768px) {
  .testimonials-section__carousel-wrap {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
.testimonials-section__arrow {
  appearance: none;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-decoration: none;
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: #b0b0b0;
  transform: translateY(-50%);
  transition: color 0.3s ease;
}
.testimonials-section__arrow:hover, .testimonials-section__arrow:focus-visible {
  color: #9289c0;
}
.testimonials-section__arrow:focus-visible {
  outline: 2px solid #9289c0;
  outline-offset: 2px;
  border-radius: 0.25rem;
}
.testimonials-section__arrow svg {
  width: 1.75rem;
  height: 1.75rem;
}
.testimonials-section__arrow--prev {
  left: 0;
}
.testimonials-section__arrow--next {
  right: 0;
}

.testimonial-slide {
  margin: 0;
  padding: 0 1rem;
}
.testimonial-slide__quote {
  margin: 0 0 1.5rem;
  font-size: clamp(0.875rem, 2vw, 1rem);
  font-weight: 400;
  line-height: 1.75;
  color: #333333;
}
.testimonial-slide__author {
  margin: 0;
}
.testimonial-slide__name {
  font-style: italic;
  font-size: 0.875rem;
  font-weight: 400;
  color: #333333;
}

.testimonials-slider .slick-list {
  margin: 0;
}
.testimonials-slider .slick-track {
  display: flex;
  align-items: center;
}
.testimonials-slider .slick-slide {
  height: auto;
}
.testimonials-slider .slick-slide > div {
  height: 100%;
}

.team-section {
  background-color: #c0c0c0;
}
.team-section__inner {
  width: 100%;
  max-width: none;
  margin: 0;
}
.team-section__media {
  width: 100%;
  height: 100%;
  min-height: 16rem;
  overflow: hidden;
}
.team-section__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
  object-position: center;
}
@media (min-width: 992px) {
  .team-section__image {
    min-height: 28rem;
  }
}
.team-section__content {
  width: 100%;
  max-width: 28rem;
  padding: 4rem 2rem;
}
@media (min-width: 992px) {
  .team-section__content {
    padding: 5rem 4rem;
  }
}
.team-section__title {
  margin: 0 0 1.5rem;
  font-size: clamp(2rem, 4vw, 2.625rem);
  font-weight: 700;
  color: #000000;
}
.team-section__text {
  margin: 0 0 2rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  color: #000000;
}

.careers-section {
  background-color: #ffffff;
}
.careers-section__title {
  margin: 0 0 4rem;
  font-size: clamp(2rem, 4vw, 2.625rem);
  font-weight: 700;
  color: #333333;
}
.careers-section__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

.career-post__media {
  width: 100%;
  overflow: hidden;
  border-radius: 1rem;
  background-color: #c0c0c0;
}
.career-post__image {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
}
.career-post__content {
  max-width: 42rem;
}
.career-post__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #434460;
}
.career-post__posting-label {
  margin: 0 0 1.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  font-style: italic;
  color: #9289c0;
}
.career-post__meta {
  margin: 0 0 2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #666666;
}
.career-post__meta-label {
  font-weight: 600;
  color: #333333;
  margin-right: 0.35rem;
}
.career-post__block {
  margin: 0 0 1.5rem;
}
.career-post__heading {
  margin: 0 0 0.75rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: #434460;
}
.career-post__text {
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.75;
  color: #666666;
}
.career-post__text:last-child {
  margin-bottom: 0;
}
.career-post__list {
  margin: 0;
  padding-left: 1.25rem;
  font-size: 1rem;
  line-height: 1.75;
  color: #666666;
}
.career-post__list li {
  margin-bottom: 0.5rem;
}
.career-post__list li:last-child {
  margin-bottom: 0;
}
.career-post__eeo {
  margin: 0 0 2rem;
  font-size: 0.875rem;
  line-height: 1.75;
  font-style: italic;
  color: #666666;
}
.career-post__cta {
  margin-top: 0.75rem;
}

.contact-section {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 8.75rem;
  background-color: #434460;
  background-image: url("../assets/images/contact-bg-pattern.jpg");
  background-repeat: repeat;
  background-size: auto;
  color: #ffffff;
}
.contact-section__title {
  margin: 0 0 3rem;
  font-size: clamp(2rem, 4vw, 2.625rem);
  font-weight: 700;
  color: #ffffff;
}
.contact-section__bottom-brush {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3.75rem;
  background-image: url("../assets/images/contact-bg-bottom-shape.jpg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom center;
  pointer-events: none;
}
.contact-section--no-brush {
  padding-bottom: 5rem;
}

.cognito-form-embed {
  max-width: 44rem;
  margin-left: auto;
  margin-right: auto;
}
.cognito-form-embed .cog-header,
.cognito-form-embed .c-forms-heading,
.cognito-form-embed .c-forms-form-title {
  display: none;
}
.cognito-form-embed .cog-form,
.cognito-form-embed .c-forms-form {
  background: transparent;
  border: 0;
  box-shadow: none;
}
.cognito-form-embed .cog-field,
.cognito-form-embed .c-field {
  position: relative;
  margin-bottom: 0;
}
.cognito-form-embed .cog-label,
.cognito-form-embed .c-label {
  position: absolute;
  top: 0.85rem;
  left: 1.25rem;
  z-index: 2;
  margin: 0;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #666666;
  pointer-events: none;
}
.cognito-form-embed .el-input__inner,
.cognito-form-embed .el-textarea__inner,
.cognito-form-embed .c-input,
.cognito-form-embed .c-textarea-input,
.cognito-form-embed input[type=text],
.cognito-form-embed input[type=email],
.cognito-form-embed input[type=tel],
.cognito-form-embed textarea {
  width: 100%;
  min-height: 3.5rem;
  padding: 2rem 1.25rem 0.85rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  background-color: #ededed;
  border: 0;
  border-radius: 1rem;
  box-shadow: none;
  outline: none;
  appearance: none;
  transition: box-shadow 0.3s ease;
}
.cognito-form-embed .el-input__inner:focus, .cognito-form-embed .el-input__inner:focus-visible,
.cognito-form-embed .el-textarea__inner:focus,
.cognito-form-embed .el-textarea__inner:focus-visible,
.cognito-form-embed .c-input:focus,
.cognito-form-embed .c-input:focus-visible,
.cognito-form-embed .c-textarea-input:focus,
.cognito-form-embed .c-textarea-input:focus-visible,
.cognito-form-embed input[type=text]:focus,
.cognito-form-embed input[type=text]:focus-visible,
.cognito-form-embed input[type=email]:focus,
.cognito-form-embed input[type=email]:focus-visible,
.cognito-form-embed input[type=tel]:focus,
.cognito-form-embed input[type=tel]:focus-visible,
.cognito-form-embed textarea:focus,
.cognito-form-embed textarea:focus-visible {
  box-shadow: 0 0 0 2px rgba(146, 137, 192, 0.45);
}
.cognito-form-embed .el-textarea__inner,
.cognito-form-embed .c-textarea-input,
.cognito-form-embed textarea {
  min-height: 10rem;
  resize: vertical;
}
.cognito-form-embed .cog-button--primary,
.cognito-form-embed .cog-button--submit,
.cognito-form-embed .c-button,
.cognito-form-embed #c-submit-button,
.cognito-form-embed button[type=submit] {
  appearance: none;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 9rem;
  padding: 0.75rem 2.25rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #333333;
  background-color: #ffffff;
  border-radius: 50rem;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.cognito-form-embed .cog-button--primary:hover, .cognito-form-embed .cog-button--primary:focus-visible,
.cognito-form-embed .cog-button--submit:hover,
.cognito-form-embed .cog-button--submit:focus-visible,
.cognito-form-embed .c-button:hover,
.cognito-form-embed .c-button:focus-visible,
.cognito-form-embed #c-submit-button:hover,
.cognito-form-embed #c-submit-button:focus-visible,
.cognito-form-embed button[type=submit]:hover,
.cognito-form-embed button[type=submit]:focus-visible {
  background-color: rgb(239.7, 239.7, 239.7);
  color: #333333;
}
.cognito-form-embed .cog-button--primary:focus-visible,
.cognito-form-embed .cog-button--submit:focus-visible,
.cognito-form-embed .c-button:focus-visible,
.cognito-form-embed #c-submit-button:focus-visible,
.cognito-form-embed button[type=submit]:focus-visible {
  outline: 2px solid #9289c0;
  outline-offset: 3px;
}
.cognito-form-embed .cog-form__footer,
.cognito-form-embed .c-forms-form-buttons,
.cognito-form-embed .cog-page__navigation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.cognito-form-embed__captcha-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 19rem;
  max-width: 100%;
  height: 4.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #666666;
  background-color: #ededed;
  border-radius: 0.25rem;
}

.locations-section {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 8.75rem;
  background-color: #f2e9e1;
  background-image: url("../assets/images/location-bg-pattern.jpg");
  background-repeat: repeat;
  background-size: auto;
  color: #333333;
}
.locations-section__title {
  margin: 0 0 4rem;
  font-size: clamp(2rem, 4vw, 2.625rem);
  font-weight: 700;
  color: #3e4566;
}
.locations-section__bottom-brush {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3.75rem;
  background-image: url("../assets/images/locations-bottom-shape.jpg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom center;
  pointer-events: none;
}

.location-card__name {
  margin: 0 0 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #333333;
}
.location-card__address {
  margin: 0 0 1.5rem;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.75;
  color: #333333;
}
.location-card__note {
  margin: -1rem 0 1.5rem;
  font-size: 1rem;
  color: #333333;
}
.location-card__block {
  margin-bottom: 1.5rem;
}
.location-card__heading {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  color: #333333;
}
.location-card__text, .location-card__hours {
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  color: #333333;
}
.location-card__hours li + li {
  margin-top: 0.15rem;
}
.location-card__footnote {
  margin: 2rem 0 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #333333;
}

.site-footer {
  background-color: #333333;
  color: #ffffff;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.site-footer__logo-link {
  display: inline-block;
}
.site-footer__logo-link:focus-visible {
  outline: 2px solid #9289c0;
  outline-offset: 4px;
  border-radius: 0.25rem;
}
.site-footer__logo {
  display: block;
  width: auto;
  max-width: 14rem;
  height: auto;
}
.site-footer__heading {
  margin: 0 0 1.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
}
.site-footer__address {
  font-style: normal;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #ffffff;
}
.site-footer__address-title {
  font-weight: 600;
}
.site-footer__links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.site-footer__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s ease;
}
.site-footer__link:hover, .site-footer__link:focus-visible {
  color: #9289c0;
}
.site-footer__icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: #9289c0;
}
.site-footer__social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-bottom: 1.5rem;
  color: #ffffff;
  border: 1.5px solid #ffffff;
  border-radius: 0.25rem;
  transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
}
.site-footer__social svg {
  width: 1.1rem;
  height: 1.1rem;
}
.site-footer__social:hover, .site-footer__social:focus-visible {
  color: #9289c0;
  border-color: #9289c0;
}
.site-footer__social:focus-visible {
  outline: 2px solid #9289c0;
  outline-offset: 3px;
}
.site-footer__credit {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.75rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.75);
}

.section-pad {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.page-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 16rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .page-banner {
    min-height: 22rem;
  }
}
.page-banner__background {
  position: absolute;
  inset: 0;
  margin: 0;
}
.page-banner__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page-banner__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}
.page-banner__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.page-banner__title {
  margin: 0;
  font-size: clamp(2.625rem, 6vw, 3.375rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
}
.page-banner__bar {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1.75rem;
  background-color: #9289c0;
  z-index: 2;
}

.other-services__title {
  margin: 0 0 4rem;
  font-size: clamp(2rem, 4vw, 2.625rem);
  font-weight: 700;
  color: #333333;
}

.service-detail__intro {
  margin-bottom: 4rem;
}
.service-detail__accordion {
  margin-top: 0;
}

.service-accordion {
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: 0;
  --bs-accordion-inner-border-radius: 0;
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1.25rem;
  --bs-accordion-bg: transparent;
  --bs-accordion-btn-bg: #e5e5e5;
  --bs-accordion-active-bg: #e5e5e5;
  --bs-accordion-btn-color: #555555;
  --bs-accordion-active-color: #555555;
  --bs-accordion-btn-focus-box-shadow: none;
}
.service-accordion .accordion-item {
  margin-bottom: 0.65rem;
  background-color: transparent;
  border: 0;
}
.service-accordion .accordion-item:last-child {
  margin-bottom: 0;
}
.service-accordion .accordion-button {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: none;
}
.service-accordion .accordion-button::after {
  width: 1rem;
  height: 1rem;
  margin-left: 0;
  order: -1;
  flex-shrink: 0;
  background-color: transparent;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23555555' d='M7 2h2v12H7z'/%3E%3Cpath fill='%23555555' d='M2 7h12v2H2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.85rem;
  transform: none;
  transition: none;
}
.service-accordion .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23555555' d='M2 7h12v2H2z'/%3E%3C/svg%3E");
  transform: none;
}
.service-accordion .accordion-button:focus {
  box-shadow: none;
  border-color: transparent;
}
.service-accordion .accordion-button:focus-visible {
  outline: 2px solid #9289c0;
  outline-offset: 2px;
}
.service-accordion .accordion-body {
  background-color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #666666;
}
.service-accordion .accordion-body p {
  margin: 0 0 1rem;
}
.service-accordion .accordion-body p:last-child {
  margin-bottom: 0;
}

.team-roster {
  background-color: #ffffff;
}
.team-roster__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

.team-member__media {
  position: relative;
  width: 100%;
  max-width: 16rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .team-member__media {
    max-width: 18rem;
    margin-left: 0;
  }
}
.team-member__media-glow {
  position: absolute;
  left: -8%;
  top: -6%;
  width: 116%;
  height: auto;
  z-index: 0;
  opacity: 0.6;
  pointer-events: none;
  user-select: none;
}
.team-member__photo {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center top;
  border-radius: 50%;
}
.team-member__content {
  max-width: 40rem;
}
.team-member__name {
  margin: 0 0 0.5rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 300;
  color: #666666;
}
.team-member__role {
  margin: 0 0 1rem;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: italic;
  color: #9289c0;
}
.team-member__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}
.team-member__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.85rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  background-color: #555555;
  border-radius: 0.25rem;
}
.team-member__bio {
  font-size: 1rem;
  line-height: 1.75;
  color: #666666;
}
.team-member__bio p {
  margin: 0 0 1rem;
}
.team-member__bio p:last-child {
  margin-bottom: 0;
}

.contact-locations {
  background-color: #ffffff;
}
.contact-locations__title {
  margin: 0 0 4rem;
  font-size: clamp(2rem, 4vw, 2.625rem);
  font-weight: 700;
  color: #3e4566;
}
.contact-locations__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

.contact-location__details {
  max-width: 28rem;
}
.contact-location__map {
  position: relative;
  width: 100%;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 1;
  overflow: hidden;
  background-color: #e8e8e8;
}
@media (min-width: 992px) {
  .contact-location__map {
    margin-left: auto;
    margin-right: 0;
  }
}
.contact-location__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.contact-location__phone {
  margin: 1.5rem 0 0;
  font-size: 1rem;
  line-height: 1.75;
  color: #333333;
}
.contact-location__phone a {
  color: inherit;
  text-decoration: none;
}
.contact-location__phone a:hover, .contact-location__phone a:focus-visible {
  color: #9289c0;
  text-decoration: underline;
}/*# sourceMappingURL=style.css.map */