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

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  -webkit-text-size-adjust: 100%
}

.util_bar {
  background: #195F1D;
  padding: 8px 40px
}

.util_bar_inner {
  align-items: center;
  display: flex;
  gap: 40px;
  justify-content: flex-end;
  margin: 0 auto;
  max-width: 1400px
}

.util_contact_item {
  align-items: center;
  color: #F2FAF3;
  display: flex;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  gap: 8px;
  letter-spacing: .04em;
  line-height: 1.5;
  text-decoration: none;
  transition: color .12s ease-out
}

.util_contact_item:hover {
  color: #56B175
}

.util_contact_item:focus {
  background: #56b17526;
  border: 1px solid #56B175;
  border-radius: 1px;
  color: #56B175;
  outline: none
}

.util_icon {
  display: inline-block;
  flex-shrink: 0;
  height: 16px;
  width: 16px
}

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

.brand_row {
  background: #F2FAF3;
  border-bottom: 1px solid #195f1d1f;
  box-shadow: inset 0 -1px 2px #195f1d0a;
  padding: 16px 40px
}

.brand_row_inner {
  align-items: center;
  display: flex;
  gap: 40px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1400px
}

.brand_identity {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.brand_logo_box {
  background-color: #1a2e1b;
  border: 1px solid #195f1d4d;
  border-radius: 1px;
  box-shadow: 0 2px 6px 0 #195f1d12 inset 0 1px 2px #195f1d0d;
  display: block;
  height: 80px;
  overflow: hidden;
  padding: 8px;
  width: 80px
}

.brand_logo_box img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%
}

.brand_name_txt {
  color: #195F1D;
  font-family: 'Oxygen', sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.1;
  text-transform: uppercase
}

.brand_tag_txt {
  color: #56B175;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  letter-spacing: .08em;
  line-height: 1.5;
  text-transform: uppercase
}

.brand_divider {
  background: linear-gradient(to bottom, #195F1D, #56B175);
  border-radius: 1px;
  height: 64px;
  opacity: .25;
  width: 1px
}

.brand_meta {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.brand_meta_item {
  color: #195F1D;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  letter-spacing: .03em;
  line-height: 1.5
}

.brand_meta_label {
  color: #56B175;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  margin-right: 8px;
  text-transform: uppercase
}

.nav_row {
  background: #195F1D;
  box-shadow: 0 7px 25px 0 #195f1d1a;
  padding: 0 40px
}

.nav_row_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 auto;
  max-width: 1400px
}

.nav_lnk {
  align-items: center;
  border-bottom: 2px solid transparent;
  color: #F2FAF3;
  display: flex;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.5;
  min-height: 48px;
  padding: 8px 16px;
  text-decoration: none;
  transition: color .1s ease-out, border-color .1s ease-out, background-color .08s linear
}

.nav_lnk:hover {
  background-color: #f2faf314;
  border-bottom-color: #56B175;
  color: #56B175
}

.nav_lnk:focus {
  background-color: #56b17526;
  border-bottom-color: #56B175;
  color: #56B175;
  outline: none
}

.nav_lnk.active {
  border-bottom-color: #56B175;
  color: #56B175;
  font-weight: 700
}

.ft_main {
  background: #111f12;
  padding: 80px 40px 40px
}

.ft_inner {
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 0 auto;
  max-width: 1400px
}

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

.ft_logo_box {
  background-color: #1a2e1b;
  border: 1px solid #56b17540;
  border-radius: 1px;
  box-shadow: 0 2px 6px 0 #56b17512;
  display: block;
  height: 80px;
  overflow: hidden;
  padding: 8px;
  width: 80px
}

.ft_logo_box img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%
}

.ft_brand_name {
  color: #F2FAF3;
  font-family: 'Oxygen', sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.1
}

.ft_brand_desc {
  color: #f2faf3a6;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  line-height: 1.8
}

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

.ft_col_label {
  border-bottom: 1px solid #56b17540;
  color: #56B175;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.5;
  padding-bottom: 8px;
  text-transform: uppercase
}

.ft_lnk_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0
}

.ft_lnk_list li a {
  color: #f2faf3bf;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  transition: color .1s ease-out
}

.ft_lnk_list li a:hover {
  color: #56B175
}

.ft_lnk_list li a:focus {
  background: #56b1751f;
  border: 1px solid #56B175;
  border-radius: 1px;
  color: #56B175;
  outline: none
}

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

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

.ft_contact_list li {
  align-items: flex-start;
  display: flex;
  gap: 8px
}

.ft_contact_icon {
  color: #56B175;
  flex-shrink: 0;
  height: 18px;
  margin-top: 2px;
  width: 18px
}

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

.ft_contact_txt {
  color: #f2faf3bf;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  transition: color .1s ease-out
}

a.ft_contact_txt:hover {
  color: #56B175
}

.ft_bottom {
  background: #0b150c;
  padding: 16px 40px
}

.ft_bottom_inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1400px
}

.ft_copy {
  color: #f2faf373;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  line-height: 1.5
}

.ft_policy_links {
  align-items: center;
  display: flex;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0
}

.ft_policy_links li a {
  color: #f2faf373;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  letter-spacing: .03em;
  line-height: 1.5;
  text-decoration: none;
  transition: color .1s ease-out
}

.ft_policy_links li a:hover {
  color: #56B175
}

.ft_policy_links li a:focus {
  background: #56b1751f;
  border: 1px solid #56B175;
  border-radius: 1px;
  color: #56B175;
  outline: none
}

.ft_sep {
  background: #f2faf333;
  display: inline-block;
  height: 12px;
  width: 1px
}

.consent_strip {
  background: #fff;
  border-bottom: 1px solid #195f1d26;
  border-radius: 1px;
  box-shadow: 0 7px 25px 0 #195f1d1a;
  display: none;
  font-family: 'Oxygen', sans-serif;
  left: 0;
  max-width: 480px;
  padding: 16px 40px 16px 16px;
  position: fixed;
  top: 0;
  transform: translateY(-110%);
  transition: transform .32s ease-out;
  z-index: 8000
}

.consent_strip.visible {
  transform: translateY(0)
}

.consent_desc {
  color: #195F1D;
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 16px
}

.consent_uses {
  color: #195F1D;
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 16px;
  padding-left: 16px
}

.consent_uses li {
  margin-bottom: 8px
}

.consent_actions {
  align-items: center;
  display: flex;
  gap: 16px
}

.consent_accept_btn {
  background: transparent;
  border: 1px solid #195F1D;
  border-radius: 1px;
  color: #195F1D;
  cursor: pointer;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .05em;
  min-height: 44px;
  padding: 8px 16px;
  text-transform: uppercase;
  transition: background-color .1s ease-out, color .1s ease-out
}

.consent_accept_btn:hover {
  background-color: #195F1D;
  color: #F2FAF3
}

.consent_accept_btn:focus {
  background-color: #195f1d14;
  border-color: #56B175;
  color: #195F1D;
  outline: none
}

.consent_decline_lnk {
  color: #195f1da6;
  cursor: pointer;
  font-family: 'Oxygen', sans-serif;
  font-size: 15px;
  min-height: 44px;
  padding: 8px;
  text-decoration: underline;
  transition: color .1s ease-out
}

.consent_decline_lnk:hover {
  color: #195F1D
}

.consent_decline_lnk:focus {
  background: #195f1d0f;
  border: 1px solid #56B175;
  border-radius: 1px;
  color: #195F1D;
  outline: none
}

.consent_policy_ref {
  border-top: 1px solid #195f1d1a;
  color: #195f1d8c;
  font-size: 15px;
  line-height: 1.5;
  margin-top: 16px;
  padding-top: 8px
}

.consent_policy_ref a {
  color: #195F1D;
  text-decoration: underline;
  transition: color .1s ease-out
}

.consent_policy_ref a:hover {
  color: #56B175
}

@media (max-width: 992px) {
  .util_bar {
    padding: 8px 16px
  }

  .util_bar_inner {
    gap: 16px;
    justify-content: center
  }

  .brand_row {
    padding: 16px
  }

  .brand_row_inner {
    flex-wrap: wrap;
    gap: 16px
  }

  .brand_divider {
    display: none
  }

  .nav_row {
    padding: 0 16px
  }

  .nav_lnk {
    font-size: 15px;
    padding: 8px
  }

  .ft_main {
    padding: 40px 16px
  }

  .ft_inner {
    grid-template-columns: 1fr 1fr
  }

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

  .ft_bottom {
    padding: 16px
  }
}

@media (max-width: 576px) {
  .util_bar_inner {
    flex-direction: column;
    gap: 8px
  }

  .brand_row_inner {
    flex-direction: column
  }

  .nav_row_inner {
    justify-content: flex-start
  }

  .nav_lnk {
    padding: 8px
  }

  .ft_inner {
    grid-template-columns: 1fr
  }

  .ft_bottom_inner {
    flex-direction: column;
    text-align: center
  }

  .consent_strip {
    max-width: 100%
  }
}

@media (min-width: 1200px) {
  .nav_lnk {
    padding: 8px 16px
  }
}

.legal-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 80px 40px;
  color: #2a2a2a;
  line-height: 1.8;
  font-size: 15px
}

.legal-wrapper h1 {
  font-size: 68px;
  line-height: 1.1;
  color: #195F1D;
  margin-bottom: 40px;
  margin-top: 0;
  letter-spacing: -.5px
}

.legal-wrapper h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #195F1D;
  margin-top: 80px;
  margin-bottom: 40px;
  padding-bottom: 16px;
  border-bottom: 1px solid #56B175
}

.legal-wrapper h3 {
  font-size: 28px;
  line-height: 1.5;
  color: #195F1D;
  margin-top: 40px;
  margin-bottom: 16px
}

.legal-wrapper h4 {
  font-size: 22px;
  line-height: 1.5;
  color: #195F1D;
  margin-top: 40px;
  margin-bottom: 16px;
  letter-spacing: .02em
}

.legal-wrapper h5 {
  font-size: 15px;
  line-height: 1.5;
  color: #195F1D;
  margin-top: 40px;
  margin-bottom: 8px;
  letter-spacing: .08em;
  text-transform: uppercase
}

.legal-wrapper h6 {
  font-size: 15px;
  line-height: 1.5;
  color: #56B175;
  margin-top: 16px;
  margin-bottom: 8px;
  letter-spacing: .12em;
  text-transform: uppercase
}

.legal-wrapper ul,
.legal-wrapper ol {
  margin-top: 16px;
  margin-bottom: 16px;
  padding-left: 40px
}

.legal-wrapper ul {
  list-style: none;
  padding-left: 16px
}

.legal-wrapper ul li {
  padding-left: 16px;
  position: relative
}

.legal-wrapper ul li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #56B175;
  border-radius: 1px;
  position: absolute;
  left: 0;
  top: .65em;
  transform: translateY(-50%)
}

.legal-wrapper ol {
  list-style: decimal
}

.legal-wrapper ol li::marker {
  color: #195F1D;
  font-size: 15px
}

.legal-wrapper li {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 8px;
  color: #2a2a2a
}

.legal-wrapper ul ul,
.legal-wrapper ol ol,
.legal-wrapper ul ol,
.legal-wrapper ol ul {
  margin-top: 8px;
  margin-bottom: 8px
}

.legal-wrapper strong,
.legal-wrapper b {
  color: #195F1D;
  font-weight: 700
}

.legal-wrapper a {
  color: #195F1D;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .1s ease-out, text-decoration-color .08s linear
}

.legal-wrapper a:hover {
  color: #56B175;
  text-decoration-color: #56B175
}

.legal-wrapper a:visited {
  color: #195F1D;
  opacity: .8
}

.legal-wrapper table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 15px;
  box-shadow: 0 2px 6px 0 #195f1d12;
  border-radius: 1px;
  overflow: hidden
}

.legal-wrapper thead {
  background-color: #195F1D
}

.legal-wrapper thead th {
  color: #fff;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 16px;
  text-align: left;
  font-weight: 700;
  line-height: 1.5;
  border: none
}

.legal-wrapper tbody tr {
  border-bottom: 1px solid #F2FAF3;
  transition: background-color .1s ease-out
}

.legal-wrapper tbody tr:nth-child(even) {
  background-color: #F2FAF3
}

.legal-wrapper tbody tr:hover {
  background-color: #e8f5ea
}

.legal-wrapper td {
  padding: 16px;
  color: #2a2a2a;
  line-height: 1.8;
  vertical-align: top;
  border: none
}

.legal-wrapper th {
  padding: 16px;
  line-height: 1.5;
  vertical-align: top
}

.legal-wrapper hr {
  border: none;
  border-top: 1px solid #56B175;
  margin-top: 80px;
  margin-bottom: 80px;
  opacity: .35
}

.legal-wrapper div {
  line-height: 1.8
}

@media (max-width: 1200px) {
  .legal-wrapper {
    padding: 80px 40px
  }

  .legal-wrapper h1 {
    font-size: 52px
  }

  .legal-wrapper h2 {
    font-size: 52px
  }
}

@media (max-width: 992px) {
  .legal-wrapper {
    padding: 80px 40px
  }

  .legal-wrapper h1 {
    font-size: 52px
  }

  .legal-wrapper h2 {
    font-size: 28px;
    margin-top: 40px
  }

  .legal-wrapper h3 {
    font-size: 22px
  }

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

@media (max-width: 576px) {
  .legal-wrapper {
    padding: 40px 16px
  }

  .legal-wrapper h1 {
    font-size: 28px
  }

  .legal-wrapper h2 {
    font-size: 22px;
    margin-top: 40px;
    margin-bottom: 16px
  }

  .legal-wrapper h3 {
    font-size: 22px
  }

  .legal-wrapper h4 {
    font-size: 15px
  }

  .legal-wrapper hr {
    margin-top: 40px;
    margin-bottom: 40px
  }

  .legal-wrapper ul,
  .legal-wrapper ol {
    padding-left: 16px
  }
}

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

.ssd_pg .art_hero {
  padding: 80px 40px;
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 80px;
  align-items: start
}

.ssd_pg .art_hero_txt {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.ssd_pg .art_meta_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.ssd_pg .art_date_tag {
  font-size: 15px;
  line-height: 1.5;
  color: #195F1D;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid #195F1D;
  padding: 8px 16px;
  border-radius: 1px;
  display: inline-block
}

.ssd_pg .art_sep_diamond {
  width: 6px;
  height: 6px;
  background: #56B175;
  transform: rotate(45deg);
  flex-shrink: 0
}

.ssd_pg .art_cat_label {
  font-size: 15px;
  line-height: 1.5;
  color: #56B175;
  letter-spacing: .06em;
  text-transform: uppercase
}

.ssd_pg .art_heading {
  font-size: 52px;
  line-height: 1.1;
  color: #111;
  text-shadow: 0 2px 6px #195f1d12;
  margin: 0;
  animation: art_reveal .12s ease-out both
}

@keyframes art_reveal {
  from {
    opacity: 0;
    transform: rotate(-0.8deg) translateY(16px)
  }

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

.ssd_pg .art_lead_txt {
  font-size: 22px;
  line-height: 1.5;
  color: #2e2e2e;
  margin: 0
}

.ssd_pg .art_hero_img_col {
  position: relative;
  animation: art_reveal .15s ease-out .08s both
}

.ssd_pg .art_img_frame {
  border-radius: 22px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  box-shadow: 0 8px 60px 0 #195f1d21;
  position: relative
}

.ssd_pg .art_img_frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  animation: img_zoom_cycle 18s ease-in-out infinite
}

@keyframes img_zoom_cycle {

  0%,
  100% {
    transform: scale(1)
  }

  50% {
    transform: scale(1.06)
  }
}

.ssd_pg .art_img_overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #195f1d2e 0%, #56b17514 100%);
  mix-blend-mode: multiply;
  pointer-events: none
}

.ssd_pg .art_img_noise {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  border-radius: 22px
}

.ssd_pg .art_img_border_top {
  position: absolute;
  top: -8px;
  left: 16px;
  right: 16px;
  height: 2px;
  background: linear-gradient(90deg, #195F1D 0%, #56B175 100%);
  border-radius: 1px
}

.ssd_pg .art_img_border_bot {
  position: absolute;
  bottom: -8px;
  left: 16px;
  right: 16px;
  height: 2px;
  background: linear-gradient(90deg, #56B175 0%, #195F1D 100%);
  border-radius: 1px
}

.ssd_pg .art_divider_line {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px
}

.ssd_pg .art_divider_line .ln {
  flex: 1;
  height: 1px;
  background: #d4e8d5
}

.ssd_pg .art_divider_line .lbl {
  font-size: 15px;
  line-height: 1.5;
  color: #56B175;
  letter-spacing: .1em;
  text-transform: uppercase
}

.ssd_pg .art_body_wrap {
  background: #F2FAF3;
  padding: 80px 40px;
  position: relative
}

.ssd_pg .art_body_wrap::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #195F1D 0%, #56B175 60%, #F2FAF3 100%)
}

.ssd_pg .art_body_wrap::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #F2FAF3 0%, #56B175 40%, #195F1D 100%)
}

.ssd_pg .art_body_inner {
  max-width: 860px;
  margin: 0 auto;
  animation: art_reveal .12s ease-out .05s both
}

.ssd_pg .art_body_inner p {
  font-size: 15px;
  line-height: 1.8;
  color: #222;
  margin: 0 0 16px
}

.ssd_pg .art_body_inner h2 {
  font-size: 28px;
  line-height: 1.1;
  color: #195F1D;
  text-shadow: 0 2px 6px #195f1d12;
  margin: 40px 0 16px
}

.ssd_pg .art_body_inner strong {
  color: #195F1D;
  font-weight: 700
}

.ssd_pg .art_body_inner em {
  color: #2e2e2e;
  font-style: italic
}

.ssd_pg .art_body_inner ul {
  margin: 16px 0;
  padding: 0 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ssd_pg .art_body_inner li {
  font-size: 15px;
  line-height: 1.8;
  color: #222;
  padding-left: 8px
}

.ssd_pg .art_body_inner blockquote {
  margin: 40px 0;
  padding: 16px 40px;
  border-top: 2px solid #195F1D;
  border-bottom: 2px solid #195F1D;
  background: #fff;
  border-radius: 1px;
  box-shadow: 0 7px 25px 0 #195f1d1a
}

.ssd_pg .art_body_inner blockquote p {
  font-size: 22px;
  line-height: 1.5;
  color: #195F1D;
  font-style: italic;
  margin: 0 0 8px
}

.ssd_pg .art_body_inner cite {
  font-size: 15px;
  line-height: 1.5;
  color: #56B175;
  letter-spacing: .06em;
  font-style: normal;
  text-transform: uppercase
}

.ssd_pg .art_divider_tri {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px
}

.ssd_pg .art_divider_tri .ln {
  flex: 1;
  height: 1px;
  background: #c8e0ca
}

.ssd_pg .art_divider_tri .tri {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 10px solid #56B175
}

.ssd_pg .art_cta_strip {
  padding: 80px 40px;
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center
}

.ssd_pg .art_cta_left {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ssd_pg .art_cta_heading {
  font-size: 28px;
  line-height: 1.1;
  color: #111;
  text-shadow: 0 2px 6px #195f1d12;
  margin: 0
}

.ssd_pg .art_cta_desc {
  font-size: 15px;
  line-height: 1.8;
  color: #2e2e2e;
  margin: 0
}

.ssd_pg .art_cta_right {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start
}

.ssd_pg .art_btn_primary {
  display: inline-block;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #195F1D;
  border: 2px solid #195F1D;
  padding: 16px 40px;
  border-radius: 1px;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .1s ease-out, color .1s ease-out;
  position: relative;
  overflow: hidden
}

.ssd_pg .art_btn_primary:hover,
.ssd_pg .art_btn_primary:focus {
  background: #195F1D;
  color: #fff;
  outline: none
}

.ssd_pg .art_btn_primary:active {
  background: #0d3d10;
  border-color: #0d3d10;
  color: #fff
}

.ssd_pg .art_btn_secondary {
  display: inline-block;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #56B175;
  border: 2px solid #56B175;
  padding: 16px 40px;
  border-radius: 1px;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .13s linear, color .13s linear
}

.ssd_pg .art_btn_secondary:hover,
.ssd_pg .art_btn_secondary:focus {
  background: #56B175;
  color: #fff;
  outline: none
}

.ssd_pg .art_btn_secondary:active {
  background: #3a8a56;
  border-color: #3a8a56;
  color: #fff
}

.ssd_pg .art_metrics_row {
  display: flex;
  flex-direction: row;
  gap: 40px;
  padding: 40px;
  background: #F2FAF3;
  border-radius: 22px;
  box-shadow: inset 0 1px 2px #195f1d12
}

.ssd_pg .art_metric {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  align-items: center;
  text-align: center
}

.ssd_pg .art_metric_num {
  font-size: 52px;
  line-height: 1.1;
  color: #195F1D;
  font-weight: 700;
  text-shadow: 0 2px 6px #195f1d1a
}

.ssd_pg .art_metric_lbl {
  font-size: 15px;
  line-height: 1.5;
  color: #56B175;
  letter-spacing: .07em;
  text-transform: uppercase
}

.ssd_pg .art_metric_sep {
  width: 1px;
  background: #c8e0ca;
  align-self: stretch
}

@media (max-width: 992px) {
  .ssd_pg .art_hero {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 16px 80px
  }

  .ssd_pg .art_hero_img_col {
    max-width: 420px
  }

  .ssd_pg .art_heading {
    font-size: 28px
  }

  .ssd_pg .art_cta_strip {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 80px 16px
  }

  .ssd_pg .art_metrics_row {
    flex-direction: column;
    gap: 16px
  }

  .ssd_pg .art_metric_sep {
    width: 100%;
    height: 1px;
    align-self: auto
  }

  .ssd_pg .art_body_wrap {
    padding: 40px 16px
  }

  .ssd_pg .art_divider_line,
  .ssd_pg .art_divider_tri {
    padding: 0 16px
  }
}

@media (max-width: 576px) {
  .ssd_pg .art_heading {
    font-size: 22px
  }

  .ssd_pg .art_lead_txt {
    font-size: 15px
  }

  .ssd_pg .art_body_inner h2 {
    font-size: 22px
  }

  .ssd_pg .art_body_inner blockquote p {
    font-size: 15px
  }

  .ssd_pg .art_cta_heading {
    font-size: 22px
  }

  .ssd_pg .art_metric_num {
    font-size: 28px
  }

  .ssd_pg .art_hero {
    padding: 40px 16px
  }

  .ssd_pg .art_cta_strip {
    padding: 40px 16px
  }

  .ssd_pg .art_meta_row {
    flex-wrap: wrap
  }
}

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

.cont_us .pg_wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px
}

.cont_us .sec_divider {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 40px 0;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px
}

.cont_us .sec_divider .div_line {
  flex: 1;
  height: 1px;
  background: #195F1D;
  opacity: .18
}

.cont_us .sec_divider .div_num {
  font-size: 15px;
  letter-spacing: .18em;
  color: #195F1D;
  opacity: .55;
  padding: 0 8px
}

.cont_us .sec_divider_alt {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 40px;
  max-width: 1400px;
  margin: 0 auto
}

.cont_us .sec_divider_alt .div_line {
  flex: 1;
  height: 1px;
  background: #56B175;
  opacity: .22
}

.cont_us .sec_divider_alt .div_num {
  font-size: 15px;
  letter-spacing: .18em;
  color: #56B175;
  padding: 0 8px
}

.cont_us .reach_blk {
  background: linear-gradient(112deg, #195F1D 0%, #56B175 100%);
  padding: 80px 0;
  position: relative;
  overflow: hidden
}

.cont_us .reach_blk::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 340px;
  height: 340px;
  border: 1px dashed #f2faf32e;
  border-radius: 50%;
  pointer-events: none
}

.cont_us .reach_blk::after {
  content: "";
  position: absolute;
  bottom: -80px;
  left: 10%;
  width: 500px;
  height: 500px;
  border: 1px dashed #f2faf31a;
  border-radius: 50%;
  pointer-events: none
}

.cont_us .reach_inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  align-items: start
}

.cont_us .reach_lead {
  grid-column: 1 / 2
}

.cont_us .reach_lead .reach_label {
  display: inline-block;
  font-size: 15px;
  letter-spacing: .2em;
  color: #f2faf3b3;
  text-transform: uppercase;
  border: 1px solid #f2faf34d;
  padding: 8px 16px;
  border-radius: 1px;
  margin-bottom: 16px
}

.cont_us .reach_lead h1 {
  font-size: 52px;
  line-height: 1.1;
  color: #F2FAF3;
  margin: 0 0 16px;
  text-shadow: 0 2px 6px #195f1d40
}

.cont_us .reach_lead .reach_desc {
  font-size: 15px;
  line-height: 1.8;
  color: #f2faf3d1;
  margin: 0
}

.cont_us .reach_cards {
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.cont_us .reach_card {
  background: #f2faf314;
  border: 1px solid #f2faf326;
  border-radius: 1px;
  padding: 40px;
  box-shadow: 0 7px 25px 0 #195f1d1a
}

.cont_us .reach_card .rc_icon {
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center
}

.cont_us .reach_card .rc_icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: #F2FAF3;
  stroke-width: 1.5
}

.cont_us .reach_card .rc_lbl {
  font-size: 15px;
  letter-spacing: .12em;
  color: #f2faf38c;
  text-transform: uppercase;
  margin: 0 0 8px
}

.cont_us .reach_card .rc_val {
  font-size: 22px;
  line-height: 1.5;
  color: #F2FAF3;
  margin: 0;
  word-break: break-word
}

.cont_us .reach_card .rc_val a {
  color: #F2FAF3;
  text-decoration: none;
  border-bottom: 1px solid #f2faf34d;
  transition: border-color .1s ease-out
}

.cont_us .reach_card .rc_val a:hover {
  border-bottom-color: #F2FAF3
}

.cont_us .reach_card .rc_sub {
  font-size: 15px;
  line-height: 1.5;
  color: #f2faf38c;
  margin: 8px 0 0
}

.cont_us .form_sec {
  background: #fff;
  padding: 80px 0;
  position: relative
}

.cont_us .form_sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, #F2FAF3 0%, #fff 60%);
  pointer-events: none
}

.cont_us .form_inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
  position: relative
}

.cont_us .form_aside {
  position: relative
}

.cont_us .form_aside .fa_num {
  font-size: 68px;
  line-height: 1.1;
  color: #195F1D;
  opacity: .07;
  margin: 0 0 8px;
  display: block
}

.cont_us .form_aside h2 {
  font-size: 28px;
  line-height: 1.5;
  color: #195F1D;
  margin: 0 0 16px;
  text-shadow: 1px 1px 0 #195f1d14
}

.cont_us .form_aside .fa_accent {
  width: 40px;
  height: 2px;
  background: #56B175;
  margin: 0 0 16px
}

.cont_us .form_aside .fa_desc {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
  margin: 0 0 40px
}

.cont_us .form_aside .fa_note {
  font-size: 15px;
  line-height: 1.5;
  color: #195F1D;
  border: 1px solid #195f1d33;
  border-radius: 1px;
  padding: 16px;
  background: #f2faf399
}

.cont_us .form_aside .dashed_path {
  position: absolute;
  right: -40px;
  top: 80px;
  width: 1px;
  height: 200px;
  border-right: 1px dashed #56b17559;
  pointer-events: none
}

.cont_us .form_aside .dashed_path::before {
  content: "";
  position: absolute;
  top: 0;
  right: -4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #56B175;
  opacity: .5
}

.cont_us .form_aside .dashed_path::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #56B175;
  opacity: .5
}

.cont_us .frm_body {
  position: relative
}

.cont_us .frm_body form {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.cont_us .fld_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.cont_us .fld_grp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont_us .fld_grp label {
  font-size: 15px;
  letter-spacing: .1em;
  color: #195F1D;
  text-transform: uppercase
}

.cont_us .fld_grp input[type="text"],
.cont_us .fld_grp input[type="email"],
.cont_us .fld_grp input[type="tel"],
.cont_us .fld_grp select,
.cont_us .fld_grp textarea {
  width: 100%;
  padding: 16px;
  border: 1px solid #195f1d33;
  border-radius: 1px;
  font-size: 15px;
  line-height: 1.5;
  color: #1e3320;
  background: #fff;
  box-shadow: inset 0 1px 2px #195f1d0d;
  transition: border-color .12s ease-out, box-shadow .12s ease-out;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  -webkit-appearance: none
}

.cont_us .fld_grp input::placeholder,
.cont_us .fld_grp textarea::placeholder {
  color: #195f1d59;
  text-transform: uppercase;
  font-size: 15px;
  letter-spacing: .08em
}

.cont_us .fld_grp input:focus,
.cont_us .fld_grp select:focus,
.cont_us .fld_grp textarea:focus {
  border-color: #56B175;
  box-shadow: inset 0 1px 2px #195f1d0d 0 0 0 2px #56b1751f
}

.cont_us .fld_grp select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23195F1D' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px
}

.cont_us .fld_grp textarea {
  resize: vertical;
  min-height: 120px
}

.cont_us .cond_toggle {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #F2FAF3;
  border-radius: 1px;
  border: 1px solid #195f1d1f
}

.cont_us .cond_toggle label {
  font-size: 15px;
  color: #195F1D;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px
}

.cont_us .cond_toggle input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #195F1D;
  cursor: pointer;
  flex-shrink: 0
}

.cont_us .cond_fields {
  display: none;
  flex-direction: column;
  gap: 16px
}

.cont_us .cond_check:checked~.cond_fields {
  display: flex !important
}

.cont_us .topic_grp {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont_us .topic_grp label {
  font-size: 15px;
  letter-spacing: .1em;
  color: #195F1D;
  text-transform: uppercase
}

.cont_us .privacy_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0
}

.cont_us .privacy_row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #195F1D;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px
}

.cont_us .privacy_row .prv_txt {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a
}

.cont_us .privacy_row .prv_txt a {
  color: #195F1D;
  text-decoration: underline;
  text-underline-offset: 2px
}

.cont_us .privacy_row .prv_txt a:hover {
  color: #56B175
}

.cont_us .submit_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.cont_us .btn_submit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 40px;
  border: 1px solid #195F1D;
  border-radius: 1px;
  background: transparent;
  color: #195F1D;
  font-size: 15px;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .1s ease-out, color .1s ease-out;
  position: relative;
  overflow: hidden
}

.cont_us .btn_submit:hover {
  background: #195F1D;
  color: #F2FAF3
}

.cont_us .btn_submit:focus {
  outline: 2px solid #56B175;
  outline-offset: 2px
}

.cont_us .btn_submit:active {
  background: #56B175;
  border-color: #56B175;
  color: #fff
}

.cont_us .btn_submit .btn_chk {
  display: none;
  width: 16px;
  height: 16px
}

.cont_us .btn_submit:active .btn_chk {
  display: inline-block
}

.cont_us .submit_note {
  font-size: 15px;
  color: #195f1d80;
  line-height: 1.5
}

.cont_us .addr_sec {
  background: #F2FAF3;
  padding: 80px 0;
  position: relative;
  overflow: hidden
}

.cont_us .addr_sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, #56b17514 0%, transparent 55%);
  pointer-events: none
}

.cont_us .addr_inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 80px;
  align-items: start;
  position: relative
}

.cont_us .addr_img_wrap {
  position: relative;
  border-radius: 1px;
  overflow: hidden;
  box-shadow: 0 8px 60px 0 #195f1d21
}

.cont_us .addr_img_wrap img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  opacity: .18
}

.cont_us .addr_img_overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #195f1dd9 0%, #56b17599 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 40px
}

.cont_us .addr_img_overlay .aio_lbl {
  font-size: 15px;
  letter-spacing: .2em;
  color: #f2faf3a6;
  text-transform: uppercase;
  margin: 0 0 8px
}

.cont_us .addr_img_overlay h3 {
  font-size: 28px;
  line-height: 1.5;
  color: #F2FAF3;
  margin: 0 0 16px;
  text-shadow: 0 2px 6px #195f1d4d
}

.cont_us .addr_img_overlay .aio_addr {
  font-size: 15px;
  line-height: 1.8;
  color: #f2faf3d1;
  margin: 0
}

.cont_us .addr_details {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.cont_us .addr_details h2 {
  font-size: 28px;
  line-height: 1.5;
  color: #195F1D;
  margin: 0 0 8px;
  text-shadow: 1px 1px 0 #195f1d12
}

.cont_us .addr_details .ad_accent {
  width: 40px;
  height: 2px;
  background: #56B175;
  margin: 0 0 16px
}

.cont_us .addr_details .ad_desc {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
  margin: 0
}

.cont_us .addr_detail_list {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.cont_us .adl_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 1px;
  border: 1px solid #195f1d1a;
  box-shadow: 0 2px 6px 0 #195f1d12
}

.cont_us .adl_item .adl_ico {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F2FAF3;
  border-radius: 1px
}

.cont_us .adl_item .adl_ico svg {
  width: 20px;
  height: 20px;
  stroke: #195F1D;
  fill: none;
  stroke-width: 1.5
}

.cont_us .adl_item .adl_txt {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.cont_us .adl_item .adl_txt .adl_key {
  font-size: 15px;
  letter-spacing: .1em;
  color: #195f1d8c;
  text-transform: uppercase;
  margin: 0
}

.cont_us .adl_item .adl_txt .adl_v {
  font-size: 15px;
  line-height: 1.5;
  color: #1e3320;
  margin: 0
}

.cont_us .adl_item .adl_txt .adl_v a {
  color: #195F1D;
  text-decoration: none;
  border-bottom: 1px solid #195f1d40;
  transition: border-color .1s ease-out
}

.cont_us .adl_item .adl_txt .adl_v a:hover {
  border-bottom-color: #195F1D
}

.cont_us .addr_img_wrap2 {
  border-radius: 1px;
  overflow: hidden;
  box-shadow: 0 7px 25px 0 #195f1d1a;
  margin-top: 40px
}

.cont_us .addr_img_wrap2 img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  opacity: .22;
  filter: grayscale(30%)
}

@media (max-width: 992px) {
  .cont_us .reach_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .cont_us .reach_lead {
    grid-column: 1 / 2
  }

  .cont_us .reach_cards {
    grid-column: 1 / 2;
    grid-template-columns: 1fr 1fr
  }

  .cont_us .form_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .cont_us .form_aside .dashed_path {
    display: none
  }

  .cont_us .addr_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .cont_us .fld_row {
    grid-template-columns: 1fr
  }
}

@media (max-width: 576px) {
  .cont_us .pg_wrap {
    padding: 0 16px
  }

  .cont_us .reach_inner {
    padding: 0 16px
  }

  .cont_us .reach_lead h1 {
    font-size: 28px
  }

  .cont_us .reach_cards {
    grid-template-columns: 1fr
  }

  .cont_us .reach_card {
    padding: 16px
  }

  .cont_us .form_inner {
    padding: 0 16px
  }

  .cont_us .addr_inner {
    padding: 0 16px
  }

  .cont_us .sec_divider {
    padding-left: 16px;
    padding-right: 16px
  }

  .cont_us .sec_divider_alt {
    padding: 40px 16px
  }

  .cont_us .submit_row {
    flex-direction: column;
    align-items: flex-start
  }
}

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

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

.tech-req {
  overflow-x: hidden
}

.tech-req .pg-top {
  padding: 80px 40px;
  background: #fff;
  position: relative
}

.tech-req .pg-top::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(120deg, #195F1D 0%, #56B175 100%)
}

.tech-req .pg-top-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 40px
}

.tech-req .pg-lbl {
  display: inline-block;
  border: 1px solid #195F1D;
  color: #195F1D;
  font-size: 15px;
  letter-spacing: .12em;
  padding: 8px 16px;
  border-radius: 1px;
  text-transform: uppercase
}

.tech-req .pg-hdg {
  font-size: 52px;
  line-height: 1.1;
  color: #111;
  text-shadow: 0 2px 6px #195f1d12;
  max-width: 760px;
  margin: 0
}

.tech-req .pg-hdg span {
  color: #195F1D
}

.tech-req .pg-sub {
  font-size: 22px;
  line-height: 1.5;
  color: #3a3a3a;
  max-width: 620px;
  margin: 0
}

.tech-req .pg-top-shapes {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none
}

.tech-req .pg-top-shapes .shp-a {
  position: absolute;
  top: 16px;
  right: 80px;
  width: 120px;
  height: 120px;
  border: 1px solid #56b1752e;
  border-radius: 1px;
  transform: rotate(18deg)
}

.tech-req .pg-top-shapes .shp-b {
  position: absolute;
  bottom: 40px;
  left: 40px;
  width: 80px;
  height: 80px;
  border: 1px solid #195f1d1f;
  border-radius: 1px;
  transform: rotate(-12deg)
}

.tech-req .pg-top-shapes .shp-c {
  position: absolute;
  top: 40px;
  left: 80px;
  width: 48px;
  height: 48px;
  border: 1px solid #56b17524;
  border-radius: 22px
}

.tech-req .pg-img-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: stretch;
  width: 100%;
  max-width: 860px
}

.tech-req .pg-img-wrap {
  flex: 1 1 0;
  position: relative;
  border-radius: 1px;
  overflow: hidden;
  aspect-ratio: 1/1
}

.tech-req .pg-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .12s ease-out
}

.tech-req .pg-img-wrap:hover img {
  transform: scale(1.03)
}

.tech-req .pg-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 2px solid transparent;
  border-radius: 1px;
  transition: border-color .1s linear;
  pointer-events: none
}

.tech-req .pg-img-wrap:hover::after {
  border-color: #56B175
}

.tech-req .pg-img-wrap .img-grad {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(to bottom, #195f1d61 0%, transparent 100%);
  pointer-events: none
}

.tech-req .pg-img-wrap.large {
  flex: 2 1 0
}

.tech-req .divider-asym {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px
}

.tech-req .divider-asym .d-long {
  flex: 5 1 0;
  height: 1px;
  background: #195F1D;
  opacity: .18
}

.tech-req .divider-asym .d-short {
  flex: 1 1 0;
  height: 1px;
  background: #56B175;
  opacity: .32
}

.tech-req .req-grid-sec {
  background: #F2FAF3;
  padding: 80px 40px;
  position: relative
}

.tech-req .req-grid-sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: #fff;
  z-index: 0;
  pointer-events: none
}

.tech-req .req-grid-inner {
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.tech-req .req-grid-top {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px
}

.tech-req .req-grid-hdg {
  font-size: 28px;
  line-height: 1.1;
  color: #111;
  text-shadow: 1px 1px 0 #195f1d14;
  margin: 0;
  max-width: 480px
}

.tech-req .req-grid-note {
  font-size: 15px;
  line-height: 1.5;
  color: #3a3a3a;
  max-width: 340px;
  margin: 0;
  text-align: right
}

.tech-req .req-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.tech-req .req-card {
  background: #fff;
  border-radius: 1px;
  padding: 40px;
  box-shadow: 0 7px 25px 0 #195f1d1a;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  transition: box-shadow .1s ease-out
}

.tech-req .req-card:hover {
  box-shadow: 0 8px 60px 0 #195f1d21
}

.tech-req .req-card-ico {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.tech-req .req-card-ico svg {
  width: 32px;
  height: 32px
}

.tech-req .req-card-hdg {
  font-size: 22px;
  line-height: 1.1;
  color: #195F1D;
  margin: 0;
  text-shadow: 0 1px 3px #195f1d12
}

.tech-req .req-card-body {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
  margin: 0
}

.tech-req .req-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.tech-req .req-card-list li {
  font-size: 15px;
  line-height: 1.5;
  color: #222;
  padding-left: 16px;
  position: relative
}

.tech-req .req-card-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 5px;
  height: 5px;
  border-radius: 22px;
  background: #56B175
}

.tech-req .req-card .card-num {
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: 52px;
  line-height: 1.1;
  color: #56b1751a;
  font-weight: 700;
  pointer-events: none;
  user-select: none
}

.tech-req .req-card-dashed {
  border-top: 1px dashed #56b17559;
  margin-top: 8px;
  padding-top: 16px
}

.tech-req .compat-sec {
  padding: 80px 40px;
  background: #fff;
  position: relative
}

.tech-req .compat-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start
}

.tech-req .compat-left {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.tech-req .compat-hdg {
  font-size: 28px;
  line-height: 1.1;
  color: #111;
  text-shadow: 1px 1px 0 #195f1d17;
  margin: 0
}

.tech-req .compat-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
  margin: 0
}

.tech-req .compat-pulse-wrap {
  position: relative;
  width: 220px;
  height: 220px;
  flex-shrink: 0
}

.tech-req .compat-pulse-wrap .pulse-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border-radius: 22px;
  background: #195F1D;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2
}

.tech-req .compat-pulse-wrap .pulse-center svg {
  width: 28px;
  height: 28px
}

.tech-req .pulse-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 22px;
  border: 1px solid #56b17573;
  transform: translate(-50%, -50%) scale(1);
  animation: ring-expand 3.2s ease-out infinite
}

.tech-req .pulse-ring.r1 {
  width: 90px;
  height: 90px;
  animation-delay: 0s
}

.tech-req .pulse-ring.r2 {
  width: 140px;
  height: 140px;
  animation-delay: .9s
}

.tech-req .pulse-ring.r3 {
  width: 190px;
  height: 190px;
  animation-delay: 1.8s
}

@keyframes ring-expand {
  0% {
    opacity: .7;
    transform: translate(-50%, -50%) scale(0.7)
  }

  80% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.15)
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.15)
  }
}

.tech-req .compat-right {
  flex: 2 1 0;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.tech-req .compat-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 1px;
  border: 1px solid #195f1d1a;
  background: #F2FAF3;
  transition: background .08s ease-out, border-color .08s ease-out
}

.tech-req .compat-row:hover {
  background: #fff;
  border-color: #56B175
}

.tech-req .compat-row-ico {
  width: 40px;
  height: 40px;
  border-radius: 1px;
  background: #fff;
  box-shadow: 0 2px 6px 0 #195f1d12;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.tech-req .compat-row-ico svg {
  width: 22px;
  height: 22px
}

.tech-req .compat-row-txt {
  flex: 1 1 0
}

.tech-req .compat-row-name {
  font-size: 15px;
  line-height: 1.5;
  color: #195F1D;
  font-weight: 600;
  margin: 0 0 8px;
  letter-spacing: .04em;
  text-transform: uppercase
}

.tech-req .compat-row-val {
  font-size: 15px;
  line-height: 1.5;
  color: #3a3a3a;
  margin: 0
}

.tech-req .compat-row-badge {
  font-size: 15px;
  color: #195F1D;
  background: #fff;
  border: 1px solid #195F1D;
  border-radius: 1px;
  padding: 8px 16px;
  flex-shrink: 0;
  font-weight: 600;
  letter-spacing: .06em
}

.tech-req .compat-dashed-line {
  width: 1px;
  flex-shrink: 0;
  align-self: stretch;
  border-left: 1px dashed #56b17566;
  margin: 0 8px
}

.tech-req .divider-asym2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px
}

.tech-req .divider-asym2 .d2-short {
  flex: 1 1 0;
  height: 1px;
  background: #56B175;
  opacity: .28
}

.tech-req .divider-asym2 .d2-long {
  flex: 6 1 0;
  height: 1px;
  background: #195F1D;
  opacity: .15
}

@media (max-width: 992px) {
  .tech-req .pg-hdg {
    font-size: 28px
  }

  .tech-req .pg-sub {
    font-size: 15px
  }

  .tech-req .req-cards {
    grid-template-columns: 1fr 1fr
  }

  .tech-req .compat-inner {
    flex-direction: column;
    gap: 40px
  }

  .tech-req .compat-left {
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap
  }

  .tech-req .req-grid-top {
    flex-direction: column;
    align-items: flex-start
  }

  .tech-req .req-grid-note {
    text-align: left
  }

  .tech-req .pg-img-row {
    max-width: 100%
  }
}

@media (max-width: 576px) {
  .tech-req .pg-top {
    padding: 80px 16px 40px
  }

  .tech-req .pg-hdg {
    font-size: 22px
  }

  .tech-req .req-cards {
    grid-template-columns: 1fr
  }

  .tech-req .req-grid-sec {
    padding: 40px 16px
  }

  .tech-req .compat-sec {
    padding: 40px 16px
  }

  .tech-req .pg-img-row {
    flex-direction: column
  }

  .tech-req .pg-img-wrap.large {
    flex: 1 1 0
  }

  .tech-req .compat-pulse-wrap {
    display: none
  }

  .tech-req .req-card {
    padding: 16px
  }

  .tech-req .divider-asym,
  .tech-req .divider-asym2 {
    padding: 0 16px
  }
}

.abt_us {
  overflow-x: clip;
  position: relative
}

.abt_us .pg_open {
  background: linear-gradient(162deg, #0d2e0f 0%, #195F1D 100%);
  padding: 80px 16px;
  position: relative;
  overflow: hidden
}

.abt_us .pg_open::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -40px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: #56b17512;
  pointer-events: none
}

.abt_us .pg_open::after {
  content: "";
  position: absolute;
  bottom: 40px;
  left: 60px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: #56b1750d;
  pointer-events: none
}

.abt_us .pg_open .circ_dec {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  background: #56b1750a
}

.abt_us .pg_open .circ_dec.sm {
  width: 80px;
  height: 80px;
  top: 30%;
  left: 10%
}

.abt_us .pg_open .circ_dec.md {
  width: 220px;
  height: 220px;
  bottom: -60px;
  right: 20%
}

.abt_us .pg_open .circ_dec.xs {
  width: 40px;
  height: 40px;
  top: 60%;
  right: 8%
}

.abt_us .pg_open_inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 80px
}

.abt_us .pg_open_txt {
  flex: 1 1 55%;
  min-width: 0
}

.abt_us .pg_open_label {
  display: inline-block;
  border: 1px solid #56b17580;
  color: #56B175;
  font-size: 15px;
  letter-spacing: .12em;
  padding: 8px 16px;
  border-radius: 1px;
  margin-bottom: 40px;
  text-transform: uppercase
}

.abt_us .pg_open_h1 {
  font-size: 68px;
  line-height: 1.1;
  color: #f0f4f0;
  margin: 0 0 40px;
  text-shadow: 0 2px 6px #195f1d66
}

.abt_us .pg_open_h1 .acc_word {
  color: #56B175
}

.abt_us .pg_open_desc {
  font-size: 22px;
  line-height: 1.5;
  color: #f0f4f0cc;
  margin: 0;
  max-width: 520px
}

.abt_us .pg_open_img_col {
  flex: 0 0 380px;
  position: relative
}

.abt_us .pg_open_img_wrap {
  width: 380px;
  height: 380px;
  border-radius: 1px;
  overflow: hidden;
  box-shadow: 0 8px 60px 0 #195f1d21;
  position: relative
}

.abt_us .pg_open_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(0px)
}

.abt_us .pg_open_img_wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, #0d2e0f80 100%)
}

.abt_us .pg_open_img_badge {
  position: absolute;
  bottom: -16px;
  left: -16px;
  background: #195F1D;
  color: #f0f4f0;
  padding: 16px;
  border-radius: 1px;
  box-shadow: 0 7px 25px 0 #195f1d1a;
  z-index: 2
}

.abt_us .pg_open_img_badge .badge_num {
  font-size: 28px;
  line-height: 1.1;
  color: #56B175;
  display: block
}

.abt_us .pg_open_img_badge .badge_lbl {
  font-size: 15px;
  line-height: 1.5;
  color: #f0f4f0bf;
  display: block;
  text-transform: uppercase;
  letter-spacing: .08em
}

.abt_us .band_div {
  height: 40px;
  background: linear-gradient(180deg, #0d2e0f 0%, #F2FAF3 100%);
  filter: blur(8px);
  margin-bottom: -8px
}

.abt_us .team_sect {
  background: #F2FAF3;
  padding: 80px 16px;
  position: relative
}

.abt_us .team_sect_inner {
  max-width: 1400px;
  margin: 0 auto
}

.abt_us .team_top {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 80px;
  margin-bottom: 80px
}

.abt_us .team_top_txt {
  flex: 0 0 45%
}

.abt_us .team_sect_label {
  display: inline-block;
  border: 1px solid #195f1d40;
  color: #195F1D;
  font-size: 15px;
  letter-spacing: .12em;
  padding: 8px 16px;
  border-radius: 1px;
  margin-bottom: 16px;
  text-transform: uppercase
}

.abt_us .team_h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #1a3d1c;
  margin: 0 0 16px;
  text-shadow: 1px 1px 0 #195f1d1f
}

.abt_us .team_h2 .acc_word {
  color: #195F1D
}

.abt_us .team_top_para {
  font-size: 15px;
  line-height: 1.8;
  color: #2e4a30;
  margin: 0
}

.abt_us .team_metrics {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-top: 8px
}

.abt_us .metric_row {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.abt_us .metric_lbl_row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline
}

.abt_us .metric_name {
  font-size: 15px;
  line-height: 1.5;
  color: #2e4a30;
  text-transform: uppercase;
  letter-spacing: .08em
}

.abt_us .metric_val {
  font-size: 22px;
  line-height: 1.1;
  color: #195F1D
}

.abt_us .metric_bar_bg {
  width: 100%;
  height: 6px;
  background: #195f1d1a;
  border-radius: 1px;
  position: relative;
  box-shadow: inset 0 1px 2px #195f1d12
}

.abt_us .metric_bar_fill {
  height: 100%;
  border-radius: 1px;
  background: linear-gradient(90deg, #195F1D 0%, #56B175 100%);
  transition: width .12s ease-out
}

.abt_us .metric_extremes {
  display: flex;
  flex-direction: row;
  justify-content: space-between
}

.abt_us .metric_ext_txt {
  font-size: 15px;
  line-height: 1.5;
  color: #2e4a3099
}

.abt_us .team_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px
}

.abt_us .team_card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 2px 6px 0 #195f1d12;
  transition: box-shadow .1s ease-out, transform .1s ease-out
}

.abt_us .team_card:hover {
  box-shadow: 0 7px 25px 0 #195f1d1a;
  transform: translateY(-4px)
}

.abt_us .team_card:hover~.team_card {
  transform: translateX(4px)
}

.abt_us .team_card_img {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden
}

.abt_us .team_card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: filter .12s linear
}

.abt_us .team_card:hover .team_card_img img {
  filter: brightness(1.04)
}

.abt_us .team_card_body {
  padding: 16px
}

.abt_us .team_card_name {
  font-size: 22px;
  line-height: 1.1;
  color: #1a3d1c;
  margin: 0 0 8px;
  text-shadow: 0 1px 0 #195f1d14
}

.abt_us .team_card_role {
  font-size: 15px;
  line-height: 1.5;
  color: #56B175;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 8px
}

.abt_us .team_card_bio {
  font-size: 15px;
  line-height: 1.8;
  color: #2e4a30;
  margin: 0
}

.abt_us .band_div2 {
  height: 40px;
  background: linear-gradient(180deg, #F2FAF3 0%, #fff 100%);
  filter: blur(6px);
  margin-bottom: -8px
}

.abt_us .approach_sect {
  background: #fff;
  padding: 80px 16px;
  position: relative
}

.abt_us .approach_sect .dots_grp {
  position: absolute;
  top: 40px;
  right: 40px;
  pointer-events: none
}

.abt_us .approach_sect .dots_grp .dot {
  border-radius: 50%;
  background: #195f1d14;
  position: absolute
}

.abt_us .approach_sect .dots_grp .dot.d1 {
  width: 8px;
  height: 8px;
  top: 0;
  left: 0
}

.abt_us .approach_sect .dots_grp .dot.d2 {
  width: 16px;
  height: 16px;
  top: 20px;
  left: 20px
}

.abt_us .approach_sect .dots_grp .dot.d3 {
  width: 10px;
  height: 10px;
  top: 0;
  left: 40px
}

.abt_us .approach_sect .dots_grp .dot.d4 {
  width: 6px;
  height: 6px;
  top: 40px;
  left: 0
}

.abt_us .approach_sect .dots_grp .dot.d5 {
  width: 12px;
  height: 12px;
  top: 40px;
  left: 50px
}

.abt_us .approach_inner {
  max-width: 1400px;
  margin: 0 auto
}

.abt_us .approach_head_row {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 80px;
  margin-bottom: 80px
}

.abt_us .approach_h2_col {
  flex: 0 0 50%
}

.abt_us .approach_sect_label {
  display: inline-block;
  border: 1px solid #195f1d40;
  color: #195F1D;
  font-size: 15px;
  letter-spacing: .12em;
  padding: 8px 16px;
  border-radius: 1px;
  margin-bottom: 16px;
  text-transform: uppercase
}

.abt_us .approach_h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #1a3d1c;
  margin: 0;
  text-shadow: 1px 2px 0 #195f1d1a
}

.abt_us .approach_h2 .acc_word {
  color: #195F1D
}

.abt_us .approach_head_para {
  flex: 1 1 auto;
  font-size: 15px;
  line-height: 1.8;
  color: #2e4a30;
  margin: 0
}

.abt_us .approach_layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 40px
}

.abt_us .appr_big {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  display: flex;
  flex-direction: column
}

.abt_us .appr_img_wrap {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 7px 25px 0 #195f1d1a;
  margin-bottom: 16px;
  flex: 0 0 auto
}

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

.abt_us .appr_big_txt {
  background: #F2FAF3;
  border-radius: 1px;
  padding: 16px;
  flex: 1 1 auto
}

.abt_us .appr_big_h4 {
  font-size: 22px;
  line-height: 1.1;
  color: #1a3d1c;
  margin: 0 0 8px;
  text-shadow: 0 1px 0 #195f1d14
}

.abt_us .appr_big_p {
  font-size: 15px;
  line-height: 1.8;
  color: #2e4a30;
  margin: 0
}

.abt_us .appr_card {
  background: #F2FAF3;
  border-radius: 1px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 0 2px 6px 0 #195f1d12;
  transition: box-shadow .09s ease-out
}

.abt_us .appr_card:hover {
  box-shadow: 0 7px 25px 0 #195f1d1a
}

.abt_us .appr_card_icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #195f1d14;
  border-radius: 1px
}

.abt_us .appr_card_icon svg {
  width: 22px;
  height: 22px
}

.abt_us .appr_card_h5 {
  font-size: 22px;
  line-height: 1.1;
  color: #1a3d1c;
  margin: 0;
  text-shadow: 0 1px 0 #195f1d12
}

.abt_us .appr_card_p {
  font-size: 15px;
  line-height: 1.8;
  color: #2e4a30;
  margin: 0
}

.abt_us .appr_img2_wrap {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 2px 6px 0 #195f1d12;
  aspect-ratio: 1/1
}

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

.abt_us .appr_rating_card {
  background: linear-gradient(162deg, #195F1D 0%, #2d7a32 100%);
  border-radius: 22px;
  padding: 40px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  box-shadow: 0 8px 60px 0 #195f1d21
}

.abt_us .appr_rating_num {
  font-size: 68px;
  line-height: 1.1;
  color: #56B175;
  display: block;
  text-shadow: 0 2px 6px #195f1d4d
}

.abt_us .appr_rating_stars {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center
}

.abt_us .star_svg {
  width: 22px;
  height: 22px
}

.abt_us .appr_rating_lbl {
  font-size: 15px;
  line-height: 1.5;
  color: #f0f4f0cc;
  text-transform: uppercase;
  letter-spacing: .1em;
  text-align: center
}

.abt_us .appr_rating_count {
  font-size: 15px;
  line-height: 1.5;
  color: #f0f4f08c
}

@media (max-width: 1200px) {
  .abt_us .pg_open_h1 {
    font-size: 52px
  }

  .abt_us .pg_open_img_col {
    flex: 0 0 300px
  }

  .abt_us .pg_open_img_wrap {
    width: 300px;
    height: 300px
  }

  .abt_us .team_grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
  }
}

@media (max-width: 992px) {
  .abt_us .pg_open_inner {
    flex-direction: column;
    gap: 40px
  }

  .abt_us .pg_open_img_col {
    flex: 0 0 auto;
    width: 100%;
    max-width: 380px
  }

  .abt_us .pg_open_img_wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1
  }

  .abt_us .pg_open_h1 {
    font-size: 52px
  }

  .abt_us .team_top {
    flex-direction: column;
    gap: 40px
  }

  .abt_us .team_top_txt {
    flex: 0 0 auto;
    width: 100%
  }

  .abt_us .team_grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .abt_us .approach_head_row {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px
  }

  .abt_us .approach_h2_col {
    flex: 0 0 auto;
    width: 100%
  }

  .abt_us .approach_layout {
    grid-template-columns: 1fr 1fr
  }

  .abt_us .appr_big {
    grid-column: 1 / 3;
    grid-row: auto
  }
}

@media (max-width: 576px) {
  .abt_us .pg_open {
    padding: 40px 16px
  }

  .abt_us .pg_open_h1 {
    font-size: 28px
  }

  .abt_us .pg_open_desc {
    font-size: 15px
  }

  .abt_us .team_sect {
    padding: 40px 16px
  }

  .abt_us .team_h2 {
    font-size: 28px
  }

  .abt_us .team_grid {
    grid-template-columns: 1fr
  }

  .abt_us .approach_sect {
    padding: 40px 16px
  }

  .abt_us .approach_h2 {
    font-size: 28px
  }

  .abt_us .approach_layout {
    grid-template-columns: 1fr
  }

  .abt_us .appr_big {
    grid-column: 1 / 2
  }

  .abt_us .appr_rating_num {
    font-size: 52px
  }

  .abt_us .pg_open_img_badge {
    bottom: -8px;
    left: -8px
  }

  .abt_us .team_top {
    margin-bottom: 40px
  }
}

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

.lnch .pg_wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px
}

.lnch .divider_line {
  width: 100%;
  height: 2px;
  background: #56B175;
  border: none;
  margin: 0
}

.lnch .ttl_blk {
  padding: 80px 0;
  background: #fff;
  position: relative
}

.lnch .ttl_blk .pg_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center
}

.lnch .ttl_img_zone {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px
}

.lnch .ttl_img_zone::before {
  content: "";
  position: absolute;
  top: -12px;
  left: -12px;
  width: 32px;
  height: 32px;
  border-top: 2px solid #195F1D;
  border-left: 2px solid #195F1D;
  z-index: 1;
  pointer-events: none
}

.lnch .ttl_img_zone::after {
  content: "";
  position: absolute;
  bottom: -12px;
  right: -12px;
  width: 32px;
  height: 32px;
  border-bottom: 2px solid #195F1D;
  border-right: 2px solid #195F1D;
  z-index: 1;
  pointer-events: none
}

.lnch .img_cell {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 1px
}

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

.lnch .img_cell.scan_overlay {
  position: relative
}

.lnch .img_cell.scan_overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(to bottom, transparent 0px, transparent 3px, #195f1d0f 3px, #195f1d0f 4px);
  pointer-events: none
}

.lnch .img_cell.large_cell {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  aspect-ratio: auto
}

.lnch .ttl_txt {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lnch .ttl_label {
  display: inline-block;
  border: 1px solid #195F1D;
  color: #195F1D;
  font-size: 15px;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 1px;
  width: fit-content
}

.lnch .ttl_h1 {
  font-size: 52px;
  line-height: 1.1;
  color: #111;
  text-shadow: 1px 1px 0 #195f1d1f 0 2px 6px #195f1d12;
  margin: 0
}

.lnch .ttl_desc {
  font-size: 22px;
  line-height: 1.5;
  color: #2a2a2a;
  margin: 0
}

.lnch .ttl_actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 8px
}

.lnch .btn_primary {
  display: inline-block;
  padding: 16px 40px;
  border: 2px solid #195F1D;
  border-radius: 1px;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #195F1D;
  background: transparent;
  text-decoration: none;
  transition: background .12s ease-out, color .1s ease-out;
  cursor: pointer;
  position: relative
}

.lnch .btn_primary:hover,
.lnch .btn_primary:focus {
  background: #195F1D;
  color: #fff;
  outline: none
}

.lnch .btn_secondary {
  display: inline-block;
  padding: 16px 40px;
  border: 2px solid #56B175;
  border-radius: 1px;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #195F1D;
  background: transparent;
  text-decoration: none;
  transition: background .14s linear, color .1s linear;
  cursor: pointer
}

.lnch .btn_secondary:hover,
.lnch .btn_secondary:focus {
  background: #56B175;
  color: #fff;
  outline: none
}

.lnch .who_fits {
  padding: 80px 0;
  background: #F2FAF3;
  position: relative
}

.lnch .who_fits .pg_wrap {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 80px;
  align-items: start
}

.lnch .who_label_col {
  position: sticky;
  top: 40px
}

.lnch .sec_label {
  font-size: 15px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #56B175;
  margin: 0 0 16px
}

.lnch .who_h2 {
  font-size: 28px;
  line-height: 1.1;
  color: #111;
  text-shadow: 1px 1px 0 #195f1d1a;
  margin: 0 0 16px
}

.lnch .who_sub {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin: 0
}

.lnch .who_lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.lnch .fit_group {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lnch .fit_group_ttl {
  font-size: 15px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #195F1D;
  border-bottom: 2px solid #56B175;
  padding-bottom: 8px;
  margin: 0
}

.lnch .fit_item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: #fff;
  border-radius: 1px;
  box-shadow: 0 2px 6px 0 #195f1d12;
  transition: box-shadow .12s ease-out, transform .1s ease-out
}

.lnch .fit_item:hover {
  box-shadow: 0 7px 25px 0 #195f1d1a;
  transform: scale(1.02)
}

.lnch .fit_item_h {
  font-size: 15px;
  font-weight: 700;
  color: #195F1D;
  margin: 0
}

.lnch .fit_item_p {
  font-size: 15px;
  line-height: 1.5;
  color: #333;
  margin: 0
}

.lnch .not_fit_item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: #fff;
  border-radius: 1px;
  border-top: 2px solid #ccc;
  transition: border-color .12s ease-out
}

.lnch .not_fit_item:hover {
  border-color: #aaa
}

.lnch .not_fit_h {
  font-size: 15px;
  font-weight: 700;
  color: #555;
  margin: 0
}

.lnch .not_fit_p {
  font-size: 15px;
  line-height: 1.5;
  color: #666;
  margin: 0
}

.lnch .exp_shape {
  padding: 80px 0;
  background: #fff;
  position: relative
}

.lnch .exp_shape .pg_wrap {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.lnch .exp_hdr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: end
}

.lnch .exp_h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #111;
  text-shadow: 0 2px 6px #195f1d12;
  margin: 0
}

.lnch .exp_intro {
  font-size: 22px;
  line-height: 1.5;
  color: #333;
  margin: 0
}

.lnch .exp_phases {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  position: relative
}

.lnch .phase_card {
  padding: 40px 16px;
  background: #F2FAF3;
  border-radius: 1px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  transition: transform .1s ease-out
}

.lnch .exp_phases .phase_card:nth-child(2) {
  margin-top: 40px
}

.lnch .exp_phases .phase_card:nth-child(3) {
  margin-top: 16px
}

.lnch .exp_phases .phase_card:nth-child(4) {
  margin-top: 80px
}

.lnch .phase_num {
  font-size: 52px;
  line-height: 1.1;
  color: #195f1d1f;
  font-weight: 700;
  margin: 0;
  letter-spacing: -.02em
}

.lnch .phase_h {
  font-size: 22px;
  line-height: 1.1;
  color: #195F1D;
  margin: 0
}

.lnch .phase_p {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin: 0
}

.lnch .phase_card:hover {
  transform: scale(1.03);
  box-shadow: 0 7px 25px 0 #195f1d1a
}

.lnch .cond_blk {
  padding: 80px 0;
  position: relative;
  overflow: hidden
}

.lnch .cond_blk_bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(162deg, #195F1D 0%, #56B175 100%);
  z-index: 0
}

.lnch .cond_blk .pg_wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 5fr 4fr;
  gap: 80px;
  align-items: start
}

.lnch .cond_txt_col {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.lnch .cond_h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #fff;
  text-shadow: 0 2px 6px #195f1d21;
  margin: 0
}

.lnch .cond_intro {
  font-size: 22px;
  line-height: 1.5;
  color: #ffffffe6;
  margin: 0
}

.lnch .cond_items {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lnch .cond_item {
  padding: 16px 40px;
  background: #ffffff1f;
  border-radius: 1px;
  border: 1px solid #fff3;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: background .12s ease-out
}

.lnch .cond_item:hover {
  background: #fff3
}

.lnch .cond_item_h {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .06em;
  margin: 0
}

.lnch .cond_item_p {
  font-size: 15px;
  line-height: 1.5;
  color: #ffffffd9;
  margin: 0
}

.lnch .cond_img_col {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lnch .cond_img_wrap {
  border-radius: 22px;
  overflow: hidden;
  aspect-ratio: 1/1;
  box-shadow: 0 8px 60px 0 #195f1d21;
  clip-path: polygon(0 6%, 6% 0, 100% 0, 100% 94%, 94% 100%, 0 100%)
}

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

.lnch .cond_note {
  font-size: 15px;
  line-height: 1.5;
  color: #fffc;
  border: 1px dashed #fff6;
  padding: 16px;
  border-radius: 1px;
  margin: 0
}

.lnch .people_blk {
  padding: 80px 0;
  background: #fff
}

.lnch .people_blk .pg_wrap {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.lnch .people_hdr {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 40px;
  align-items: end
}

.lnch .people_h2 {
  font-size: 28px;
  line-height: 1.1;
  color: #111;
  text-shadow: 1px 1px 0 #195f1d1a;
  margin: 0
}

.lnch .people_sub {
  font-size: 15px;
  line-height: 1.8;
  color: #444;
  margin: 0
}

.lnch .people_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.lnch .person_card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;
  padding: 40px;
  border-radius: 1px;
  background: #F2FAF3;
  box-shadow: 0 2px 6px 0 #195f1d12;
  transition: box-shadow .14s ease-out, transform .1s ease-out
}

.lnch .person_card:hover {
  box-shadow: 0 7px 25px 0 #195f1d1a;
  transform: scale(1.01)
}

.lnch .person_card.tall_card {
  grid-column: 1;
  grid-row: 1 / 3;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: start
}

.lnch .person_img {
  width: 80px;
  height: 80px;
  border-radius: 22px;
  overflow: hidden;
  flex-shrink: 0;
  clip-path: polygon(0 8%, 8% 0, 100% 0, 100% 92%, 92% 100%, 0 100%)
}

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

.lnch .person_img.large_img {
  width: 100%;
  height: 200px;
  border-radius: 1px;
  clip-path: none
}

.lnch .person_name {
  font-size: 22px;
  line-height: 1.1;
  color: #195F1D;
  margin: 0
}

.lnch .person_role {
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #56B175;
  margin: 0 0 8px
}

.lnch .person_bio {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin: 0
}

.lnch .person_detail {
  font-size: 15px;
  line-height: 1.5;
  color: #555;
  margin: 0;
  padding: 8px;
  border: 1px solid #56B175;
  border-radius: 1px;
  display: inline-block
}

.lnch .people_right {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.lnch .appr_blk {
  padding: 80px 0;
  background: #F2FAF3;
  position: relative
}

.lnch .appr_blk .pg_wrap {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.lnch .appr_top {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  align-items: start
}

.lnch .appr_h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #111;
  text-shadow: 0 2px 6px #195f1d12;
  margin: 0
}

.lnch .appr_intro {
  font-size: 22px;
  line-height: 1.5;
  color: #333;
  margin: 0
}

.lnch .appr_grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 40px;
  align-items: start
}

.lnch .appr_items {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lnch .appr_row {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 16px;
  align-items: start;
  padding: 16px;
  background: #fff;
  border-radius: 1px;
  box-shadow: 0 2px 6px 0 #195f1d12;
  transition: box-shadow .12s ease-out
}

.lnch .appr_row:hover {
  box-shadow: 0 7px 25px 0 #195f1d1a
}

.lnch .appr_idx {
  font-size: 22px;
  line-height: 1.1;
  color: #195f1d33;
  font-weight: 700;
  margin: 0;
  text-align: center
}

.lnch .appr_row_txt {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lnch .appr_row_h {
  font-size: 15px;
  font-weight: 700;
  color: #195F1D;
  margin: 0
}

.lnch .appr_row_p {
  font-size: 15px;
  line-height: 1.5;
  color: #333;
  margin: 0
}

.lnch .appr_side {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lnch .appr_img_wrap {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 1px;
  clip-path: polygon(8% 0, 100% 0, 100% 92%, 92% 100%, 0 100%, 0 8%);
  box-shadow: 0 8px 60px 0 #195f1d21
}

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

.lnch .appr_accent {
  padding: 16px;
  border: 1px dashed #56B175;
  border-radius: 1px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lnch .appr_accent_h {
  font-size: 15px;
  font-weight: 700;
  color: #195F1D;
  letter-spacing: .06em;
  margin: 0
}

.lnch .appr_accent_p {
  font-size: 15px;
  line-height: 1.5;
  color: #333;
  margin: 0
}

.lnch .rating_strip {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
  padding: 16px 40px;
  background: #195F1D !important;
  border-radius: 1px;
  flex-wrap: wrap
}

.lnch .rating_val {
  font-size: 52px;
  line-height: 1.1;
  color: #fff;
  font-weight: 700;
  margin: 0
}

.lnch .rating_txt {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lnch .rating_stars {
  display: flex;
  flex-direction: row;
  gap: 4px
}

.lnch .star_svg {
  width: 20px;
  height: 20px
}

.lnch .rating_desc {
  font-size: 15px;
  color: #ffffffd9;
  margin: 0
}

@keyframes lnch_appear {
  from {
    opacity: 0;
    transform: translateY(16px)
  }

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

.lnch .phase_card {
  animation: lnch_appear .5s ease-out both
}

.lnch .exp_phases .phase_card:nth-child(1) {
  animation-delay: .05s
}

.lnch .exp_phases .phase_card:nth-child(2) {
  animation-delay: .12s
}

.lnch .exp_phases .phase_card:nth-child(3) {
  animation-delay: .19s
}

.lnch .exp_phases .phase_card:nth-child(4) {
  animation-delay: .26s
}

@media (max-width: 1200px) {
  .lnch .ttl_blk .pg_wrap {
    gap: 40px
  }

  .lnch .exp_phases {
    grid-template-columns: repeat(2, 1fr)
  }

  .lnch .exp_phases .phase_card:nth-child(3) {
    margin-top: 0
  }

  .lnch .exp_phases .phase_card:nth-child(4) {
    margin-top: 40px
  }
}

@media (max-width: 992px) {
  .lnch .ttl_blk .pg_wrap {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .lnch .ttl_h1 {
    font-size: 52px
  }

  .lnch .who_fits .pg_wrap {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .lnch .who_label_col {
    position: static
  }

  .lnch .exp_hdr {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .lnch .exp_h2 {
    font-size: 28px
  }

  .lnch .exp_phases {
    grid-template-columns: 1fr 1fr
  }

  .lnch .cond_blk .pg_wrap {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .lnch .cond_h2 {
    font-size: 28px
  }

  .lnch .people_hdr {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .lnch .people_grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .lnch .person_card.tall_card {
    grid-row: auto
  }

  .lnch .appr_top {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .lnch .appr_h2 {
    font-size: 28px
  }

  .lnch .appr_grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .lnch .pg_wrap {
    padding: 0 16px
  }
}

@media (max-width: 576px) {
  .lnch .ttl_blk {
    padding: 40px 0
  }

  .lnch .ttl_h1 {
    font-size: 28px
  }

  .lnch .ttl_desc {
    font-size: 15px
  }

  .lnch .who_lists {
    grid-template-columns: 1fr;
    gap: 16px
  }

  .lnch .exp_phases {
    grid-template-columns: 1fr
  }

  .lnch .exp_phases .phase_card:nth-child(2),
  .lnch .exp_phases .phase_card:nth-child(3),
  .lnch .exp_phases .phase_card:nth-child(4) {
    margin-top: 0
  }

  .lnch .ttl_actions {
    flex-direction: column
  }

  .lnch .btn_primary,
  .lnch .btn_secondary {
    text-align: center;
    padding: 16px
  }

  .lnch .rating_strip {
    padding: 16px;
    gap: 16px
  }

  .lnch .rating_val {
    font-size: 28px
  }

  .lnch .who_fits,
  .lnch .exp_shape,
  .lnch .cond_blk,
  .lnch .people_blk,
  .lnch .appr_blk {
    padding: 40px 0
  }
}

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

.succ_stor .pg_wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px
}

.succ_stor .ttl_blk {
  position: relative;
  padding: 80px 40px;
  background: #fff;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 80px;
  max-width: 1400px;
  margin: 0 auto
}

.succ_stor .ttl_blk .ttl_img_col {
  flex: 0 0 420px;
  position: relative;
  border-radius: 1px;
  overflow: hidden
}

.succ_stor .ttl_blk .ttl_img_col img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  border-radius: 1px
}

.succ_stor .ttl_blk .ttl_img_col::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #195f1d8c 0%, transparent 60%);
  border-radius: 1px;
  pointer-events: none
}

.succ_stor .ttl_blk .ttl_txt_col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.succ_stor .ttl_blk .ttl_lbl {
  display: inline-block;
  border: 1px solid #195F1D;
  color: #195F1D;
  font-size: 15px;
  letter-spacing: .12em;
  padding: 8px 16px;
  border-radius: 1px;
  text-transform: uppercase;
  width: fit-content
}

.succ_stor .ttl_blk .ttl_h1 {
  font-size: 68px;
  line-height: 1.1;
  color: #111;
  text-shadow: 0 2px 6px #195f1d12 0 1px 0 #195f1d0f;
  margin: 0
}

.succ_stor .ttl_blk .ttl_slogan {
  font-size: 22px;
  line-height: 1.5;
  color: #3a3a3a;
  margin: 0;
  font-style: italic;
  border-left: none;
  padding: 8px 16px;
  background: #F2FAF3;
  border-radius: 1px
}

.succ_stor .ttl_blk .ttl_dir_line {
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, #195F1D 0%, #56B175 100%);
  border-radius: 1px
}

.succ_stor .ttl_blk .ttl_diag {
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, transparent 0%, #56B175 50%, transparent 100%);
  opacity: .18;
  transform: rotate(8deg) translateX(-80px);
  pointer-events: none
}

.succ_stor .divider_curve {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.succ_stor .divider_curve svg {
  display: block;
  width: 100%
}

.succ_stor .posts_seg {
  background: #F2FAF3;
  padding: 80px 40px;
  position: relative
}

.succ_stor .posts_seg .seg_inner {
  max-width: 1400px;
  margin: 0 auto
}

.succ_stor .posts_seg .seg_hd {
  margin-bottom: 40px
}

.succ_stor .posts_seg .seg_hd h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #111;
  margin: 0 0 16px;
  text-shadow: 0 2px 6px #195f1d12
}

.succ_stor .posts_seg .seg_hd p {
  font-size: 22px;
  line-height: 1.5;
  color: #3a3a3a;
  margin: 0;
  max-width: 600px
}

.succ_stor .cards_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px
}

.succ_stor .post_card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 7px 25px 0 #195f1d1a;
  display: flex;
  flex-direction: column;
  transition: box-shadow .12s ease-out, transform .1s ease-out
}

.succ_stor .post_card:hover {
  box-shadow: 0 8px 60px 0 #195f1d21;
  transform: translateY(-2px)
}

.succ_stor .post_card .card_img_wrap {
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;
  flex: 0 0 auto;
  max-height: 280px
}

.succ_stor .post_card .card_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .15s ease-out
}

.succ_stor .post_card:hover .card_img_wrap img {
  transform: scale(1.03)
}

.succ_stor .post_card .card_body {
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1
}

.succ_stor .post_card .card_date {
  font-size: 15px;
  color: #195F1D;
  letter-spacing: .09em;
  text-transform: uppercase
}

.succ_stor .post_card .card_ttl {
  font-size: 28px;
  line-height: 1.1;
  color: #111;
  margin: 0;
  text-shadow: 0 1px 4px #195f1d12
}

.succ_stor .post_card .card_desc {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
  margin: 0;
  flex: 1
}

.succ_stor .post_card .card_lnk {
  display: inline-block;
  font-size: 15px;
  color: #195F1D;
  text-decoration: none;
  border: 1px solid #195F1D;
  padding: 8px 16px;
  border-radius: 1px;
  background: transparent;
  transition: background .1s ease-out, color .1s ease-out;
  width: fit-content;
  letter-spacing: .06em
}

.succ_stor .post_card .card_lnk:hover {
  background: #195F1D;
  color: #fff
}

.succ_stor .post_card .card_lnk:focus {
  outline: 2px solid #56B175;
  outline-offset: 2px
}

.succ_stor .divider_curve2 {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.succ_stor .divider_curve2 svg {
  display: block;
  width: 100%
}

.succ_stor .metrics_seg {
  background: #fff;
  padding: 80px 40px;
  position: relative
}

.succ_stor .metrics_seg .seg_inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: center
}

.succ_stor .metrics_seg .met_txt {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.succ_stor .metrics_seg .met_txt h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #111;
  margin: 0;
  text-shadow: 0 2px 6px #195f1d12
}

.succ_stor .metrics_seg .met_txt p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
  margin: 0;
  max-width: 480px
}

.succ_stor .metrics_seg .met_bars {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.succ_stor .met_bar_item {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.succ_stor .met_bar_item .bar_lbl {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center
}

.succ_stor .met_bar_item .bar_lbl span {
  font-size: 15px;
  color: #111
}

.succ_stor .met_bar_item .bar_lbl strong {
  font-size: 22px;
  color: #195F1D
}

.succ_stor .met_bar_item .bar_track {
  height: 8px;
  background: #F2FAF3;
  border-radius: 1px;
  overflow: hidden
}

.succ_stor .met_bar_item .bar_fill {
  height: 100%;
  background: linear-gradient(90deg, #195F1D 0%, #56B175 100%);
  border-radius: 1px;
  animation: bar_grow 1.1s ease-out forwards;
  transform-origin: left center
}

@keyframes bar_grow {
  from {
    width: 0
  }
}

.succ_stor .met_bar_item:nth-child(1) .bar_fill {
  width: 82%;
  animation-duration: 1.1s
}

.succ_stor .met_bar_item:nth-child(2) .bar_fill {
  width: 68%;
  animation-duration: .95s
}

.succ_stor .met_bar_item:nth-child(3) .bar_fill {
  width: 91%;
  animation-duration: 1.2s
}

.succ_stor .metrics_seg .met_diag {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden
}

.succ_stor .metrics_seg .met_diag::before {
  content: "";
  position: absolute;
  top: 20%;
  left: -5%;
  width: 110%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #56b17526 50%, transparent 100%);
  transform: rotate(-4deg)
}

.succ_stor .metrics_seg .bg_spot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 400px;
  height: 400px;
  border-radius: 22px;
  background: radial-gradient(ellipse at center, #56b1750f 0%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: spot_pulse 6s ease-in-out infinite;
  pointer-events: none
}

@keyframes spot_pulse {

  0%,
  100% {
    transform: translate(-50%, -50%) scale(1)
  }

  50% {
    transform: translate(-50%, -50%) scale(1.12)
  }
}

.succ_stor .divider_line {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #195f1d1f 50%, transparent 100%)
}

.succ_stor .img_atm_seg {
  position: relative;
  padding: 80px 40px;
  overflow: hidden
}

.succ_stor .img_atm_seg .atm_bg {
  position: absolute;
  inset: 0;
  z-index: 0
}

.succ_stor .img_atm_seg .atm_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(6px) brightness(0.35)
}

.succ_stor .img_atm_seg .atm_content {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px
}

.succ_stor .img_atm_seg .atm_hd h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 16px;
  text-shadow: 0 2px 6px #195f1d4d
}

.succ_stor .img_atm_seg .atm_hd p {
  font-size: 22px;
  line-height: 1.5;
  color: #ffffffe0;
  margin: 0;
  max-width: 580px
}

.succ_stor .voice_list {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.succ_stor .voice_item {
  background: #ffffff14;
  border: 1px solid #ffffff24;
  border-radius: 22px;
  padding: 40px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: flex-start;
  transition: background .12s ease-out
}

.succ_stor .voice_item:hover {
  background: #ffffff21
}

.succ_stor .voice_item .v_icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  background: #195F1D;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center
}

.succ_stor .voice_item .v_icon svg {
  width: 24px;
  height: 24px
}

.succ_stor .voice_item .v_body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.succ_stor .voice_item .v_quote {
  font-size: 15px;
  line-height: 1.8;
  color: #ffffffe6;
  margin: 0
}

.succ_stor .voice_item .v_name {
  font-size: 15px;
  color: #56B175;
  letter-spacing: .08em;
  text-transform: uppercase
}

.succ_stor .divider_curve3 {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.succ_stor .divider_curve3 svg {
  display: block;
  width: 100%
}

.succ_stor .faq_seg {
  background: #F2FAF3;
  padding: 80px 40px;
  position: relative
}

.succ_stor .faq_seg .seg_inner {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.succ_stor .faq_seg .faq_lft h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #111;
  margin: 0 0 16px;
  text-shadow: 0 2px 6px #195f1d12
}

.succ_stor .faq_seg .faq_lft p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
  margin: 0 0 40px
}

.succ_stor .faq_seg .faq_lft .faq_img_wrap {
  border-radius: 22px;
  overflow: hidden;
  aspect-ratio: 1/1;
  max-height: 360px
}

.succ_stor .faq_seg .faq_lft .faq_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.succ_stor .faq_list {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.succ_stor .faq_entry {
  border: 1px solid #195f1d24;
  border-radius: 1px;
  background: #fff;
  overflow: hidden
}

.succ_stor .faq_entry input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0
}

.succ_stor .faq_entry .faq_q {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 16px 40px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.5;
  color: #111;
  gap: 16px;
  user-select: none
}

.succ_stor .faq_entry .faq_q .faq_ico {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border: 1px solid #195F1D;
  border-radius: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .1s ease-out
}

.succ_stor .faq_entry .faq_q .faq_ico svg {
  width: 12px;
  height: 12px;
  transition: transform .1s ease-out
}

.succ_stor .faq_entry input:checked~.faq_q .faq_ico {
  background: #195F1D
}

.succ_stor .faq_entry input:checked~.faq_q .faq_ico svg {
  transform: rotate(45deg)
}

.succ_stor .faq_entry .faq_ans {
  max-height: 0;
  overflow: hidden;
  transition: max-height .14s ease-out
}

.succ_stor .faq_entry input:checked~.faq_ans {
  max-height: 300px
}

.succ_stor .faq_entry .faq_ans p {
  padding: 8px 40px 16px;
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
  margin: 0
}

.succ_stor .faq_seg .faq_diag {
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, transparent 0%, #56b1752e 50%, transparent 100%);
  transform: rotate(-6deg) translateX(-120px);
  pointer-events: none
}

.succ_stor .cta_seg {
  background: #fff;
  padding: 80px 40px;
  position: relative
}

.succ_stor .cta_seg .seg_inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 80px
}

.succ_stor .cta_seg .cta_txt {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.succ_stor .cta_seg .cta_txt h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #111;
  margin: 0;
  text-shadow: 0 2px 6px #195f1d12
}

.succ_stor .cta_seg .cta_txt p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
  margin: 0;
  max-width: 480px
}

.succ_stor .cta_seg .cta_form_col {
  flex: 0 0 420px;
  background: #F2FAF3;
  border-radius: 22px;
  padding: 40px;
  box-shadow: 0 2px 6px 0 #195f1d12;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.succ_stor .cta_seg .cta_form_col h3 {
  font-size: 22px;
  line-height: 1.5;
  color: #111;
  margin: 0
}

.succ_stor .cta_form {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.succ_stor .cta_form .f_field {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.succ_stor .cta_form .f_field label {
  font-size: 15px;
  color: #111;
  letter-spacing: .04em
}

.succ_stor .cta_form .f_field input,
.succ_stor .cta_form .f_field textarea {
  border: 1px solid #195f1d38;
  border-radius: 1px;
  padding: 8px 16px;
  font-size: 15px;
  color: #111;
  background: #fff;
  outline: none;
  transition: border-color .1s ease-out;
  resize: none
}

.succ_stor .cta_form .f_field input::placeholder,
.succ_stor .cta_form .f_field textarea::placeholder {
  text-transform: uppercase;
  font-size: 15px;
  color: #aaa;
  letter-spacing: .06em
}

.succ_stor .cta_form .f_field input:focus,
.succ_stor .cta_form .f_field textarea:focus {
  border-color: #195F1D
}

.succ_stor .cta_form .f_btn {
  border: 1px solid #195F1D;
  background: transparent;
  color: #195F1D;
  font-size: 15px;
  padding: 8px 40px;
  border-radius: 1px;
  cursor: pointer;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background .1s ease-out, color .1s ease-out;
  align-self: flex-start
}

.succ_stor .cta_form .f_btn:hover {
  background: #195F1D;
  color: #fff
}

.succ_stor .cta_form .f_btn:focus {
  outline: 2px solid #56B175;
  outline-offset: 2px
}

.succ_stor .cta_seg .cta_diag {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden
}

.succ_stor .cta_seg .cta_diag::before {
  content: "";
  position: absolute;
  bottom: 15%;
  left: -5%;
  width: 110%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #56b17521 50%, transparent 100%);
  transform: rotate(3deg)
}

@media (max-width: 1200px) {
  .succ_stor .ttl_blk {
    gap: 40px;
    padding: 80px 40px
  }

  .succ_stor .ttl_blk .ttl_img_col {
    flex: 0 0 320px
  }

  .succ_stor .ttl_blk .ttl_h1 {
    font-size: 52px
  }

  .succ_stor .metrics_seg .seg_inner {
    gap: 40px
  }

  .succ_stor .cta_seg .seg_inner {
    gap: 40px
  }

  .succ_stor .cta_seg .cta_form_col {
    flex: 0 0 360px
  }
}

@media (max-width: 992px) {
  .succ_stor .ttl_blk {
    flex-direction: column;
    gap: 40px;
    padding: 80px 40px
  }

  .succ_stor .ttl_blk .ttl_img_col {
    flex: 0 0 auto;
    width: 100%;
    max-width: 420px;
    align-self: center
  }

  .succ_stor .ttl_blk .ttl_h1 {
    font-size: 52px
  }

  .succ_stor .cards_grid {
    grid-template-columns: 1fr
  }

  .succ_stor .metrics_seg .seg_inner {
    flex-direction: column;
    gap: 40px
  }

  .succ_stor .faq_seg .seg_inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .succ_stor .cta_seg .seg_inner {
    flex-direction: column;
    gap: 40px
  }

  .succ_stor .cta_seg .cta_form_col {
    flex: 0 0 auto;
    width: 100%
  }

  .succ_stor .voice_item {
    flex-direction: column;
    gap: 16px
  }
}

@media (max-width: 576px) {
  .succ_stor .ttl_blk {
    padding: 80px 16px
  }

  .succ_stor .ttl_blk .ttl_h1 {
    font-size: 28px
  }

  .succ_stor .posts_seg {
    padding: 80px 16px
  }

  .succ_stor .metrics_seg {
    padding: 80px 16px
  }

  .succ_stor .img_atm_seg {
    padding: 80px 16px
  }

  .succ_stor .faq_seg {
    padding: 80px 16px
  }

  .succ_stor .cta_seg {
    padding: 80px 16px
  }

  .succ_stor .post_card .card_body {
    padding: 16px
  }

  .succ_stor .faq_entry .faq_q {
    padding: 16px
  }

  .succ_stor .faq_entry .faq_ans p {
    padding: 8px 16px 16px
  }

  .succ_stor .voice_item {
    padding: 16px
  }

  .succ_stor .posts_seg .seg_hd h2 {
    font-size: 28px
  }

  .succ_stor .metrics_seg .met_txt h2 {
    font-size: 28px
  }

  .succ_stor .img_atm_seg .atm_hd h2 {
    font-size: 28px
  }

  .succ_stor .faq_seg .faq_lft h2 {
    font-size: 28px
  }

  .succ_stor .cta_seg .cta_txt h2 {
    font-size: 28px
  }
}

.lrn-prog {
  overflow-x: hidden;
  width: 100%
}

.lrn-prog .prog-title {
  position: relative;
  padding: 80px 40px;
  background: #195F1D;
  overflow: hidden
}

.lrn-prog .prog-title::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#195f1d14 1px, transparent 1px), linear-gradient(90deg, #195f1d14 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none
}

.lrn-prog .prog-title .title-grid {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 80px;
  align-items: end;
  position: relative;
  z-index: 1
}

.lrn-prog .prog-title .title-text-col {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.lrn-prog .prog-title .label-tag {
  display: inline-block;
  border: 1px solid #56b17599;
  color: #56B175;
  font-size: 15px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 1px;
  width: fit-content
}

.lrn-prog .prog-title h1 {
  font-size: 68px;
  line-height: 1.1;
  color: #F2FAF3;
  margin: 0;
  text-shadow: 0 2px 6px #195f1d66 0 8px 60px #195f1d4d;
  letter-spacing: -.01em
}

.lrn-prog .prog-title h1 span {
  color: #56B175
}

.lrn-prog .prog-title .title-desc {
  font-size: 22px;
  line-height: 1.5;
  color: #f2faf3d1;
  margin: 0;
  max-width: 560px
}

.lrn-prog .prog-title .img-col {
  position: relative;
  align-self: end
}

.lrn-prog .prog-title .img-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 1px;
  overflow: hidden;
  position: relative
}

.lrn-prog .prog-title .img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.lrn-prog .prog-title .img-wrap::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(transparent, #195F1D);
  pointer-events: none
}

.lrn-prog .prog-title .img-stat-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 16px
}

.lrn-prog .prog-title .stat-pill {
  flex: 1;
  background: #56b1751f;
  border: 1px solid #56b1754d;
  border-radius: 1px;
  padding: 16px;
  text-align: center
}

.lrn-prog .prog-title .stat-pill .stat-num {
  display: block;
  font-size: 28px;
  line-height: 1.1;
  color: #56B175;
  font-weight: 700
}

.lrn-prog .prog-title .stat-pill .stat-label {
  display: block;
  font-size: 15px;
  line-height: 1.5;
  color: #f2faf3b3;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-top: 8px
}

.lrn-prog .divider-thin {
  width: 100%;
  height: 1px;
  background: #195f1d1f;
  border: none;
  margin: 0
}

.lrn-prog .prog-detail {
  background: #fff;
  padding: 80px 40px
}

.lrn-prog .prog-detail .detail-grid {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 80px;
  align-items: start
}

.lrn-prog .prog-detail .detail-left {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.lrn-prog .prog-detail h2 {
  font-size: 52px;
  line-height: 1.1;
  color: #195F1D;
  margin: 0;
  text-shadow: 0 2px 6px #195f1d12
}

.lrn-prog .prog-detail .intro-para {
  font-size: 22px;
  line-height: 1.5;
  color: #2a3a2b;
  margin: 0
}

.lrn-prog .prog-detail .module-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0
}

.lrn-prog .prog-detail .module-list li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border: 1px solid #195f1d1a;
  border-radius: 1px;
  background: #F2FAF3;
  box-shadow: 0 2px 6px 0 #195f1d12;
  transition: border-color .12s ease-out, box-shadow .09s linear;
  position: relative;
  overflow: hidden
}

.lrn-prog .prog-detail .module-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #56B175
}

.lrn-prog .prog-detail .module-list li:hover {
  border-color: #195f1d40;
  box-shadow: 0 7px 25px 0 #195f1d1a
}

.lrn-prog .prog-detail .mod-num {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 1px;
  background: #195F1D;
  color: #F2FAF3;
  font-size: 15px;
  line-height: 1.1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  letter-spacing: .04em
}

.lrn-prog .prog-detail .mod-body {
  flex: 1
}

.lrn-prog .prog-detail .mod-body h5 {
  font-size: 15px;
  line-height: 1.5;
  color: #195F1D;
  margin: 0 0 8px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase
}

.lrn-prog .prog-detail .mod-body p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a4a3b;
  margin: 0
}

.lrn-prog .prog-detail .fill-btn {
  display: inline-block;
  padding: 16px 40px;
  border: 2px solid #195F1D;
  border-radius: 1px;
  background: transparent;
  color: #195F1D;
  font-size: 15px;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color .13s ease-out;
  width: fit-content
}

.lrn-prog .prog-detail .fill-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: #195F1D;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .13s ease-out;
  z-index: 0
}

.lrn-prog .prog-detail .fill-btn:hover {
  color: #F2FAF3 !important
}

.lrn-prog .prog-detail .fill-btn:hover::after {
  transform: scaleX(1)
}

.lrn-prog .prog-detail .fill-btn span {
  position: relative;
  z-index: 1
}

.lrn-prog .prog-detail .detail-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 40px
}

.lrn-prog .prog-detail .info-card {
  border: 1px solid #195f1d26;
  border-radius: 22px;
  padding: 40px;
  background: #F2FAF3;
  box-shadow: 0 8px 60px 0 #195f1d21;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lrn-prog .prog-detail .info-card h4 {
  font-size: 22px;
  line-height: 1.1;
  color: #195F1D;
  margin: 0;
  text-shadow: 0 2px 6px #195f1d12
}

.lrn-prog .prog-detail .info-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid #195f1d1a
}

.lrn-prog .prog-detail .info-row:last-of-type {
  border-bottom: none
}

.lrn-prog .prog-detail .info-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.lrn-prog .prog-detail .info-icon svg {
  width: 20px;
  height: 20px
}

.lrn-prog .prog-detail .info-text {
  flex: 1
}

.lrn-prog .prog-detail .info-text .i-label {
  display: block;
  font-size: 15px;
  line-height: 1.5;
  color: #7a8a7b;
  letter-spacing: .1em;
  text-transform: uppercase
}

.lrn-prog .prog-detail .info-text .i-val {
  display: block;
  font-size: 15px;
  line-height: 1.5;
  color: #1e3320;
  font-weight: 600
}

.lrn-prog .prog-detail .img-side {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 1px;
  overflow: hidden;
  box-shadow: 0 7px 25px 0 #195f1d1a
}

.lrn-prog .prog-detail .img-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.lrn-prog .prog-detail .outcome-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px
}

.lrn-prog .prog-detail .outcome-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 16px;
  background: #fff;
  border: 1px solid #195f1d1f;
  border-radius: 1px
}

.lrn-prog .prog-detail .outcome-dot {
  width: 8px;
  height: 8px;
  border-radius: 1px;
  background: #56B175;
  flex-shrink: 0;
  margin-top: 6px
}

.lrn-prog .prog-detail .outcome-item p {
  font-size: 15px;
  line-height: 1.8;
  color: #2a3a2b;
  margin: 0
}

.lrn-prog .prog-detail .sub-head {
  font-size: 28px;
  line-height: 1.1;
  color: #195F1D;
  margin: 0;
  text-shadow: 0 2px 6px #195f1d12
}

@media (max-width: 1200px) {
  .lrn-prog .prog-title h1 {
    font-size: 52px
  }

  .lrn-prog .prog-title .title-grid {
    grid-template-columns: 1fr 300px;
    gap: 40px
  }

  .lrn-prog .prog-detail .detail-grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .lrn-prog .prog-detail .detail-right {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
  }

  .lrn-prog .prog-detail h2 {
    font-size: 52px
  }
}

@media (max-width: 992px) {
  .lrn-prog .prog-title .title-grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .lrn-prog .prog-title .img-col {
    max-width: 360px
  }

  .lrn-prog .prog-title h1 {
    font-size: 52px
  }

  .lrn-prog .prog-detail .outcome-grid {
    grid-template-columns: 1fr
  }

  .lrn-prog .prog-detail .detail-right {
    grid-template-columns: 1fr
  }

  .lrn-prog .prog-detail h2 {
    font-size: 28px
  }
}

@media (max-width: 576px) {
  .lrn-prog .prog-title {
    padding: 40px 16px
  }

  .lrn-prog .prog-title h1 {
    font-size: 28px
  }

  .lrn-prog .prog-title .title-desc {
    font-size: 15px
  }

  .lrn-prog .prog-title .img-stat-row {
    flex-direction: column
  }

  .lrn-prog .prog-detail {
    padding: 40px 16px
  }

  .lrn-prog .prog-detail h2 {
    font-size: 28px
  }

  .lrn-prog .prog-detail .sub-head {
    font-size: 22px
  }

  .lrn-prog .prog-detail .info-card {
    padding: 16px
  }

  .lrn-prog .prog-title .title-grid {
    gap: 40px
  }

  .lrn-prog .prog-detail .detail-grid {
    gap: 40px
  }
}

.success_page {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 16px;
  background-color: #fff
}

.success_page .confirm_wrap {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px
}

.success_page .icon_ring {
  width: 88px;
  height: 88px;
  border-radius: 22px;
  background: #F2FAF3;
  border: 1.5px solid #56B175;
  box-shadow: 0 7px 25px 0 #195f1d1a;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.success_page .icon_ring svg {
  display: block
}

.success_page .confirm_body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
  max-width: 560px
}

.success_page .confirm_body .status_label {
  display: inline-block;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .12em;
  color: #195F1D;
  border: 1.5px solid #56B175;
  border-radius: 1px;
  padding: 8px 16px;
  text-transform: uppercase
}

.success_page .confirm_body .main_heading {
  font-size: 52px;
  line-height: 1.1;
  color: #195F1D;
  text-shadow: 0 2px 6px #195f1d12;
  margin: 0
}

.success_page .confirm_body .sub_text {
  font-size: 22px;
  line-height: 1.5;
  color: #2e4a30;
  margin: 0
}

.success_page .confirm_body .detail_text {
  font-size: 15px;
  line-height: 1.8;
  color: #3d5c3f;
  margin: 0
}

.success_page .divider_line {
  width: 64px;
  height: 2px;
  background: linear-gradient(113deg, #195F1D, #56B175);
  border-radius: 1px
}

.success_page .action_group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center
}

.success_page .action_group .btn_primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .06em;
  color: #195F1D;
  background: transparent;
  border: 1.5px solid #195F1D;
  border-radius: 22px;
  padding: 16px 40px;
  cursor: pointer;
  text-decoration: none;
  transition: background .12s ease-out, color .09s linear
}

.success_page .action_group .btn_primary:hover,
.success_page .action_group .btn_primary:focus {
  background: #195F1D;
  color: #F2FAF3;
  outline: none;
  box-shadow: 0 7px 25px 0 #195f1d1a
}

.success_page .action_group .btn_primary:active {
  background: #195F1D;
  color: #F2FAF3;
  box-shadow: inset 0 1px 2px #195f1d21
}

.success_page .action_group .btn_secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .06em;
  color: #56B175;
  background: transparent;
  border: 1.5px solid #56B175;
  border-radius: 22px;
  padding: 16px 40px;
  cursor: pointer;
  text-decoration: none;
  transition: background .1s ease-out, color .1s ease-out
}

.success_page .action_group .btn_secondary:hover,
.success_page .action_group .btn_secondary:focus {
  background: #56B175;
  color: #fff;
  outline: none;
  box-shadow: 0 7px 25px 0 #56b1751a
}

.success_page .action_group .btn_secondary:active {
  background: #56B175;
  color: #fff;
  box-shadow: inset 0 1px 2px #56b17521
}

.success_page .info_strip {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  max-width: 720px;
  width: 100%
}

.success_page .info_strip .strip_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  background: #F2FAF3;
  border-radius: 1px;
  border: 1px solid #c8e8cf;
  padding: 16px;
  flex: 1 1 200px;
  box-shadow: 0 2px 6px 0 #195f1d12
}

.success_page .info_strip .strip_item .strip_icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.success_page .info_strip .strip_item .strip_txt {
  font-size: 15px;
  line-height: 1.5;
  color: #2e4a30
}

@media (max-width: 576px) {
  .success_page {
    padding: 80px 16px
  }

  .success_page .confirm_body .main_heading {
    font-size: 28px
  }

  .success_page .confirm_body .sub_text {
    font-size: 15px
  }

  .success_page .action_group .btn_primary,
  .success_page .action_group .btn_secondary {
    padding: 16px;
    width: 100%;
    justify-content: center
  }

  .success_page .info_strip .strip_item {
    flex: 1 1 100%
  }
}

@media (min-width: 577px) and (max-width: 992px) {
  .success_page .confirm_body .main_heading {
    font-size: 52px
  }
}