html {
  font-size: 100%
}

body {
  margin: 0
}

.siteHead {
  background: linear-gradient(160deg, #36896F 0%, #2a6e58 55%, #7EBAB5 100%);
  position: relative;
  overflow: hidden
}

.siteHead::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(90deg, #7ebab50f 0px, #7ebab50f 1px, transparent 1px, transparent 60px), repeating-linear-gradient(0deg, #7ebab50f 0px, #7ebab50f 1px, transparent 1px, transparent 60px);
  pointer-events: none
}

.headTop {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px 48px 12px;
  position: relative;
  z-index: 2
}

.logoPod {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 20px;
  padding: 12px;
  width: 96px;
  height: 112px;
  box-shadow: 0 5px 25px -1px #36896f1c 0 3px 6px -1px #36896f14;
  border: 2px solid #7ebab540
}

.logoPod img {
  width: 72px;
  height: 88px;
  object-fit: contain;
  display: block
}

.brandRow {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px 48px;
  position: relative;
  z-index: 2
}

.brandName {
  font-family: "Alegreya", Georgia, serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  letter-spacing: .04em;
  text-align: center
}

.brandTagline {
  font-family: "Alegreya", Georgia, serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: #ffffffc7;
  text-align: center;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-top: 6px
}

.headNotice {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 6px 48px;
  position: relative;
  z-index: 2
}

.noticePill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: #ffffff1f;
  border: 1px solid #ffffff38;
  border-radius: 48px;
  padding: 6px 24px;
  font-family: "Alegreya", Georgia, serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.15;
  color: #ffffffe6;
  letter-spacing: .06em
}

.noticePill i {
  font-size: 14px;
  color: #ffffffb3
}

.headNavRow {
  display: flex;
  justify-content: center;
  align-items: stretch;
  padding: 12px 48px 0;
  position: relative;
  z-index: 2;
  gap: 6px
}

.navDivider {
  width: 1px;
  background-color: #fff3;
  margin: 6px 0;
  align-self: stretch
}

.headNavRow a {
  font-family: "Alegreya", Georgia, serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
  color: #ffffffe0;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 8px 8px 0 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
  overflow: hidden;
  transition: color .18s cubic-bezier(0.4, 0, 0.6, 1), background-color .15s cubic-bezier(0.4, 0, 0.6, 1);
  min-height: 44px
}

.headNavRow a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  height: 2px;
  background-color: #fff;
  border-radius: 2px 2px 0 0;
  transform: scaleX(0);
  transition: transform .15s cubic-bezier(0.4, 0, 0.6, 1)
}

.headNavRow a:hover {
  color: #fff;
  background-color: #ffffff1a;
  outline: none
}

.headNavRow a:hover::after {
  transform: scaleX(1)
}

.headNavRow a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px
}

.headNavRow a i {
  font-size: 14px;
  opacity: .7
}

.headNavRow a[aria-current="page"] {
  color: #fff;
  background-color: #ffffff26
}

.headNavRow a[aria-current="page"]::after {
  transform: scaleX(1)
}

.headAccent {
  height: 4px;
  background: linear-gradient(90deg, transparent 0%, #ffffff4d 30%, #7ebab599 60%, transparent 100%);
  margin-top: 0
}

.siteFoot {
  background-color: #1b3d32;
  position: relative;
  overflow: hidden
}

.siteFoot::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle, #7ebab51f 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none
}

.footDeck {
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 48px 24px;
  position: relative;
  z-index: 1
}

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

.footBrandCell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px
}

.footLogoPod {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 20px;
  padding: 12px;
  width: 80px;
  height: 96px;
  box-shadow: 0 3px 6px -1px #36896f14;
  border: 2px solid #7ebab533
}

.footLogoPod img {
  width: 56px;
  height: 72px;
  object-fit: contain;
  display: block
}

.footBrandLabel {
  font-family: "Alegreya", Georgia, serif;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  text-align: center
}

.footFoundedNote {
  font-family: "Alegreya", Georgia, serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
  color: #ffffff73;
  text-align: center;
  letter-spacing: .08em
}

.footContactCell {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.footContactLabel {
  font-family: "Alegreya", Georgia, serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  color: #7EBAB5;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 6px
}

.footContactItem {
  display: flex;
  align-items: flex-start;
  gap: 12px
}

.footContactItem i {
  font-size: 16px;
  color: #7EBAB5;
  margin-top: 2px;
  flex-shrink: 0
}

.footContactItem a,
.footContactItem span {
  font-family: "Alegreya", Georgia, serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: #ffffffb8;
  text-decoration: none;
  transition: color .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.footContactItem a:hover {
  color: #7EBAB5
}

.footContactItem a:focus-visible {
  outline: 3px solid #36896F;
  outline-offset: 2px;
  border-radius: 8px
}

.footPolicyCell {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.footPolicyLabel {
  font-family: "Alegreya", Georgia, serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  color: #7EBAB5;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 6px
}

.footPolicyCell a {
  font-family: "Alegreya", Georgia, serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: #ffffffa6;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
  transition: color .15s cubic-bezier(0.4, 0, 0.6, 1)
}

.footPolicyCell a:hover {
  color: #7EBAB5
}

.footPolicyCell a:focus-visible {
  outline: 3px solid #36896F;
  outline-offset: 2px;
  border-radius: 8px
}

.footPolicyCell a i {
  font-size: 13px;
  opacity: .6
}

.footDivider {
  height: 1px;
  background: linear-gradient(90deg, transparent, #7ebab540, transparent);
  margin-bottom: 24px
}

.footCopyRow {
  display: flex;
  justify-content: center;
  align-items: center
}

.footCopy {
  font-family: "Alegreya", Georgia, serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
  color: #ffffff61;
  text-align: center;
  letter-spacing: .06em
}

@media (max-width: 1024px) {
  .headTop {
    padding: 24px 24px 12px
  }

  .brandRow {
    padding: 6px 24px
  }

  .headNotice {
    padding: 6px 24px
  }

  .headNavRow {
    padding: 12px 24px 0;
    flex-wrap: wrap;
    justify-content: center
  }

  .footDeck {
    padding: 48px 24px 24px
  }

  .footGrid {
    grid-template-columns: 1fr 1fr;
    gap: 24px
  }

  .footBrandCell {
    grid-column: 1 / -1
  }
}

@media (max-width: 768px) {
  .brandName {
    font-size: 27px
  }

  .headNavRow {
    padding: 12px 12px 0;
    gap: 6px
  }

  .headNavRow a {
    font-size: 14px;
    padding: 12px
  }

  .footGrid {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .footDeck {
    padding: 48px 24px 24px
  }
}

@media (max-width: 375px) {
  .headTop {
    padding: 24px 12px 12px
  }

  .brandRow {
    padding: 6px 12px
  }

  .headNotice {
    padding: 6px 12px
  }

  .headNavRow {
    padding: 12px 6px 0
  }

  .headNavRow a {
    font-size: 13px;
    padding: 12px 6px
  }

  .footDeck {
    padding: 24px 12px
  }
}

.doc-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 96px 48px;
  color: #2d3a35
}

.doc-inner ul,
.doc-inner ol {
  padding-left: 24px;
  margin-top: 12px;
  margin-bottom: 24px
}

.doc-inner ul {
  list-style: none
}

.doc-inner ol {
  list-style: none;
  counter-reset: policy-counter
}

.doc-inner ul li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 1.7;
  color: #2d3a35
}

.doc-inner ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 48px;
  background-color: #36896F;
  flex-shrink: 0
}

.doc-inner ol li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 1.7;
  color: #2d3a35;
  counter-increment: policy-counter
}

.doc-inner ol li::before {
  content: counter(policy-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 14px;
  font-weight: 700;
  color: #36896F;
  line-height: 1.7;
  transform: translateX(-100%);
  padding-right: 6px
}

.doc-inner ul ul,
.doc-inner ol ol,
.doc-inner ul ol,
.doc-inner ol ul {
  margin-top: 6px;
  margin-bottom: 6px
}

.doc-inner ul ul li::before {
  background-color: #7EBAB5;
  width: 5px;
  height: 5px;
  border-radius: 8px
}

.doc-inner strong,
.doc-inner b {
  font-weight: 700;
  color: #1e2e28
}

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

.doc-inner table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 24px;
  margin-bottom: 48px;
  font-size: 14px;
  line-height: 1.7;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 3px 6px -1px #36896f14
}

.doc-inner thead {
  background-color: #36896F
}

.doc-inner thead th {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 12px 24px;
  text-align: left;
  line-height: 1.15
}

.doc-inner tbody tr {
  border-bottom: 1px solid #7ebab540;
  transition: background-color .12s ease-out
}

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

.doc-inner tbody tr:nth-child(even) {
  background-color: #F5F7F6
}

.doc-inner tbody tr:hover {
  background-color: #7ebab51f
}

.doc-inner td {
  padding: 12px 24px;
  font-size: 14px;
  line-height: 1.7;
  color: #2d3a35;
  vertical-align: top
}

.doc-inner th {
  padding: 12px 24px;
  vertical-align: middle
}

.doc-inner div {
  margin-bottom: 24px
}

.doc-inner div:last-child {
  margin-bottom: 0
}

@media (max-width: 1024px) {
  .doc-inner {
    padding: 96px 48px
  }
}

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

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

  .doc-inner thead th,
  .doc-inner td {
    padding: 12px
  }

  .doc-inner ul li,
  .doc-inner ol li {
    font-size: 16px
  }
}

@media (max-width: 375px) {
  .doc-inner {
    padding: 48px 12px
  }

  .doc-inner ul,
  .doc-inner ol {
    padding-left: 12px
  }

  .doc-inner thead th,
  .doc-inner td {
    padding: 6px 12px;
    font-size: 13px
  }
}

.srvdet {
  background: #fff;
  overflow-x: clip
}

.srvdet .topband {
  position: relative;
  padding: 48px 24px;
  background: conic-gradient(from 307deg, #36896F, #7EBAB5, #36896F);
  background-size: 300% 300%;
  animation: gradshift 8s cubic-bezier(0.4, 0, 0.6, 1) infinite alternate
}

@keyframes gradshift {
  0% {
    background: conic-gradient(from 307deg, #36896F, #7EBAB5, #36896F)
  }

  100% {
    background: conic-gradient(from 307deg, #7EBAB5, #36896F, #7EBAB5)
  }
}

.srvdet .topband::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, #ffffff2e 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none
}

.srvdet .topband-inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 48px
}

.srvdet .topband-left {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.srvdet .topband-right {
  flex: 0 0 340px;
  max-width: 340px
}

.srvdet .catbadge {
  display: inline-block;
  background: #ffffff38;
  color: #fff;
  font-size: 13px;
  letter-spacing: .12em;
  padding: 6px 24px;
  border-radius: 48px;
  border: 1px solid #ffffff61;
  font-weight: 600;
  text-transform: uppercase
}

.srvdet .topband-htitle {
  font-size: 52px;
  line-height: 1.15;
  color: #fff;
  font-weight: 800;
  letter-spacing: -.01em;
  margin: 0;
  position: relative;
  z-index: 1
}

.srvdet .topband-htitle span {
  display: inline-block;
  border-bottom: 3px solid #ffffff8c
}

.srvdet .topband-meta {
  display: flex;
  flex-direction: row;
  gap: 24px;
  flex-wrap: wrap;
  align-items: center
}

.srvdet .metachip {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  color: #ffffffeb;
  font-size: 14px;
  line-height: 1.7
}

.srvdet .metachip i {
  font-size: 16px;
  color: #ffffffb3
}

.srvdet .topband-imgwrap {
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 1/1;
  width: 100%;
  box-shadow: 0 12px 44px -1px #36896f1f;
  position: relative
}

.srvdet .topband-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.18) contrast(1.08) brightness(0.96);
  transition: filter .18s ease-out
}

.srvdet .topband-imgwrap:hover img {
  filter: saturate(1.35) contrast(1.12) brightness(0.92) hue-rotate(0deg)
}

.srvdet .pricebox {
  background: #ffffff26;
  border: 1.5px solid #ffffff4d;
  border-radius: 20px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  backdrop-filter: blur(6px);
  margin-top: 12px
}

.srvdet .pricelabel {
  font-size: 13px;
  color: #ffffffb3;
  letter-spacing: .1em;
  text-transform: uppercase
}

.srvdet .priceamt {
  font-size: 27px;
  color: #fff;
  font-weight: 800;
  line-height: 1.15
}

.srvdet .pricenote {
  font-size: 13px;
  color: #ffffffbf;
  line-height: 1.7
}

.srvdet .topband-actions {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px
}

.srvdet .btnprimary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  color: #36896F;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: 8px;
  border: 2px solid #fff;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s ease-out, color .18s ease-out, box-shadow .16s ease-out;
  box-shadow: 0 3px 6px -1px #36896f14
}

.srvdet .btnprimary:hover {
  background: #36896F;
  color: #fff;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.srvdet .btnprint {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  color: #ffffffe6;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 8px;
  border: 2px solid #ffffff80;
  cursor: pointer;
  transition: background .14s ease-out, color .14s ease-out, border-color .14s ease-out
}

.srvdet .btnprint:hover {
  background: #ffffff26;
  color: #fff;
  border-color: #ffffffd9
}

.srvdet .btnprint:active {
  background: #ffffff47
}

@keyframes shakebtn {

  0%,
  100% {
    transform: translateX(0)
  }

  20% {
    transform: translateX(-5px)
  }

  40% {
    transform: translateX(5px)
  }

  60% {
    transform: translateX(-4px)
  }

  80% {
    transform: translateX(3px)
  }
}

.srvdet .btnprimary.shake {
  animation: shakebtn .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.srvdet .zigdivider {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.srvdet .zigdivider svg {
  display: block;
  width: 100%
}

.srvdet .descstrip {
  background: #F5F7F6;
  padding: 48px 24px
}

.srvdet .descstrip-inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: flex-start
}

.srvdet .descstrip-accent {
  flex: 0 0 220px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative
}

.srvdet .accentline {
  width: 2px;
  height: 120px;
  background: linear-gradient(to bottom, #36896F, transparent);
  border-radius: 8px;
  margin-left: 12px
}

.srvdet .accentstat {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  border: 3px solid #36896F;
  border-radius: 48px;
  flex-direction: column;
  gap: 6px;
  background: #fff;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.srvdet .accentstat-num {
  font-size: 27px;
  font-weight: 800;
  color: #36896F;
  line-height: 1.15
}

.srvdet .accentstat-lbl {
  font-size: 13px;
  color: #36896F;
  letter-spacing: .06em;
  text-align: center;
  line-height: 1.15;
  font-weight: 600
}

.srvdet .descstrip-body {
  flex: 1 1 0;
  min-width: 0
}

.srvdet .desctag {
  font-size: 13px;
  color: #36896F;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 12px;
  display: block
}

.srvdet .desctag-underline {
  display: inline-block;
  border-bottom: 2px solid #7EBAB5
}

.srvdet .deschdr {
  font-size: 27px;
  font-weight: 700;
  color: #1b3a30;
  line-height: 1.15;
  margin: 0 0 24px;
  letter-spacing: .01em
}

.srvdet .descbody {
  font-size: 16px;
  color: #2e4a40;
  line-height: 1.7
}

.srvdet .descbody p {
  margin: 0 0 24px
}

.srvdet .descbody p:last-child {
  margin-bottom: 0
}

.srvdet .descbody h2 {
  font-size: 27px;
  font-weight: 700;
  color: #1b3a30;
  line-height: 1.15;
  margin: 24px 0 12px
}

.srvdet .descbody h3 {
  font-size: 16px;
  font-weight: 700;
  color: #36896F;
  line-height: 1.7;
  margin: 24px 0 6px
}

.srvdet .descbody ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 24px;
  padding: 0;
  margin: 12px 0 24px;
  list-style: none
}

.srvdet .descbody ul li {
  font-size: 14px;
  color: #2e4a40;
  line-height: 1.7;
  padding-left: 18px;
  position: relative
}

.srvdet .descbody ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 7px;
  height: 7px;
  border-radius: 48px;
  background: #7EBAB5
}

.srvdet .descbody figure {
  margin: 24px 0;
  border-radius: 20px;
  overflow: hidden
}

.srvdet .descbody figcaption {
  font-size: 13px;
  color: #7EBAB5;
  margin-top: 6px;
  letter-spacing: .04em
}

.srvdet .descbody details {
  border-radius: 8px;
  border: 1px solid #d4e8e3;
  margin-bottom: 12px;
  background: #fff
}

.srvdet .descbody summary {
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  color: #36896F;
  cursor: pointer;
  outline: none;
  list-style: none
}

.srvdet .descbody summary::-webkit-details-marker {
  display: none
}

.srvdet .descbody details[open] summary {
  border-bottom: 1px solid #d4e8e3
}

.srvdet .descbody details> :not(summary) {
  padding: 12px 24px;
  font-size: 14px;
  color: #2e4a40;
  line-height: 1.7
}

.srvdet .descbody dl {
  margin: 12px 0 24px
}

.srvdet .descbody dt {
  font-size: 14px;
  font-weight: 700;
  color: #36896F;
  line-height: 1.7
}

.srvdet .descbody dd {
  font-size: 14px;
  color: #2e4a40;
  line-height: 1.7;
  margin: 0 0 12px 24px
}

.srvdet .zigdivider2 {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.srvdet .zigdivider2 svg {
  display: block;
  width: 100%
}

.srvdet .progstrip {
  background: #fff;
  padding: 48px 24px;
  position: relative
}

.srvdet .progstrip-inner {
  max-width: 1320px;
  margin: 0 auto
}

.srvdet .progstrip-top {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 48px;
  margin-bottom: 48px
}

.srvdet .progstrip-topleft {
  flex: 1 1 0
}

.srvdet .progstrip-topright {
  flex: 0 0 320px;
  font-size: 14px;
  color: #2e4a40;
  line-height: 1.7
}

.srvdet .proglabel {
  font-size: 13px;
  color: #7EBAB5;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 12px
}

.srvdet .proghdr {
  font-size: 52px;
  font-weight: 800;
  color: #1b3a30;
  line-height: 1.15;
  margin: 0;
  letter-spacing: -.02em
}

.srvdet .curveline {
  display: block;
  width: 120px;
  height: 40px;
  margin-top: 12px;
  overflow: visible
}

.srvdet .progcols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1.5px solid #d4e8e3
}

.srvdet .progcol-left {
  padding: 48px 48px 48px 0;
  border-right: 1.5px solid #d4e8e3
}

.srvdet .progcol-right {
  padding: 48px 0 48px 48px
}

.srvdet .progbody {
  font-size: 14px;
  color: #2e4a40;
  line-height: 1.7
}

.srvdet .progbody p {
  margin: 0 0 12px
}

.srvdet .progbody p:last-child {
  margin-bottom: 0
}

.srvdet .progbody h2 {
  font-size: 27px;
  font-weight: 700;
  color: #1b3a30;
  line-height: 1.15;
  margin: 24px 0 12px
}

.srvdet .progbody h3 {
  font-size: 16px;
  font-weight: 600;
  color: #36896F;
  line-height: 1.7;
  margin: 24px 0 6px
}

.srvdet .progbody ol {
  padding-left: 0;
  margin: 12px 0 24px;
  list-style: none;
  counter-reset: progctr
}

.srvdet .progbody ol li {
  counter-increment: progctr;
  font-size: 14px;
  color: #2e4a40;
  line-height: 1.7;
  padding: 12px 0 12px 48px;
  border-bottom: 1px solid #eaf3f0;
  position: relative
}

.srvdet .progbody ol li:last-child {
  border-bottom: none
}

.srvdet .progbody ol li::before {
  content: counter(progctr, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 12px;
  font-size: 13px;
  font-weight: 800;
  color: #36896F;
  letter-spacing: .04em;
  line-height: 1.7
}

.srvdet .progbody cite {
  display: block;
  font-style: italic;
  color: #7EBAB5;
  font-size: 14px;
  border-left: none;
  padding: 12px 24px;
  background: #F5F7F6;
  border-radius: 8px;
  margin: 12px 0
}

.srvdet .progbody blockquote {
  margin: 24px 0;
  padding: 24px;
  background: #F5F7F6;
  border-radius: 20px;
  font-size: 16px;
  color: #1b3a30;
  line-height: 1.7;
  font-weight: 600
}

.srvdet .progbody abbr {
  border-bottom: 1px dashed #7EBAB5;
  cursor: help;
  text-decoration: none
}

.srvdet .progbody dl {
  margin: 12px 0 24px
}

.srvdet .progbody dt {
  font-size: 14px;
  font-weight: 700;
  color: #36896F;
  line-height: 1.7
}

.srvdet .progbody dd {
  font-size: 14px;
  color: #2e4a40;
  line-height: 1.7;
  margin: 0 0 12px 24px
}

.srvdet .enrollstrip {
  background: #F5F7F6;
  padding: 96px 24px;
  position: relative
}

.srvdet .enrollstrip::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  border-radius: 0
}

.srvdet .enrollstrip-inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: center
}

.srvdet .enrollleft {
  flex: 1 1 0;
  min-width: 0
}

.srvdet .enrollright {
  flex: 0 0 380px
}

.srvdet .enrollhdr {
  font-size: 27px;
  font-weight: 800;
  color: #1b3a30;
  line-height: 1.15;
  margin: 0 0 12px
}

.srvdet .enrollsub {
  font-size: 16px;
  color: #2e4a40;
  line-height: 1.7;
  margin: 0 0 24px
}

.srvdet .enrollform {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.srvdet .formrow {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.srvdet .formlabel {
  font-size: 13px;
  font-weight: 600;
  color: #36896F;
  letter-spacing: .06em
}

.srvdet .forminput {
  border: 1.5px solid #d4e8e3;
  border-radius: 8px;
  padding: 12px;
  font-size: 14px;
  color: #1b3a30;
  background: #fff;
  outline: none;
  transition: border-color .16s ease-out, box-shadow .16s ease-out;
  width: 100%;
  box-sizing: border-box;
  text-overflow: ellipsis
}

.srvdet .forminput::placeholder {
  color: #9dbfb8;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.srvdet .forminput:focus {
  border-color: #36896F;
  box-shadow: 0 3px 6px -1px #36896f14
}

.srvdet .formselect {
  border: 1.5px solid #d4e8e3;
  border-radius: 8px;
  padding: 12px;
  font-size: 14px;
  color: #1b3a30;
  background: #fff;
  outline: none;
  transition: border-color .16s ease-out;
  width: 100%;
  box-sizing: border-box
}

.srvdet .formselect:focus {
  border-color: #36896F
}

.srvdet .formsubmit {
  background: #36896F;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: 8px;
  border: 2px solid #36896F;
  cursor: pointer;
  transition: background .18s ease-out, color .18s ease-out, box-shadow .16s ease-out;
  box-shadow: 0 3px 6px -1px #36896f14;
  width: 100%
}

.srvdet .formsubmit:hover {
  background: #2a6d58;
  border-color: #2a6d58;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.srvdet .formsubmit:active {
  background: #1e5040
}

.srvdet .enrollfeats {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 24px
}

.srvdet .enrollfeat {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start
}

.srvdet .enrollfeat-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 6px -1px #36896f14;
  border: 1px solid #d4e8e3;
  transition: border-color .14s ease-out, box-shadow .14s ease-out
}

.srvdet .enrollfeat:hover .enrollfeat-icon {
  border-color: #36896F;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.srvdet .enrollfeat-icon i {
  font-size: 20px;
  color: #36896F
}

.srvdet .enrollfeat-text {
  flex: 1 1 0
}

.srvdet .enrollfeat-title {
  font-size: 14px;
  font-weight: 700;
  color: #1b3a30;
  line-height: 1.15;
  margin-bottom: 6px
}

.srvdet .enrollfeat-desc {
  font-size: 13px;
  color: #2e4a40;
  line-height: 1.7
}

@keyframes bounceIn {
  0% {
    transform: translateY(30px);
    opacity: 0
  }

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

  80% {
    transform: translateY(4px)
  }

  100% {
    transform: translateY(0)
  }
}

.srvdet .topband-left {
  animation: bounceIn .5s cubic-bezier(0.4, 0, 0.6, 1) both
}

.srvdet .topband-right {
  animation: bounceIn .5s cubic-bezier(0.4, 0, 0.6, 1) .12s both
}

@media (max-width: 1280px) {
  .srvdet .topband-right {
    flex: 0 0 280px;
    max-width: 280px
  }

  .srvdet .progcol-left {
    padding: 48px 24px 48px 0
  }

  .srvdet .progcol-right {
    padding: 48px 0 48px 24px
  }
}

@media (max-width: 1024px) {
  .srvdet .topband-inner {
    flex-direction: column-reverse;
    gap: 24px
  }

  .srvdet .topband-right {
    flex: 0 0 auto;
    max-width: 320px;
    width: 100%;
    align-self: center
  }

  .srvdet .topband-htitle {
    font-size: 52px
  }

  .srvdet .descstrip-inner {
    flex-direction: column;
    gap: 24px
  }

  .srvdet .descstrip-accent {
    flex: none;
    flex-direction: row;
    align-items: center;
    gap: 24px
  }

  .srvdet .accentline {
    width: 60px;
    height: 2px;
    background: linear-gradient(to right, #36896F, transparent);
    margin-left: 0
  }

  .srvdet .enrollstrip-inner {
    flex-direction: column;
    gap: 48px
  }

  .srvdet .enrollright {
    flex: none;
    width: 100%;
    max-width: 480px
  }

  .srvdet .progstrip-top {
    flex-direction: column;
    gap: 24px
  }

  .srvdet .progstrip-topright {
    flex: none;
    width: 100%
  }
}

@media (max-width: 768px) {
  .srvdet .topband-htitle {
    font-size: 27px
  }

  .srvdet .proghdr {
    font-size: 27px
  }

  .srvdet .progcols {
    grid-template-columns: 1fr
  }

  .srvdet .progcol-left {
    padding: 24px 0;
    border-right: none;
    border-bottom: 1.5px solid #d4e8e3
  }

  .srvdet .progcol-right {
    padding: 24px 0
  }

  .srvdet .descbody ul {
    grid-template-columns: 1fr
  }

  .srvdet .topband {
    padding: 24px
  }

  .srvdet .descstrip {
    padding: 24px
  }

  .srvdet .progstrip {
    padding: 24px
  }

  .srvdet .enrollstrip {
    padding: 48px 24px
  }
}

@media (max-width: 375px) {
  .srvdet .topband-htitle {
    font-size: 27px
  }

  .srvdet .topband-meta {
    flex-direction: column;
    gap: 6px;
    align-items: flex-start
  }

  .srvdet .topband-actions {
    flex-direction: column;
    gap: 12px
  }

  .srvdet .btnprimary,
  .srvdet .btnprint {
    width: 100%;
    justify-content: center
  }
}

.aboutUs {
  overflow-x: hidden;
  background: #fff
}

.aboutUs .abHero {
  position: relative;
  padding: 96px 24px;
  background: #F5F7F6;
  overflow: hidden
}

.aboutUs .abHero::before {
  content: '';
  position: absolute;
  top: -48px;
  right: -48px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: #7ebab517;
  pointer-events: none
}

.aboutUs .abHero::after {
  content: '';
  position: absolute;
  bottom: -96px;
  left: -96px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: #36896f0f;
  pointer-events: none
}

.aboutUs .abHeroInner {
  max-width: 1320px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.aboutUs .abLabel {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .12em;
  color: #36896F;
  text-transform: uppercase;
  margin-bottom: 24px;
  font-weight: 600
}

.aboutUs .abH1 {
  font-size: 52px;
  line-height: 1.15;
  font-weight: 300;
  color: #1b2e28;
  letter-spacing: -.01em;
  max-width: 780px;
  margin-bottom: 24px
}

.aboutUs .abH1 span {
  display: inline-block;
  position: relative;
  color: #36896F
}

.aboutUs .abH1 span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 2px;
  background: #7EBAB5;
  border-radius: 8px
}

.aboutUs .abDesc {
  font-size: 16px;
  line-height: 1.7;
  color: #3a4a44;
  max-width: 560px
}

.aboutUs .abHeroDivider {
  width: 100%;
  height: 32px;
  background: linear-gradient(to right, transparent, #F5F7F6 20%, #F5F7F6 80%, transparent);
  margin-top: 48px
}

.aboutUs .abStory {
  padding: 96px 24px;
  background: #fff
}

.aboutUs .abStoryInner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center
}

.aboutUs .abStoryLabel {
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #7EBAB5;
  font-weight: 600;
  margin-bottom: 24px;
  display: block
}

.aboutUs .abH2 {
  font-size: 27px;
  line-height: 1.15;
  font-weight: 700;
  color: #1b2e28;
  margin-bottom: 24px;
  letter-spacing: .01em
}

.aboutUs .abStoryText p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a4a44;
  margin-bottom: 24px
}

.aboutUs .abStoryText p:last-child {
  margin-bottom: 0
}

.aboutUs .abImgWrap {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 1/1;
  box-shadow: 0 12px 44px -1px #36896f1f
}

.aboutUs .abImgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.aboutUs .abImgWrap:hover img {
  transform: scale(1.03)
}

.aboutUs .abImgOverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #1b2e2861 0%, transparent 55%);
  pointer-events: none
}

.aboutUs .abQuoteMark {
  font-size: 120px;
  line-height: 1.15;
  color: #7ebab52e;
  font-weight: 700;
  position: absolute;
  top: -24px;
  left: 12px;
  pointer-events: none;
  user-select: none
}

.aboutUs .abStoryDivider {
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, transparent, #7EBAB5 30%, #7EBAB5 70%, transparent);
  max-width: 1320px;
  margin: 0 auto
}

.aboutUs .abMetrics {
  padding: 96px 24px;
  background: conic-gradient(from 307deg at 30% 60%, #36896F 0%, #7EBAB5 55%, #F5F7F6 100%);
  position: relative
}

.aboutUs .abMetricsInner {
  max-width: 1320px;
  margin: 0 auto
}

.aboutUs .abMetricsHead {
  margin-bottom: 48px;
  max-width: 600px
}

.aboutUs .abMetricsHead .abH2 {
  color: #fff;
  font-size: 27px
}

.aboutUs .abMetricsHead p {
  font-size: 16px;
  line-height: 1.7;
  color: #f5f7f6e0
}

.aboutUs .abMetricsGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.aboutUs .abMetricCard {
  background: #ffffff1f;
  border-radius: 20px;
  padding: 48px 24px 36px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 5px 25px -1px #36896f1c;
  transition: background .18s ease-out, box-shadow .18s ease-out
}

.aboutUs .abMetricCard:hover {
  background: #ffffff38;
  box-shadow: 0 12px 44px -1px #36896f1f
}

.aboutUs .abMetricCard::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #ffffff59;
  border-radius: 8px 8px 0 0
}

.aboutUs .abMetricNum {
  font-size: 52px;
  line-height: 1.15;
  font-weight: 300;
  color: #fff;
  letter-spacing: -.02em;
  display: block;
  margin-bottom: 6px
}

.aboutUs .abMetricLabel {
  font-size: 14px;
  line-height: 1.7;
  color: #f5f7f6d1;
  letter-spacing: .04em
}

.aboutUs .abMetricIcon {
  font-size: 27px;
  color: #fff6;
  margin-bottom: 12px;
  display: block
}

.aboutUs .abFillBar {
  margin-top: 12px;
  height: 3px;
  background: #ffffff26;
  border-radius: 8px;
  overflow: hidden
}

.aboutUs .abFillBarInner {
  height: 100%;
  background: #ffffffa6;
  border-radius: 8px;
  width: 0;
  animation: abFill 1.1s cubic-bezier(0.4, 0, 0.6, 1) .3s forwards
}

.aboutUs .abFillBarInner.w80 {
  --fw: 80%
}

.aboutUs .abFillBarInner.w65 {
  --fw: 65%
}

.aboutUs .abFillBarInner.w90 {
  --fw: 90%
}

.aboutUs .abFillBarInner.w55 {
  --fw: 55%
}

@keyframes abFill {
  to {
    width: var(--fw)
  }
}

.aboutUs .abTeam {
  padding: 96px 24px;
  background: #fff
}

.aboutUs .abTeamInner {
  max-width: 1320px;
  margin: 0 auto
}

.aboutUs .abTeamHead {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
  align-items: end
}

.aboutUs .abTeamHead .abH2 {
  font-size: 27px
}

.aboutUs .abTeamHead p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a4a44
}

.aboutUs .abTeamGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.aboutUs .abMemberCard {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 3px 6px -1px #36896f14;
  transition: box-shadow .18s ease-out, transform .15s ease-out;
  background: #F5F7F6
}

.aboutUs .abMemberCard:hover {
  box-shadow: 0 12px 44px -1px #36896f1f;
  transform: translateY(-4px)
}

.aboutUs .abMemberImg {
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative
}

.aboutUs .abMemberImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.aboutUs .abMemberCard:hover .abMemberImg img {
  transform: scale(1.05)
}

.aboutUs .abMemberImg .abImgOverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #1b2e2873 0%, transparent 50%);
  pointer-events: none
}

.aboutUs .abMemberInfo {
  padding: 24px;
  position: relative
}

.aboutUs .abMemberName {
  font-size: 16px;
  line-height: 1.15;
  font-weight: 700;
  color: #1b2e28;
  margin-bottom: 6px
}

.aboutUs .abMemberRole {
  font-size: 13px;
  color: #36896F;
  letter-spacing: .06em;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: block
}

.aboutUs .abMemberBio {
  font-size: 14px;
  line-height: 1.7;
  color: #4a5e57
}

.aboutUs .abApproach {
  padding: 96px 24px;
  background: #F5F7F6;
  position: relative
}

.aboutUs .abApproachInner {
  max-width: 1320px;
  margin: 0 auto
}

.aboutUs .abApproachTop {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 96px;
  align-items: start;
  margin-bottom: 48px
}

.aboutUs .abApproachLeft .abH2 {
  font-size: 27px;
  margin-bottom: 24px
}

.aboutUs .abApproachLeft p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a4a44
}

.aboutUs .abApproachImgWrap {
  border-radius: 32px;
  overflow: hidden;
  aspect-ratio: 1/1;
  box-shadow: 0 5px 25px -1px #7ebab51c
}

.aboutUs .abApproachImgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .2s ease-out
}

.aboutUs .abApproachImgWrap:hover img {
  transform: scale(1.04)
}

.aboutUs .abPillars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 48px
}

.aboutUs .abPillar {
  background: #fff;
  border-radius: 20px;
  padding: 36px 24px;
  box-shadow: 0 3px 6px -1px #36896f14;
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: flex-start;
  transition: box-shadow .15s ease-out
}

.aboutUs .abPillar:hover {
  box-shadow: 0 5px 25px -1px #36896f1c
}

.aboutUs .abPillarIcon {
  width: 48px;
  min-width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #36896f17;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #36896F
}

.aboutUs .abPillarTitle {
  font-size: 16px;
  font-weight: 700;
  color: #1b2e28;
  margin-bottom: 6px;
  line-height: 1.15
}

.aboutUs .abPillarDesc {
  font-size: 14px;
  line-height: 1.7;
  color: #4a5e57
}

.aboutUs .abApproachDivider {
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, transparent, #7EBAB5 30%, #7EBAB5 70%, transparent);
  max-width: 1320px;
  margin: 0 auto
}

.aboutUs .abCtaRow {
  display: flex;
  flex-direction: row;
  gap: 12px;
  margin-top: 48px;
  flex-wrap: wrap
}

.aboutUs .abBtn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 36px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  cursor: pointer;
  border: 2px solid #36896F;
  background: transparent;
  color: #36896F;
  text-decoration: none;
  transition: background .18s ease-out, color .18s ease-out, box-shadow .15s ease-out;
  position: relative;
  overflow: hidden
}

.aboutUs .abBtn:hover {
  background: #36896F;
  color: #fff;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.aboutUs .abBtn:focus-visible {
  outline: 3px solid #7EBAB5;
  outline-offset: 3px
}

.aboutUs .abBtn.secondary {
  border-color: #7EBAB5;
  color: #1b2e28
}

.aboutUs .abBtn.secondary:hover {
  background: #7EBAB5;
  color: #fff
}

.aboutUs .abBtn.shake {
  animation: abShake .18s cubic-bezier(0.4, 0, 0.6, 1)
}

@keyframes abShake {
  0% {
    transform: translateX(0)
  }

  25% {
    transform: translateX(-5px)
  }

  75% {
    transform: translateX(5px)
  }

  100% {
    transform: translateX(0)
  }
}

@media (max-width: 1280px) {
  .aboutUs .abStoryInner {
    gap: 48px
  }

  .aboutUs .abMetricsGrid {
    grid-template-columns: repeat(2, 1fr)
  }

  .aboutUs .abTeamGrid {
    grid-template-columns: repeat(2, 1fr)
  }

  .aboutUs .abApproachTop {
    gap: 48px
  }
}

@media (max-width: 1024px) {
  .aboutUs .abH1 {
    font-size: 52px
  }

  .aboutUs .abStoryInner {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .aboutUs .abTeamHead {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .aboutUs .abApproachTop {
    grid-template-columns: 1fr;
    gap: 48px
  }
}

@media (max-width: 768px) {
  .aboutUs .abH1 {
    font-size: 36px
  }

  .aboutUs .abMetricsGrid {
    grid-template-columns: 1fr
  }

  .aboutUs .abTeamGrid {
    grid-template-columns: 1fr
  }

  .aboutUs .abPillars {
    grid-template-columns: 1fr
  }

  .aboutUs .abHero,
  .aboutUs .abStory,
  .aboutUs .abMetrics,
  .aboutUs .abTeam,
  .aboutUs .abApproach {
    padding: 48px 24px
  }
}

@media (max-width: 375px) {
  .aboutUs .abH1 {
    font-size: 27px
  }

  .aboutUs .abMetricNum {
    font-size: 36px
  }

  .aboutUs .abHero,
  .aboutUs .abStory,
  .aboutUs .abMetrics,
  .aboutUs .abTeam,
  .aboutUs .abApproach {
    padding: 48px 12px
  }

  .aboutUs .abCtaRow {
    flex-direction: column
  }
}

.srvc {
  background: #fff;
  overflow-x: hidden
}

.srvc .pgwrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px
}

.srvc .titlebk {
  position: relative;
  background: conic-gradient(from 307deg at 38% 60%, #36896F, #7EBAB5, #F5F7F6, #7EBAB5, #36896F);
  padding: 96px 24px
}

.srvc .titlebk::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 20%, #ffffff8c 0%, transparent 60%);
  pointer-events: none
}

.srvc .titlebk::after {
  content: '';
  position: absolute;
  inset: 16px;
  border: 1px solid #36896f47;
  border-radius: 20px;
  pointer-events: none
}

.srvc .titlebkInner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 48px;
  position: relative;
  z-index: 1
}

.srvc .titlebkText {
  flex: 1 1 0;
  min-width: 0
}

.srvc .titlebkLabel {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .12em;
  color: #36896F;
  text-transform: uppercase;
  margin-bottom: 24px;
  border: 1px solid #36896f59;
  border-radius: 8px;
  padding: 6px 12px;
  background: #fff9
}

.srvc .titlebkH1 {
  font-size: 52px;
  line-height: 1.15;
  font-weight: 800;
  color: #1b3d30;
  margin: 0 0 24px
}

.srvc .titlebkH1 span {
  display: inline-block;
  position: relative;
  color: #36896F
}

.srvc .titlebkH1 span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background: #36896F;
  border-radius: 8px
}

.srvc .titlebkSub {
  font-size: 16px;
  line-height: 1.7;
  color: #2a4a3e;
  max-width: 520px;
  margin: 0 0 24px
}

.srvc .titlebkSub strong {
  color: #1b3d30
}

.srvc .titlebkImgWrap {
  flex: 0 0 420px;
  width: 420px;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 44px -1px #36896f1f
}

.srvc .titlebkImgWrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle at 0% 0%, #ffffffb8 0%, transparent 70%);
  z-index: 2;
  pointer-events: none;
  border-radius: 20px
}

.srvc .titlebkImgWrap img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  border-radius: 20px
}

.srvc .titlebkStats {
  display: flex;
  flex-direction: row;
  gap: 24px;
  margin-top: 24px
}

.srvc .statPill {
  background: #ffffffbf;
  border: 1px solid #7ebab559;
  border-radius: 8px;
  padding: 12px 24px;
  display: flex;
  flex-direction: column;
  gap: 6px
}

.srvc .statNum {
  font-size: 27px;
  font-weight: 800;
  line-height: 1.15;
  color: #36896F
}

.srvc .statDesc {
  font-size: 13px;
  line-height: 1.15;
  color: #2a4a3e;
  letter-spacing: .06em
}

.srvc .cardsgrid {
  padding: 96px 24px;
  background: #F5F7F6;
  position: relative
}

.srvc .cardsgrid::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 0%, #36896f12 0%, transparent 50%), radial-gradient(ellipse at 100% 100%, #7ebab512 0%, transparent 50%);
  pointer-events: none
}

.srvc .gridHead {
  max-width: 1320px;
  margin: 0 auto 48px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  position: relative;
  z-index: 1
}

.srvc .gridHeadText h2 {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  color: #1b3d30;
  margin: 0 0 12px;
  letter-spacing: .04em
}

.srvc .gridHeadText p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a5a4e;
  margin: 0;
  max-width: 480px
}

.srvc .cardList {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1
}

.srvc .srvCard {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 5px 25px -1px #36896f1c;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1), transform .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.srvc .srvCard:hover {
  box-shadow: 0 12px 44px -1px #36896f1f;
  transform: translateY(-4px)
}

.srvc .srvCard .cardTag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #36896feb;
  color: #fff;
  font-size: 13px;
  letter-spacing: .08em;
  padding: 6px 12px;
  border-radius: 8px;
  z-index: 2
}

.srvc .srvCard .cardImgWrap {
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  position: relative
}

.srvc .srvCard .cardImgWrap img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.srvc .srvCard:hover .cardImgWrap img {
  transform: scale(1.03)
}

.srvc .srvCard .cardBody {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1 0
}

.srvc .srvCard .cardTitle {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  color: #1b3d30;
  margin: 0;
  letter-spacing: .02em
}

.srvc .srvCard .cardDesc {
  font-size: 14px;
  line-height: 1.7;
  color: #3a5a4e;
  margin: 0
}

.srvc .srvCard .cardMeta {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 6px
}

.srvc .metaItem {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #36896F;
  background: #F5F7F6;
  border-radius: 8px;
  padding: 6px 12px
}

.srvc .metaItem i {
  font-size: 14px
}

.srvc .cardPrice {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px
}

.srvc .priceAmt {
  font-size: 27px;
  font-weight: 800;
  color: #1b3d30;
  line-height: 1.15
}

.srvc .priceNote {
  font-size: 13px;
  color: #3a5a4e;
  letter-spacing: .04em
}

.srvc .cardCta {
  margin-top: 12px
}

.srvc .btnGhost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #36896F;
  background: transparent;
  border: 1.5px solid #36896F;
  border-radius: 8px;
  padding: 12px 24px;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s cubic-bezier(0.4, 0, 0.6, 1), color .16s cubic-bezier(0.4, 0, 0.6, 1);
  position: relative;
  overflow: hidden
}

.srvc .btnGhost::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background: #36896F;
  border-radius: 8px;
  transform: translateX(-50%);
  transition: width .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.srvc .btnGhost:hover::after {
  width: 80%
}

.srvc .btnGhost:hover {
  background: #36896F;
  color: #fff
}

.srvc .btnGhost:focus {
  outline: 2px solid #36896F;
  outline-offset: 3px
}

.srvc .btnGhost.shake {
  animation: cardShake .22s cubic-bezier(0.4, 0, 0.6, 1)
}

@keyframes cardShake {
  0% {
    transform: translateX(0)
  }

  25% {
    transform: translateX(-5px)
  }

  50% {
    transform: translateX(5px)
  }

  75% {
    transform: translateX(-4px)
  }

  100% {
    transform: translateX(0)
  }
}

.srvc .dashedBox {
  border: 2px dashed #36896f59;
  border-radius: 20px;
  padding: 24px;
  margin-top: 12px
}

.srvc .approachSec {
  padding: 96px 24px;
  background: #fff;
  position: relative
}

.srvc .approachSec::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 100%, #36896f0f 0%, transparent 45%), radial-gradient(ellipse at 100% 0%, #7ebab50f 0%, transparent 45%);
  pointer-events: none
}

.srvc .approachInner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: flex-start;
  position: relative;
  z-index: 1
}

.srvc .approachLeft {
  flex: 0 0 340px;
  width: 340px
}

.srvc .approachLeft h2 {
  font-size: 52px;
  font-weight: 800;
  line-height: 1.15;
  color: #1b3d30;
  margin: 0 0 24px;
  letter-spacing: -.01em
}

.srvc .approachLeft p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a5a4e;
  margin: 0 0 24px
}

.srvc .bigNum {
  font-size: 52px;
  font-weight: 900;
  color: #36896f1f;
  line-height: 1.15;
  letter-spacing: -.03em;
  display: block;
  margin-top: 24px;
  user-select: none
}

.srvc .approachRight {
  flex: 1 1 0;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px
}

.srvc .stepCard {
  background: #F5F7F6;
  border-radius: 20px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 3px 6px -1px #36896f14;
  transition: box-shadow .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.srvc .stepCard:hover {
  box-shadow: 0 5px 25px -1px #36896f1c
}

.srvc .stepNum {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #36896F;
  text-transform: uppercase
}

.srvc .stepCard h4 {
  font-size: 16px;
  font-weight: 700;
  color: #1b3d30;
  margin: 0;
  line-height: 1.15
}

.srvc .stepCard p {
  font-size: 14px;
  line-height: 1.7;
  color: #3a5a4e;
  margin: 0
}

.srvc .curveDivider {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #F5F7F6
}

.srvc .curveDivider svg {
  display: block;
  width: 100%
}

.srvc .curveDividerFlip {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: #fff
}

.srvc .curveDividerFlip svg {
  display: block;
  width: 100%
}

.srvc .pathwaySec {
  padding: 96px 24px;
  background: #F5F7F6;
  position: relative
}

.srvc .pathwayInner {
  max-width: 1320px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.srvc .pathwayHead {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 48px
}

.srvc .pathwayHead h2 {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  color: #1b3d30;
  margin: 0;
  max-width: 400px;
  letter-spacing: .03em
}

.srvc .pathwayHead p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a5a4e;
  margin: 0;
  max-width: 520px
}

.srvc .pathwayGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.srvc .pathCard {
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 3px 6px -1px #7ebab514;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1);
  position: relative
}

.srvc .pathCard:hover {
  box-shadow: 0 5px 25px -1px #7ebab51c
}

.srvc .pathIcon {
  width: 48px;
  height: 48px;
  background: conic-gradient(from 307deg, #36896F, #7EBAB5);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center
}

.srvc .pathIcon i {
  font-size: 22px;
  color: #fff
}

.srvc .pathCard h4 {
  font-size: 16px;
  font-weight: 700;
  color: #1b3d30;
  margin: 0;
  line-height: 1.15
}

.srvc .pathCard p {
  font-size: 14px;
  line-height: 1.7;
  color: #3a5a4e;
  margin: 0
}

.srvc .pathList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0
}

.srvc .pathList li {
  font-size: 13px;
  line-height: 1.7;
  color: #3a5a4e;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 6px
}

.srvc .pathList li::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 48px;
  background: #7EBAB5;
  flex-shrink: 0;
  margin-top: 7px
}

.srvc .imgFeatureSec {
  padding: 96px 24px;
  background: #fff;
  position: relative
}

.srvc .imgFeatureSec::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, #36896f0d 0%, transparent 55%), radial-gradient(ellipse at 0% 100%, #7ebab50d 0%, transparent 45%);
  pointer-events: none
}

.srvc .imgFeatureInner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: flex-start;
  position: relative;
  z-index: 1
}

.srvc .imgFeatureImg {
  flex: 0 0 460px;
  width: 460px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 44px -1px #36896f1f;
  position: relative
}

.srvc .imgFeatureImg::after {
  content: '';
  position: absolute;
  inset: 0;
  box-shadow: inset 0 8px 24px #36896f14;
  border-radius: 20px;
  pointer-events: none
}

.srvc .imgFeatureImg img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block
}

.srvc .imgFeatureContent {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.srvc .imgFeatureContent h2 {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  color: #1b3d30;
  margin: 0;
  letter-spacing: .03em
}

.srvc .imgFeatureContent p {
  font-size: 16px;
  line-height: 1.7;
  color: #3a5a4e;
  margin: 0
}

.srvc .featureList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0
}

.srvc .featureList li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.7;
  color: #3a5a4e
}

.srvc .featureList li i {
  font-size: 18px;
  color: #36896F;
  flex-shrink: 0;
  margin-top: 2px
}

.srvc .edgeGlow {
  position: relative
}

.srvc .edgeGlow::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 48px #36896f0f inset 0 0 8px #7ebab50a;
  animation: edgePulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite alternate;
  border-radius: 20px
}

@keyframes edgePulse {
  0% {
    opacity: .5
  }

  100% {
    opacity: 1
  }
}

.srvc .underlineHover {
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: #36896F
}

.srvc .underlineHover::after {
  content: '';
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -2px;
  height: 2px;
  background: #36896F;
  border-radius: 8px;
  transition: left .18s cubic-bezier(0.4, 0, 0.6, 1), right .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.srvc .underlineHover:hover::after {
  left: 0;
  right: 0
}

.srvc .contactBanner {
  padding: 48px 24px;
  background: conic-gradient(from 307deg at 30% 70%, #36896F, #7EBAB5, #36896F);
  position: relative
}

.srvc .contactBanner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 30%, #ffffff2e 0%, transparent 60%);
  pointer-events: none
}

.srvc .contactBannerInner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  position: relative;
  z-index: 1
}

.srvc .contactBannerText h3 {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 12px
}

.srvc .contactBannerText p {
  font-size: 16px;
  line-height: 1.7;
  color: #ffffffe0;
  margin: 0;
  max-width: 480px
}

.srvc .btnWhite {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #36896F;
  background: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s cubic-bezier(0.4, 0, 0.6, 1), color .16s cubic-bezier(0.4, 0, 0.6, 1)
}

.srvc .btnWhite:hover {
  background: #F5F7F6;
  color: #1b3d30
}

.srvc .btnWhite:focus {
  outline: 2px solid #fff;
  outline-offset: 3px
}

@media (max-width: 1024px) {
  .srvc .titlebkInner {
    flex-direction: column
  }

  .srvc .titlebkImgWrap {
    flex: none;
    width: 100%
  }

  .srvc .approachInner {
    flex-direction: column
  }

  .srvc .approachLeft {
    flex: none;
    width: 100%
  }

  .srvc .imgFeatureInner {
    flex-direction: column
  }

  .srvc .imgFeatureImg {
    flex: none;
    width: 100%
  }

  .srvc .pathwayGrid {
    grid-template-columns: repeat(2, 1fr)
  }

  .srvc .contactBannerInner {
    flex-direction: column;
    align-items: flex-start
  }
}

@media (max-width: 768px) {
  .srvc .titlebkH1 {
    font-size: 27px
  }

  .srvc .cardList {
    grid-template-columns: 1fr
  }

  .srvc .approachRight {
    grid-template-columns: 1fr
  }

  .srvc .pathwayGrid {
    grid-template-columns: 1fr
  }

  .srvc .pathwayHead {
    flex-direction: column;
    gap: 24px
  }

  .srvc .featureList {
    grid-template-columns: 1fr
  }

  .srvc .titlebkStats {
    flex-direction: column
  }

  .srvc .gridHead {
    flex-direction: column;
    align-items: flex-start
  }
}

@media (max-width: 375px) {

  .srvc .titlebk,
  .srvc .cardsgrid,
  .srvc .approachSec,
  .srvc .pathwaySec,
  .srvc .imgFeatureSec,
  .srvc .contactBanner {
    padding: 48px 12px
  }

  .srvc .titlebkH1 {
    font-size: 27px
  }

  .srvc .approachLeft h2 {
    font-size: 27px
  }
}

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

.frst .pg-wrap {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 48px;
  padding-right: 48px
}

.frst .divider-num {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  padding: 48px 0 0
}

.frst .divider-num span {
  font-size: 13px;
  letter-spacing: .18em;
  color: #36896F;
  white-space: nowrap;
  font-weight: 600
}

.frst .divider-num::before,
.frst .divider-num::after {
  content: '';
  display: block;
  height: 1px;
  background: #7EBAB5;
  flex: 1;
  opacity: .45
}

@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(32px)
  }

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

@keyframes gradientRotate {
  0% {
    background-position: 0 50%
  }

  50% {
    background-position: 100% 50%
  }

  100% {
    background-position: 0 50%
  }
}

@keyframes spiralSpin {
  from {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(360deg)
  }
}

@keyframes shakeOnce {

  0%,
  100% {
    transform: translateX(0)
  }

  20% {
    transform: translateX(-5px)
  }

  40% {
    transform: translateX(5px)
  }

  60% {
    transform: translateX(-4px)
  }

  80% {
    transform: translateX(4px)
  }
}

.frst .anim-1 {
  animation: fadeSlideUp .62s cubic-bezier(0.2, 0, 0.1, 1) .08s both
}

.frst .anim-2 {
  animation: fadeSlideUp .68s cubic-bezier(0.2, 0, 0.1, 1) .22s both
}

.frst .anim-3 {
  animation: fadeSlideUp .74s cubic-bezier(0.2, 0, 0.1, 1) .38s both
}

.frst .anim-4 {
  animation: fadeSlideUp .8s cubic-bezier(0.2, 0, 0.1, 1) .54s both
}

.frst .titlblock {
  padding-top: 96px;
  padding-bottom: 96px
}

.frst .titlblock .pg-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center
}

.frst .titlblock .txt-col {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.frst .titlblock .sup-label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .2em;
  color: #36896F;
  font-weight: 700;
  text-transform: uppercase
}

.frst .titlblock .main-heading {
  font-size: 52px;
  line-height: 1.15;
  font-weight: 800;
  color: #1a2e27;
  letter-spacing: -.01em;
  margin: 0
}

.frst .titlblock .main-heading .acc-word {
  display: inline-block;
  position: relative;
  color: #36896F
}

.frst .titlblock .main-heading .acc-word::after {
  content: '';
  display: block;
  height: 3px;
  background: #7EBAB5;
  border-radius: 8px;
  margin-top: 4px;
  width: 100%
}

.frst .titlblock .desc-text {
  font-size: 16px;
  line-height: 1.7;
  color: #2c4a3e;
  max-width: 480px
}

.frst .titlblock .img-col {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center
}

.frst .titlblock .img-border-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 44px -1px #36896f1f
}

.frst .titlblock .img-border-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%) contrast(1.15);
  transition: filter .18s ease-out
}

.frst .titlblock .img-border-wrap:hover img {
  filter: grayscale(60%) contrast(1.05)
}

.frst .titlblock .corner-br {
  position: absolute;
  width: 32px;
  height: 32px;
  pointer-events: none
}

.frst .titlblock .corner-br.tl {
  top: -10px;
  left: -10px;
  border-top: 3px solid #36896F;
  border-left: 3px solid #36896F;
  border-radius: 8px 0 0 0
}

.frst .titlblock .corner-br.tr {
  top: -10px;
  right: -10px;
  border-top: 3px solid #36896F;
  border-right: 3px solid #36896F;
  border-radius: 0 8px 0 0
}

.frst .titlblock .corner-br.bl {
  bottom: -10px;
  left: -10px;
  border-bottom: 3px solid #36896F;
  border-left: 3px solid #36896F;
  border-radius: 0 0 0 8px
}

.frst .titlblock .corner-br.br {
  bottom: -10px;
  right: -10px;
  border-bottom: 3px solid #36896F;
  border-right: 3px solid #36896F;
  border-radius: 0 0 8px 0
}

.frst .titlblock .img-tag {
  position: absolute;
  bottom: 24px;
  left: -24px;
  background: #fff;
  border-radius: 8px;
  padding: 12px 24px;
  box-shadow: 0 5px 25px -1px #7ebab51c;
  font-size: 13px;
  font-weight: 700;
  color: #36896F;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap
}

.frst .aprsect {
  background: #F5F7F6;
  padding-top: 96px;
  padding-bottom: 96px;
  position: relative
}

.frst .aprsect .spiral-deco {
  position: absolute;
  top: 48px;
  right: 48px;
  width: 80px;
  height: 80px;
  opacity: .07;
  pointer-events: none;
  animation: spiralSpin 18s linear infinite
}

.frst .aprsect .pg-wrap {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 96px;
  align-items: start
}

.frst .aprsect .left-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: sticky;
  top: 48px
}

.frst .aprsect .sect-label {
  font-size: 13px;
  letter-spacing: .18em;
  color: #36896F;
  font-weight: 700;
  text-transform: uppercase
}

.frst .aprsect .sect-heading {
  font-size: 27px;
  line-height: 1.15;
  font-weight: 700;
  color: #1a2e27;
  margin: 0;
  letter-spacing: .01em
}

.frst .aprsect .sect-body {
  font-size: 16px;
  line-height: 1.7;
  color: #2c4a3e
}

.frst .aprsect .right-col {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.frst .aprsect .apr-card {
  background: #fff;
  border-radius: 20px;
  padding: 48px;
  box-shadow: 0 3px 6px -1px #36896f14;
  position: relative;
  transition: box-shadow .16s ease-out, transform .16s ease-out;
  overflow: hidden
}

.frst .aprsect .apr-card:hover {
  box-shadow: 0 12px 44px -1px #36896f1f;
  transform: translateY(-3px)
}

.frst .aprsect .apr-card .card-tag {
  position: absolute;
  top: 24px;
  right: 24px;
  background: #F5F7F6;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 13px;
  color: #36896F;
  font-weight: 600;
  letter-spacing: .08em
}

.frst .aprsect .apr-card .card-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: conic-gradient(from 307deg, #36896F, #7EBAB5);
  background-size: 200% 200%;
  animation: gradientRotate 6s ease infinite;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px
}

.frst .aprsect .apr-card .card-icon i {
  font-size: 22px;
  color: #fff
}

.frst .aprsect .apr-card h4 {
  font-size: 16px;
  font-weight: 700;
  color: #1a2e27;
  margin: 0 0 12px;
  line-height: 1.15
}

.frst .aprsect .apr-card p {
  font-size: 14px;
  line-height: 1.7;
  color: #3d5e52;
  margin: 0
}

.frst .aprsect .apr-img-card {
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 1/1;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.frst .aprsect .apr-img-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .22s cubic-bezier(0.4, 0, 0.6, 1)
}

.frst .aprsect .apr-img-card:hover img {
  transform: scale(1.03)
}

.frst .invsect {
  padding-top: 96px;
  padding-bottom: 96px;
  position: relative
}

.frst .invsect .diag-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(163deg, #fff 55%, #F5F7F6 55%);
  pointer-events: none
}

.frst .invsect .pg-wrap {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center
}

.frst .invsect .inv-img-wrap {
  border-radius: 32px;
  overflow: hidden;
  aspect-ratio: 1/1;
  box-shadow: 0 12px 44px -1px #7ebab51f;
  position: relative
}

.frst .invsect .inv-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.frst .invsect .inv-img-wrap .img-corner-tag {
  position: absolute;
  top: 24px;
  right: 24px;
  background: #ffffffeb;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 700;
  color: #36896F;
  letter-spacing: .1em;
  backdrop-filter: blur(4px)
}

.frst .invsect .inv-txt {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.frst .invsect .inv-label {
  font-size: 13px;
  letter-spacing: .18em;
  color: #36896F;
  font-weight: 700;
  text-transform: uppercase
}

.frst .invsect .inv-heading {
  font-size: 27px;
  line-height: 1.15;
  font-weight: 700;
  color: #1a2e27;
  margin: 0
}

.frst .invsect .inv-body {
  font-size: 16px;
  line-height: 1.7;
  color: #2c4a3e
}

.frst .invsect .inv-tiers {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.frst .invsect .tier-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  background: #F5F7F6;
  border-radius: 20px;
  padding: 24px;
  transition: background .14s ease-out
}

.frst .invsect .tier-row:hover {
  background: #eaf3f0
}

.frst .invsect .tier-row .tier-dot {
  width: 12px;
  height: 12px;
  border-radius: 48px;
  background: #36896F;
  flex-shrink: 0
}

.frst .invsect .tier-row .tier-name {
  font-size: 14px;
  font-weight: 700;
  color: #1a2e27;
  flex: 1
}

.frst .invsect .tier-row .tier-desc {
  font-size: 13px;
  color: #3d5e52;
  line-height: 1.7;
  flex: 2
}

.frst .invsect .inv-note {
  font-size: 13px;
  color: #5a7a6e;
  line-height: 1.7;
  border-top: 1px solid #7ebab54d;
  padding-top: 24px
}

.frst .scalesect {
  padding-top: 96px;
  padding-bottom: 96px;
  position: relative
}

.frst .scalesect .topo-bg {
  position: absolute;
  inset: 0;
  background-color: #1a2e27;
  pointer-events: none;
  overflow: hidden
}

.frst .scalesect .topo-lines {
  position: absolute;
  inset: 0;
  opacity: .06;
  pointer-events: none
}

.frst .scalesect .pg-wrap {
  position: relative
}

.frst .scalesect .scale-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: end;
  margin-bottom: 48px
}

.frst .scalesect .scale-label {
  font-size: 13px;
  letter-spacing: .2em;
  color: #7EBAB5;
  font-weight: 700;
  text-transform: uppercase;
  display: block;
  margin-bottom: 12px
}

.frst .scalesect .scale-heading {
  font-size: 27px;
  line-height: 1.15;
  font-weight: 300;
  color: #fff;
  margin: 0;
  letter-spacing: .04em
}

.frst .scalesect .scale-sub {
  font-size: 16px;
  line-height: 1.7;
  color: #a8c8c2
}

.frst .scalesect .metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.frst .scalesect .metric-card {
  background: #ffffff0d;
  border: 1px solid #7ebab526;
  border-radius: 20px;
  padding: 48px 24px;
  text-align: center;
  position: relative;
  transition: background .18s ease-out, border-color .18s ease-out
}

.frst .scalesect .metric-card:hover {
  background: #7ebab51a;
  border-color: #7ebab559
}

.frst .scalesect .metric-card .m-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 13px;
  color: #7EBAB5;
  letter-spacing: .1em;
  font-weight: 600
}

.frst .scalesect .metric-card .m-num {
  font-size: 52px;
  line-height: 1.15;
  font-weight: 800;
  color: #fff;
  display: block;
  letter-spacing: -.02em
}

.frst .scalesect .metric-card .m-unit {
  font-size: 27px;
  color: #7EBAB5;
  font-weight: 300
}

.frst .scalesect .metric-card .m-label {
  font-size: 13px;
  color: #a8c8c2;
  letter-spacing: .12em;
  text-transform: uppercase;
  display: block;
  margin-top: 12px
}

.frst .scalesect .scale-foot {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px
}

.frst .scalesect .foot-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 24px;
  background: #ffffff0a;
  border-radius: 20px;
  padding: 24px;
  border: 1px solid #7ebab51a
}

.frst .scalesect .foot-item i {
  font-size: 22px;
  color: #7EBAB5;
  flex-shrink: 0;
  margin-top: 4px
}

.frst .scalesect .foot-item .fi-body {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.frst .scalesect .foot-item .fi-title {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  line-height: 1.15
}

.frst .scalesect .foot-item .fi-text {
  font-size: 13px;
  color: #a8c8c2;
  line-height: 1.7
}

@media (max-width: 1024px) {
  .frst .pg-wrap {
    padding-left: 24px;
    padding-right: 24px
  }

  .frst .titlblock .pg-wrap {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .frst .titlblock .img-tag {
    left: 12px
  }

  .frst .aprsect .pg-wrap {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .frst .aprsect .left-col {
    position: static
  }

  .frst .invsect .pg-wrap {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .frst .scalesect .scale-top {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .frst .scalesect .metrics-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .frst .scalesect .scale-foot {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .frst .titlblock {
    padding-top: 48px;
    padding-bottom: 48px
  }

  .frst .titlblock .main-heading {
    font-size: 27px
  }

  .frst .aprsect {
    padding-top: 48px;
    padding-bottom: 48px
  }

  .frst .apr-card {
    padding: 24px
  }

  .frst .invsect {
    padding-top: 48px;
    padding-bottom: 48px
  }

  .frst .scalesect {
    padding-top: 48px;
    padding-bottom: 48px
  }

  .frst .scalesect .metrics-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px
  }

  .frst .scalesect .metric-card {
    padding: 24px 12px
  }

  .frst .scalesect .metric-card .m-num {
    font-size: 27px
  }

  .frst .scalesect .metric-card .m-unit {
    font-size: 16px
  }
}

@media (max-width: 375px) {
  .frst .pg-wrap {
    padding-left: 12px;
    padding-right: 12px
  }

  .frst .scalesect .metrics-grid {
    grid-template-columns: 1fr
  }

  .frst .invsect .tier-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px
  }
}

.ctus {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-x: clip
}

.ctus .reach {
  background: #F5F7F6;
  padding: 96px 24px;
  position: relative
}

.ctus .reach::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, #36896f12 1px, transparent 1px);
  background-size: 28px 28px;
  background-position: 0 0, 14px 14px;
  pointer-events: none;
  z-index: 0
}

.ctus .reachInner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 48px;
  align-items: start;
  position: relative;
  z-index: 1
}

.ctus .imgStrip {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative
}

.ctus .imgClip {
  width: 220px;
  height: 220px;
  overflow: hidden;
  clip-path: polygon(0 0, 80% 0, 100% 20%, 100% 100%, 20% 100%, 0 80%);
  border-radius: 8px;
  flex-shrink: 0;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.ctus .imgClip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.ctus .cornerBracket {
  position: absolute;
  width: 32px;
  height: 32px;
  pointer-events: none
}

.ctus .cornerBracket.tl {
  top: -12px;
  left: -12px;
  border-top: 2px solid #36896F;
  border-left: 2px solid #36896F;
  border-radius: 8px 0 0 0
}

.ctus .cornerBracket.br {
  bottom: -12px;
  right: -12px;
  border-bottom: 2px solid #7EBAB5;
  border-right: 2px solid #7EBAB5;
  border-radius: 0 0 8px 0
}

.ctus .liveNum {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 24px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 3px 6px -1px #36896f14
}

.ctus .liveNum span:first-child {
  font-size: 52px;
  line-height: 1.15;
  color: #36896F;
  font-weight: 700;
  letter-spacing: -1px
}

.ctus .liveNum span:last-child {
  font-size: 13px;
  line-height: 1.7;
  color: #3a4a44;
  letter-spacing: .06em;
  text-transform: uppercase
}

.ctus .reachText {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ctus .reachLabel {
  font-size: 13px;
  line-height: 1.15;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #36896F;
  font-weight: 600
}

.ctus .reachH1 {
  font-size: 52px;
  line-height: 1.15;
  font-weight: 800;
  color: #1b2e28;
  margin: 0;
  max-width: 680px
}

.ctus .reachH1 .accentWord {
  display: inline-block;
  position: relative
}

.ctus .reachH1 .accentWord::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 0;
  width: 100%;
  height: 3px;
  background: #36896F;
  border-radius: 8px;
  transition: height .18s cubic-bezier(0.4, 0, 0.6, 1), background .15s ease-out
}

.ctus .reachH1 .accentWord:hover::after {
  height: 6px;
  background: #7EBAB5
}

.ctus .reachDesc {
  font-size: 16px;
  line-height: 1.7;
  color: #3a4a44;
  max-width: 560px;
  margin: 0
}

.ctus .contactCards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 12px
}

.ctus .ccard {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 24px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 3px 6px -1px #36896f14;
  transition: box-shadow .18s ease-out, transform .15s cubic-bezier(0.4, 0, 0.6, 1)
}

.ctus .ccard:hover {
  box-shadow: 0 5px 25px -1px #36896f1c;
  transform: translateY(-2px)
}

.ctus .ccardIcon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: conic-gradient(from 307deg, #36896F, #7EBAB5);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.ctus .ccardIcon i {
  font-size: 18px;
  color: #fff
}

.ctus .ccardBody {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.ctus .ccardLabel {
  font-size: 13px;
  line-height: 1.15;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #7EBAB5;
  font-weight: 600
}

.ctus .ccardVal {
  font-size: 14px;
  line-height: 1.7;
  color: #1b2e28;
  font-weight: 600;
  text-decoration: none;
  transition: color .15s ease-out
}

.ctus .ccardVal:hover {
  color: #36896F
}

.ctus .divCurve {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.ctus .divCurve svg {
  display: block;
  width: 100%
}

.ctus .formBand {
  background: #fff;
  padding: 96px 24px
}

.ctus .formInner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start
}

.ctus .formSide {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ctus .formSideH2 {
  font-size: 27px;
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: .08em;
  color: #1b2e28;
  margin: 0
}

.ctus .formSideH2 strong {
  font-weight: 800;
  display: block;
  font-size: 52px;
  letter-spacing: -.5px;
  color: #36896F
}

.ctus .formSideP {
  font-size: 16px;
  line-height: 1.7;
  color: #3a4a44;
  margin: 0
}

.ctus .mathSymbol {
  font-size: 200px;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1.5px #36896f1f;
  font-weight: 900;
  user-select: none;
  pointer-events: none;
  letter-spacing: -8px;
  margin-top: 24px;
  overflow: hidden
}

.ctus .formWrap {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ctus .formRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.ctus .fgroup {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.ctus .fgroup.full {
  grid-column: 1 / -1
}

.ctus .flabel {
  font-size: 13px;
  line-height: 1.15;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #36896F;
  font-weight: 700
}

.ctus .finput {
  padding: 12px 24px;
  border: 1.5px solid #c8dcd7;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #1b2e28;
  background: #F5F7F6;
  outline: none;
  transition: border-color .18s ease-out, box-shadow .18s ease-out;
  width: 100%;
  box-sizing: border-box;
  text-overflow: ellipsis
}

.ctus .finput::placeholder {
  color: #8aada5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.ctus .finput:focus {
  border-color: #36896F;
  box-shadow: 0 3px 6px -1px #36896f14;
  background: #fff
}

.ctus .fselect {
  padding: 12px 24px;
  border: 1.5px solid #c8dcd7;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #1b2e28;
  background: #F5F7F6;
  outline: none;
  transition: border-color .18s ease-out, box-shadow .18s ease-out;
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  cursor: pointer
}

.ctus .fselect:focus {
  border-color: #36896F;
  box-shadow: 0 3px 6px -1px #36896f14;
  background: #fff
}

.ctus .ftextarea {
  padding: 12px 24px;
  border: 1.5px solid #c8dcd7;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #1b2e28;
  background: #F5F7F6;
  outline: none;
  transition: border-color .18s ease-out, box-shadow .18s ease-out;
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
  min-height: 96px
}

.ctus .ftextarea:focus {
  border-color: #36896F;
  box-shadow: 0 3px 6px -1px #36896f14;
  background: #fff
}

.ctus .privacyRow {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px
}

.ctus .privacyRow input[type="checkbox"] {
  margin-top: 4px;
  accent-color: #36896F;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  cursor: pointer
}

.ctus .privacyText {
  font-size: 13px;
  line-height: 1.7;
  color: #3a4a44
}

.ctus .privacyText a {
  color: #36896F;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .15s ease-out
}

.ctus .privacyText a:hover {
  color: #1b2e28
}

.ctus .submitBtn {
  padding: 12px 48px;
  border: 2px solid #36896F;
  border-radius: 8px;
  background: transparent;
  color: #36896F;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s ease-out, color .15s ease-out, box-shadow .18s ease-out;
  align-self: flex-start
}

.ctus .submitBtn:hover {
  background: #36896F;
  color: #fff;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.ctus .submitBtn:focus {
  outline: 2px solid #36896F;
  outline-offset: 3px
}

.ctus .submitBtn:active {
  background: #2a6e58;
  border-color: #2a6e58;
  color: #fff
}

@keyframes shakeBtn {
  0% {
    transform: translateX(0)
  }

  20% {
    transform: translateX(-6px)
  }

  40% {
    transform: translateX(6px)
  }

  60% {
    transform: translateX(-4px)
  }

  80% {
    transform: translateX(4px)
  }

  100% {
    transform: translateX(0)
  }
}

.ctus .submitBtn:invalid,
.ctus form:invalid .submitBtn:focus {
  animation: shakeBtn .4s cubic-bezier(0.4, 0, 0.6, 1)
}

.ctus .infoGrid {
  background: #2d5248;
  padding: 96px 24px;
  position: relative;
  overflow: hidden
}

.ctus .infoGrid::before {
  content: "";
  position: absolute;
  top: -48px;
  right: -48px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: conic-gradient(from 307deg, #36896f2e, #7ebab51a);
  pointer-events: none
}

.ctus .infoInner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2px 1fr 2px 1fr;
  gap: 48px;
  align-items: start;
  position: relative;
  z-index: 1
}

.ctus .infoDivider {
  width: 2px;
  background: #7ebab533;
  align-self: stretch;
  border-radius: 8px
}

.ctus .infoCol {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ctus .infoColH3 {
  font-size: 13px;
  line-height: 1.15;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #7EBAB5;
  font-weight: 700;
  margin: 0
}

.ctus .infoColP {
  font-size: 16px;
  line-height: 1.7;
  color: #c8dcd7;
  margin: 0
}

.ctus .infoLink {
  font-size: 16px;
  line-height: 1.7;
  color: #c8dcd7;
  text-decoration: none;
  transition: color .15s ease-out
}

.ctus .infoLink:hover {
  color: #7EBAB5
}

.ctus .hoursGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 12px
}

.ctus .hoursDay {
  font-size: 13px;
  line-height: 1.7;
  color: #8aada5;
  letter-spacing: .04em
}

.ctus .hoursTime {
  font-size: 13px;
  line-height: 1.7;
  color: #c8dcd7;
  font-weight: 600
}

.ctus .checkList {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0
}

.ctus .checkList li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.7;
  color: #c8dcd7
}

.ctus .checkList li::before {
  content: "";
  display: block;
  flex-shrink: 0;
  margin-top: 5px
}

.ctus .checkMark {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 4px
}

.ctus .checkMark svg {
  display: block
}

.ctus .seqItem {
  opacity: 0;
  transform: translateY(12px);
  animation: seqFade .2s cubic-bezier(0.4, 0, 0.6, 1) forwards
}

.ctus .seqItem:nth-child(1) {
  animation-delay: .05s
}

.ctus .seqItem:nth-child(2) {
  animation-delay: .1s
}

.ctus .seqItem:nth-child(3) {
  animation-delay: .15s
}

.ctus .seqItem:nth-child(4) {
  animation-delay: .2s
}

.ctus .seqItem:nth-child(5) {
  animation-delay: .25s
}

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

@media (max-width: 1024px) {
  .ctus .reachInner {
    grid-template-columns: 180px 1fr;
    gap: 24px
  }

  .ctus .imgClip {
    width: 180px;
    height: 180px
  }

  .ctus .reachH1 {
    font-size: 27px
  }

  .ctus .formInner {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .ctus .mathSymbol {
    display: none
  }

  .ctus .infoInner {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .ctus .infoDivider {
    display: none
  }
}

@media (max-width: 768px) {
  .ctus .reach {
    padding: 48px 24px
  }

  .ctus .reachInner {
    grid-template-columns: 1fr
  }

  .ctus .imgClip {
    width: 140px;
    height: 140px
  }

  .ctus .reachH1 {
    font-size: 27px
  }

  .ctus .contactCards {
    grid-template-columns: 1fr
  }

  .ctus .formBand {
    padding: 48px 24px
  }

  .ctus .formRow {
    grid-template-columns: 1fr
  }

  .ctus .infoGrid {
    padding: 48px 24px
  }

  .ctus .formSideH2 strong {
    font-size: 27px
  }
}

@media (max-width: 375px) {
  .ctus .reachH1 {
    font-size: 27px
  }

  .ctus .submitBtn {
    padding: 12px 24px;
    width: 100%;
    text-align: center
  }
}

.successPage {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 24px;
  background-color: #F5F7F6
}

.successPage .successWrap {
  max-width: 560px;
  width: 100%;
  background: #fff;
  border-radius: 32px;
  padding: 48px;
  box-shadow: 0 5px 25px -1px #36896f1c;
  text-align: center
}

.successPage .successIcon {
  width: 64px;
  height: 64px;
  margin: 0 auto 24px;
  display: flex;
  align-items: center;
  justify-content: center
}

.successPage .successIcon svg {
  width: 64px;
  height: 64px
}

.successPage .successHeading {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  color: #1b3a30;
  margin-bottom: 12px;
  letter-spacing: -.01em
}

.successPage .successText {
  font-size: 16px;
  line-height: 1.7;
  color: #2d5a4a;
  margin-bottom: 48px
}

.successPage .successDivider {
  width: 48px;
  height: 2px;
  background: #36896F;
  border-radius: 8px;
  margin: 0 auto 48px
}

.successPage .successMeta {
  display: flex;
  flex-direction: row;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 48px
}

.successPage .successMetaItem {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  line-height: 1.15;
  color: #36896F;
  background: #F5F7F6;
  border-radius: 20px;
  padding: 6px 12px;
  letter-spacing: .04em
}

.successPage .successMetaItem svg {
  flex-shrink: 0
}

.successPage .successActions {
  display: flex;
  flex-direction: row;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap
}

.successPage .btnPrimary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.15;
  color: #fff;
  background: #36896F;
  border: 2px solid #36896F;
  border-radius: 8px;
  padding: 12px 24px;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s cubic-bezier(0.4, 0, 0.6, 1), color .18s cubic-bezier(0.4, 0, 0.6, 1);
  box-shadow: 0 3px 6px -1px #36896f14
}

.successPage .btnPrimary:hover,
.successPage .btnPrimary:focus {
  background: #2a6e58;
  border-color: #2a6e58;
  outline: none
}

.successPage .btnPrimary:focus-visible {
  outline: 2px solid #36896F;
  outline-offset: 3px
}

.successPage .btnGhost {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.15;
  color: #36896F;
  background: transparent;
  border: 2px solid #36896F;
  border-radius: 8px;
  padding: 12px 24px;
  cursor: pointer;
  text-decoration: none;
  transition: background .14s ease-out, color .14s ease-out
}

.successPage .btnGhost:hover,
.successPage .btnGhost:focus {
  background: #36896F;
  color: #fff;
  outline: none
}

.successPage .btnGhost:focus-visible {
  outline: 2px solid #36896F;
  outline-offset: 3px
}

.successPage .successNote {
  font-size: 13px;
  line-height: 1.7;
  color: #4a7a6a;
  margin-top: 24px;
  letter-spacing: .02em
}

.successPage .successNote a {
  color: #36896F;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .12s ease-out
}

.successPage .successNote a:hover {
  color: #2a6e58
}

@media (max-width: 768px) {
  .successPage {
    padding: 48px 24px
  }

  .successPage .successWrap {
    padding: 48px 24px
  }

  .successPage .successActions {
    flex-direction: column;
    align-items: stretch
  }

  .successPage .btnPrimary,
  .successPage .btnGhost {
    justify-content: center
  }
}

@media (max-width: 375px) {
  .successPage .successWrap {
    padding: 24px 12px
  }

  .successPage .successHeading {
    font-size: 27px
  }
}

.notFound {
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 96px 24px;
  background-color: #F5F7F6;
  position: relative;
  overflow: hidden
}

.notFound::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 480px;
  height: 480px;
  background: conic-gradient(from 307deg, #36896f12, #7ebab51a, #36896f0a);
  border-radius: 48px;
  pointer-events: none
}

.notFound::after {
  content: "";
  position: absolute;
  bottom: -80px;
  left: -80px;
  width: 320px;
  height: 320px;
  background: conic-gradient(from 307deg, #7ebab514, #36896f0d, #7ebab508);
  border-radius: 48px;
  pointer-events: none
}

.notFound .nfInner {
  max-width: 640px;
  width: 100%;
  text-align: center;
  position: relative;
  z-index: 1
}

.notFound .nfCode {
  font-size: 52px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: #36896F;
  display: block;
  margin-bottom: 6px
}

.notFound .nfDivider {
  width: 48px;
  height: 3px;
  background: linear-gradient(90deg, #36896F, #7EBAB5);
  border-radius: 8px;
  margin: 0 auto 24px
}

.notFound .nfHeading {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b3a30;
  margin-bottom: 24px
}

.notFound .nfBody {
  font-size: 16px;
  line-height: 1.7;
  color: #2e5248;
  margin-bottom: 48px;
  padding: 0 12px
}

.notFound .nfActions {
  display: flex;
  flex-direction: row;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap
}

.notFound .nfBtnPrimary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  color: #36896F;
  background: transparent;
  border: 2px solid #36896F;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  transition: background-color .18s cubic-bezier(0.4, 0, 0.6, 1), color .18s cubic-bezier(0.4, 0, 0.6, 1), box-shadow .22s ease-out;
  box-shadow: 0 3px 6px -1px #36896f14
}

.notFound .nfBtnPrimary:hover {
  background-color: #36896F;
  color: #fff;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.notFound .nfBtnPrimary:focus-visible {
  outline: 3px solid #7EBAB5;
  outline-offset: 3px
}

.notFound .nfBtnSecondary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  color: #7EBAB5;
  background: transparent;
  border: 2px solid #7EBAB5;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  transition: background-color .15s ease-out, color .15s ease-out, box-shadow .2s cubic-bezier(0.4, 0, 0.6, 1);
  box-shadow: 0 3px 6px -1px #7ebab514
}

.notFound .nfBtnSecondary:hover {
  background-color: #7EBAB5;
  color: #fff;
  box-shadow: 0 5px 25px -1px #7ebab51c
}

.notFound .nfBtnSecondary:focus-visible {
  outline: 3px solid #36896F;
  outline-offset: 3px
}

.notFound .nfMeta {
  margin-top: 48px;
  font-size: 13px;
  letter-spacing: .06em;
  color: #4a7a6d;
  line-height: 1.7
}

.notFound .nfMeta a {
  color: #36896F;
  text-decoration: none;
  border-bottom: 1px solid #36896f59;
  transition: border-color .12s ease-out, color .12s ease-out
}

.notFound .nfMeta a:hover {
  color: #1b3a30;
  border-bottom-color: #1b3a30
}

@media (max-width: 768px) {
  .notFound {
    padding: 48px 24px
  }

  .notFound .nfCode {
    font-size: 52px
  }

  .notFound .nfHeading {
    font-size: 27px
  }

  .notFound .nfActions {
    flex-direction: column;
    align-items: center
  }

  .notFound .nfBtnPrimary,
  .notFound .nfBtnSecondary {
    width: 100%;
    max-width: 280px;
    justify-content: center
  }
}

@media (max-width: 375px) {
  .notFound {
    padding: 48px 12px
  }

  .notFound .nfBody {
    padding: 0
  }
}

.mntnc {
  background: #fff;
  overflow-x: clip
}

.mntnc .strip {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 48px
}

.mntnc .titband {
  position: relative;
  padding: 48px 0;
  background: #fff;
  overflow: hidden
}

.mntnc .titband::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(-52deg, transparent, transparent 18px, #36896f0a 18px, #36896f0a 19px);
  pointer-events: none
}

.mntnc .titband .strip {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 48px
}

.mntnc .tittext {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  padding: 24px 0
}

.mntnc .titlabel {
  font-size: 13px;
  letter-spacing: .12em;
  color: #36896F;
  font-weight: 600;
  text-transform: uppercase
}

.mntnc .tith1 {
  font-size: 52px;
  line-height: 1.15;
  font-weight: 800;
  color: #1b3d32;
  margin: 0
}

.mntnc .tith1 span {
  color: #36896F;
  display: inline-block;
  position: relative
}

.mntnc .tith1 span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 3px;
  background: #7EBAB5;
  border-radius: 8px
}

.mntnc .titdesc {
  font-size: 16px;
  line-height: 1.7;
  color: #2c4a41;
  max-width: 520px;
  margin: 0
}

.mntnc .titstatus {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  background: #F5F7F6;
  border-radius: 20px;
  padding: 12px 24px;
  width: fit-content
}

.mntnc .statusdot {
  width: 10px;
  height: 10px;
  border-radius: 48px;
  background: #36896F;
  animation: dotpulse 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  flex-shrink: 0
}

@keyframes dotpulse {

  0%,
  100% {
    opacity: 1
  }

  50% {
    opacity: .35
  }
}

.mntnc .statuslabel {
  font-size: 13px;
  color: #36896F;
  font-weight: 600;
  letter-spacing: .08em
}

.mntnc .titimg {
  width: 260px;
  flex-shrink: 0;
  position: relative;
  border-radius: 20px;
  overflow: hidden
}

.mntnc .titimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.85) contrast(1.06)
}

.mntnc .titimg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: conic-gradient(from 307deg at 60% 40%, #36896f2e, #7ebab51f, transparent 60%);
  pointer-events: none
}

.mntnc .grainlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .45;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.12'/%3E%3C/svg%3E");
  mix-blend-mode: overlay
}

.mntnc .dots {
  position: absolute;
  bottom: 24px;
  left: 24px;
  pointer-events: none
}

.mntnc .dots span {
  position: absolute;
  border-radius: 48px;
  background: #7EBAB5;
  opacity: .22
}

.mntnc .dots span:nth-child(1) {
  width: 6px;
  height: 6px;
  top: 0;
  left: 0
}

.mntnc .dots span:nth-child(2) {
  width: 12px;
  height: 12px;
  top: 10px;
  left: 14px;
  opacity: .14
}

.mntnc .dots span:nth-child(3) {
  width: 8px;
  height: 8px;
  top: 26px;
  left: 2px;
  opacity: .18
}

.mntnc .dots span:nth-child(4) {
  width: 5px;
  height: 5px;
  top: 36px;
  left: 20px;
  opacity: .12
}

.mntnc .svgdiv {
  position: relative;
  height: 48px;
  overflow: hidden;
  pointer-events: none
}

.mntnc .svgdiv svg {
  display: block;
  width: 100%;
  height: 100%
}

.mntnc .infosec {
  padding: 96px 0 48px;
  background: conic-gradient(from 307deg at 50% 50%, #F5F7F6 0%, #fff 40%, #F5F7F6 100%);
  position: relative
}

.mntnc .infosec .strip {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 24px;
  align-items: start
}

.mntnc .infocard {
  background: #fff;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 3px 6px -1px #36896f14;
  transition: box-shadow .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.mntnc .infocard:hover {
  box-shadow: 0 5px 25px -1px #36896f1c
}

.mntnc .infocard.wide {
  padding: 48px
}

.mntnc .cardicon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #F5F7F6;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px
}

.mntnc .cardicon i {
  font-size: 22px;
  color: #36896F
}

.mntnc .cardtitle {
  font-size: 14px;
  font-weight: 700;
  color: #1b3d32;
  margin: 0 0 12px;
  letter-spacing: .04em;
  text-transform: uppercase
}

.mntnc .cardtext {
  font-size: 14px;
  line-height: 1.7;
  color: #3a5a4e;
  margin: 0
}

.mntnc .metricnum {
  font-size: 52px;
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 6px;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0
}

.mntnc .metricnum .intpart {
  color: #36896F
}

.mntnc .metricnum .fracpart {
  color: #7EBAB5;
  font-size: 27px
}

.mntnc .metriclabel {
  font-size: 13px;
  color: #3a5a4e;
  letter-spacing: .06em
}

.mntnc .stepsec {
  padding: 96px 0;
  background: #fff;
  position: relative
}

.mntnc .stepsec .strip {
  display: flex;
  flex-direction: column;
  gap: 48px
}

.mntnc .stepsechead {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px
}

.mntnc .steph2 {
  font-size: 27px;
  font-weight: 300;
  letter-spacing: .08em;
  color: #1b3d32;
  margin: 0;
  line-height: 1.15
}

.mntnc .stepsubtext {
  font-size: 14px;
  line-height: 1.7;
  color: #3a5a4e;
  max-width: 360px;
  margin: 0
}

.mntnc .steplist {
  display: flex;
  flex-direction: row;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 5px 25px -1px #36896f1c
}

.mntnc .stepitem {
  flex: 1 1 0;
  padding: 48px 24px 24px;
  background: #fff;
  border-right: 1px solid #F5F7F6;
  position: relative;
  transition: background .15s cubic-bezier(0.4, 0, 0.6, 1)
}

.mntnc .stepitem:last-child {
  border-right: none
}

.mntnc .stepitem:hover {
  background: #F5F7F6
}

.mntnc .stepnum {
  font-size: 52px;
  font-weight: 800;
  line-height: 1.15;
  color: #F5F7F6;
  position: absolute;
  top: 12px;
  right: 16px;
  pointer-events: none;
  transition: color .15s cubic-bezier(0.4, 0, 0.6, 1)
}

.mntnc .stepitem:hover .stepnum {
  color: #7ebab533
}

.mntnc .stepicon {
  margin-bottom: 12px
}

.mntnc .stepicon i {
  font-size: 27px;
  color: #36896F
}

.mntnc .stepname {
  font-size: 14px;
  font-weight: 700;
  color: #1b3d32;
  margin: 0 0 12px;
  letter-spacing: .04em
}

.mntnc .stepdesc {
  font-size: 13px;
  line-height: 1.7;
  color: #3a5a4e;
  margin: 0
}

.mntnc .fillanim {
  position: relative;
  display: inline-block;
  overflow: hidden;
  border-radius: 8px
}

.mntnc .fillanim::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #36896F;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .18s cubic-bezier(0.4, 0, 0.6, 1);
  border-radius: 8px;
  z-index: 0
}

.mntnc .fillanim:hover::before {
  transform: scaleX(1)
}

.mntnc .fillanim span {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;
  color: #36896F;
  letter-spacing: .06em;
  transition: color .18s cubic-bezier(0.4, 0, 0.6, 1)
}

.mntnc .fillanim:hover span {
  color: #fff
}

.mntnc .svgdiv2 {
  position: relative;
  height: 48px;
  overflow: hidden;
  pointer-events: none
}

.mntnc .svgdiv2 svg {
  display: block;
  width: 100%;
  height: 100%
}

@media (max-width: 1024px) {
  .mntnc .titband .strip {
    gap: 24px
  }

  .mntnc .titimg {
    width: 200px
  }

  .mntnc .tith1 {
    font-size: 27px
  }

  .mntnc .infosec .strip {
    grid-template-columns: 1fr 1fr
  }

  .mntnc .infocard.wide {
    grid-column: 1 / -1;
    padding: 24px
  }

  .mntnc .steplist {
    flex-direction: column;
    border-radius: 20px
  }

  .mntnc .stepitem {
    border-right: none;
    border-bottom: 1px solid #F5F7F6
  }

  .mntnc .stepitem:last-child {
    border-bottom: none
  }

  .mntnc .stepsechead {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px
  }
}

@media (max-width: 768px) {
  .mntnc .strip {
    padding: 0 24px
  }

  .mntnc .titband .strip {
    flex-direction: column
  }

  .mntnc .titimg {
    width: 100%;
    height: 200px
  }

  .mntnc .tith1 {
    font-size: 27px
  }

  .mntnc .infosec {
    padding: 48px 0
  }

  .mntnc .infosec .strip {
    grid-template-columns: 1fr
  }

  .mntnc .infocard.wide {
    grid-column: auto
  }

  .mntnc .stepsec {
    padding: 48px 0
  }

  .mntnc .metricnum {
    font-size: 27px
  }

  .mntnc .metricnum .fracpart {
    font-size: 16px
  }
}

@media (max-width: 375px) {
  .mntnc .strip {
    padding: 0 12px
  }

  .mntnc .tith1 {
    font-size: 27px
  }

  .mntnc .titdesc {
    font-size: 13px
  }
}