html {
  box-sizing: border-box
}

*,
::before,
::after {
  box-sizing: inherit
}

body {
  margin: 0;
  scrollbar-gutter: stable;
  min-height: 100vh
}

.consent-bar {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1500;
  background: #FFFEF4;
  border-bottom: 2px solid #BFD6DA;
  box-shadow: 0 5px 25px 0 #6f978b1c;
  padding: 16px 24px;
  align-items: flex-start;
  gap: 24px;
  flex-wrap: wrap
}

.consent-bar__text-area {
  flex: 1 1 300px
}

.consent-bar__headline {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
  color: #2a3d38;
  margin: 0 0 8px
}

.consent-bar__description {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: #2a3d38;
  margin: 0
}

.consent-bar__description a {
  color: #6F978B;
  text-decoration: underline
}

.consent-bar__description a:focus {
  background-color: #BFD6DA;
  outline: none;
  border-radius: 2px
}

.consent-bar__actions {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-shrink: 0;
  flex-wrap: wrap
}

.consent-bar__button {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
  padding: 16px 24px;
  border-radius: 2px;
  border: 2px solid #6F978B;
  cursor: pointer;
  min-width: 120px;
  min-height: 44px;
  transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1), color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.consent-bar__button--accept {
  background: #6F978B;
  color: #FFFEF4
}

.consent-bar__button--accept:hover {
  background: #5a7d72;
  border-color: #5a7d72
}

.consent-bar__button--accept:focus {
  background-color: #BFD6DA;
  color: #2a3d38;
  outline: none
}

.consent-bar__button--decline {
  background: transparent;
  color: #6F978B
}

.consent-bar__button--decline:hover {
  background: #BFD6DA;
  color: #2a3d38
}

.consent-bar__button--decline:focus {
  background-color: #BFD6DA;
  color: #2a3d38;
  outline: none
}

.site-header {
  position: relative;
  background: linear-gradient(135deg, #2a3d38 0%, #3d5c54 50%, #6F978B 100%);
  box-shadow: 0 10px 44px 0 #6f978b1a;
  overflow: hidden
}

.site-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #bfd6da14 0%, transparent 100%);
  pointer-events: none
}

.site-header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #BFD6DA 0%, #6F978B 50%, #BFD6DA 100%);
  pointer-events: none
}

.header-strip {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 24px 0;
  display: flex;
  align-items: center;
  gap: 24px;
  position: relative;
  z-index: 1
}

.header-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
  text-decoration: none
}

.header-brand__logo-box {
  width: 88px;
  height: 88px;
  background: #FFFEF4;
  border: 2px solid #BFD6DA;
  box-shadow: 0 2px 5px 0 #6f978b0d inset 0 1px 0 #fffef4cc inset 0 -1px 0 #6f978b26;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.header-brand__logo-box img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block
}

.header-brand__name-area {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.header-brand__name {
  font-family: 'EB Garamond', serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
  color: #FFFEF4;
  letter-spacing: .01em
}

.header-brand__tagline {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.15;
  color: #BFD6DA
}

.header-nav-row {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: flex-end;
  position: relative;
  z-index: 1
}

.primary-nav {
  display: flex;
  align-items: stretch;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0
}

.primary-nav__item {
  display: flex
}

.primary-nav__link {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.15;
  color: #BFD6DA;
  text-decoration: none;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  border-bottom: 3px solid transparent;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1), border-color .55s ease-in-out, background-color .45s cubic-bezier(0.22, 1, 0.36, 1);
  min-height: 44px;
  white-space: nowrap
}

.primary-nav__link:hover {
  color: #FFFEF4;
  border-bottom-color: #BFD6DA;
  background-color: #bfd6da14
}

.primary-nav__link:focus {
  background-color: #bfd6da2e;
  color: #FFFEF4;
  outline: none
}

.primary-nav__link--active {
  color: #FFFEF4;
  border-bottom-color: #6F978B
}

.header-contact-strip {
  background: #2a3d3899;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  border-top: 1px solid #bfd6da26
}

.header-contact-strip__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  flex-wrap: wrap
}

.contact-detail {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  line-height: 1.15;
  color: #BFD6DA;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.contact-detail:hover {
  color: #FFFEF4
}

.contact-detail:focus {
  background-color: #bfd6da2e;
  color: #FFFEF4;
  outline: none;
  border-radius: 2px
}

.contact-detail__icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0
}

.contact-detail__label {
  font-size: 16px
}

@media (max-width: 768px) {
  .header-strip {
    flex-wrap: wrap;
    padding: 16px 16px 0
  }

  .header-nav-row {
    padding: 0 16px;
    justify-content: flex-start
  }

  .primary-nav {
    flex-wrap: wrap
  }

  .primary-nav__link {
    padding: 16px
  }

  .header-contact-strip__inner {
    padding: 8px 16px;
    gap: 16px
  }
}

@media (max-width: 640px) {
  .header-brand__name {
    font-size: 18px
  }

  .header-brand__tagline {
    font-size: 16px
  }

  .header-contact-strip__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px
  }
}

.site-footer {
  background: linear-gradient(160deg, #2a3d38 0%, #3d5c54 60%, #4a6e64 100%);
  position: relative;
  overflow: hidden
}

.site-footer__texture {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, #bfd6da12 1px, transparent 1px);
  background-size: 24px 24px
}

.site-footer__wave {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #6F978B 0%, #BFD6DA 40%, #6F978B 70%, #BFD6DA 100%);
  pointer-events: none
}

.footer-body {
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 24px 24px;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 48px
}

.footer-brand-column {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.footer-brand__logo-box {
  width: 88px;
  height: 88px;
  background: #FFFEF4;
  border: 2px solid #BFD6DA;
  box-shadow: 0 5px 25px 0 #6f978b1c inset 0 1px 0 #fffef4e6 inset 0 -1px 0 #6f978b33;
  display: flex;
  align-items: center;
  justify-content: center
}

.footer-brand__logo-box img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block
}

.footer-brand__name {
  font-family: 'EB Garamond', serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
  color: #FFFEF4
}

.footer-brand__since {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: #BFD6DA
}

.footer-contact-column {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.footer-column__heading {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
  color: #BFD6DA;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin: 0 0 8px
}

.footer-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.footer-contact-list__item {
  display: flex;
  align-items: flex-start;
  gap: 8px
}

.footer-contact-list__link {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: #BFD6DA;
  text-decoration: none;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.footer-contact-list__link:hover {
  color: #FFFEF4
}

.footer-contact-list__link:focus {
  background-color: #bfd6da2e;
  color: #FFFEF4;
  outline: none;
  border-radius: 2px
}

.footer-contact-list__text {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: #BFD6DA
}

.footer-contact-list__icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 4px
}

.footer-links-column {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.footer-policy-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.footer-policy-list__link {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: #BFD6DA;
  text-decoration: none;
  transition: color .6s ease-in-out;
  display: inline-flex;
  align-items: center;
  gap: 8px
}

.footer-policy-list__link:hover {
  color: #FFFEF4
}

.footer-policy-list__link:focus {
  background-color: #bfd6da2e;
  color: #FFFEF4;
  outline: none;
  border-radius: 2px
}

.footer-divider {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1
}

.footer-divider__line {
  border: none;
  border-top: 1px solid #bfd6da33;
  margin: 0
}

.footer-copyright-strip {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 24px 48px;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px
}

.footer-copyright__text {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: #bfd6dab3
}

.footer-logo-bottom {
  display: flex;
  justify-content: center;
  padding: 0 24px 48px;
  position: relative;
  z-index: 1
}

.footer-logo-bottom__box {
  width: 88px;
  height: 88px;
  background: #FFFEF4;
  border: 2px solid #BFD6DA;
  box-shadow: 0 10px 44px 0 #6f978b1a inset 0 1px 0 #fffef4e6 inset 0 -1px 0 #6f978b33;
  display: flex;
  align-items: center;
  justify-content: center
}

.footer-logo-bottom__box img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block
}

@media (max-width: 1024px) {
  .footer-body {
    grid-template-columns: 1fr 1fr;
    gap: 48px 24px
  }
}

@media (max-width: 640px) {
  .footer-body {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px 16px 16px
  }

  .footer-copyright-strip {
    padding: 16px 16px 24px;
    flex-direction: column;
    align-items: flex-start
  }
}

.legal-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 24px;
  color: #2a3530;
  background: #FFFEF4
}

.legal-inner h1 {
  font-size: 44px;
  line-height: 1.15;
  color: #2a3530;
  margin-bottom: 24px;
  margin-top: 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #BFD6DA
}

.legal-inner h2 {
  font-size: 32px;
  line-height: 1.15;
  color: #2a3530;
  margin-top: 48px;
  margin-bottom: 16px
}

.legal-inner h3 {
  font-size: 24px;
  line-height: 1.15;
  color: #3b5a52;
  margin-top: 24px;
  margin-bottom: 16px
}

.legal-inner h4 {
  font-size: 18px;
  line-height: 1.65;
  color: #3b5a52;
  margin-top: 24px;
  margin-bottom: 8px
}

.legal-inner h5 {
  font-size: 16px;
  line-height: 1.65;
  color: #4a6b61;
  margin-top: 16px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: .08em
}

.legal-inner h6 {
  font-size: 16px;
  line-height: 1.65;
  color: #4a6b61;
  margin-top: 16px;
  margin-bottom: 8px;
  font-style: italic
}

.legal-inner p {
  font-size: 18px;
  line-height: 1.65;
  color: #2a3530;
  margin-top: 0;
  margin-bottom: 16px
}

.legal-inner em,
.legal-inner i {
  font-style: italic;
  color: #3b5a52
}

.legal-inner hr {
  border: none;
  border-top: 1px solid #BFD6DA;
  margin-top: 48px;
  margin-bottom: 48px
}

.legal-inner div {
  margin-bottom: 16px
}

.legal-inner table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 24px;
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.65;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 2px 5px 0 #6f978b0d 0 5px 25px 0 #6f978b1c
}

.legal-inner thead {
  background: #6F978B
}

.legal-inner thead th {
  color: #FFFEF4;
  font-size: 16px;
  line-height: 1.65;
  padding: 16px;
  text-align: left;
  font-weight: 700;
  border: none
}

.legal-inner tbody tr {
  background: #FFFEF4;
  transition: background-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.legal-inner tbody tr:nth-child(even) {
  background: #f4f8f7
}

.legal-inner tbody tr:hover {
  background: #e8f2f0
}

.legal-inner td {
  padding: 16px;
  font-size: 16px;
  line-height: 1.65;
  color: #2a3530;
  border-bottom: 1px solid #BFD6DA;
  vertical-align: top
}

.legal-inner th {
  padding: 16px
}

.legal-inner tbody tr:last-child td {
  border-bottom: none
}

@media (max-width: 768px) {
  .legal-inner {
    padding: 24px 16px
  }

  .legal-inner h1 {
    font-size: 32px
  }

  .legal-inner h2 {
    font-size: 24px;
    margin-top: 24px
  }

  .legal-inner h3 {
    font-size: 18px
  }

  .legal-inner p {
    font-size: 16px
  }

  .legal-inner table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }
}

@media (max-width: 640px) {
  .legal-inner h1 {
    font-size: 24px
  }

  .legal-inner h2 {
    font-size: 18px
  }

  .legal-inner h3 {
    font-size: 16px
  }

  .legal-inner hr {
    margin-top: 24px;
    margin-bottom: 24px
  }
}

.about-us {
  background: #FFFEF4;
  overflow-x: clip
}

.about-us .grid-panel {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px
}

.about-us .title-block {
  padding: 48px 0;
  background: linear-gradient(168deg, #FFFEF4 60%, #BFD6DA 100%);
  position: relative
}

.about-us .title-block__dot-grid {
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  background-image: radial-gradient(circle, #6F978B 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: .13
}

.about-us .title-block__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 48px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative
}

.about-us .title-block__text {
  flex: 1 1 0;
  min-width: 0
}

.about-us .title-block__label {
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6F978B;
  margin-bottom: 16px;
  display: block
}

.about-us .title-block__heading {
  font-size: 62px;
  line-height: 1.15;
  color: #1b2e28;
  margin: 0 0 16px;
  text-shadow: 0 2px 5px #6f978b0d 2px 3px 0 #bfd6da59
}

.about-us .title-block__tagline {
  font-size: 18px;
  line-height: 1.65;
  color: #3a5249;
  margin: 0 0 24px;
  max-width: 480px
}

.about-us .title-block__actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap
}

.about-us .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  background: linear-gradient(120deg, #6F978B 0%, #4a7568 100%);
  color: #FFFEF4;
  font-size: 16px;
  line-height: 1.15;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .45s ease-in-out;
  box-shadow: 0 5px 25px 0 #6f978b1c
}

.about-us .btn-primary:hover {
  background: linear-gradient(260deg, #6F978B 0%, #4a7568 100%);
  box-shadow: 0 10px 44px 0 #6f978b1a
}

.about-us .btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  background: transparent;
  color: #1b2e28;
  font-size: 16px;
  line-height: 1.15;
  border-radius: 2px;
  border: 2px solid #6F978B;
  cursor: pointer;
  text-decoration: none;
  transition: background .6s cubic-bezier(0.22, 1, 0.36, 1), color .5s ease-in-out
}

.about-us .btn-secondary:hover {
  background: #6F978B;
  color: #FFFEF4
}

.about-us .title-block__image-card {
  flex: 0 0 320px;
  width: 320px;
  position: relative
}

.about-us .title-block__image-card img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 2px;
  display: block;
  filter: grayscale(1) contrast(1.15);
  transition: filter .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s ease-in-out;
  box-shadow: 0 5px 25px 0 #6f978b1c
}

.about-us .title-block__image-card:hover img {
  filter: grayscale(0.6) contrast(1.05);
  box-shadow: 0 10px 44px 0 #6f978b1a
}

.about-us .title-block__image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #6F978B;
  border-radius: 2px;
  opacity: 0;
  transition: opacity .55s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none
}

.about-us .title-block__image-card:hover::after {
  opacity: 1
}

.about-us .divider-arrows {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 8px;
  padding: 8px 0;
  background: #FFFEF4
}

.about-us .divider-arrows__arrow {
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 10px solid #BFD6DA;
  opacity: .7
}

.about-us .divider-arrows__arrow--accent {
  border-left-color: #6F978B;
  opacity: 1
}

.about-us .story-block {
  padding: 48px 0;
  background: #FFFEF4
}

.about-us .story-block__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 48px;
  align-items: start
}

.about-us .story-block__aside {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.about-us .story-block__label {
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #6F978B
}

.about-us .story-block__heading {
  font-size: 32px;
  line-height: 1.15;
  color: #1b2e28;
  margin: 0;
  text-shadow: 1px 2px 0 #bfd6da80
}

.about-us .story-block__metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px;
  background: #BFD6DA;
  border-radius: 2px;
  box-shadow: 0 2px 5px 0 #6f978b0d
}

.about-us .story-block__metric-number {
  font-size: 44px;
  line-height: 1.15;
  color: #1b2e28;
  display: flex;
  align-items: center;
  gap: 8px
}

.about-us .story-block__metric-arrow {
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 13px solid #6F978B;
  margin-bottom: 4px
}

.about-us .story-block__metric-label {
  font-size: 16px;
  line-height: 1.65;
  color: #3a5249
}

.about-us .story-block__body {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.about-us .story-block__paragraph {
  font-size: 18px;
  line-height: 1.65;
  color: #2a3e38;
  margin: 0
}

.about-us .story-block__paragraph--lead {
  font-size: 18px;
  font-weight: 600;
  color: #1b2e28
}

.about-us .story-block__image-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 8px
}

.about-us .story-block__img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 2px
}

.about-us .story-block__img-wrap img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 5px 25px 0 #6f978b1c
}

.about-us .story-block__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #6F978B;
  border-radius: 2px;
  opacity: 0;
  transition: opacity .5s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none
}

.about-us .story-block__img-wrap:hover img {
  transform: scale(1.04)
}

.about-us .story-block__img-wrap:hover::after {
  opacity: 1
}

.about-us .divider-arrows--dark {
  background: #eaf1f3
}

.about-us .approach-block {
  padding: 48px 0;
  background: linear-gradient(180deg, #eaf1f3 0%, #BFD6DA 100%);
  position: relative
}

.about-us .approach-block__geo {
  position: absolute;
  top: 24px;
  right: 48px;
  width: 120px;
  height: 120px;
  border: 2px solid #6f978b2e;
  border-radius: 2px;
  animation: geo-bounce 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
  pointer-events: none
}

.about-us .approach-block__geo::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 2px solid #6f978b1f;
  border-radius: 2px
}

@keyframes geo-bounce {
  0% {
    transform: translateY(-48px);
    opacity: 0
  }

  70% {
    transform: translateY(8px);
    opacity: 1
  }

  85% {
    transform: translateY(-4px)
  }

  100% {
    transform: translateY(0);
    opacity: 1
  }
}

.about-us .approach-block__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px
}

.about-us .approach-block__heading {
  font-size: 32px;
  line-height: 1.15;
  color: #1b2e28;
  margin: 0 0 8px;
  text-shadow: 1px 2px 0 #fffef499
}

.about-us .approach-block__sub {
  font-size: 18px;
  line-height: 1.65;
  color: #2a3e38;
  margin: 0 0 48px;
  max-width: 560px
}

.about-us .approach-block__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 10px 44px 0 #6f978b1a
}

.about-us .approach-block__half {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.about-us .approach-block__half--left {
  background: #6F978B;
  color: #FFFEF4
}

.about-us .approach-block__half--right {
  background: #FFFEF4;
  color: #1b2e28
}

.about-us .approach-block__half-heading {
  font-size: 24px;
  line-height: 1.15;
  margin: 0;
  text-shadow: 1px 1px 0 #00000014
}

.about-us .approach-block__half--left .approach-block__half-heading {
  color: #FFFEF4
}

.about-us .approach-block__half--right .approach-block__half-heading {
  color: #1b2e28
}

.about-us .approach-block__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.about-us .approach-block__list-item {
  font-size: 16px;
  line-height: 1.65;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px
}

.about-us .approach-block__list-item::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #BFD6DA;
  margin-top: 7px
}

.about-us .approach-block__half--right .approach-block__list-item::before {
  background: #6F978B
}

.about-us .approach-block__matrix {
  margin-top: 48px;
  overflow-x: auto
}

.about-us .matrix-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.65;
  background: #FFFEF4;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 5px 25px 0 #6f978b1c
}

.about-us .matrix-table th {
  background: #1b2e28;
  color: #FFFEF4;
  padding: 16px;
  text-align: left;
  font-size: 16px;
  font-weight: 600
}

.about-us .matrix-table td {
  padding: 16px;
  color: #2a3e38;
  border-bottom: 1px solid #6f978b21;
  vertical-align: middle
}

.about-us .matrix-table tr:last-child td {
  border-bottom: none
}

.about-us .matrix-table tr:nth-child(even) td {
  background: #bfd6da2e
}

.about-us .matrix-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  font-weight: 600
}

.about-us .matrix-indicator--yes {
  color: #3a7060
}

.about-us .matrix-indicator--partial {
  color: #8a6f2e
}

.about-us .matrix-indicator--no {
  color: #7a3535
}

.about-us .matrix-dot {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  display: inline-block
}

.about-us .matrix-dot--yes {
  background: #6F978B
}

.about-us .matrix-dot--partial {
  background: #c9a84c
}

.about-us .matrix-dot--no {
  background: #b05555
}

.about-us .divider-arrows--light {
  background: #BFD6DA
}

.about-us .team-block {
  padding: 48px 0;
  background: #FFFEF4
}

.about-us .team-block__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px
}

.about-us .team-block__heading {
  font-size: 32px;
  line-height: 1.15;
  color: #1b2e28;
  margin: 0 0 8px;
  text-shadow: 1px 2px 0 #bfd6da80
}

.about-us .team-block__intro {
  font-size: 18px;
  line-height: 1.65;
  color: #3a5249;
  margin: 0 0 48px;
  max-width: 520px
}

.about-us .team-block__mosaic {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px
}

.about-us .team-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: #FFFEF4;
  border-radius: 2px;
  box-shadow: 0 5px 25px 0 #6f978b1c;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1);
  animation: card-bounce .9s cubic-bezier(0.22, 1, 0.36, 1) both
}

.about-us .team-card:nth-child(2) {
  animation-delay: .1s
}

.about-us .team-card:nth-child(3) {
  animation-delay: .18s
}

.about-us .team-card:nth-child(4) {
  animation-delay: .26s
}

@keyframes card-bounce {
  0% {
    transform: translateY(-32px);
    opacity: 0
  }

  68% {
    transform: translateY(6px);
    opacity: 1
  }

  84% {
    transform: translateY(-3px)
  }

  100% {
    transform: translateY(0);
    opacity: 1
  }
}

.about-us .team-card:hover {
  box-shadow: 0 10px 44px 0 #6f978b1a;
  transform: translateY(-4px)
}

.about-us .team-card__img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 2px
}

.about-us .team-card__img-wrap img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.about-us .team-card__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #6F978B;
  border-radius: 2px;
  opacity: 0;
  transition: opacity .5s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none
}

.about-us .team-card:hover .team-card__img-wrap::after {
  opacity: 1
}

.about-us .team-card:hover .team-card__img-wrap img {
  transform: scale(1.05)
}

.about-us .team-card__name {
  font-size: 18px;
  line-height: 1.15;
  color: #1b2e28;
  margin: 8px 0 0;
  font-weight: 600
}

.about-us .team-card__role {
  font-size: 16px;
  line-height: 1.65;
  color: #6F978B;
  margin: 0
}

.about-us .team-card__bio {
  font-size: 16px;
  line-height: 1.65;
  color: #3a5249;
  margin: 0
}

.about-us .team-card__stars {
  margin-top: 4px
}

.about-us .rating {
  display: flex;
  flex-direction: row
}

.about-us .team-block__quote {
  margin-top: 48px;
  padding: 24px;
  background: linear-gradient(120deg, #6F978B 0%, #4a7568 100%);
  border-radius: 2px;
  box-shadow: 0 10px 44px 0 #6f978b1a;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.about-us .team-block__quote-text {
  font-size: 18px;
  line-height: 1.65;
  color: #FFFEF4;
  margin: 0;
  font-style: italic
}

.about-us .team-block__quote-attr {
  font-size: 16px;
  line-height: 1.15;
  color: #BFD6DA;
  margin: 0
}

@media (max-width: 1024px) {
  .about-us .team-block__mosaic {
    grid-template-columns: repeat(2, 1fr)
  }

  .about-us .title-block__heading {
    font-size: 44px
  }

  .about-us .title-block__image-card {
    flex: 0 0 240px;
    width: 240px
  }

  .about-us .approach-block__split {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .about-us .title-block__row {
    flex-direction: column;
    gap: 24px
  }

  .about-us .title-block__image-card {
    flex: 0 0 auto;
    width: 100%;
    max-width: 320px;
    align-self: center
  }

  .about-us .title-block__heading {
    font-size: 44px
  }

  .about-us .story-block__inner {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .about-us .story-block__image-pair {
    grid-template-columns: 1fr 1fr
  }

  .about-us .approach-block__matrix {
    overflow-x: auto
  }

  .about-us .matrix-table {
    min-width: 560px
  }
}

@media (max-width: 640px) {
  .about-us .title-block__heading {
    font-size: 32px
  }

  .about-us .team-block__mosaic {
    grid-template-columns: 1fr
  }

  .about-us .story-block__image-pair {
    grid-template-columns: 1fr
  }

  .about-us .title-block__actions {
    flex-direction: column
  }
}

.contact-us {
  background: #FFFEF4;
  overflow-x: clip;
  position: relative
}

.contact-us .stripe-background {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden
}

.contact-us .stripe-background::before {
  content: '';
  position: absolute;
  inset: -100%;
  background: repeating-linear-gradient(118deg, transparent, transparent 60px, #6f978b0a 60px, #6f978b0a 62px);
  animation: stripe-drift 18s linear infinite
}

@keyframes stripe-drift {
  from {
    transform: translateX(0) translateY(0)
  }

  to {
    transform: translateX(120px) translateY(120px)
  }
}

.contact-us .reach-block {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 30fr 70fr;
  min-height: 520px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 24px;
  gap: 48px;
  align-items: center
}

.contact-us .reach-block__accent {
  position: relative
}

.contact-us .reach-block__accent-visual {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 42px;
  background: linear-gradient(158deg, #6F978B 0%, #BFD6DA 60%, #FFFEF4 100%);
  box-shadow: 0 10px 44px 0 #6f978b1a;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center
}

.contact-us .reach-block__accent-visual::before {
  content: '';
  position: absolute;
  top: -24px;
  left: -24px;
  width: 80px;
  height: 80px;
  border-top: 3px solid #fffef4b3;
  border-left: 3px solid #fffef4b3;
  border-radius: 2px;
  pointer-events: none
}

.contact-us .reach-block__accent-visual::after {
  content: '';
  position: absolute;
  bottom: -24px;
  right: -24px;
  width: 80px;
  height: 80px;
  border-bottom: 3px solid #6f978b80;
  border-right: 3px solid #6f978b80;
  border-radius: 2px;
  pointer-events: none
}

.contact-us .reach-block__geo-shape {
  width: 70%;
  height: 70%;
  position: relative
}

.contact-us .reach-block__geo-shape svg {
  width: 100%;
  height: 100%
}

.contact-us .reach-block__text {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.contact-us .reach-block__eyebrow {
  display: inline-block;
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6F978B;
  position: relative;
  padding-top: 16px
}

.contact-us .reach-block__eyebrow::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: #6F978B;
  border-radius: 2px
}

.contact-us .reach-block__heading {
  font-size: 44px;
  line-height: 1.15;
  color: #1e3530;
  margin: 0;
  text-shadow: 0 2px 5px #6f978b26
}

.contact-us .reach-block__description {
  font-size: 18px;
  line-height: 1.65;
  color: #3a5550;
  margin: 0;
  max-width: 480px
}

.contact-us .reach-block__channels {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px
}

.contact-us .channel-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  background: #bfd6da2e;
  border-radius: 42px;
  box-shadow: 0 2px 5px 0 #6f978b0d;
  transition: background .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1);
  text-decoration: none
}

.contact-us .channel-item:hover {
  background: #bfd6da61;
  box-shadow: 0 5px 25px 0 #6f978b1c
}

.contact-us .channel-item__icon {
  width: 36px;
  height: 36px;
  border-radius: 2px;
  background: #6F978B;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.contact-us .channel-item__icon svg {
  width: 18px;
  height: 18px;
  fill: #FFFEF4
}

.contact-us .channel-item__label {
  font-size: 16px;
  line-height: 1.15;
  color: #1e3530;
  font-weight: 600
}

.contact-us .channel-item__value {
  font-size: 16px;
  line-height: 1.15;
  color: #3a5550;
  margin-left: auto
}

.contact-us .split-band {
  position: relative;
  z-index: 1
}

.contact-us .split-band__top {
  background: #6F978B;
  padding: 48px 0 0
}

.contact-us .split-band__bottom {
  background: #FFFEF4;
  padding: 0 0 48px
}

.contact-us .split-band__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px
}

.contact-us .split-band__label {
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fffef4b3;
  padding-top: 16px;
  position: relative;
  display: inline-block
}

.contact-us .split-band__label::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: #BFD6DA;
  border-radius: 2px
}

.contact-us .split-band__heading {
  font-size: 32px;
  line-height: 1.15;
  color: #FFFEF4;
  margin: 16px 0 24px;
  text-shadow: 0 2px 5px #1e35304d
}

.contact-us .form-card {
  background: #FFFEF4;
  border-radius: 42px;
  box-shadow: 0 10px 44px 0 #6f978b1a;
  padding: 48px;
  position: relative;
  overflow: hidden
}

.contact-us .form-card::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 60px 60px 0;
  border-color: transparent #bfd6da4d transparent transparent;
  pointer-events: none
}

.contact-us .form-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 60px 0 0 60px;
  border-color: transparent transparent transparent #6f978b1f;
  pointer-events: none
}

.contact-us .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.contact-us .form-grid__full {
  grid-column: 1 / -1
}

.contact-us .field-group {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.contact-us .field-group__label {
  font-size: 16px;
  line-height: 1.15;
  color: #1e3530;
  font-weight: 600
}

.contact-us .field-group__input {
  padding: 16px 24px;
  border: 2px solid #6f978b40;
  border-radius: 42px;
  background: #bfd6da1a;
  font-size: 16px;
  line-height: 1.15;
  color: #1e3530;
  outline: none;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
  box-sizing: border-box;
  box-shadow: inset 0 2px 4px #bfd6da33 inset 0 -1px 3px #6f978b14
}

.contact-us .field-group__input::placeholder {
  font-style: italic;
  opacity: .55;
  color: #3a5550
}

.contact-us .field-group__input:focus {
  border-color: #6F978B;
  box-shadow: 0 5px 25px 0 #6f978b1c inset 0 2px 4px #bfd6da33 inset 0 -1px 3px #6f978b14
}

.contact-us .field-group__select {
  padding: 16px 24px;
  border: 2px solid #6f978b40;
  border-radius: 42px;
  background: #bfd6da1a;
  font-size: 16px;
  line-height: 1.15;
  color: #1e3530;
  outline: none;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  cursor: pointer;
  box-shadow: inset 0 2px 4px #bfd6da33 inset 0 -1px 3px #6f978b14
}

.contact-us .field-group__select:focus {
  border-color: #6F978B;
  box-shadow: 0 5px 25px 0 #6f978b1c inset 0 2px 4px #bfd6da33 inset 0 -1px 3px #6f978b14
}

.contact-us .field-group__textarea {
  padding: 16px 24px;
  border: 2px solid #6f978b40;
  border-radius: 42px;
  background: #bfd6da1a;
  font-size: 16px;
  line-height: 1.65;
  color: #1e3530;
  outline: none;
  transition: border-color .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
  min-height: 120px;
  box-shadow: inset 0 2px 4px #bfd6da33 inset 0 -1px 3px #6f978b14
}

.contact-us .field-group__textarea::placeholder {
  font-style: italic;
  opacity: .55;
  color: #3a5550
}

.contact-us .field-group__textarea:focus {
  border-color: #6F978B;
  box-shadow: 0 5px 25px 0 #6f978b1c inset 0 2px 4px #bfd6da33 inset 0 -1px 3px #6f978b14
}

.contact-us .conditional-toggle {
  display: none
}

.contact-us .conditional-panel {
  display: none;
  grid-column: 1 / -1
}

.contact-us .conditional-toggle:checked+.conditional-panel {
  display: block
}

.contact-us .topic-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  grid-column: 1 / -1
}

.contact-us .topic-row__label {
  font-size: 16px;
  line-height: 1.15;
  color: #1e3530;
  font-weight: 600;
  white-space: nowrap
}

.contact-us .topic-chips {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap
}

.contact-us .topic-chips__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none
}

.contact-us .topic-chips__chip {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 42px;
  border: 2px solid #6f978b4d;
  font-size: 16px;
  line-height: 1.15;
  color: #3a5550;
  cursor: pointer;
  transition: background .45s cubic-bezier(0.22, 1, 0.36, 1), border-color .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1);
  user-select: none
}

.contact-us .topic-chips__chip:hover {
  background: #bfd6da4d;
  border-color: #6F978B
}

.contact-us .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 8px 0
}

.contact-us .privacy-row__checkbox {
  width: 20px;
  height: 20px;
  border: 2px solid #6f978b80;
  border-radius: 2px;
  accent-color: #6F978B;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px
}

.contact-us .privacy-row__text {
  font-size: 16px;
  line-height: 1.65;
  color: #3a5550
}

.contact-us .privacy-row__text a {
  color: #6F978B;
  text-decoration: underline;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.contact-us .privacy-row__text a:hover {
  color: #1e3530
}

.contact-us .form-submit {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 48px;
  border-radius: 42px;
  border: none;
  background: linear-gradient(135deg, #6F978B 0%, #3a5550 100%);
  color: #FFFEF4;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 600;
  cursor: pointer;
  transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1), background .55s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 5px 25px 0 #6f978b1c;
  position: relative;
  overflow: hidden
}

.contact-us .form-submit:hover {
  background: linear-gradient(200deg, #3a5550 0%, #6F978B 100%);
  box-shadow: 0 10px 44px 0 #6f978b1a
}

.contact-us .form-submit:focus {
  outline: 3px solid #BFD6DA;
  outline-offset: 4px
}

.contact-us .form-submit:active {
  transform: translateY(1px)
}

.contact-us .form-submit svg {
  width: 18px;
  height: 18px;
  fill: #FFFEF4;
  flex-shrink: 0
}

.contact-us .address-band {
  position: relative;
  z-index: 1;
  background: #BFD6DA;
  padding: 48px 0;
  overflow: hidden
}

.contact-us .address-band::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 180px;
  height: 180px;
  background: #6f978b26;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  pointer-events: none
}

.contact-us .address-band::after {
  content: '';
  position: absolute;
  bottom: -30px;
  left: 10%;
  width: 120px;
  height: 120px;
  background: #fffef440;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  pointer-events: none
}

.contact-us .address-band__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 30fr 70fr;
  gap: 48px;
  align-items: start
}

.contact-us .address-band__left {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.contact-us .address-band__eyebrow {
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #1e3530;
  position: relative;
  padding-top: 16px;
  display: inline-block
}

.contact-us .address-band__eyebrow::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: #6F978B;
  border-radius: 2px
}

.contact-us .address-band__heading {
  font-size: 24px;
  line-height: 1.15;
  color: #1e3530;
  margin: 0;
  text-shadow: 0 2px 5px #6f978b1f
}

.contact-us .address-band__note {
  font-size: 16px;
  line-height: 1.65;
  color: #2a4540;
  margin: 0
}

.contact-us .address-band__right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.contact-us .address-detail {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  background: #fffef480;
  border-radius: 42px;
  box-shadow: 0 2px 5px 0 #6f978b0d
}

.contact-us .address-detail--wide {
  grid-column: 1 / -1
}

.contact-us .address-detail__icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center
}

.contact-us .address-detail__icon svg {
  width: 24px;
  height: 24px;
  fill: #6F978B
}

.contact-us .address-detail__key {
  font-size: 16px;
  line-height: 1.15;
  color: #6F978B;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase
}

.contact-us .address-detail__value {
  font-size: 18px;
  line-height: 1.65;
  color: #1e3530;
  text-decoration: none;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1);
  word-break: break-word
}

.contact-us .address-detail__value:hover {
  color: #6F978B
}

@media (max-width: 1024px) {
  .contact-us .reach-block {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .contact-us .reach-block__accent {
    max-width: 200px
  }

  .contact-us .address-band__inner {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .contact-us .address-band__right {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 768px) {
  .contact-us .form-grid {
    grid-template-columns: 1fr
  }

  .contact-us .form-card {
    padding: 24px
  }

  .contact-us .reach-block__heading {
    font-size: 32px
  }

  .contact-us .address-band__right {
    grid-template-columns: 1fr
  }

  .contact-us .address-detail--wide {
    grid-column: 1
  }
}

@media (max-width: 640px) {
  .contact-us .reach-block {
    padding: 24px 16px
  }

  .contact-us .split-band__top {
    padding: 24px 0 0
  }

  .contact-us .split-band__bottom {
    padding: 0 0 24px
  }

  .contact-us .split-band__inner {
    padding: 0 16px
  }

  .contact-us .address-band {
    padding: 24px 0
  }

  .contact-us .address-band__inner {
    padding: 0 16px
  }

  .contact-us .topic-row {
    flex-direction: column;
    align-items: flex-start
  }

  .contact-us .form-submit {
    width: 100%;
    justify-content: center
  }
}

.root {
  max-width: 100%;
  overflow-x: hidden
}

.root .page-limiter {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px
}

@keyframes trackingExpand {
  from {
    letter-spacing: -.04em;
    opacity: 0
  }

  to {
    letter-spacing: .01em;
    opacity: 1
  }
}

@keyframes trackingExpandWide {
  from {
    letter-spacing: -.06em;
    opacity: 0
  }

  to {
    letter-spacing: .08em;
    opacity: 1
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(18px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes fillRise {
  from {
    background-size: 100% 0
  }

  to {
    background-size: 100% 100%
  }
}

.root .title-block {
  background: #FFFEF4;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative
}

.root .title-block__inner {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start
}

.root .title-block__left {
  position: relative;
  padding-top: 24px
}

.root .title-block__quote-mark {
  position: absolute;
  top: -16px;
  left: -8px;
  font-size: 72px;
  line-height: 1.15;
  color: #BFD6DA;
  opacity: .38;
  pointer-events: none;
  user-select: none;
  z-index: 0
}

.root .title-block__label {
  font-size: 16px;
  line-height: 1.65;
  color: #6F978B;
  text-transform: uppercase;
  letter-spacing: .18em;
  margin-bottom: 16px;
  animation: trackingExpandWide .65s cubic-bezier(0.22, 1, 0.36, 1) both;
  position: relative;
  z-index: 1
}

.root .title-block__heading {
  font-size: 62px;
  line-height: 1.15;
  color: #1e2d2a;
  margin: 0 0 24px;
  text-shadow: 0 2px 5px #6f978b0d 0 5px 25px #6f978b1c;
  animation: trackingExpand .7s cubic-bezier(0.22, 1, 0.36, 1) .1s both;
  position: relative;
  z-index: 1
}

.root .title-block__heading .accent-word {
  color: #6F978B
}

.root .title-block__thesis {
  font-size: 18px;
  line-height: 1.65;
  color: #2e3d3a;
  margin: 0 0 16px;
  position: relative;
  z-index: 1;
  animation: fadeUp .65s cubic-bezier(0.22, 1, 0.36, 1) .25s both
}

.root .title-block__thesis+.title-block__thesis {
  color: #4a5e5a
}

.root .title-block__actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 24px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
  animation: fadeUp .6s cubic-bezier(0.22, 1, 0.36, 1) .38s both
}

.root .btn-primary {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  border-radius: 2px;
  background: linear-gradient(135deg, #6F978B 0%, #5a7d72 100%);
  color: #FFFEF4;
  font-size: 16px;
  line-height: 1.15;
  border: none;
  cursor: pointer;
  box-shadow: 0 5px 25px 0 #6f978b1c;
  transition: background .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s ease-in-out, transform .45s cubic-bezier(0.22, 1, 0.36, 1);
  text-decoration: none;
  position: relative;
  overflow: hidden
}

.root .btn-primary:hover {
  background: linear-gradient(315deg, #6F978B 0%, #5a7d72 100%);
  box-shadow: 0 10px 44px 0 #6f978b1a;
  transform: translateY(-2px)
}

.root .btn-primary:focus-visible {
  outline: 3px solid #6F978B !important;
  outline-offset: 3px !important
}

.root .btn-secondary {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  border-radius: 2px;
  background: transparent;
  color: #1e2d2a;
  font-size: 16px;
  line-height: 1.15;
  border: 2px solid #BFD6DA;
  cursor: pointer;
  transition: border-color .5s ease-in-out, color .5s ease-in-out, background .55s cubic-bezier(0.22, 1, 0.36, 1);
  text-decoration: none
}

.root .btn-secondary:hover {
  border-color: #6F978B;
  color: #6F978B;
  background: #bfd6da1f
}

.root .btn-secondary:focus-visible {
  outline: 3px solid #6F978B !important;
  outline-offset: 3px !important
}

.root .title-block__image-col {
  position: relative
}

.root .title-block__image-frame {
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 1/1;
  box-shadow: 0 10px 44px 0 #6f978b1a;
  position: relative
}

.root .title-block__image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  mix-blend-mode: multiply;
  filter: saturate(0.85) contrast(1.08)
}

.root .title-block__image-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 30%, #bfd6da73 0%, #6f978b2e 60%, #1e2d2a38 100%);
  pointer-events: none;
  border-radius: 2px
}

.root .title-block__curve {
  position: absolute;
  bottom: -24px;
  right: -16px;
  width: 120px;
  height: 120px;
  pointer-events: none;
  z-index: 0
}

.root .metrics-band {
  background: #6F978B;
  padding-top: 48px;
  padding-bottom: 48px;
  margin-left: 48px;
  position: relative
}

.root .metrics-band::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 8px;
  height: 100%;
  background: #BFD6DA;
  border-radius: 0 2px 2px 0
}

.root .metrics-band__inner {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px
}

.root .metrics-band__top {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 48px
}

.root .metrics-band__label {
  font-size: 16px;
  line-height: 1.65;
  color: #BFD6DA;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 8px
}

.root .metrics-band__heading {
  font-size: 32px;
  line-height: 1.15;
  color: #FFFEF4;
  margin: 0;
  text-shadow: 0 2px 5px #bfd6da0d
}

.root .metrics-band__heading .accent-word {
  color: #BFD6DA
}

.root .metrics-band__desc {
  font-size: 18px;
  line-height: 1.65;
  color: #fffef4d1;
  margin: 0;
  align-self: end
}

.root .metrics-band__grid {
  display: grid;
  grid-template-columns: 1fr 2fr 2fr 1fr;
  gap: 16px
}

.root .metric-card {
  background: #fffef414;
  border-radius: 2px;
  padding: 24px;
  box-shadow: inset 0 1px 0 #fffef41f inset 0 -1px 0 #6f978b40;
  transition: background .5s ease-in-out, transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.root .metric-card:hover {
  background: #fffef424;
  transform: translateY(-4px)
}

.root .metric-card--wide {
  grid-column: span 1
}

.root .metric-card__number {
  font-size: 44px;
  line-height: 1.15;
  color: #FFFEF4;
  text-shadow: 0 5px 25px #bfd6da1c;
  margin-bottom: 8px
}

.root .metric-card__unit {
  font-size: 24px;
  color: #BFD6DA
}

.root .metric-card__label {
  font-size: 16px;
  line-height: 1.65;
  color: #fffef4b3
}

.root .value-section {
  background: #FFFEF4;
  padding-top: 48px;
  padding-bottom: 48px;
  margin-right: 48px;
  position: relative
}

.root .value-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg, #6F978B 0%, #BFD6DA 100%);
  border-radius: 2px 0 0 2px
}

.root .value-section__inner {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px
}

.root .value-section__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start
}

.root .value-section__image-stack {
  position: relative
}

.root .value-section__img-primary {
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 1/1;
  box-shadow: 0 10px 44px 0 #6f978b1a
}

.root .value-section__img-primary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.root .value-section__img-secondary {
  position: absolute;
  bottom: -24px;
  right: -24px;
  width: 48%;
  aspect-ratio: 1/1;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 5px 25px 0 #6f978b1c;
  border: 4px solid #FFFEF4
}

.root .value-section__img-secondary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.root .value-section__curve {
  position: absolute;
  top: -16px;
  left: -16px;
  width: 90px;
  height: 90px;
  pointer-events: none;
  z-index: 0
}

.root .value-section__text {
  padding-top: 8px;
  padding-bottom: 48px
}

.root .value-section__label {
  font-size: 16px;
  line-height: 1.65;
  color: #6F978B;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 8px
}

.root .value-section__heading {
  font-size: 32px;
  line-height: 1.15;
  color: #1e2d2a;
  margin: 0 0 24px;
  text-shadow: 0 2px 5px #6f978b0d
}

.root .value-section__heading .accent-word {
  color: #6F978B
}

.root .value-section__columns {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 16px;
  margin-bottom: 24px
}

.root .value-section__intro {
  font-size: 16px;
  line-height: 1.65;
  color: #4a5e5a;
  margin: 0
}

.root .value-section__body {
  font-size: 16px;
  line-height: 1.65;
  color: #2e3d3a;
  margin: 0 0 16px
}

.root .value-section__body:last-child {
  margin-bottom: 0
}

.root .value-section__code-block {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 5px 25px 0 #6f978b1c
}

.root .code-panel {
  padding: 16px;
  font-size: 16px;
  line-height: 1.65
}

.root .code-panel--before {
  background: #f0ede0;
  color: #4a5e5a
}

.root .code-panel--after {
  background: #6F978B;
  color: #FFFEF4
}

.root .code-panel__tag {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 8px;
  display: block;
  opacity: .65
}

.root .code-panel__text {
  font-size: 16px;
  line-height: 1.65;
  margin: 0
}

.root .support-section {
  background: #BFD6DA;
  padding-top: 48px;
  padding-bottom: 48px;
  margin-left: 24px;
  position: relative
}

.root .support-section::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 5px;
  height: 100%;
  background: #6F978B;
  border-radius: 0 2px 2px 0
}

.root .support-section__inner {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px
}

.root .support-section__top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 48px
}

.root .support-section__heading {
  font-size: 44px;
  line-height: 1.15;
  color: #1e2d2a;
  margin: 0 0 16px;
  text-shadow: 0 2px 5px #6f978b0d 0 5px 25px #6f978b1c
}

.root .support-section__heading .accent-word {
  color: #6F978B
}

.root .support-section__lead {
  font-size: 18px;
  line-height: 1.65;
  color: #2e3d3a;
  margin: 0
}

.root .support-section__image {
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 1/1;
  box-shadow: 0 10px 44px 0 #6f978b1a
}

.root .support-section__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.root .support-section__stat {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 8px
}

.root .support-section__stat-number {
  font-size: 62px;
  line-height: 1.15;
  color: #6F978B;
  text-shadow: 0 5px 25px #6f978b1c
}

.root .support-section__stat-label {
  font-size: 16px;
  line-height: 1.65;
  color: #2e3d3a
}

.root .support-section__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.root .support-card {
  background: #fffef4b8;
  border-radius: 2px;
  padding: 24px;
  box-shadow: 0 2px 5px 0 #6f978b0d;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  position: relative;
  overflow: hidden;
  transition: box-shadow .5s ease-in-out, transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.root .support-card::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: #6f978b14;
  transition: height .55s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  border-radius: 2px
}

.root .support-card:hover::before {
  height: 100%
}

.root .support-card:hover {
  box-shadow: 0 10px 44px 0 #6f978b1a;
  transform: translateY(-3px)
}

.root .support-card__icon {
  width: 40px;
  height: 40px;
  margin-bottom: 16px
}

.root .support-card__heading {
  font-size: 18px;
  line-height: 1.15;
  color: #1e2d2a;
  margin: 0 0 8px
}

.root .support-card__text {
  font-size: 16px;
  line-height: 1.65;
  color: #4a5e5a;
  margin: 0
}

.root .support-section__review {
  margin-top: 48px;
  background: #fffef499;
  border-radius: 2px;
  padding: 24px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 24px;
  align-items: center;
  box-shadow: 0 5px 25px 0 #6f978b1c;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px)
}

.root .review-stars {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px
}

.root .review-stars .rating {
  display: flex;
  flex-direction: row
}

.root .review-stars__score {
  font-size: 32px;
  line-height: 1.15;
  color: #1e2d2a
}

.root .review-stars__label {
  font-size: 16px;
  line-height: 1.65;
  color: #4a5e5a;
  text-align: center
}

.root .review-quote__text {
  font-size: 18px;
  line-height: 1.65;
  color: #2e3d3a;
  margin: 0 0 8px;
  font-style: italic
}

.root .review-quote__author {
  font-size: 16px;
  line-height: 1.65;
  color: #6F978B;
  margin: 0
}

@media (max-width: 1024px) {
  .root .title-block__inner {
    grid-template-columns: 1fr 260px;
    gap: 24px
  }

  .root .title-block__heading {
    font-size: 44px
  }

  .root .metrics-band {
    margin-left: 24px
  }

  .root .metrics-band__grid {
    grid-template-columns: 1fr 1fr
  }

  .root .value-section {
    margin-right: 24px
  }

  .root .value-section__layout {
    grid-template-columns: 1fr 1fr;
    gap: 24px
  }

  .root .support-section__top {
    grid-template-columns: 1fr 1fr;
    gap: 24px
  }

  .root .support-section__stat {
    grid-column: span 2
  }
}

@media (max-width: 768px) {
  .root .title-block__inner {
    grid-template-columns: 1fr
  }

  .root .title-block__heading {
    font-size: 32px
  }

  .root .title-block__image-col {
    display: none
  }

  .root .metrics-band {
    margin-left: 8px
  }

  .root .metrics-band__top {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 24px
  }

  .root .metrics-band__grid {
    grid-template-columns: 1fr 1fr
  }

  .root .value-section {
    margin-right: 8px
  }

  .root .value-section__layout {
    grid-template-columns: 1fr
  }

  .root .value-section__img-secondary {
    display: none
  }

  .root .value-section__columns {
    grid-template-columns: 1fr
  }

  .root .support-section {
    margin-left: 8px
  }

  .root .support-section__top {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .root .support-section__image {
    display: none
  }

  .root .support-section__cards {
    grid-template-columns: 1fr
  }

  .root .support-section__review {
    grid-template-columns: 1fr
  }

  .root .value-section__code-block {
    grid-template-columns: 1fr
  }
}

@media (max-width: 640px) {
  .root .title-block__heading {
    font-size: 24px
  }

  .root .metrics-band__heading {
    font-size: 24px
  }

  .root .support-section__heading {
    font-size: 32px
  }

  .root .metric-card__number {
    font-size: 32px
  }

  .root .metrics-band__grid {
    grid-template-columns: 1fr
  }

  .root .support-section__stat-number {
    font-size: 44px
  }
}

.success-page {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  background: #FFFEF4
}

.success-page .success-card {
  max-width: 1100px;
  width: 100%;
  background: #fff;
  border-radius: 42px;
  box-shadow: 0 10px 44px 0 #6f978b1a;
  padding: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  text-align: center
}

.success-page .success-card__icon {
  width: 72px;
  height: 72px;
  border-radius: 42px;
  background: linear-gradient(157deg, #BFD6DA 0%, #6F978B 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 5px 25px 0 #6f978b1c inset 0 2px 4px 0 #ffffff59 inset 0 -2px 4px 0 #6f978b2e;
  flex-shrink: 0
}

.success-page .success-card__icon svg {
  display: block
}

.success-page .success-card__heading {
  font-size: 32px;
  line-height: 1.15;
  color: #2b3d38;
  margin: 0;
  text-shadow: 0 2px 5px #6f978b1a
}

.success-page .success-card__text {
  font-size: 18px;
  line-height: 1.65;
  color: #3d4f4b;
  margin: 0;
  max-width: 520px
}

.success-page .success-card__divider {
  width: 64px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #BFD6DA 0%, #6F978B 100%)
}

.success-page .success-card__action {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  background: linear-gradient(157deg, #6F978B 0%, #BFD6DA 100%);
  color: #fff;
  font-size: 16px;
  line-height: 1.15;
  border-radius: 42px;
  text-decoration: none;
  box-shadow: 0 5px 25px 0 #6f978b1c;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), background .6s ease-in-out;
  cursor: pointer
}

.success-page .success-card__action:hover {
  background: linear-gradient(247deg, #6F978B 0%, #BFD6DA 100%);
  box-shadow: 0 10px 44px 0 #6f978b2e
}

.success-page .success-card__action:focus-visible {
  outline: 3px solid #6F978B;
  outline-offset: 4px
}

@media (max-width: 640px) {
  .success-page .success-card {
    padding: 24px 16px;
    border-radius: 2px
  }

  .success-page .success-card__heading {
    font-size: 24px
  }

  .success-page .success-card__text {
    font-size: 16px
  }
}