@import "https://cdn.jsdelivr.net/npm/@fontsource/source-sans-pro@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/source-sans-pro@latest/700.css";

* {
  box-sizing: border-box
}

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #1b2b1c;
  background: #fff
}

.brand-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px 48px 12px;
  background: linear-gradient(160deg, #3A953F 0%, #2d7a32 100%);
  position: relative
}

.brand-row::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #74C0A6
}

.logoframe {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border: 1px solid #74c0a673;
  border-radius: 9px;
  box-shadow: 2px 4px 18px -2px #3a953f14;
  background: #fffffff7;
  flex-shrink: 0
}

.logoframe img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain
}

.brandname {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .02em;
  color: #fff
}

.notice-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #E8F1EC;
  padding: 6px 48px;
  border-bottom: 1px solid #3a953f26
}

.notice-strip span {
  font-size: 16px;
  line-height: 1.4;
  color: #1b2b1c;
  letter-spacing: .01em
}

.notice-strip .noticeicon {
  color: #3A953F;
  font-size: 16px;
  flex-shrink: 0
}

.menurow {
  background: #fff;
  padding: 0 48px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  border-bottom: 2px solid #E8F1EC
}

.menurow nav {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0
}

.menurow nav a {
  display: flex;
  align-items: center;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .01em;
  color: #1b2b1c;
  text-decoration: none;
  position: relative;
  min-height: 48px;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.menurow nav a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 24px;
  right: 24px;
  height: 2px;
  background: #3A953F;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.menurow nav a:hover {
  color: #3A953F
}

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

.menurow nav a:focus-visible {
  outline: 2px solid #3A953F;
  outline-offset: 2px;
  border-radius: 4px
}

.menurow nav a[aria-current="page"] {
  color: #3A953F
}

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

.pagefooter {
  background: #1b2b1c;
  color: #E8F1EC
}

.footertop {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 48px;
  border-bottom: 1px solid #74c0a633
}

.footerlogoframe {
  display: flex;
  align-items: center;
  gap: 12px
}

.footerlogoframe .logobadge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border: 1px solid #74c0a666;
  border-radius: 9px;
  background: #fffffff7;
  box-shadow: 2px 1px 5px -2px #3a953f0d
}

.footerlogoframe .logobadge img {
  display: block;
  width: 36px;
  height: 36px;
  object-fit: contain
}

.footerlogoframe .footerbrand {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #fff;
  line-height: 1.15
}

.footerbody {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  padding: 48px;
  max-width: 1600px;
  margin: 0 auto
}

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

.footercol-label {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.15;
  color: #74C0A6;
  border-bottom: 1px solid #74c0a640;
  padding-bottom: 12px
}

.footercol address {
  font-style: normal;
  font-size: 16px;
  line-height: 1.6;
  color: #c8ddd0;
  letter-spacing: .01em
}

.footercol address a {
  color: #c8ddd0;
  text-decoration: none;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  gap: 6px
}

.footercol address a:hover {
  color: #74C0A6
}

.footercol address a:focus-visible {
  outline: 2px solid #74C0A6;
  outline-offset: 2px;
  border-radius: 4px
}

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

.footernav a {
  font-size: 16px;
  line-height: 1.6;
  color: #c8ddd0;
  text-decoration: none;
  letter-spacing: .01em;
  transition: color .48s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  gap: 6px
}

.footernav a:hover {
  color: #74C0A6
}

.footernav a:focus-visible {
  outline: 2px solid #74C0A6;
  outline-offset: 2px;
  border-radius: 4px
}

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

.footerservicenav a {
  font-size: 16px;
  line-height: 1.6;
  color: #c8ddd0;
  text-decoration: none;
  letter-spacing: .01em;
  transition: color .52s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  gap: 6px
}

.footerservicenav a:hover {
  color: #74C0A6
}

.footerservicenav a:focus-visible {
  outline: 2px solid #74C0A6;
  outline-offset: 2px;
  border-radius: 4px
}

.footerbottom {
  border-top: 1px solid #74c0a626;
  padding: 24px 48px;
  display: flex;
  align-items: center;
  justify-content: center
}

.footerbottom p {
  font-size: 16px;
  line-height: 1.4;
  color: #c8ddd099;
  letter-spacing: .01em;
  margin: 0
}

.cookiebar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2000;
  background: #fff;
  border-bottom: 2px solid #E8F1EC;
  box-shadow: 2px 10px 36px -2px #3a953f1c;
  display: none;
  transform: translateY(-100%);
  transition: transform .26s cubic-bezier(0.16, 1, 0.3, 1)
}

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

.cookiebar-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 12px 48px;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap
}

.cookiebar-text {
  flex: 1;
  min-width: 240px
}

.cookiebar-text p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #1b2b1c;
  letter-spacing: .01em
}

.cookiebar-text strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #1b2b1c;
  margin-bottom: 6px
}

.cookiebar-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0
}

.cookiebar-actions button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .01em;
  text-decoration: underline;
  transition: color .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.cookiebar-actions button:focus-visible {
  outline: 2px solid #3A953F;
  outline-offset: 2px;
  border-radius: 4px
}

.cookiebtn-accept {
  color: #3A953F;
  font-weight: 700
}

.cookiebtn-accept:hover {
  color: #2d7a32
}

.cookiebtn-decline {
  color: #555f56;
  font-weight: 400
}

.cookiebtn-decline:hover {
  color: #1b2b1c
}

@media (max-width: 768px) {
  .brand-row {
    padding: 24px 24px 12px
  }

  .notice-strip {
    padding: 6px 24px;
    flex-wrap: wrap;
    text-align: center
  }

  .menurow {
    padding: 0 12px
  }

  .menurow nav a {
    padding: 12px;
    font-size: 16px
  }

  .footerbody {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 48px 24px
  }

  .footertop {
    padding: 24px
  }

  .footerbottom {
    padding: 24px;
    text-align: center
  }

  .cookiebar-inner {
    padding: 12px 24px
  }

  .cookiebar-actions {
    width: 100%;
    justify-content: flex-start
  }
}

.policy-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 96px 48px;
  color: #2a2a2a;
  line-height: 1.6
}

.policy-inner h1 {
  font-size: 72px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b1b1b;
  margin-bottom: 48px;
  margin-top: 0
}

.policy-inner h2 {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b1b1b;
  margin-top: 96px;
  margin-bottom: 24px
}

.policy-inner h3 {
  font-size: 23px;
  line-height: 1.4;
  letter-spacing: .01em;
  color: #1b1b1b;
  margin-top: 48px;
  margin-bottom: 24px
}

.policy-inner h4 {
  font-size: 19px;
  line-height: 1.4;
  letter-spacing: .02em;
  color: #1b1b1b;
  margin-top: 48px;
  margin-bottom: 12px
}

.policy-inner h5 {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .02em;
  color: #1b1b1b;
  margin-top: 24px;
  margin-bottom: 12px
}

.policy-inner h6 {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .02em;
  color: #3A953F;
  margin-top: 24px;
  margin-bottom: 12px
}

.policy-inner p {
  font-size: 19px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #2a2a2a;
  margin-top: 0;
  margin-bottom: 24px;
  max-width: 900px
}

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

.policy-inner em,
.policy-inner i {
  font-style: italic;
  color: inherit
}

.policy-inner a {
  color: #3A953F;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.policy-inner a:hover {
  color: #74C0A6;
  text-decoration-color: #74C0A6
}

.policy-inner a:visited {
  color: #2d7431
}

.policy-inner hr {
  border: none;
  border-top: 2px solid #E8F1EC;
  margin-top: 48px;
  margin-bottom: 48px;
  max-width: 100%
}

.policy-inner table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .01em;
  margin-bottom: 48px;
  border-radius: 9px;
  overflow: hidden;
  box-shadow: 2px 4px 18px -2px #3a953f14
}

.policy-inner thead {
  background-color: #E8F1EC
}

.policy-inner thead tr {
  border-bottom: 2px solid #74C0A6
}

.policy-inner th {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .02em;
  font-weight: 700;
  color: #1b1b1b;
  padding: 12px 24px;
  text-align: left
}

.policy-inner tbody tr {
  border-bottom: 1px solid #E8F1EC;
  transition: background-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

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

.policy-inner tbody tr:hover {
  background-color: #f4f9f6
}

.policy-inner td {
  font-size: 16px;
  line-height: 1.6;
  color: #2a2a2a;
  padding: 12px 24px;
  vertical-align: top
}

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

  .policy-inner h1 {
    font-size: 42px
  }

  .policy-inner h2 {
    font-size: 23px;
    margin-top: 48px
  }

  .policy-inner h3 {
    font-size: 19px;
    margin-top: 48px
  }

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

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

  .policy-inner h1 {
    font-size: 42px;
    line-height: 1.15
  }

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

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

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

.srv .pgwrap {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 48px
}

.srv .titblock {
  padding: 96px 0 48px;
  background: #fff;
  position: relative
}

.srv .titblock .pgwrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 96px
}

.srv .titblock .imgcard {
  flex: 0 0 380px;
  border-radius: 15px;
  overflow: hidden;
  position: relative
}

.srv .titblock .imgcard img {
  width: 380px;
  height: 460px;
  object-fit: cover;
  display: block;
  filter: saturate(0.7);
  transition: filter .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.srv .titblock .imgcard:hover img {
  filter: saturate(1)
}

.srv .titblock .imgcard::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 15px;
  box-shadow: inset 0 0 40px 12px #ffffff8c;
  pointer-events: none
}

.srv .titblock .textzone {
  flex: 1;
  position: relative
}

.srv .dotgrid {
  position: absolute;
  top: -24px;
  right: -24px;
  width: 180px;
  height: 180px;
  pointer-events: none;
  z-index: 0
}

.srv .titblock .textzone .txtin {
  position: relative;
  z-index: 1
}

.srv .titblock .tagline {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  color: #3A953F;
  font-weight: 600;
  letter-spacing: .02em;
  margin-bottom: 24px
}

.srv .titblock .tagline .dash {
  width: 28px;
  height: 2px;
  background: #3A953F;
  display: inline-block;
  border-radius: 4px
}

.srv .titblock h1 {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b2e1c;
  font-weight: 700;
  margin: 0 0 24px
}

.srv .titblock h1 .uline {
  position: relative;
  display: inline
}

.srv .titblock h1 .uline::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 3px;
  background: linear-gradient(to bottom, #3A953F, #74C0A6);
  border-radius: 4px;
  transform: scaleX(0);
  transform-origin: left;
  animation: drawline .55s cubic-bezier(0.16, 1, 0.3, 1) .3s forwards
}

@keyframes drawline {
  to {
    transform: scaleX(1)
  }
}

.srv .titblock .subdesc {
  font-size: 19px;
  line-height: 1.6;
  color: #374a38;
  margin: 0 0 48px;
  max-width: 520px
}

.srv .titblock .actlink {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #3A953F;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 9px;
  text-decoration: none;
  letter-spacing: .01em;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.srv .titblock .actlink:hover {
  background: #2e7a32;
  box-shadow: 2px 10px 36px -2px #3a953f47
}

.srv .svgsep {
  display: block;
  width: 100%;
  line-height: 0
}

.srv .offsec {
  background: #f5f7f5;
  padding: 96px 0;
  position: relative
}

.srv .offsec .pgwrap {
  display: flex;
  flex-direction: column;
  gap: 48px
}

.srv .offsec .sechd {
  text-align: center
}

.srv .offsec .sechd h2 {
  font-size: 42px;
  line-height: 1.15;
  color: #1b2e1c;
  font-weight: 700;
  letter-spacing: .01em;
  margin: 0 0 12px
}

.srv .offsec .sechd p {
  font-size: 19px;
  line-height: 1.6;
  color: #3d4f3e;
  margin: 0 auto;
  max-width: 560px
}

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

.srv .offcard {
  background: #fff;
  border-radius: 15px;
  padding: 48px 24px;
  text-align: center;
  transition: box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1), transform .5s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: default
}

.srv .offgrid:hover .offcard {
  opacity: .5;
  transition: opacity .4s ease-in-out
}

.srv .offgrid .offcard:hover {
  opacity: 1;
  box-shadow: 2px 10px 36px -2px #3a953f1c;
  transform: translateY(-4px)
}

.srv .offcard .icobox {
  width: 56px;
  height: 56px;
  border-radius: 15px;
  background: #E8F1EC;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px
}

.srv .offcard .icobox svg {
  width: 28px;
  height: 28px
}

.srv .offcard h3 {
  font-size: 19px;
  line-height: 1.4;
  color: #1b2e1c;
  font-weight: 700;
  margin: 0 0 12px;
  letter-spacing: .01em;
  position: relative;
  display: inline-block
}

.srv .offcard h3::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 0;
  height: 2px;
  background: linear-gradient(to bottom, #3A953F, #74C0A6);
  border-radius: 4px;
  transition: width .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.srv .offcard:hover h3::after {
  width: 100%
}

.srv .offcard p {
  font-size: 16px;
  line-height: 1.6;
  color: #4a5e4b;
  margin: 0
}

.srv .decsep {
  display: flex;
  justify-content: flex-end;
  line-height: 0
}

.srv .procsec {
  padding: 96px 0;
  background: #fff;
  position: relative
}

.srv .procsec .pgwrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center
}

.srv .procsec .procimg {
  border-radius: 15px;
  overflow: hidden;
  position: relative
}

.srv .procsec .procimg img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  filter: saturate(0.65);
  transition: filter .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.srv .procsec .procimg:hover img {
  filter: saturate(1)
}

.srv .procsec .proctxt {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.srv .procsec .proctxt h2 {
  font-size: 42px;
  line-height: 1.15;
  color: #1b2e1c;
  font-weight: 700;
  letter-spacing: .01em;
  margin: 0
}

.srv .procsec .proctxt .procdesc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.srv .procsec .proctxt p {
  font-size: 16px;
  line-height: 1.6;
  color: #3d4f3e;
  margin: 0
}

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

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

.srv .stepnum {
  flex: 0 0 32px;
  height: 32px;
  border-radius: 9px;
  background: #3A953F;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center
}

.srv .stepitem p {
  font-size: 16px;
  line-height: 1.6;
  color: #3d4f3e;
  margin: 0;
  padding-top: 6px
}

.srv .codeblock {
  background: #1b2e1c;
  border-radius: 9px;
  padding: 24px;
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: stretch
}

.srv .codeblock .codepane {
  flex: 1;
  font-size: 16px;
  line-height: 1.6;
  color: #74C0A6;
  font-family: monospace;
  white-space: pre-wrap;
  margin: 0
}

.srv .codeblock .outpane {
  flex: 0 0 140px;
  background: #E8F1EC;
  border-radius: 9px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center
}

.srv .codeblock .outpane .outlabel {
  font-size: 16px;
  color: #3A953F;
  font-weight: 700;
  letter-spacing: .01em
}

.srv .codeblock .outpane .outval {
  font-size: 23px;
  color: #1b2e1c;
  font-weight: 700;
  line-height: 1.15
}

.srv .codeblock .outpane .outsub {
  font-size: 16px;
  color: #4a5e4b;
  line-height: 1.4
}

.srv .formsec {
  background: #E8F1EC;
  padding: 96px 0
}

.srv .formsec .pgwrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start
}

.srv .formsec .forminfo {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.srv .formsec .forminfo h2 {
  font-size: 42px;
  line-height: 1.15;
  color: #1b2e1c;
  font-weight: 700;
  letter-spacing: .01em;
  margin: 0
}

.srv .formsec .forminfo p {
  font-size: 16px;
  line-height: 1.6;
  color: #2e4430;
  margin: 0
}

.srv .formsec .metalist {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0
}

.srv .formsec .metalist li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  color: #2e4430;
  line-height: 1.4
}

.srv .formsec .metalist li::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 4px;
  background: #3A953F;
  flex-shrink: 0
}

.srv .formcard {
  background: #fff;
  border-radius: 26px;
  padding: 48px;
  box-shadow: 2px 4px 18px -2px #74c0a614
}

.srv .formcard form {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.srv .frow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.srv .fgroup {
  position: relative
}

.srv .fgroup input,
.srv .fgroup select {
  width: 100%;
  border: 2px solid #c8ddc9;
  border-radius: 9px;
  padding: 24px 12px 6px;
  font-size: 16px;
  color: #1b2e1c;
  background: #fff;
  outline: none;
  box-sizing: border-box;
  transition: border-color .45s cubic-bezier(0.16, 1, 0.3, 1);
  appearance: none
}

.srv .fgroup input:focus,
.srv .fgroup select:focus {
  border-color: #3A953F;
  box-shadow: inset 2px 1px 5px -2px #3a953f0d
}

.srv .fgroup label {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: #6a8a6b;
  pointer-events: none;
  transition: top .4s cubic-bezier(0.16, 1, 0.3, 1), font-size .4s cubic-bezier(0.16, 1, 0.3, 1), color .4s cubic-bezier(0.16, 1, 0.3, 1)
}

.srv .fgroup input:focus+label,
.srv .fgroup input:not(:placeholder-shown)+label,
.srv .fgroup select:focus+label,
.srv .fgroup select:valid+label {
  top: 8px;
  transform: none;
  font-size: 16px;
  color: #3A953F;
  font-size: 13px
}

.srv .fgroup select option[value=""] {
  color: #6a8a6b
}

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

.srv .privrow input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #3A953F;
  flex-shrink: 0;
  margin-top: 2px;
  cursor: pointer
}

.srv .privrow label {
  font-size: 16px;
  color: #3d4f3e;
  line-height: 1.6;
  cursor: pointer
}

.srv .privrow label a {
  color: #3A953F;
  text-decoration: underline;
  transition: color .4s ease-in-out
}

.srv .privrow label a:hover {
  color: #2e7a32
}

.srv .submitbtn {
  background: #3A953F;
  color: #fff;
  border: none;
  border-radius: 9px;
  padding: 12px 48px;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .01em;
  cursor: pointer;
  align-self: flex-start;
  transition: box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1), background .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.srv .submitbtn:hover {
  background: #2e7a32;
  box-shadow: 2px 10px 36px -2px #3a953f38
}

.srv .submitbtn:focus {
  outline: 3px solid #74C0A6;
  outline-offset: 3px
}

.srv .rotodec {
  position: absolute;
  right: 48px;
  top: 48px;
  width: 56px;
  height: 56px;
  animation: spinloop 12s linear infinite;
  pointer-events: none;
  opacity: .18
}

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

  to {
    transform: rotate(360deg)
  }
}

@media (max-width: 1024px) {
  .srv .titblock .pgwrap {
    flex-direction: column;
    gap: 48px
  }

  .srv .titblock .imgcard {
    flex: 0 0 auto;
    width: 100%
  }

  .srv .titblock .imgcard img {
    width: 100%;
    height: 320px
  }

  .srv .offgrid {
    grid-template-columns: 1fr 1fr
  }

  .srv .procsec .pgwrap {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .srv .procsec .proctxt .procdesc {
    grid-template-columns: 1fr
  }

  .srv .formsec .pgwrap {
    grid-template-columns: 1fr;
    gap: 48px
  }
}

@media (max-width: 640px) {
  .srv .pgwrap {
    padding: 0 24px
  }

  .srv .offgrid {
    grid-template-columns: 1fr
  }

  .srv .frow {
    grid-template-columns: 1fr
  }

  .srv .titblock h1 {
    font-size: 42px
  }

  .srv .formcard {
    padding: 24px
  }
}

.contactus {
  max-width: 1600px;
  margin: 0 auto;
  overflow-x: clip
}

.contactus .reach {
  display: grid;
  grid-template-columns: 1fr 420px;
  min-height: 520px;
  position: relative
}

.contactus .reach .textside {
  padding: 96px 48px 96px 96px;
  display: flex;
  flex-direction: column;
  gap: 48px;
  position: relative
}

.contactus .reach .textside::before {
  content: '';
  position: absolute;
  top: 60px;
  left: 40px;
  width: 3px;
  height: 160px;
  background: linear-gradient(to bottom, #3A953F, #74C0A6);
  border-radius: 4px
}

.contactus .reach .tagline {
  font-size: 19px;
  color: #3A953F;
  letter-spacing: .02em;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase
}

.contactus .reach .mainhead {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b2b1c;
  font-weight: 700;
  margin: 0
}

.contactus .reach .mainhead .numaccent {
  font-size: 72px;
  color: #3A953F;
  display: block;
  line-height: 1.15
}

.contactus .reach .subdesc {
  font-size: 19px;
  line-height: 1.6;
  color: #2d3e2e;
  max-width: 520px
}

.contactus .reach .dotpath {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: center;
  margin-top: 12px
}

.contactus .reach .dotpath span {
  display: block;
  border-radius: 42px;
  background: #74C0A6
}

.contactus .reach .dotpath span:nth-child(1) {
  width: 8px;
  height: 8px;
  opacity: .4
}

.contactus .reach .dotpath span:nth-child(2) {
  width: 12px;
  height: 8px;
  opacity: .6
}

.contactus .reach .dotpath span:nth-child(3) {
  width: 8px;
  height: 8px;
  opacity: .8
}

.contactus .reach .dotpath span:nth-child(4) {
  width: 20px;
  height: 8px;
  opacity: 1
}

.contactus .reach .dotpath span:nth-child(5) {
  width: 8px;
  height: 8px;
  opacity: .6
}

.contactus .reach .dotpath span:nth-child(6) {
  width: 6px;
  height: 6px;
  opacity: .3
}

.contactus .reach .imgstrip {
  position: relative;
  overflow: hidden
}

.contactus .reach .imgstrip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.contactus .reach .imgstrip::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(to bottom, #1b2b1cb8, transparent);
  pointer-events: none
}

.contactus .reach .outlineshape {
  position: absolute;
  bottom: 48px;
  left: 48px;
  width: 180px;
  height: 180px;
  border: 2px dashed #3a953f2e;
  border-radius: 26px;
  pointer-events: none;
  z-index: 0
}

.contactus .divline {
  border: none;
  border-top: 1px dashed #b0c8b2;
  margin: 0 96px
}

.contactus .formarea {
  display: grid;
  grid-template-columns: 5fr 3fr;
  gap: 48px;
  padding: 96px;
  background: #E8F1EC
}

.contactus .formarea .formpanel {
  background: #fff;
  border-radius: 15px;
  padding: 48px;
  box-shadow: 2px 4px 18px -2px #3a953f14
}

.contactus .formarea .formpanel h2 {
  font-size: 23px;
  font-weight: 700;
  color: #1b2b1c;
  line-height: 1.15;
  letter-spacing: .01em;
  margin: 0 0 6px;
  text-align: center;
  position: relative;
  display: inline-block;
  width: 100%
}

.contactus .formarea .formpanel h2::after {
  content: '';
  display: block;
  height: 2px;
  width: 0;
  background: linear-gradient(to right, #3A953F, #74C0A6);
  border-radius: 4px;
  margin: 6px auto 0;
  transition: width .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactus .formarea .formpanel:hover h2::after {
  width: 60%
}

.contactus .formarea .formpanel .subdesc {
  font-size: 16px;
  color: #4a5e4b;
  text-align: center;
  line-height: 1.6;
  margin: 0 0 48px
}

.contactus .formarea .contactform {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.contactus .formarea .fieldgroup {
  position: relative;
  display: flex;
  flex-direction: column
}

.contactus .formarea .fieldgroup input {
  width: 100%;
  border: 1.5px solid #c8dbc9;
  border-radius: 9px;
  padding: 20px 16px 8px;
  font-size: 16px;
  color: #1b2b1c;
  background: #fff;
  outline: none;
  transition: border-color .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box
}

.contactus .formarea .fieldgroup input:focus {
  border-color: #3A953F;
  box-shadow: inset 0 -2px 0 0 #3a953f2e
}

.contactus .formarea .fieldgroup label {
  position: absolute;
  top: 14px;
  left: 16px;
  font-size: 16px;
  color: #6a826b;
  pointer-events: none;
  transition: top .4s cubic-bezier(0.16, 1, 0.3, 1), font-size .4s cubic-bezier(0.16, 1, 0.3, 1), color .4s cubic-bezier(0.16, 1, 0.3, 1);
  background: transparent
}

.contactus .formarea .fieldgroup input:focus+label,
.contactus .formarea .fieldgroup input:not(:placeholder-shown)+label {
  top: 4px;
  font-size: 12px;
  color: #3A953F
}

.contactus .formarea .radiogroup {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.contactus .formarea .radiogroup .radiolabel {
  font-size: 16px;
  color: #2d3e2e;
  font-weight: 600;
  margin-bottom: 6px
}

.contactus .formarea .radiogroup .radioopts {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px
}

.contactus .formarea .radiogroup .radioopt {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer
}

.contactus .formarea .radiogroup .radioopt input[type="radio"] {
  accent-color: #3A953F;
  width: 18px;
  height: 18px;
  cursor: pointer
}

.contactus .formarea .radiogroup .radioopt span {
  font-size: 16px;
  color: #2d3e2e;
  line-height: 1.4
}

.contactus .formarea .privacyrow {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px
}

.contactus .formarea .privacyrow input[type="checkbox"] {
  accent-color: #3A953F;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex-shrink: 0;
  cursor: pointer
}

.contactus .formarea .privacyrow .privacytext {
  font-size: 16px;
  color: #4a5e4b;
  line-height: 1.6
}

.contactus .formarea .privacyrow .privacytext a {
  color: #3A953F;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactus .formarea .privacyrow .privacytext a:hover {
  color: #74C0A6
}

.contactus .formarea .submitbtn {
  background: #3A953F;
  color: #fff;
  border: none;
  border-radius: 9px;
  padding: 16px 48px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
  align-self: center;
  transition: box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 2px 1px 5px -2px #3a953f0d
}

.contactus .formarea .submitbtn:hover {
  background: #2d7a32;
  box-shadow: 2px 10px 36px -2px #3a953f38
}

.contactus .formarea .submitbtn:focus {
  outline: 2px solid #3A953F;
  outline-offset: 3px
}

.contactus .formarea .infopanel {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.contactus .formarea .infopanel h3 {
  font-size: 23px;
  font-weight: 700;
  color: #1b2b1c;
  line-height: 1.15;
  letter-spacing: .01em;
  margin: 0;
  text-align: center
}

.contactus .formarea .infocard {
  background: #fff;
  border-radius: 15px;
  padding: 24px;
  box-shadow: 2px 4px 18px -2px #3a953f14;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  overflow: hidden;
  cursor: default
}

.contactus .formarea .infocard::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #E8F1EC;
  opacity: 0;
  transition: opacity .5s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  border-radius: 15px
}

.contactus .formarea .infocard:hover::before {
  opacity: 1
}

.contactus .formarea .infocard .cardface {
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  z-index: 1
}

.contactus .formarea .infocard .icontop {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px
}

.contactus .formarea .infocard .icontop .iconwrap {
  width: 40px;
  height: 40px;
  border-radius: 9px;
  background: #E8F1EC;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactus .formarea .infocard:hover .icontop .iconwrap {
  background: #74C0A6
}

.contactus .formarea .infocard .icontop .iconwrap i {
  font-size: 19px;
  color: #3A953F;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactus .formarea .infocard:hover .icontop .iconwrap i {
  color: #fff
}

.contactus .formarea .infocard .cardlabel {
  font-size: 16px;
  font-weight: 700;
  color: #2d3e2e;
  line-height: 1.4
}

.contactus .formarea .infocard .cardval {
  font-size: 16px;
  color: #4a5e4b;
  line-height: 1.6
}

.contactus .formarea .infocard .cardval a {
  color: #3A953F;
  text-decoration: none;
  transition: color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactus .formarea .infocard .cardval a:hover {
  color: #74C0A6
}

.contactus .feedsec {
  padding: 96px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  background: #fff
}

.contactus .feedsec .feedleft {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.contactus .feedsec .feedleft h2 {
  font-size: 42px;
  font-weight: 700;
  color: #1b2b1c;
  line-height: 1.15;
  letter-spacing: .01em;
  margin: 0;
  text-align: center;
  position: relative;
  display: inline-block
}

.contactus .feedsec .feedleft h2::after {
  content: '';
  display: block;
  height: 2px;
  width: 0;
  background: linear-gradient(to right, #3A953F, #74C0A6);
  border-radius: 4px;
  margin: 6px auto 0;
  transition: width .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactus .feedsec .feedleft:hover h2::after {
  width: 50%
}

.contactus .feedsec .feedleft .desc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}

.contactus .feedsec .feedleft .desc p {
  font-size: 16px;
  line-height: 1.6;
  color: #2d3e2e;
  margin: 0
}

.contactus .feedsec .feedleft .iconrow {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: center;
  margin-top: 12px
}

.contactus .feedsec .feedleft .iconrow .icoitem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex: 1;
  padding: 24px 12px;
  border-radius: 15px;
  border: 1.5px solid #E8F1EC;
  transition: border-color .5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactus .feedsec .feedleft .iconrow .icoitem.active {
  border-color: #3A953F;
  box-shadow: 2px 4px 18px -2px #3a953f1c
}

.contactus .feedsec .feedleft .iconrow .icoitem i {
  font-size: 23px;
  color: #b0c8b2;
  transition: color .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactus .feedsec .feedleft .iconrow .icoitem.active i {
  color: #3A953F
}

.contactus .feedsec .feedleft .iconrow .icoitem span {
  font-size: 16px;
  color: #4a5e4b;
  text-align: center;
  line-height: 1.4
}

.contactus .feedsec .feedright {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.contactus .feedsec .feedright h3 {
  font-size: 23px;
  font-weight: 700;
  color: #1b2b1c;
  line-height: 1.15;
  letter-spacing: .01em;
  margin: 0 0 12px;
  text-align: center
}

.contactus .feedsec .feedright .feedlist {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.contactus .feedsec .feedright .feedentry {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border-radius: 9px;
  border: 1.5px solid #E8F1EC;
  background: #fff;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactus .feedsec .feedright .feedentry:hover {
  background: #E8F1EC;
  border-color: #74C0A6
}

.contactus .feedsec .feedright .feedentry .feedicon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: #E8F1EC;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.contactus .feedsec .feedright .feedentry .feedicon i {
  font-size: 16px;
  color: #3A953F
}

.contactus .feedsec .feedright .feedentry .feedbody {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1
}

.contactus .feedsec .feedright .feedentry .feedtime {
  font-size: 16px;
  color: #74C0A6;
  font-weight: 600;
  line-height: 1.4
}

.contactus .feedsec .feedright .feedentry .feedtext {
  font-size: 16px;
  color: #2d3e2e;
  line-height: 1.6
}

.contactus .feedsec .feedright .outlinedeco {
  width: 100px;
  height: 100px;
  border: 2px dashed #74c0a64d;
  border-radius: 42px;
  align-self: flex-end;
  margin-top: 12px;
  pointer-events: none
}

@keyframes iconCycle {

  0%,
  30% {
    color: #3A953F
  }

  33%,
  100% {
    color: #b0c8b2
  }
}

.contactus .feedsec .feedleft .iconrow .icoitem:nth-child(1) i {
  animation: iconCycle 3s infinite 0s
}

.contactus .feedsec .feedleft .iconrow .icoitem:nth-child(2) i {
  animation: iconCycle 3s infinite 1s
}

.contactus .feedsec .feedleft .iconrow .icoitem:nth-child(3) i {
  animation: iconCycle 3s infinite 2s
}

@keyframes borderCycle {

  0%,
  30% {
    border-color: #3A953F;
    box-shadow: 2px 4px 18px -2px #3a953f1c
  }

  33%,
  100% {
    border-color: #E8F1EC;
    box-shadow: none
  }
}

.contactus .feedsec .feedleft .iconrow .icoitem:nth-child(1) {
  animation: borderCycle 3s infinite 0s
}

.contactus .feedsec .feedleft .iconrow .icoitem:nth-child(2) {
  animation: borderCycle 3s infinite 1s
}

.contactus .feedsec .feedleft .iconrow .icoitem:nth-child(3) {
  animation: borderCycle 3s infinite 2s
}

@media (max-width: 1024px) {
  .contactus .reach {
    grid-template-columns: 1fr
  }

  .contactus .reach .imgstrip {
    height: 280px
  }

  .contactus .reach .textside {
    padding: 48px 24px 48px 48px
  }

  .contactus .formarea {
    grid-template-columns: 1fr;
    padding: 48px 24px
  }

  .contactus .feedsec {
    grid-template-columns: 1fr;
    padding: 48px 24px
  }

  .contactus .divline {
    margin: 0 24px
  }
}

@media (max-width: 640px) {
  .contactus .reach .mainhead .numaccent {
    font-size: 42px
  }

  .contactus .reach .mainhead {
    font-size: 23px
  }

  .contactus .formarea .formpanel {
    padding: 24px
  }

  .contactus .formarea .radiogroup .radioopts {
    flex-direction: column
  }

  .contactus .feedsec .feedleft .desc {
    grid-template-columns: 1fr
  }

  .contactus .feedsec .feedleft .iconrow {
    flex-direction: column
  }
}

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

.aboutus .titblock {
  padding: 96px 48px;
  background: #fff;
  position: relative;
  max-width: 1600px;
  margin: 0 auto
}

.aboutus .titblock .dotgrid {
  position: absolute;
  top: 0;
  left: 0;
  width: 52%;
  height: 100%;
  pointer-events: none;
  background-image: radial-gradient(circle, #3A953F22 1.5px, transparent 1.5px);
  background-size: 22px 22px;
  z-index: 0
}

.aboutus .titblock .tbinner {
  display: flex;
  flex-direction: row;
  gap: 96px;
  align-items: flex-start;
  position: relative;
  z-index: 1
}

.aboutus .titblock .tbtext {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: center
}

.aboutus .titblock .tbtext h1 {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b2b1c;
  font-weight: 700;
  margin: 0;
  position: relative;
  display: inline-block
}

.aboutus .titblock .tbtext h1 .uline {
  display: block;
  height: 3px;
  width: 0;
  background: linear-gradient(180deg, #3A953F 0%, #74C0A6 100%);
  border-radius: 4px;
  margin: 8px auto 0;
  animation: drawline .55s cubic-bezier(0.16, 1, 0.3, 1) .3s forwards
}

@keyframes drawline {
  to {
    width: 100%
  }
}

.aboutus .titblock .tbtext .desc {
  font-size: 19px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #2c3d2d;
  margin: 0;
  columns: 2;
  column-gap: 48px;
  text-align: left
}

.aboutus .titblock .tbimg {
  flex: 0 0 420px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center
}

.aboutus .titblock .tbimg .imgwrap {
  width: 420px;
  height: 340px;
  border-radius: 15px;
  overflow: hidden;
  position: relative
}

.aboutus .titblock .tbimg .imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: sepia(0.25) contrast(1.05) brightness(0.95) saturate(0.8);
  transition: filter .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.aboutus .titblock .tbimg .imgwrap:hover img {
  filter: sepia(0) contrast(1) brightness(1) saturate(1)
}

.aboutus .titblock .tbimg .imgcaption {
  font-size: 16px;
  line-height: 1.4;
  color: #3A953F;
  letter-spacing: .02em;
  text-align: center
}

.aboutus .titblock .statrow {
  display: flex;
  flex-direction: row;
  gap: 24px;
  margin-top: 24px;
  justify-content: center
}

.aboutus .titblock .statrow .statpill {
  background: #E8F1EC;
  border-radius: 9px;
  padding: 12px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 120px;
  position: relative
}

.aboutus .titblock .statrow .statpill .snum {
  font-size: 42px;
  line-height: 1.15;
  font-weight: 700;
  color: #3A953F;
  letter-spacing: .01em
}

.aboutus .titblock .statrow .statpill .slabel {
  font-size: 16px;
  line-height: 1.4;
  color: #2c3d2d;
  letter-spacing: .01em;
  text-align: center
}

.aboutus .titblock .statrow .statpill .scnt {
  position: absolute;
  top: 6px;
  right: 12px;
  font-size: 16px;
  color: #74C0A6;
  font-weight: 700;
  letter-spacing: .01em
}

.aboutus .divfade1 {
  height: 48px;
  background: linear-gradient(90deg, transparent 0%, #fff 18%, #fff 82%, transparent 100%);
  max-width: 1600px;
  margin: 0 auto
}

.aboutus .teamblock {
  background: #E8F1EC;
  position: relative;
  overflow: hidden
}

.aboutus .teamblock .texturebg {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%233A953F' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0
}

.aboutus .teamblock .tbwrap {
  max-width: 1600px;
  margin: 0 auto;
  padding: 96px 48px;
  position: relative;
  z-index: 1
}

.aboutus .teamblock .tbwrap .sechead {
  text-align: center;
  margin-bottom: 48px
}

.aboutus .teamblock .tbwrap .sechead h2 {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b2b1c;
  font-weight: 700;
  margin: 0 0 12px;
  display: inline-block;
  position: relative
}

.aboutus .teamblock .tbwrap .sechead h2 .uline2 {
  display: block;
  height: 3px;
  width: 0;
  background: linear-gradient(180deg, #3A953F 0%, #74C0A6 100%);
  border-radius: 4px;
  margin: 8px auto 0;
  animation: drawline .55s cubic-bezier(0.16, 1, 0.3, 1) .6s forwards
}

.aboutus .teamblock .tbwrap .sechead .subdesc {
  font-size: 19px;
  line-height: 1.6;
  color: #2c3d2d;
  letter-spacing: .01em;
  max-width: 640px;
  margin: 12px auto 0;
  text-align: center
}

.aboutus .teamblock .tbwrap .splitcard {
  display: flex;
  flex-direction: row;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 2px 10px 36px -2px #3a953f1c;
  margin-bottom: 48px
}

.aboutus .teamblock .tbwrap .splitcard .scmetrics {
  flex: 0 0 320px;
  background: #3A953F;
  display: flex;
  flex-direction: column;
  gap: 0
}

.aboutus .teamblock .tbwrap .splitcard .scmetrics .metzone {
  flex: 1 1 0;
  padding: 48px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative
}

.aboutus .teamblock .tbwrap .splitcard .scmetrics .metzone:first-child {
  border-bottom: 1px solid #ffffff2e
}

.aboutus .teamblock .tbwrap .splitcard .scmetrics .metzone .mval {
  font-size: 72px;
  line-height: 1.15;
  font-weight: 700;
  color: #fff;
  letter-spacing: .01em
}

.aboutus .teamblock .tbwrap .splitcard .scmetrics .metzone .mlabel {
  font-size: 16px;
  line-height: 1.4;
  color: #ffffffd9;
  letter-spacing: .02em;
  margin-top: 6px
}

.aboutus .teamblock .tbwrap .splitcard .scmetrics .metzone .mcount {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 16px;
  color: #ffffff80;
  font-weight: 700
}

.aboutus .teamblock .tbwrap .splitcard .scdetail {
  flex: 1 1 0;
  background: #fff;
  padding: 48px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: center
}

.aboutus .teamblock .tbwrap .splitcard .scdetail h3 {
  font-size: 23px;
  line-height: 1.4;
  font-weight: 700;
  color: #1b2b1c;
  margin: 0;
  letter-spacing: .01em
}

.aboutus .teamblock .tbwrap .splitcard .scdetail .dettext {
  font-size: 19px;
  line-height: 1.6;
  color: #2c3d2d;
  margin: 0;
  letter-spacing: .01em;
  columns: 2;
  column-gap: 48px
}

.aboutus .teamblock .tbwrap .teamgrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.aboutus .teamblock .tbwrap .teamgrid .perscard {
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 2px 4px 18px -2px #3a953f14;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 0 24px;
  position: relative;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.aboutus .teamblock .tbwrap .teamgrid .perscard:hover {
  box-shadow: 2px 10px 36px -2px #3a953f1c
}

.aboutus .teamblock .tbwrap .teamgrid .perscard .pimgwrap {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative
}

.aboutus .teamblock .tbwrap .teamgrid .perscard .pimgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.7) brightness(0.95);
  transition: filter .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.aboutus .teamblock .tbwrap .teamgrid .perscard:hover .pimgwrap img {
  filter: saturate(1) brightness(1)
}

.aboutus .teamblock .tbwrap .teamgrid .perscard .pname {
  font-size: 19px;
  line-height: 1.4;
  font-weight: 700;
  color: #1b2b1c;
  margin: 24px 0 6px;
  letter-spacing: .01em;
  text-align: center;
  padding: 0 12px
}

.aboutus .teamblock .tbwrap .teamgrid .perscard .prole {
  font-size: 16px;
  line-height: 1.4;
  color: #3A953F;
  letter-spacing: .02em;
  text-align: center;
  padding: 0 12px;
  margin: 0
}

.aboutus .teamblock .tbwrap .teamgrid .perscard .pbio {
  font-size: 16px;
  line-height: 1.6;
  color: #2c3d2d;
  text-align: center;
  padding: 12px 24px 0;
  margin: 0;
  letter-spacing: .01em
}

.aboutus .teamblock .tbwrap .teamgrid .perscard .pstrip {
  width: 100%;
  height: 3px;
  background: linear-gradient(180deg, #3A953F 0%, #74C0A6 100%);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .5s cubic-bezier(0.16, 1, 0.3, 1);
  margin-top: 12px
}

.aboutus .teamblock .tbwrap .teamgrid .perscard:hover .pstrip {
  transform: scaleX(1)
}

.aboutus .teamblock .tbwrap .teamgrid .perscard .pcnt {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #3a953fd9;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 9px;
  padding: 4px 10px;
  letter-spacing: .01em
}

.aboutus .teamblock .tbwrap .teamgrid .perscard:nth-child(1) {
  animation: fadeup .45s cubic-bezier(0.16, 1, 0.3, 1) .1s both
}

.aboutus .teamblock .tbwrap .teamgrid .perscard:nth-child(2) {
  animation: fadeup .45s cubic-bezier(0.16, 1, 0.3, 1) .2s both
}

.aboutus .teamblock .tbwrap .teamgrid .perscard:nth-child(3) {
  animation: fadeup .45s cubic-bezier(0.16, 1, 0.3, 1) .3s both
}

.aboutus .teamblock .tbwrap .teamgrid .perscard:nth-child(4) {
  animation: fadeup .45s cubic-bezier(0.16, 1, 0.3, 1) .4s both
}

@keyframes fadeup {
  from {
    opacity: 0;
    transform: translateY(24px)
  }

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

.aboutus .divfade2 {
  height: 48px;
  background: linear-gradient(90deg, transparent 0%, #E8F1EC 18%, #E8F1EC 82%, transparent 100%);
  max-width: 1600px;
  margin: 0 auto
}

.aboutus .geoshape {
  position: absolute;
  border-radius: 42px;
  pointer-events: none;
  z-index: 0
}

.aboutus .teamblock .geo1 {
  width: 180px;
  height: 180px;
  border: 2px solid #3a953f1a;
  top: 48px;
  right: 96px;
  animation: outlinepulse 5s ease-in-out infinite
}

.aboutus .teamblock .geo2 {
  width: 90px;
  height: 90px;
  border: 2px solid #74c0a621;
  bottom: 96px;
  left: 48px;
  animation: outlinepulse 7s ease-in-out 1s infinite
}

@keyframes outlinepulse {

  0%,
  100% {
    opacity: .5;
    transform: scale(1)
  }

  50% {
    opacity: 1;
    transform: scale(1.07)
  }
}

@media (max-width: 1100px) {
  .aboutus .titblock .tbinner {
    flex-direction: column;
    gap: 48px
  }

  .aboutus .titblock .tbimg {
    flex: none;
    width: 100%
  }

  .aboutus .titblock .tbimg .imgwrap {
    width: 100%;
    height: 260px
  }

  .aboutus .teamblock .tbwrap .teamgrid {
    grid-template-columns: repeat(2, 1fr)
  }

  .aboutus .teamblock .tbwrap .splitcard {
    flex-direction: column
  }

  .aboutus .teamblock .tbwrap .splitcard .scmetrics {
    flex-direction: row;
    flex: none
  }

  .aboutus .teamblock .tbwrap .splitcard .scmetrics .metzone {
    flex: 1 1 0
  }

  .aboutus .teamblock .tbwrap .splitcard .scmetrics .metzone:first-child {
    border-bottom: none;
    border-right: 1px solid #ffffff2e
  }

  .aboutus .teamblock .tbwrap .splitcard .scdetail .dettext {
    columns: 1
  }

  .aboutus .titblock .tbtext .desc {
    columns: 1
  }
}

@media (max-width: 680px) {
  .aboutus .titblock {
    padding: 48px 24px
  }

  .aboutus .teamblock .tbwrap {
    padding: 48px 24px
  }

  .aboutus .teamblock .tbwrap .teamgrid {
    grid-template-columns: 1fr
  }

  .aboutus .titblock .statrow {
    flex-direction: column;
    align-items: center
  }

  .aboutus .teamblock .tbwrap .splitcard .scmetrics {
    flex-direction: column
  }

  .aboutus .teamblock .tbwrap .splitcard .scmetrics .metzone:first-child {
    border-right: none;
    border-bottom: 1px solid #ffffff2e
  }

  .aboutus .teamblock .tbwrap .splitcard .scdetail {
    padding: 24px
  }
}

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

.entrypage * {
  box-sizing: border-box
}

.entrypage .titleblock {
  max-width: 1600px;
  margin: 0 auto;
  padding: 96px 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center
}

.entrypage .imgframe {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  border-top: 2px solid #3A953F;
  border-bottom: 2px solid #74C0A6
}

.entrypage .imgframe img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
  filter: saturate(0.6) sepia(0.3)
}

.entrypage .txtzone {
  position: relative;
  padding: 48px
}

.entrypage .txtzone::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #3a953f0f 0%, #74c0a60a 100%);
  border-radius: 15px;
  pointer-events: none
}

.entrypage .eyebrow {
  display: inline-block;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .02em;
  color: #3A953F;
  font-weight: 600;
  margin-bottom: 24px;
  padding: 6px 12px;
  background: #E8F1EC;
  border-radius: 4px
}

.entrypage .mainhd {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b2e1c;
  font-weight: 700;
  margin: 0 0 24px;
  position: relative;
  display: inline-block
}

.entrypage .mainhd::after {
  content: "";
  display: block;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, #3A953F, #74C0A6);
  border-radius: 4px;
  margin-top: 6px;
  animation: hdline .55s cubic-bezier(0.16, 1, 0.3, 1) .3s forwards
}

@keyframes hdline {
  to {
    width: 100%
  }
}

.entrypage .expblock {
  background: #f4f7f5;
  padding: 96px 0;
  position: relative
}

.entrypage .expblock::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 50% 50%, #74c0a621 0%, transparent 70%);
  pointer-events: none
}

.entrypage .expinner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 48px
}

.entrypage .sechd {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b2e1c;
  font-weight: 700;
  text-align: center;
  margin: 0 0 12px;
  position: relative;
  display: inline-block
}

.entrypage .sechdwrap {
  text-align: center;
  margin-bottom: 48px
}

.entrypage .sechd::after {
  content: "";
  display: block;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, #3A953F, #74C0A6);
  border-radius: 4px;
  margin-top: 6px;
  animation: hdline .5s cubic-bezier(0.16, 1, 0.3, 1) .5s forwards
}

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

.entrypage .phasecard {
  background: #fff;
  border-radius: 15px;
  padding: 48px 24px;
  text-align: center;
  border-top: 2px solid #E8F1EC;
  border-bottom: 2px solid #E8F1EC;
  transition: border-color .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 2px 1px 5px -2px #3a953f0d
}

.entrypage .phasecard:hover {
  border-color: #74C0A6;
  box-shadow: 2px 10px 36px -2px #3a953f1c
}

.entrypage .phasenum {
  width: 48px;
  height: 48px;
  border-radius: 42px;
  background: #E8F1EC;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  font-size: 19px;
  font-weight: 700;
  color: #3A953F;
  flex-direction: row
}

.entrypage .phasehd {
  font-size: 19px;
  line-height: 1.4;
  letter-spacing: .01em;
  color: #1b2e1c;
  font-weight: 600;
  margin: 0 0 12px
}

.entrypage .phasedesc {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #3d5140;
  margin: 0
}

.entrypage .expimg {
  margin-top: 48px;
  border-radius: 15px;
  overflow: hidden;
  position: relative
}

.entrypage .expimg img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
  filter: blur(0px);
  transition: filter .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.entrypage .expimg:hover img {
  filter: blur(2px) brightness(1.04)
}

.entrypage .gapblock {
  background: #fff;
  padding: 96px 0;
  position: relative
}

.entrypage .ringpattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden
}

.entrypage .ringpattern svg {
  position: absolute;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .06;
  width: 480px;
  height: 480px
}

.entrypage .gapinner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center
}

.entrypage .gaptxt {
  text-align: center
}

.entrypage .gaphd {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b2e1c;
  font-weight: 700;
  margin: 0 0 24px;
  display: inline-block;
  position: relative
}

.entrypage .gaphd::after {
  content: "";
  display: block;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, #74C0A6, #3A953F);
  border-radius: 4px;
  margin-top: 6px;
  animation: hdline .5s cubic-bezier(0.16, 1, 0.3, 1) .4s forwards
}

.entrypage .gapcols {
  columns: 2;
  column-gap: 24px
}

.entrypage .gapcols p {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #3d5140;
  margin: 0 0 24px;
  break-inside: avoid
}

.entrypage .gapvisual {
  position: relative
}

.entrypage .gapimgwrap {
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 2px 4px 18px -2px #3a953f14
}

.entrypage .gapimgwrap img {
  width: 100%;
  height: 440px;
  object-fit: cover;
  display: block
}

.entrypage .featurelist {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.entrypage .featitem {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: 9px;
  background: #E8F1EC;
  transition: background .4s cubic-bezier(0.16, 1, 0.3, 1)
}

.entrypage .featitem:hover {
  background: #d4e8dc
}

.entrypage .featbullet {
  width: 10px;
  height: 10px;
  border-radius: 42px;
  background: #3A953F;
  flex-shrink: 0;
  margin-top: 6px
}

.entrypage .feattext {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #1b2e1c;
  font-weight: 500;
  margin: 0
}

.entrypage .condblock {
  background: #E8F1EC;
  padding: 96px 0;
  position: relative
}

.entrypage .flickerdot {
  position: absolute;
  border-radius: 42px;
  pointer-events: none
}

.entrypage .flickerdot.d1 {
  width: 120px;
  height: 120px;
  background: #3a953f14;
  top: 48px;
  left: 96px;
  animation: flicker1 4s ease-in-out infinite
}

.entrypage .flickerdot.d2 {
  width: 80px;
  height: 80px;
  background: #74c0a61a;
  bottom: 48px;
  right: 96px;
  animation: flicker2 5s ease-in-out infinite 1.5s
}

@keyframes flicker1 {

  0%,
  100% {
    opacity: .4
  }

  50% {
    opacity: 1
  }
}

@keyframes flicker2 {

  0%,
  100% {
    opacity: .3
  }

  60% {
    opacity: .9
  }
}

.entrypage .condinner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 48px
}

.entrypage .condhd {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b2e1c;
  font-weight: 700;
  text-align: center;
  margin: 0 0 12px;
  display: inline-block;
  position: relative
}

.entrypage .condhd::after {
  content: "";
  display: block;
  height: 3px;
  width: 0;
  background: linear-gradient(180deg, #3A953F, #74C0A6);
  border-radius: 4px;
  margin-top: 6px;
  animation: hdline .5s cubic-bezier(0.16, 1, 0.3, 1) .6s forwards
}

.entrypage .condhdwrap {
  text-align: center;
  margin-bottom: 48px
}

.entrypage .condgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start
}

.entrypage .condcards {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.entrypage .condcard {
  background: #fff;
  border-radius: 15px;
  padding: 24px;
  border-top: 2px solid #3A953F;
  border-bottom: 2px solid #74C0A6;
  box-shadow: 2px 1px 5px -2px #74c0a60d;
  transition: box-shadow .5s cubic-bezier(0.16, 1, 0.3, 1)
}

.entrypage .condcard:hover {
  box-shadow: 2px 10px 36px -2px #74c0a61c
}

.entrypage .condcardhd {
  font-size: 19px;
  line-height: 1.4;
  letter-spacing: .01em;
  color: #1b2e1c;
  font-weight: 600;
  margin: 0 0 12px;
  text-align: center
}

.entrypage .condcarddesc {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #3d5140;
  margin: 0;
  text-align: center
}

.entrypage .condimgwrap {
  border-radius: 26px;
  overflow: hidden;
  position: relative;
  box-shadow: 2px 4px 18px -2px #3a953f14
}

.entrypage .condimgwrap img {
  width: 100%;
  height: 100%;
  min-height: 400px;
  object-fit: cover;
  display: block;
  filter: saturate(0.85);
  transition: filter .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.entrypage .condimgwrap:hover img {
  filter: saturate(1.1)
}

.entrypage .condimgwrap::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 40px #3a953f14;
  border-radius: 26px;
  pointer-events: none
}

.entrypage .linkbtn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 24px;
  padding: 12px 24px;
  background: #3A953F;
  color: #fff;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .01em;
  font-weight: 600;
  border-radius: 9px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), background .45s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 2px 1px 5px -2px #3a953f0d
}

.entrypage .linkbtn:hover {
  background: #2d7a31;
  box-shadow: 2px 10px 36px -2px #3a953f1c
}

.entrypage .linkbtn:focus {
  outline: 3px solid #3A953F;
  outline-offset: 3px
}

.entrypage .condcta {
  text-align: center;
  margin-top: 48px
}

@media (max-width: 900px) {
  .entrypage .titleblock {
    grid-template-columns: 1fr;
    padding: 48px 24px
  }

  .entrypage .imgframe img {
    height: 320px
  }

  .entrypage .txtzone {
    padding: 24px
  }

  .entrypage .phasegrid {
    grid-template-columns: 1fr
  }

  .entrypage .gapinner {
    grid-template-columns: 1fr;
    gap: 48px
  }

  .entrypage .gapcols {
    columns: 1
  }

  .entrypage .condgrid {
    grid-template-columns: 1fr
  }

  .entrypage .expinner,
  .entrypage .condinner {
    padding: 0 24px
  }

  .entrypage .gapinner {
    padding: 0 24px
  }

  .entrypage .mainhd {
    font-size: 23px
  }

  .entrypage .sechd,
  .entrypage .gaphd,
  .entrypage .condhd {
    font-size: 23px
  }
}

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

.successPage .confirmWrap {
  max-width: 560px;
  width: 100%;
  text-align: center;
  padding: 48px;
  border-radius: 26px;
  background: #f4faf6;
  box-shadow: 2px 10px 36px -2px #3a953f1c
}

.successPage .iconMark {
  width: 72px;
  height: 72px;
  margin: 0 auto 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 42px;
  background: #3A953F
}

.successPage .iconMark svg {
  display: block
}

.successPage .confirmTitle {
  font-size: 42px;
  line-height: 1.15;
  letter-spacing: .01em;
  color: #1b3a1d;
  margin: 0 0 24px;
  font-weight: 700
}

.successPage .confirmMsg {
  font-size: 19px;
  line-height: 1.6;
  letter-spacing: .01em;
  color: #2d4d30;
  margin: 0 0 48px
}

.successPage .returnLink {
  display: inline-block;
  padding: 12px 48px;
  background: #3A953F;
  color: #fff;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .02em;
  border-radius: 9px;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 2px 4px 18px -2px #3a953f14;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), background .5s ease-in-out
}

.successPage .returnLink:hover {
  background: #2e7a32;
  box-shadow: 2px 10px 36px -2px #3a953f38
}

.successPage .returnLink:focus {
  outline: 3px solid #74C0A6;
  outline-offset: 4px
}

.successPage .dividerLine {
  width: 48px;
  height: 3px;
  border-radius: 4px;
  background: linear-gradient(180deg, #3A953F, #74C0A6);
  margin: 0 auto 24px
}