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

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

.topbar {
  background: #AD0F38;
  padding: 8px 20px
}

.topbar-rail {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap
}

.topbar-contact {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap
}

.topbar-contact a {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: .02em;
  transition: color .5s ease-in-out;
  min-height: 44px
}

.topbar-contact a:hover {
  color: #DEB102
}

.topbar-contact a:focus {
  outline: none;
  position: relative
}

.topbar-contact a:focus::before {
  content: 'link';
  position: absolute;
  top: -18px;
  left: 0;
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  color: #DEB102;
  background: #AD0F38;
  padding: 0 4px;
  border-radius: 4px;
  white-space: nowrap
}

.topbar-tagline {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffbf;
  letter-spacing: .04em;
  font-style: italic
}

.topbar-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0
}

.brandbar {
  background: #fff;
  border-bottom: 1px solid #ad0f381f;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  padding: 20px
}

.brandbar-rail {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px
}

.brandident {
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
  flex-shrink: 0
}

.logobox {
  width: 80px;
  height: 80px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #ad0f382e;
  box-shadow: -1px 2px 3px 0 #ad0f380f -1px 4px 28px 0 #ad0f381c;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  flex-shrink: 0
}

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

.brandname-group {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.brandname {
  font-family: 'IBM Plex Serif', serif;
  font-size: 41px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #141414;
  white-space: nowrap
}

.brandname span {
  color: #AD0F38
}

.brandsub {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #02766A;
  letter-spacing: .06em;
  text-transform: uppercase
}

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

.btn-enroll {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.75;
  color: #fff;
  background: linear-gradient(110deg, #AD0F38 0%, #c41844 100%);
  border: none;
  border-radius: 4px;
  padding: 12px 32px;
  cursor: pointer;
  letter-spacing: .04em;
  text-decoration: none;
  display: inline-block;
  position: relative;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  min-height: 44px
}

.btn-enroll::after {
  content: '';
  position: absolute;
  inset: 3px;
  border: 1.5px solid #fff0;
  border-radius: 2px;
  transition: border-color .48s ease-in-out;
  pointer-events: none
}

.btn-enroll:hover {
  background: linear-gradient(110deg, #8f0c2e 0%, #AD0F38 60%, #DEB102 100%);
  box-shadow: -1px 9px 52px 0 #ad0f381a
}

.btn-enroll:hover::after {
  border-color: #ffffff80
}

.btn-enroll:focus {
  outline: none;
  position: relative
}

.btn-enroll:focus::before {
  content: 'enroll';
  position: absolute;
  top: -22px;
  left: 0;
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  color: #AD0F38;
  background: #fff;
  padding: 0 4px;
  border-radius: 4px;
  border: 1px solid #AD0F38;
  white-space: nowrap
}

.navbar {
  background: linear-gradient(90deg, #02766A 0%, #035f55 100%);
  border-top: 3px solid #DEB102
}

.navbar-rail {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: stretch;
  gap: 0;
  flex-wrap: wrap
}

.navlink {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.75;
  color: #ffffffe0;
  text-decoration: none;
  letter-spacing: .04em;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  min-height: 44px;
  transition: color .5s ease-in-out, background .5s ease-in-out;
  white-space: nowrap
}

.navlink::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 20px;
  height: 2px;
  background: #DEB102;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.navlink:hover {
  color: #fff;
  background: #ffffff14
}

.navlink:hover::after {
  transform: scaleX(1)
}

.navlink.active {
  color: #DEB102
}

.navlink.active::after {
  transform: scaleX(1)
}

.navlink:focus {
  outline: none
}

.navlink:focus::before {
  content: 'page';
  position: absolute;
  top: -20px;
  left: 20px;
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  color: #02766A;
  background: #fff;
  padding: 0 4px;
  border-radius: 4px;
  border: 1px solid #02766A;
  white-space: nowrap;
  z-index: 10
}

.navdot {
  width: 5px;
  height: 5px;
  border-radius: 36px;
  background: #DEB102;
  display: inline-block;
  flex-shrink: 0
}

.ftr {
  background: #141414;
  border-top: 3px solid #AD0F38;
  padding: 64px 20px 0
}

.ftr-top {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1px 1fr 1px 1fr;
  gap: 0;
  align-items: start
}

.ftrcol {
  padding: 0 32px 64px
}

.ftrcol:first-child {
  padding-left: 0
}

.ftrcol:last-child {
  padding-right: 0
}

.ftr-divider {
  background: #ad0f3840;
  align-self: stretch;
  margin: 0
}

.ftr-logobox {
  width: 56px;
  height: 56px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #ffffff26;
  box-shadow: -1px 2px 3px 0 #02766a0f -1px 4px 28px 0 #02766a1c;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  margin-bottom: 20px;
  flex-shrink: 0
}

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

.ftr-brandname {
  font-family: 'IBM Plex Serif', serif;
  font-size: 41px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #fff;
  margin-bottom: 12px
}

.ftr-brandname span {
  color: #AD0F38
}

.ftr-desc {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #fff9;
  letter-spacing: .02em;
  margin-bottom: 20px
}

.ftr-founded {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #DEB102;
  letter-spacing: .04em
}

.ftrcol-label {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.75;
  color: #fff;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ad0f384d
}

.ftr-navlist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px
}

.ftr-navlist li a {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffa6;
  text-decoration: none;
  letter-spacing: .02em;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  min-height: 44px;
  transition: color .5s ease-in-out
}

.ftr-navlist li a:hover {
  color: #DEB102
}

.ftr-navlist li a:focus {
  outline: none;
  position: relative
}

.ftr-navlist li a:focus::before {
  content: 'link';
  position: absolute;
  top: -18px;
  left: 0;
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  color: #DEB102;
  background: #141414;
  padding: 0 4px;
  border-radius: 4px;
  border: 1px solid #DEB102;
  white-space: nowrap;
  z-index: 10
}

.ftr-arrow {
  width: 10px;
  height: 10px;
  flex-shrink: 0
}

.ftr-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 20px
}

.ftr-contact-item a {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffa6;
  text-decoration: none;
  letter-spacing: .02em;
  transition: color .5s ease-in-out;
  min-height: 44px;
  display: flex;
  align-items: center
}

.ftr-contact-item a:hover {
  color: #DEB102
}

.ftr-contact-item a:focus {
  outline: none;
  position: relative
}

.ftr-contact-item a:focus::before {
  content: 'contact';
  position: absolute;
  top: -18px;
  left: 0;
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  color: #DEB102;
  background: #141414;
  padding: 0 4px;
  border-radius: 4px;
  border: 1px solid #DEB102;
  white-space: nowrap;
  z-index: 10
}

.ftr-contact-item address {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffa6;
  font-style: normal;
  letter-spacing: .02em
}

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

.ftr-hours {
  background: #02766a1f;
  border-radius: 4px;
  border: 1px solid #02766a40;
  box-shadow: inset 0 1px 4px 0 #02766a1a;
  padding: 12px 20px;
  margin-top: 20px
}

.ftr-hours-label {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.75;
  color: #02766A;
  letter-spacing: .04em;
  margin-bottom: 4px
}

.ftr-hours-detail {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffb3;
  letter-spacing: .02em
}

.ftr-bottom {
  border-top: 1px solid #ad0f3833;
  padding: 20px 0;
  margin-top: 0
}

.ftr-bottom-rail {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding: 0
}

.ftr-copy {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #fff6;
  letter-spacing: .02em
}

.ftr-legal {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap
}

.ftr-legal a {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #fff6;
  text-decoration: none;
  letter-spacing: .02em;
  transition: color .5s ease-in-out;
  min-height: 44px;
  display: flex;
  align-items: center
}

.ftr-legal a:hover {
  color: #DEB102
}

.ftr-legal a:focus {
  outline: none;
  position: relative
}

.ftr-legal a:focus::before {
  content: 'policy';
  position: absolute;
  top: -18px;
  left: 0;
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  color: #DEB102;
  background: #141414;
  padding: 0 4px;
  border-radius: 4px;
  border: 1px solid #DEB102;
  white-space: nowrap;
  z-index: 10
}

.ckpopup {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 320px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #ad0f3826;
  box-shadow: -1px 9px 52px 0 #ad0f381a -1px 4px 28px 0 #ad0f381c;
  z-index: 8000;
  padding: 20px;
  overflow: hidden
}

.ckpopup.ckshow {
  animation: ckslidedown .38s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.ckpopup.ckhide {
  animation: ckslideup .38s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

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

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

@keyframes ckslideup {
  from {
    transform: translateY(0);
    opacity: 1
  }

  to {
    transform: translateY(-24px);
    opacity: 0
  }
}

.ckpopup-head {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.75;
  color: #141414;
  letter-spacing: .02em;
  margin-bottom: 8px
}

.ckpopup-body {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a3a;
  letter-spacing: .02em;
  margin-bottom: 20px
}

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

.ckbtnaccept {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.75;
  color: #fff;
  background: linear-gradient(110deg, #AD0F38 0%, #c41844 100%);
  border: none;
  border-radius: 4px;
  padding: 8px 20px;
  cursor: pointer;
  letter-spacing: .04em;
  position: relative;
  flex: 1;
  min-height: 44px;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ckbtnaccept::after {
  content: '';
  position: absolute;
  inset: 3px;
  border: 1.5px solid #fff0;
  border-radius: 2px;
  transition: border-color .48s ease-in-out;
  pointer-events: none
}

.ckbtnaccept:hover {
  background: linear-gradient(110deg, #8f0c2e 0%, #AD0F38 60%, #c41844 100%)
}

.ckbtnaccept:hover::after {
  border-color: #ffffff73
}

.ckbtnaccept:focus {
  outline: none;
  position: relative
}

.ckbtnaccept:focus::before {
  content: 'accept';
  position: absolute;
  top: -22px;
  left: 0;
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  color: #AD0F38;
  background: #fff;
  padding: 0 4px;
  border-radius: 4px;
  border: 1px solid #AD0F38;
  white-space: nowrap
}

.ckbtndecline {
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  line-height: 1.75;
  color: #AD0F38;
  background: none;
  border: none;
  cursor: pointer;
  letter-spacing: .02em;
  padding: 8px 4px;
  text-decoration: underline;
  text-underline-offset: 3px;
  min-height: 44px;
  transition: color .5s ease-in-out
}

.ckbtndecline:hover {
  color: #8f0c2e
}

.ckbtndecline:focus {
  outline: none;
  position: relative
}

.ckbtndecline:focus::before {
  content: 'decline';
  position: absolute;
  top: -22px;
  left: 0;
  font-family: 'IBM Plex Serif', serif;
  font-size: 15px;
  color: #AD0F38;
  background: #fff;
  padding: 0 4px;
  border-radius: 4px;
  border: 1px solid #AD0F38;
  white-space: nowrap
}

@media (max-width: 1024px) {
  .ftr-top {
    grid-template-columns: 1fr;
    gap: 0
  }

  .ftr-divider {
    display: none
  }

  .ftrcol {
    padding: 0 0 32px;
    border-bottom: 1px solid #ad0f3826
  }

  .ftrcol:last-child {
    border-bottom: none
  }

  .brandbar-rail {
    flex-wrap: wrap
  }
}

@media (max-width: 768px) {
  .brandname {
    font-size: 41px
  }

  .topbar-tagline {
    display: none
  }

  .ckpopup {
    width: calc(100vw - 40px);
    right: 20px;
    left: 20px
  }
}

@media (max-width: 640px) {
  .brandname {
    font-size: 41px
  }

  .headercta {
    display: none
  }

  .ftr-bottom-rail {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px
  }
}

.terms-box {
  max-width: 1140px;
  margin: 0 auto;
  padding: 64px 32px;
  color: #2a2a2a;
  line-height: 1.75;
  font-size: 15px
}

.terms-box h1 {
  font-size: 56px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #AD0F38;
  margin: 0 0 32px;
  padding-bottom: 20px;
  border-bottom: 2px solid #ad0f3826
}

.terms-box h2 {
  font-size: 41px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #02766A;
  margin: 64px 0 20px
}

.terms-box h3 {
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: #AD0F38;
  margin: 32px 0 12px
}

.terms-box h4 {
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: .04em;
  font-weight: 700;
  color: #02766A;
  margin: 20px 0 8px
}

.terms-box h5 {
  font-size: 15px;
  line-height: 1.75;
  font-weight: 700;
  color: #3a3a3a;
  margin: 20px 0 8px
}

.terms-box h6 {
  font-size: 15px;
  line-height: 1.75;
  font-weight: 600;
  color: #555;
  margin: 12px 0 8px
}

.terms-box p {
  margin: 0 0 20px;
  color: #2a2a2a
}

.terms-box ul {
  margin: 12px 0 20px;
  padding-left: 32px;
  list-style: none
}

.terms-box ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  color: #2a2a2a;
  line-height: 1.75;
  font-size: 15px
}

.terms-box ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 7px;
  height: 7px;
  background: #DEB102;
  border-radius: 0;
  transform: rotate(45deg)
}

.terms-box ol {
  margin: 12px 0 20px;
  padding-left: 32px;
  counter-reset: policy-counter;
  list-style: none
}

.terms-box ol li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  color: #2a2a2a;
  line-height: 1.75;
  font-size: 15px;
  counter-increment: policy-counter
}

.terms-box ol li::before {
  content: counter(policy-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: #AD0F38;
  font-size: 15px;
  line-height: 1.75;
  transform: translateX(-100%);
  padding-right: 4px
}

.terms-box ul ul,
.terms-box ol ol,
.terms-box ul ol,
.terms-box ol ul {
  margin: 8px 0
}

.terms-box em,
.terms-box i {
  font-style: italic;
  color: #02766A
}

.terms-box a {
  color: #AD0F38;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .55s ease-in-out, text-decoration-color .55s ease-in-out
}

.terms-box a:hover {
  color: #02766A;
  text-decoration-color: #DEB102
}

.terms-box table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  font-size: 15px;
  line-height: 1.75;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  border-radius: 12px;
  overflow: hidden
}

.terms-box thead {
  background: linear-gradient(135deg, #AD0F38 0%, #02766A 100%)
}

.terms-box thead th {
  padding: 12px 20px;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .05em;
  text-align: left;
  border: none
}

.terms-box tbody tr {
  border-bottom: 1px solid #ad0f3814;
  transition: background-color .45s ease-in-out
}

.terms-box tbody tr:last-child {
  border-bottom: none
}

.terms-box tbody tr:nth-child(even) {
  background: #02766a0a
}

.terms-box tbody tr:hover {
  background: #ad0f380d
}

.terms-box td {
  padding: 12px 20px;
  color: #2a2a2a;
  font-size: 15px;
  line-height: 1.75;
  vertical-align: top;
  border: none
}

.terms-box th {
  padding: 12px 20px;
  font-size: 15px;
  line-height: 1.75;
  vertical-align: middle
}

.terms-box hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ad0f3840, #02766a40, transparent);
  margin: 64px 0
}

.terms-box div {
  margin-bottom: 20px
}

@media (max-width: 768px) {
  .terms-box {
    padding: 32px 20px
  }

  .terms-box h1 {
    font-size: 41px
  }

  .terms-box h2 {
    font-size: 15px;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 700
  }

  .terms-box table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 4px
  }
}

@media (max-width: 640px) {
  .terms-box {
    padding: 32px 12px
  }

  .terms-box h1 {
    font-size: 41px;
    letter-spacing: -.02em
  }

  .terms-box ul {
    padding-left: 20px
  }

  .terms-box ol {
    padding-left: 20px
  }

  .terms-box thead th,
  .terms-box td {
    padding: 8px 12px
  }
}

.techpg {
  max-width: 100%;
  overflow-x: clip
}

.techpg .tpwrap {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px
}

.techpg .slideIn {
  opacity: 0;
  transform: translateX(-48px);
  animation: tpSlide .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.techpg .slideIn.d1 {
  animation-delay: .1s
}

.techpg .slideIn.d2 {
  animation-delay: .25s
}

.techpg .slideIn.d3 {
  animation-delay: .4s
}

.techpg .slideIn.d4 {
  animation-delay: .55s
}

@keyframes tpSlide {
  to {
    opacity: 1;
    transform: translateX(0)
  }
}

.techpg .gradline {
  height: 2px;
  background: linear-gradient(90deg, #AD0F38 0%, #DEB102 55%, transparent 100%);
  border: none;
  margin: 0
}

.techpg .gradlinerev {
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #02766A 60%, #AD0F38 100%);
  border: none;
  margin: 0
}

.techpg .tblock {
  background-color: #1B0A12;
  padding-top: 64px;
  padding-bottom: 64px;
  position: relative
}

.techpg .tblock .tbgabbr {
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 200px;
  font-weight: 900;
  color: #ad0f3812;
  letter-spacing: -8px;
  line-height: 1.1;
  pointer-events: none;
  user-select: none;
  white-space: nowrap
}

.techpg .tblock .tshapes {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden
}

.techpg .tblock .tshapes .sh1 {
  position: absolute;
  width: 320px;
  height: 320px;
  border-radius: 36px;
  border: 1.5px solid #ad0f381f;
  top: -80px;
  left: -60px;
  transform: rotate(18deg)
}

.techpg .tblock .tshapes .sh2 {
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 12px;
  border: 1.5px solid #deb1021a;
  bottom: -40px;
  left: 200px;
  transform: rotate(-9deg)
}

.techpg .tblock .tshapes .sh3 {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 0;
  border: 1.5px solid #02766a1f;
  top: 30px;
  right: 320px;
  transform: rotate(33deg)
}

.techpg .tblock .toverline {
  display: block;
  font-size: 15px;
  letter-spacing: .14em;
  color: #DEB102;
  text-transform: uppercase;
  margin-bottom: 12px
}

.techpg .tblock .th1 {
  font-size: 56px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 20px;
  max-width: 680px
}

.techpg .tblock .tpoints {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.techpg .tblock .tpoints li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffc7;
  max-width: 560px
}

.techpg .tblock .tpoints li .ptdot {
  flex-shrink: 0;
  margin-top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 0;
  background: #AD0F38;
  transform: rotate(45deg)
}

.techpg .stkblock {
  background-color: #fff;
  padding-top: 64px;
  padding-bottom: 64px
}

.techpg .stkblock .stklayout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start
}

.techpg .stkblock .stkleft .overline {
  display: block;
  width: 40px;
  height: 3px;
  background: #AD0F38;
  border-radius: 0;
  margin-bottom: 12px
}

.techpg .stkblock .stkleft .sh2 {
  font-size: 41px;
  line-height: 1.1;
  letter-spacing: -.018em;
  color: #1B0A12;
  margin: 0 0 20px
}

.techpg .stkblock .stkleft .stktxt {
  font-size: 15px;
  line-height: 1.75;
  color: #333;
  margin: 0 0 20px
}

.techpg .stkblock .stkleft .pullquote {
  float: right;
  width: 42%;
  font-size: 15px;
  line-height: 1.75;
  color: #AD0F38;
  font-style: italic;
  margin: 0 0 12px 20px;
  padding: 12px 20px;
  border-top: 2px solid #AD0F38;
  border-bottom: 2px solid #AD0F38
}

.techpg .stkblock .stkleft .pullquote::before {
  content: '"';
  display: inline;
  font-style: normal;
  color: #AD0F38
}

.techpg .stkblock .stkleft .pullquote::after {
  content: '"';
  display: inline;
  font-style: normal;
  color: #AD0F38
}

.techpg .stkblock .stkright {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.techpg .stkblock .stkcard {
  border-radius: 12px;
  padding: 20px;
  background: #f5f0f2;
  box-shadow: -1px 2px 3px 0 #ad0f380f;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  transition: background .55s ease-in-out, box-shadow .55s ease-in-out
}

.techpg .stkblock .stkcard:hover {
  background: linear-gradient(135deg, #f5f0f2 0%, #fce8ee 60%, #fff6d6 100%);
  box-shadow: -1px 4px 28px 0 #ad0f381c
}

.techpg .stkblock .stkcard .stkicon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #AD0F38;
  display: flex;
  align-items: center;
  justify-content: center
}

.techpg .stkblock .stkcard .stkicon svg {
  width: 22px;
  height: 22px
}

.techpg .stkblock .stkcard .stkcardtxt .stkcardname {
  font-size: 15px;
  font-weight: 700;
  color: #1B0A12;
  line-height: 1.1;
  margin-bottom: 4px
}

.techpg .stkblock .stkcard .stkcardtxt .stkcardesc {
  font-size: 15px;
  line-height: 1.75;
  color: #444;
  margin: 0
}

.techpg .metricsblock {
  padding-top: 64px;
  padding-bottom: 64px;
  background: linear-gradient(160deg, #0d1f1d 0%, #1B0A12 52%, #0e0710 100%);
  position: relative
}

.techpg .metricsblock .mbgabbr {
  position: absolute;
  left: -20px;
  bottom: -20px;
  font-size: 240px;
  font-weight: 900;
  color: #02766a0d;
  line-height: 1.1;
  pointer-events: none;
  user-select: none
}

.techpg .metricsblock .mhead {
  text-align: center;
  margin-bottom: 64px
}

.techpg .metricsblock .mhead .moverline {
  display: inline-block;
  font-size: 15px;
  letter-spacing: .14em;
  color: #DEB102;
  text-transform: uppercase;
  margin-bottom: 12px
}

.techpg .metricsblock .mhead .mh2 {
  font-size: 41px;
  line-height: 1.1;
  letter-spacing: -.018em;
  color: #fff;
  margin: 0
}

.techpg .metricsblock .mgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px
}

.techpg .metricsblock .mcard {
  border-radius: 12px;
  padding: 32px 20px;
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.techpg .metricsblock .mcard::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: linear-gradient(0deg, #ad0f382e 0%, transparent 100%);
  transition: height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none
}

.techpg .metricsblock .mcard:hover::after {
  height: 100%
}

.techpg .metricsblock .mcard:hover {
  background: #ffffff12;
  border-color: #ad0f3866
}

.techpg .metricsblock .mcard .mnum {
  font-size: 56px;
  line-height: 1.1;
  letter-spacing: -.025em;
  color: #DEB102;
  display: block;
  margin-bottom: 8px
}

.techpg .metricsblock .mcard .mlabel {
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffb8;
  display: block
}

.techpg .metricsblock .mcard .micon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px
}

.techpg .metricsblock .mcard .micon svg {
  width: 32px;
  height: 32px
}

.techpg .approachblock {
  background-color: #f7f3f4;
  padding-top: 64px;
  padding-bottom: 64px
}

.techpg .approachblock .aplayout {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 64px;
  align-items: center
}

.techpg .approachblock .apimgwrap {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: -1px 9px 52px 0 #ad0f381a
}

.techpg .approachblock .apimgwrap img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid #ad0f381f
}

.techpg .approachblock .apimgwrap .apimgoverlay {
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: linear-gradient(160deg, #ad0f3838 0%, #02766a2e 60%, #deb1021a 100%);
  pointer-events: none
}

.techpg .approachblock .apimgwrap .scanlines {
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 3px, #0000000a 3px, #0000000a 4px);
  pointer-events: none
}

.techpg .approachblock .apright .apoverline {
  display: block;
  width: 40px;
  height: 3px;
  background: #02766A;
  border-radius: 0;
  margin-bottom: 12px
}

.techpg .approachblock .apright .aph2 {
  font-size: 41px;
  line-height: 1.1;
  letter-spacing: -.018em;
  color: #1B0A12;
  margin: 0 0 20px
}

.techpg .approachblock .apright .aptxt {
  font-size: 15px;
  line-height: 1.75;
  color: #333;
  margin: 0 0 20px
}

.techpg .approachblock .apright .aplist {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.techpg .approachblock .apright .aplist li {
  font-size: 15px;
  line-height: 1.75;
  color: #333;
  padding-left: 20px;
  position: relative
}

.techpg .approachblock .apright .aplist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 0;
  background: #02766A;
  transform: rotate(45deg)
}

.techpg .approachblock .apright .apimgwrap2 {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: -1px 4px 28px 0 #02766a1c
}

.techpg .approachblock .apright .apimgwrap2 img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid #02766a1f
}

.techpg .approachblock .apright .apctabtn {
  display: inline-block;
  margin-top: 32px;
  padding: 12px 32px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #fff;
  background: linear-gradient(112deg, #AD0F38 0%, #8B0C2C 100%);
  text-decoration: none;
  border: 2px solid transparent;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s ease-in-out;
  position: relative
}

.techpg .approachblock .apright .apctabtn::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 2px;
  border: 1.5px solid #fff0;
  transition: border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none
}

.techpg .approachblock .apright .apctabtn:hover {
  background: linear-gradient(112deg, #c41040 0%, #AD0F38 55%, #DEB102 100%);
  box-shadow: -1px 9px 52px 0 #ad0f382e
}

.techpg .approachblock .apright .apctabtn:hover::after {
  border-color: #ffffff52
}

@media (max-width: 1024px) {
  .techpg .stkblock .stklayout {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .techpg .metricsblock .mgrid {
    grid-template-columns: 1fr 1fr
  }

  .techpg .approachblock .aplayout {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .techpg .approachblock .apimgwrap img {
    height: 300px
  }
}

@media (max-width: 768px) {
  .techpg .tblock .th1 {
    font-size: 41px
  }

  .techpg .tblock .tbgabbr {
    display: none
  }

  .techpg .metricsblock .mgrid {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .techpg .metricsblock .mhead .mh2 {
    font-size: 41px
  }

  .techpg .stkblock .stkleft .pullquote {
    float: none;
    width: 100%;
    margin: 0 0 20px
  }

  .techpg .tpwrap {
    padding-left: 20px;
    padding-right: 20px
  }
}

@media (max-width: 640px) {
  .techpg .tblock .th1 {
    font-size: 41px
  }

  .techpg .stkblock .sh2 {
    font-size: 41px
  }

  .techpg .approachblock .aph2 {
    font-size: 41px
  }
}

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

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

.abtUs .rotGeo {
  position: absolute;
  width: 420px;
  height: 420px;
  border: 1.5px solid #ad0f3812;
  transform: rotate(0deg);
  animation: rotSpin 28s linear infinite;
  pointer-events: none;
  top: 80px;
  right: -120px;
  z-index: 0
}

.abtUs .rotGeo::before {
  content: "";
  position: absolute;
  inset: 40px;
  border: 1.5px solid #02766a0f;
  transform: rotate(25deg)
}

@keyframes rotSpin {
  to {
    transform: rotate(360deg)
  }
}

.abtUs .titleBand {
  padding: 64px 20px;
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  position: relative;
  z-index: 1
}

@media (max-width: 768px) {
  .abtUs .titleBand {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 20px 64px
  }
}

.abtUs .titleText {
  position: relative
}

.abtUs .titleText .overline {
  display: block;
  font-size: 15px;
  letter-spacing: .12em;
  color: #02766A;
  text-transform: uppercase;
  margin-bottom: 20px;
  font-weight: 600
}

.abtUs .titleText h1 {
  font-size: 56px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0 0 20px;
  letter-spacing: -.02em
}

@media (max-width: 768px) {
  .abtUs .titleText h1 {
    font-size: 41px
  }
}

.abtUs .titleText .leadPara {
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0 0 32px;
  max-width: 480px
}

.abtUs .titleText .metaRow {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: flex-start
}

.abtUs .titleText .metaItem {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.abtUs .titleText .metaNum {
  font-size: 41px;
  line-height: 1.1;
  color: #AD0F38;
  letter-spacing: -.03em;
  font-weight: 700
}

.abtUs .titleText .metaLabel {
  font-size: 15px;
  line-height: 1.75;
  color: #5a5a5a
}

.abtUs .imgFrame {
  position: relative;
  border-radius: 12px;
  overflow: hidden
}

.abtUs .imgFrame::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, #ad0f388c 100%);
  z-index: 1;
  pointer-events: none
}

.abtUs .imgFrame img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
  border: 1px solid #ad0f381f;
  border-radius: 12px;
  transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

@media (max-width: 768px) {
  .abtUs .imgFrame img {
    height: 340px
  }
}

.abtUs .imgFrame:hover img {
  transform: scale(1.03)
}

.abtUs .blobA {
  position: absolute;
  width: 280px;
  height: 280px;
  border-radius: 36px;
  background: radial-gradient(circle at 30% 70%, #ad0f3817, #deb1020f, #02766a0a);
  filter: blur(32px);
  bottom: -64px;
  left: -80px;
  pointer-events: none;
  z-index: 0
}

.abtUs .blobB {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 36px;
  background: radial-gradient(circle at 70% 30%, #02766a14, #ad0f380d, transparent);
  filter: blur(24px);
  top: -40px;
  right: -40px;
  pointer-events: none;
  z-index: 0
}

.abtUs .accentCta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 32px;
  background: linear-gradient(118deg, #AD0F38 0%, #8a0b2c 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  border-radius: 4px;
  text-decoration: none;
  border: 2px solid transparent;
  transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .45s ease-in-out;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  position: relative
}

.abtUs .accentCta::after {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1px solid #fff0;
  border-radius: 2px;
  transition: border-color .5s ease-in-out;
  pointer-events: none
}

.abtUs .accentCta:hover {
  background: linear-gradient(118deg, #c4103f 0%, #AD0F38 60%, #8a0b2c 100%);
  border-color: #ad0f3866
}

.abtUs .accentCta:hover::after {
  border-color: #ffffff59
}

.abtUs .accentCta:focus {
  outline: 2px solid #AD0F38;
  outline-offset: 3px
}

.abtUs .dividerA {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px 0;
  max-width: 1140px;
  margin: 0 auto
}

.abtUs .dividerA .dLine {
  flex: 1;
  height: 1px;
  background: #ad0f381f
}

.abtUs .dividerA .dShape {
  width: 12px;
  height: 12px;
  border: 2px solid #AD0F38;
  transform: rotate(45deg);
  border-radius: 0
}

.abtUs .storyPanel {
  background: #ad0f3808;
  padding: 64px 20px;
  position: relative
}

.abtUs .storyPanel .accentEdge {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(to bottom, #AD0F38, #DEB102, #02766A);
  border-radius: 0
}

.abtUs .storyInner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  align-items: start
}

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

@media (max-width: 640px) {
  .abtUs .storyInner {
    grid-template-columns: 1fr
  }
}

.abtUs .storyLead {
  grid-column: 1 / 2;
  display: flex;
  flex-direction: column;
  gap: 20px
}

@media (max-width: 1024px) {
  .abtUs .storyLead {
    grid-column: 1 / -1
  }
}

.abtUs .storyLead .overline {
  display: block;
  font-size: 15px;
  letter-spacing: .1em;
  color: #02766A;
  text-transform: uppercase;
  font-weight: 600
}

.abtUs .storyLead h2 {
  font-size: 41px;
  line-height: 1.1;
  color: #1b1b1b;
  margin: 0;
  letter-spacing: -.02em
}

.abtUs .storyLead .bodyTxt {
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0
}

.abtUs .pullQuote {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative
}

.abtUs .pullQuote .qMark {
  font-size: 41px;
  line-height: 1.1;
  color: #AD0F38;
  font-weight: 700;
  line-height: 1
}

.abtUs .pullQuote .qText {
  font-size: 15px;
  line-height: 1.75;
  color: #2a2a2a;
  font-style: italic
}

.abtUs .pullQuote .qName {
  font-size: 15px;
  color: #5a5a5a;
  font-weight: 600
}

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

.abtUs .imgAltRow .altImg {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  border: 1px solid #02766a1f;
  transition: border-color .5s ease-in-out
}

.abtUs .imgAltRow .altImg:hover {
  border-color: #02766a66
}

.abtUs .imgAltRow .altImg img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abtUs .imgAltRow .altImg:hover img {
  transform: scale(1.04)
}

.abtUs .altRows {
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start
}

@media (max-width: 1024px) {
  .abtUs .altRows {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 640px) {
  .abtUs .altRows {
    grid-template-columns: 1fr
  }
}

.abtUs .altRow {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.abtUs .altRow.right {
  text-align: right
}

.abtUs .altRow h3 {
  font-size: 15px;
  line-height: 1.75;
  color: #1b1b1b;
  font-weight: 700;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .08em
}

.abtUs .altRow .bodyTxt {
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0
}

.abtUs .altRow .altImgBox {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #ad0f381a;
  transition: border-color .5s ease-in-out;
  position: relative
}

.abtUs .altRow .altImgBox:hover {
  border-color: #ad0f3859
}

.abtUs .altRow .altImgBox img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abtUs .altRow .altImgBox:hover img {
  transform: scale(1.045)
}

.abtUs .checkCard {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: -1px 2px 3px 0 #ad0f380f;
  transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: default
}

.abtUs .checkCard:hover {
  background: repeating-conic-gradient(#ad0f380a 0% 25%, transparent 0% 50%) 0 0 / 12px 12px
}

.abtUs .checkCard h4 {
  font-size: 15px;
  line-height: 1.75;
  color: #AD0F38;
  margin: 0 0 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em
}

.abtUs .checkCard p {
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0
}

.abtUs .dividerB {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 0;
  max-width: 1140px;
  margin: 0 auto
}

.abtUs .dividerB .dLineB {
  flex: 1;
  height: 1px;
  background: #02766a1f
}

.abtUs .dividerB .dShapeB {
  width: 8px;
  height: 8px;
  border-radius: 36px;
  background: #02766A
}

.abtUs .revealScale {
  animation: scaleReveal .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@keyframes scaleReveal {
  from {
    opacity: 0;
    transform: scale(0.9)
  }

  to {
    opacity: 1;
    transform: scale(1)
  }
}

.abtUs .teamList {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.abtUs .teamList .teamPerson {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
  padding: 20px;
  border-radius: 12px;
  background: #fff;
  box-shadow: -1px 2px 3px 0 #02766a0f;
  box-shadow: inset 0 0 0 1px #02766a14
}

.abtUs .teamList .teamPerson .tName {
  font-size: 15px;
  font-weight: 700;
  color: #1b1b1b;
  margin: 0 0 4px
}

.abtUs .teamList .teamPerson .tRole {
  font-size: 15px;
  color: #02766A;
  font-weight: 600;
  margin: 0 0 8px
}

.abtUs .teamList .teamPerson .tDesc {
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0
}

.abtUs .iconSvg {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ad0f3814, #deb1020f);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 4px
}

.ctus {
  position: relative;
  overflow: hidden
}

.ctus .grad-divider {
  height: 2px;
  background: linear-gradient(to right, #AD0F38, #DEB102, #f0ede8);
  border: none;
  margin: 0
}

.ctus .grad-divider.alt {
  background: linear-gradient(to right, #02766A, #DEB102, #f0ede8)
}

.ctus .titblock {
  position: relative;
  background: linear-gradient(127deg, #AD0F38 0%, #7a0a27 38%, #02766A 100%);
  padding: 64px 20px
}

.ctus .titblock::before {
  content: "";
  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='%23ffffff' 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
}

.ctus .titblock .titinner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 64px;
  position: relative;
  z-index: 1
}

.ctus .titblock .titleft {
  flex: 1 1 0;
  min-width: 0
}

.ctus .titblock .overline {
  font-size: 15px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #DEB102;
  margin-bottom: 12px;
  display: block;
  line-height: 1.75
}

.ctus .titblock .tithead {
  font-size: 56px;
  line-height: 1.1;
  color: #fff;
  letter-spacing: -.02em;
  margin: 0 0 20px
}

.ctus .titblock .titdesc {
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffd1;
  max-width: 440px;
  margin: 0
}

.ctus .titblock .titright {
  flex: 0 0 320px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center
}

.ctus .titblock .bgnum {
  font-size: 70px;
  font-weight: 900;
  color: #ffffff0f;
  line-height: 1.1;
  letter-spacing: -.05em;
  user-select: none;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap
}

.ctus .titblock .contactcards {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%
}

.ctus .titblock .ccard {
  background: #ffffff1a;
  border: 1px solid #ffffff2e;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  box-shadow: -1px 4px 28px 0 #ad0f381c
}

.ctus .titblock .ccard .ccicon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 4px;
  background: #deb10238;
  display: flex;
  align-items: center;
  justify-content: center
}

.ctus .titblock .ccard .ccicon svg {
  width: 18px;
  height: 18px
}

.ctus .titblock .ccard .cctext {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.ctus .titblock .ccard .cclabel {
  font-size: 15px;
  color: #ffffff8c;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .08em
}

.ctus .titblock .ccard .ccval {
  font-size: 15px;
  color: #fff;
  line-height: 1.75;
  text-decoration: none !important
}

.ctus .titblock .ccard .ccval:hover {
  color: #DEB102;
  transition: color .5s ease-in-out
}

.ctus .titblock .curvedeco {
  position: absolute;
  bottom: -40px;
  right: -60px;
  width: 220px;
  height: 220px;
  pointer-events: none;
  opacity: .12;
  z-index: 0
}

.ctus .formblock {
  background: #f5f1ec;
  padding: 64px 20px;
  position: relative
}

.ctus .formblock::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23AD0F38' fill-opacity='0.03'%3E%3Ccircle cx='20' cy='20' r='2'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none
}

.ctus .formblock .forminner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 64px;
  align-items: flex-start;
  position: relative;
  z-index: 1
}

.ctus .formblock .formleft {
  flex: 1 1 0;
  min-width: 0
}

.ctus .formblock .formright {
  flex: 0 0 480px;
  min-width: 0
}

.ctus .formblock .secoverline {
  display: block;
  font-size: 15px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #AD0F38;
  margin-bottom: 12px;
  line-height: 1.1
}

.ctus .formblock .sechead {
  font-size: 41px;
  line-height: 1.1;
  color: #1b1214;
  letter-spacing: -.015em;
  margin: 0 0 20px
}

.ctus .formblock .secdesc {
  font-size: 15px;
  line-height: 1.75;
  color: #3d2d32;
  margin: 0 0 32px
}

.ctus .formblock .pullquote {
  border-radius: 12px;
  background: #fff;
  border: 1px solid #ad0f381f;
  box-shadow: -1px 2px 3px 0 #ad0f380f;
  padding: 20px;
  margin-top: 32px
}

.ctus .formblock .pullquote .pqmark {
  font-size: 41px;
  line-height: 1.1;
  color: #AD0F38;
  font-weight: 900;
  display: block;
  margin-bottom: 8px
}

.ctus .formblock .pullquote .pqtext {
  font-size: 15px;
  line-height: 1.75;
  color: #1b1214;
  font-style: italic;
  margin: 0
}

.ctus .formblock .pullquote .pqsource {
  display: block;
  font-size: 15px;
  color: #02766A;
  margin-top: 8px;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.1
}

.ctus .formblock .contactform {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  box-shadow: -1px 9px 52px 0 #ad0f381a;
  border: 1px solid #ad0f3814
}

.ctus .formblock .fgroup {
  margin-bottom: 20px
}

.ctus .formblock .flabel {
  display: block;
  font-size: 15px;
  color: #1b1214;
  line-height: 1.1;
  margin-bottom: 8px;
  letter-spacing: .04em
}

.ctus .formblock .finputwrap {
  position: relative;
  display: flex;
  align-items: center
}

.ctus .formblock .finputwrap .ficon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #AD0F38;
  pointer-events: none;
  flex-shrink: 0
}

.ctus .formblock .finput {
  width: 100%;
  padding: 12px 12px 12px 36px;
  border: 1px solid #ad0f3833;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1.75;
  color: #1b1214;
  background: #fdfaf8;
  box-shadow: inset -1px 2px 3px 0 #ad0f380f;
  transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-sizing: border-box;
  outline: none;
  appearance: none
}

.ctus .formblock .finput::placeholder {
  color: #3d2d3280
}

.ctus .formblock .finput:focus {
  border-color: #AD0F38;
  box-shadow: inset -1px 2px 3px 0 #ad0f380f 0 0 0 3px #ad0f381a;
  background: #fff
}

.ctus .formblock .fselect {
  width: 100%;
  padding: 12px 12px 12px 36px;
  border: 1px solid #ad0f3833;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1.75;
  color: #1b1214;
  background: #fdfaf8;
  box-shadow: inset -1px 2px 3px 0 #ad0f380f;
  transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-sizing: border-box;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23AD0F38' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center
}

.ctus .formblock .fselect:focus {
  border-color: #AD0F38;
  box-shadow: inset -1px 2px 3px 0 #ad0f380f 0 0 0 3px #ad0f381a;
  background-color: #fff
}

.ctus .formblock .ftextarea {
  width: 100%;
  padding: 12px 12px 12px 36px;
  border: 1px solid #ad0f3833;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1.75;
  color: #1b1214;
  background: #fdfaf8;
  box-shadow: inset -1px 2px 3px 0 #ad0f380f;
  transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-sizing: border-box;
  outline: none;
  resize: vertical;
  min-height: 100px
}

.ctus .formblock .ftextarea::placeholder {
  color: #3d2d3280
}

.ctus .formblock .ftextarea:focus {
  border-color: #AD0F38;
  box-shadow: inset -1px 2px 3px 0 #ad0f380f 0 0 0 3px #ad0f381a;
  background: #fff
}

.ctus .formblock .finputwrap.textarea-wrap {
  align-items: flex-start
}

.ctus .formblock .finputwrap.textarea-wrap .ficon {
  top: 14px;
  transform: none
}

.ctus .formblock .privacyrow {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 20px
}

.ctus .formblock .privacycheck {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: #AD0F38;
  cursor: pointer
}

.ctus .formblock .privacylabel {
  font-size: 15px;
  line-height: 1.75;
  color: #3d2d32
}

.ctus .formblock .privacylabel a {
  color: #AD0F38;
  text-decoration: none !important;
  border-bottom: 1px solid #ad0f3859;
  transition: border-color .5s ease-in-out, color .5s ease-in-out
}

.ctus .formblock .privacylabel a:hover {
  color: #7a0a27;
  border-bottom-color: #7a0a27
}

.ctus .formblock .submitbtn {
  width: 100%;
  padding: 20px 32px;
  border-radius: 36px;
  border: none;
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(127deg, #AD0F38 0%, #c9183f 100%);
  cursor: pointer;
  position: relative;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  overflow: hidden
}

.ctus .formblock .submitbtn::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 33px;
  border: 1.5px solid #fff0;
  transition: border-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none
}

.ctus .formblock .submitbtn:hover {
  background: linear-gradient(127deg, #AD0F38 0%, #DEB102 100%);
  box-shadow: -1px 9px 52px 0 #ad0f382e
}

.ctus .formblock .submitbtn:hover::after {
  border-color: #ffffff73
}

.ctus .formblock .submitbtn:focus-visible {
  outline: 3px solid #DEB102;
  outline-offset: 3px
}

.ctus .locblock {
  background: #1b1214;
  padding: 64px 20px;
  position: relative
}

.ctus .locblock::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0 L80 80 M80 0 L0 80' stroke='%2302766A' stroke-opacity='0.04' stroke-width='0.5'/%3E%3C/svg%3E");
  pointer-events: none
}

.ctus .locblock .locinner {
  max-width: 1140px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.ctus .locblock .lochead {
  text-align: right;
  margin-bottom: 32px
}

.ctus .locblock .locoverline {
  display: block;
  font-size: 15px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #DEB102;
  margin-bottom: 12px;
  line-height: 1.1
}

.ctus .locblock .loctitle {
  font-size: 41px;
  line-height: 1.1;
  color: #fff;
  letter-spacing: -.015em;
  margin: 0
}

.ctus .locblock .locgrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px
}

.ctus .locblock .litem {
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  padding: 32px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: background .55s ease-in-out, border-color .55s ease-in-out
}

.ctus .locblock .litem:hover {
  background: #ad0f381f;
  border-color: #ad0f384d
}

.ctus .locblock .litem .liicon {
  width: 44px;
  height: 44px;
  border-radius: 4px;
  background: linear-gradient(127deg, #AD0F38, #02766A);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.ctus .locblock .litem .liicon svg {
  width: 22px;
  height: 22px
}

.ctus .locblock .litem .liheading {
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #ffffff73;
  line-height: 1.1
}

.ctus .locblock .litem .lival {
  font-size: 15px;
  line-height: 1.75;
  color: #fff;
  text-decoration: none !important
}

.ctus .locblock .litem .lival:hover {
  color: #DEB102;
  transition: color .5s ease-in-out
}

.ctus .locblock .locdesc {
  margin-top: 32px;
  font-size: 15px;
  line-height: 1.75;
  color: #ffffff8c;
  max-width: 640px;
  text-align: right;
  margin-left: auto
}

@keyframes wordReveal {
  from {
    opacity: 0;
    transform: translateY(12px)
  }

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

.ctus .titblock .tithead .wr {
  display: inline-block;
  opacity: 0;
  animation: wordReveal .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.ctus .titblock .tithead .wr:nth-child(1) {
  animation-delay: .05s
}

.ctus .titblock .tithead .wr:nth-child(2) {
  animation-delay: .18s
}

.ctus .titblock .tithead .wr:nth-child(3) {
  animation-delay: .31s
}

.ctus .titblock .tithead .wr:nth-child(4) {
  animation-delay: .44s
}

@keyframes risein {
  from {
    opacity: 0;
    transform: translateY(20px)
  }

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

.ctus .titblock .ccard {
  opacity: 0;
  animation: risein .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.ctus .titblock .ccard:nth-child(1) {
  animation-delay: .25s
}

.ctus .titblock .ccard:nth-child(2) {
  animation-delay: .38s
}

.ctus .titblock .ccard:nth-child(3) {
  animation-delay: .51s
}

.ctus .formblock .privacylabel a {
  position: relative
}

@media (max-width: 1024px) {
  .ctus .titblock .titinner {
    flex-direction: column;
    gap: 32px
  }

  .ctus .titblock .titright {
    flex: none;
    width: 100%
  }

  .ctus .titblock .bgnum {
    font-size: 56px;
    right: 0
  }

  .ctus .formblock .forminner {
    flex-direction: column;
    gap: 32px
  }

  .ctus .formblock .formright {
    flex: none;
    width: 100%
  }

  .ctus .locblock .locgrid {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 768px) {
  .ctus .titblock {
    padding: 32px 20px
  }

  .ctus .titblock .tithead {
    font-size: 41px
  }

  .ctus .formblock {
    padding: 32px 20px
  }

  .ctus .formblock .sechead {
    font-size: 41px
  }

  .ctus .locblock {
    padding: 32px 20px
  }

  .ctus .locblock .loctitle {
    font-size: 41px
  }

  .ctus .locblock .locgrid {
    grid-template-columns: 1fr
  }

  .ctus .locblock .lochead {
    text-align: left
  }

  .ctus .locblock .locdesc {
    text-align: left;
    margin-left: 0
  }

  .ctus .formblock .contactform {
    padding: 20px
  }
}

@media (max-width: 640px) {
  .ctus .titblock .tithead {
    font-size: 41px
  }

  .ctus .titblock .curvedeco {
    display: none
  }

  .ctus .formblock .submitbtn {
    padding: 20px
  }
}

@media (min-width: 641px) {

  .ctus .titblock .tithead .wr,
  .ctus .titblock .ccard {
    transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
  }
}

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

.bse .pgwrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px
}

.bse .titblk {
  padding: 64px 0;
  background: #fff;
  position: relative
}

.bse .titblk::before {
  content: '';
  position: absolute;
  top: 40px;
  right: 0;
  width: 220px;
  height: 220px;
  background: repeating-linear-gradient(-55deg, #ad0f3812 0px, #ad0f3812 1px, transparent 1px, transparent 14px);
  pointer-events: none;
  z-index: 0
}

.bse .titblk .tgrid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 32px;
  align-items: center;
  position: relative;
  z-index: 1
}

.bse .titblk .timgcol {
  position: relative;
  padding: 20px 32px 20px 0
}

.bse .titblk .timgframe {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid #ad0f382e;
  box-shadow: -1px 4px 28px 0 #ad0f381c
}

.bse .titblk .timgframe img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  opacity: .72
}

.bse .titblk .timgdeco {
  position: absolute;
  bottom: 12px;
  left: -12px;
  width: 80px;
  height: 80px;
  border-radius: 12px;
  background: #ad0f3817;
  pointer-events: none
}

.bse .titblk .ttextcol {
  padding: 32px 0 32px 20px;
  text-align: right
}

.bse .titblk .toverline {
  display: block;
  font-size: 15px;
  letter-spacing: .12em;
  color: #AD0F38;
  text-transform: uppercase;
  margin-bottom: 12px;
  line-height: 1.75
}

.bse .titblk .th1 {
  font-size: 56px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1b1b1b;
  margin: 0 0 20px
}

.bse .titblk .tdesc {
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0 0 32px
}

.bse .titblk .tbtnrow {
  display: flex;
  flex-direction: row;
  gap: 12px;
  justify-content: flex-end
}

.bse .titblk .tbtnprim {
  display: inline-block;
  padding: 12px 32px;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1.75;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(118deg, #AD0F38 0%, #c42048 60%, #02766A 100%);
  border: 2px solid transparent;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .5s ease-in-out;
  box-shadow: -1px 4px 28px 0 #ad0f381c
}

.bse .titblk .tbtnprim:hover {
  box-shadow: -1px 9px 52px 0 #ad0f382e inset 0 0 0 2px #ffffff59;
  background: linear-gradient(118deg, #c42048 0%, #AD0F38 40%, #025c54 100%)
}

.bse .titblk .tbtnprim:focus {
  outline: 3px solid #DEB102;
  outline-offset: 2px
}

.bse .titblk .dotsrow {
  display: flex;
  flex-direction: row;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 20px
}

.bse .titblk .dot {
  width: 8px;
  height: 8px;
  border-radius: 36px;
  background: #AD0F38;
  opacity: .22
}

.bse .titblk .dot.active {
  opacity: .78;
  background: #AD0F38
}

.bse .scallop-div {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  height: 32px
}

.bse .scallop-div svg {
  display: block;
  width: 100%
}

.bse .condblk {
  padding: 64px 0 48px;
  background: linear-gradient(160deg, #fff5f7 0%, #f0faf8 55%, #fffdf0 100%);
  position: relative;
  overflow: hidden
}

.bse .condblk::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #02766a2e, transparent);
  pointer-events: none
}

.bse .condblk .cgrid {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 64px;
  align-items: start
}

.bse .condblk .cimgside {
  position: relative
}

.bse .condblk .cimgframe {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #02766a33;
  box-shadow: -1px 4px 28px 0 #02766a1c
}

.bse .condblk .cimgframe img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block
}

.bse .condblk .cimgoverlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(160deg, #02766a26 0%, #ad0f3814 100%);
  border-radius: 12px;
  pointer-events: none
}

.bse .condblk .ctextside {
  padding: 8px 0
}

.bse .condblk .coverline {
  display: block;
  font-size: 15px;
  letter-spacing: .1em;
  color: #02766A;
  text-transform: uppercase;
  margin-bottom: 12px;
  line-height: 1.75
}

.bse .condblk .ch2 {
  font-size: 41px;
  line-height: 1.1;
  letter-spacing: -.015em;
  color: #1b1b1b;
  margin: 0 0 20px
}

.bse .condblk .cpara {
  font-size: 15px;
  line-height: 1.75;
  color: #2e2e2e;
  margin: 0 0 20px
}

.bse .condblk .cpull {
  float: right;
  clear: right;
  width: 44%;
  margin: 0 0 20px 20px;
  padding: 12px 20px;
  border-radius: 4px;
  background: #deb10217;
  box-shadow: inset 0 0 0 1px #deb10247;
  font-size: 15px;
  line-height: 1.75;
  color: #3a2a00
}

.bse .condblk .cpull::before {
  content: '"';
  color: #DEB102;
  font-size: 41px;
  line-height: 1;
  display: block;
  margin-bottom: 4px
}

.bse .condblk .clist {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.bse .condblk .clist li {
  font-size: 15px;
  line-height: 1.75;
  color: #2e2e2e;
  padding-left: 20px;
  position: relative
}

.bse .condblk .clist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 36px;
  background: #02766A
}

.bse .scallop-div2 {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  height: 32px;
  background: linear-gradient(160deg, #fff5f7 0%, #f0faf8 55%, #fffdf0 100%)
}

.bse .offerblk {
  padding: 64px 0;
  background: #fff;
  position: relative
}

.bse .offerblk .oheadrow {
  text-align: center;
  margin-bottom: 48px
}

.bse .offerblk .ooverline {
  display: block;
  font-size: 15px;
  letter-spacing: .1em;
  color: #AD0F38;
  text-transform: uppercase;
  margin-bottom: 12px;
  line-height: 1.75
}

.bse .offerblk .oh2 {
  font-size: 41px;
  line-height: 1.1;
  letter-spacing: -.015em;
  color: #1b1b1b;
  margin: 0 auto 12px;
  max-width: 640px
}

.bse .offerblk .osteptrack {
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: flex-start;
  margin-bottom: 48px;
  position: relative
}

.bse .offerblk .osteptrack::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(90deg, #ad0f3833, #02766a33);
  z-index: 0
}

.bse .offerblk .ostep {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 8px;
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateY(24px);
  animation: fadeup .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.bse .offerblk .ostep:nth-child(1) {
  animation-delay: .1s
}

.bse .offerblk .ostep:nth-child(2) {
  animation-delay: .22s
}

.bse .offerblk .ostep:nth-child(3) {
  animation-delay: .34s
}

.bse .offerblk .ostep:nth-child(4) {
  animation-delay: .46s
}

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

.bse .offerblk .ostepnum {
  width: 40px;
  height: 40px;
  border-radius: 36px;
  background: linear-gradient(135deg, #AD0F38, #02766A);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  box-shadow: -1px 2px 3px 0 #ad0f380f
}

.bse .offerblk .osteplabel {
  font-size: 15px;
  line-height: 1.75;
  color: #2e2e2e;
  font-weight: 600
}

.bse .offerblk .ocardgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px
}

.bse .offerblk .ocard {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  border: 1px solid #ad0f381a;
  display: flex;
  flex-direction: column;
  transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bse .offerblk .ocard:hover {
  box-shadow: -1px 9px 52px 0 #ad0f3829 inset 0 0 0 1px #ad0f382e
}

.bse .offerblk .ocardimg {
  position: relative;
  overflow: hidden
}

.bse .offerblk .ocardimg img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  border-bottom: 1px solid #ad0f381a;
  transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bse .offerblk .ocard:hover .ocardimg img {
  transform: scale(1.04)
}

.bse .offerblk .ocardimgoverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #ad0f381f 0%, #02766a14 100%);
  pointer-events: none
}

.bse .offerblk .ocardbody {
  padding: 20px;
  background: #fff;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.bse .offerblk .ocardtag {
  display: inline-block;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #02766A;
  font-weight: 600
}

.bse .offerblk .ocardh4 {
  font-size: 15px;
  line-height: 1.75;
  color: #1b1b1b;
  margin: 0;
  font-weight: 700
}

.bse .offerblk .ocardp {
  font-size: 15px;
  line-height: 1.75;
  color: #3a3a3a;
  margin: 0
}

.bse .offerblk .ocardlink {
  display: inline-block;
  margin-top: 8px;
  font-size: 15px;
  color: #AD0F38;
  text-decoration: none;
  font-weight: 600;
  position: relative
}

.bse .offerblk .ocardlink::after {
  content: '';
  display: block;
  height: 2px;
  width: 0;
  background: #AD0F38;
  border-radius: 4px;
  transition: width .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.bse .offerblk .ocardlink:hover::after {
  width: 100%
}

.bse .offerblk .ocardlink:focus {
  outline: 3px solid #DEB102;
  outline-offset: 2px;
  border-radius: 4px
}

.bse .scallop-div3 {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  height: 32px;
  background: #fff
}

.bse .fitblk {
  padding: 64px 0;
  position: relative;
  overflow: hidden
}

.bse .fitblk .fitbgimg {
  position: absolute;
  inset: 0;
  z-index: 0
}

.bse .fitblk .fitbgimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(6px) brightness(0.55)
}

.bse .fitblk .fitbgoverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #ad0f38b8 0%, #02766a9e 60%, #deb10247 100%);
  z-index: 1;
  pointer-events: none
}

.bse .fitblk .fitwrap {
  position: relative;
  z-index: 2;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px
}

.bse .fitblk .fitgrid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 64px;
  align-items: start
}

.bse .fitblk .fitleft {
  color: #fff
}

.bse .fitblk .fitoverline {
  display: block;
  font-size: 15px;
  letter-spacing: .1em;
  color: #deb102e6;
  text-transform: uppercase;
  margin-bottom: 12px;
  line-height: 1.75
}

.bse .fitblk .fith2 {
  font-size: 41px;
  line-height: 1.1;
  letter-spacing: -.015em;
  color: #fff;
  margin: 0 0 20px
}

.bse .fitblk .fitpara {
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffe0;
  margin: 0 0 20px
}

.bse .fitblk .fitpull {
  float: right;
  clear: right;
  width: 46%;
  margin: 0 0 20px 20px;
  padding: 12px 20px;
  border-radius: 4px;
  background: #deb10224;
  box-shadow: inset 0 0 0 1px #deb10261;
  font-size: 15px;
  line-height: 1.75;
  color: #fff
}

.bse .fitblk .fitpull::before {
  content: '"';
  color: #DEB102;
  font-size: 41px;
  line-height: 1;
  display: block;
  margin-bottom: 4px
}

.bse .fitblk .fitright {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.bse .fitblk .fitcard {
  border-radius: 12px;
  background: #ffffff1a;
  box-shadow: -1px 2px 3px 0 #02766a0f;
  padding: 20px;
  border: 1px solid #fff3;
  backdrop-filter: blur(4px);
  transition: background .5s ease-in-out
}

.bse .fitblk .fitcard:hover {
  background: #ffffff2e
}

.bse .fitblk .fitcardtitle {
  font-size: 15px;
  line-height: 1.75;
  color: #DEB102;
  font-weight: 700;
  margin: 0 0 4px
}

.bse .fitblk .fitcardp {
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffd9;
  margin: 0
}

.bse .fitblk .fitdotsrow {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-top: 32px
}

.bse .fitblk .fitdot {
  width: 8px;
  height: 8px;
  border-radius: 36px;
  background: #fff6
}

.bse .fitblk .fitdot.on {
  background: #DEB102;
  opacity: .9
}

@media (max-width: 1024px) {
  .bse .titblk .tgrid {
    grid-template-columns: 1fr 1fr
  }

  .bse .condblk .cgrid {
    grid-template-columns: 1fr 1fr;
    gap: 32px
  }

  .bse .offerblk .osteptrack {
    gap: 8px
  }

  .bse .fitblk .fitgrid {
    grid-template-columns: 1fr 1fr;
    gap: 32px
  }
}

@media (max-width: 768px) {
  .bse .titblk .tgrid {
    grid-template-columns: 1fr
  }

  .bse .titblk .timgcol {
    padding: 0
  }

  .bse .titblk .ttextcol {
    text-align: left;
    padding: 20px 0 0
  }

  .bse .titblk .tbtnrow {
    justify-content: flex-start
  }

  .bse .titblk .dotsrow {
    justify-content: flex-start
  }

  .bse .titblk .th1 {
    font-size: 41px
  }

  .bse .condblk .cgrid {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .bse .condblk .cpull {
    float: none;
    width: 100%;
    margin: 0 0 20px
  }

  .bse .offerblk .ocardgrid {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .bse .offerblk .osteptrack {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start
  }

  .bse .offerblk .osteptrack::before {
    display: none
  }

  .bse .offerblk .ostep {
    flex-direction: row;
    align-items: center;
    gap: 12px;
    text-align: left
  }

  .bse .offerblk .ostepnum {
    margin-bottom: 0;
    flex-shrink: 0
  }

  .bse .fitblk .fitgrid {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .bse .fitblk .fitpull {
    float: none;
    width: 100%;
    margin: 0 0 20px
  }

  .bse .fitblk .fith2 {
    font-size: 41px
  }
}

@media (max-width: 640px) {
  .bse .titblk {
    padding: 32px 0
  }

  .bse .titblk .th1 {
    font-size: 41px
  }

  .bse .condblk {
    padding: 32px 0
  }

  .bse .offerblk {
    padding: 32px 0
  }

  .bse .fitblk {
    padding: 32px 0
  }
}

.lrnprog {
  max-width: 100%;
  overflow-x: hidden;
  background: #fff
}

.lrnprog .lpinner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 32px
}

.lrnprog .dotdivider {
  border: none;
  border-top: 2px dotted #AD0F38;
  opacity: .35;
  margin: 0
}

.lrnprog .titlewrap {
  background: linear-gradient(160deg, #AD0F38 0%, #6b0824 45%, #ad0f3800 100%);
  padding: 64px 32px;
  position: relative
}

.lrnprog .titlewrap .lpinner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 64px
}

.lrnprog .titleleft {
  flex: 1 1 0;
  min-width: 0
}

.lrnprog .titleoverline {
  display: block;
  font-size: 15px;
  letter-spacing: .12em;
  color: #DEB102;
  text-transform: uppercase;
  margin-bottom: 20px;
  font-weight: 600
}

.lrnprog .titleleft h1 {
  font-size: 56px;
  line-height: 1.1;
  color: #fff;
  letter-spacing: -.02em;
  margin: 0 0 20px
}

.lrnprog .titleleft h1 em {
  font-style: normal;
  color: #DEB102
}

.lrnprog .titledesc {
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffe0;
  max-width: 480px;
  margin: 0 0 32px
}

.lrnprog .titlecta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 32px;
  background: linear-gradient(118deg, #DEB102 0%, #b88e00 100%);
  color: #1a0008;
  font-size: 15px;
  font-weight: 700;
  border-radius: 4px;
  text-decoration: none;
  border: 2px solid transparent;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .5s ease-in-out, box-shadow .55s ease-in-out;
  position: relative
}

.lrnprog .titlecta:hover {
  background: linear-gradient(118deg, #f5c800 0%, #DEB102 60%, #b88e00 100%);
  border-color: #ffffff8c;
  box-shadow: -1px 4px 28px 0 #ad0f3838 inset 0 0 0 2px #ffffff40
}

.lrnprog .titleright {
  flex: 0 0 380px;
  position: relative
}

.lrnprog .titleimgframe {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #ffffff38;
  box-shadow: -1px 9px 52px 0 #ad0f381a;
  width: 380px;
  height: 280px
}

.lrnprog .titleimgframe img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(0px);
  transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lrnprog .titleimgframe:hover img {
  transform: translateX(-12px)
}

.lrnprog .titleshape1 {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  border-radius: 36px;
  background: linear-gradient(118deg, #deb1022e 0%, #02766a1a 100%);
  pointer-events: none
}

.lrnprog .titleshape2 {
  position: absolute;
  bottom: -12px;
  left: -12px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #ffffff17;
  pointer-events: none
}

.lrnprog .studywrap {
  padding: 64px 32px;
  background: #fff;
  position: relative
}

.lrnprog .studywrap .lpinner {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 64px;
  align-items: start
}

.lrnprog .studyleft .overline {
  display: block;
  width: 40px;
  height: 3px;
  background: #AD0F38;
  border-radius: 0;
  margin-bottom: 12px
}

.lrnprog .studyleft h2 {
  font-size: 41px;
  line-height: 1.1;
  color: #1b0008;
  letter-spacing: -.015em;
  margin: 0 0 20px
}

.lrnprog .studybody {
  font-size: 15px;
  line-height: 1.75;
  color: #2e1018;
  margin: 0 0 32px
}

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

.lrnprog .modulelist li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #2e1018
}

.lrnprog .modnum {
  flex: 0 0 28px;
  height: 28px;
  border-radius: 4px;
  background: linear-gradient(118deg, #AD0F38 0%, #8a0b2c 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -1px 2px 3px 0 #ad0f380f
}

.lrnprog .studyright {
  display: flex;
  flex-direction: column;
  gap: 20px
}

.lrnprog .pullquote {
  background: linear-gradient(135deg, #02766a0f 0%, #deb1020f 100%);
  border-radius: 12px;
  padding: 32px 20px 32px 32px;
  position: relative
}

.lrnprog .pullquote::before {
  content: '';
  display: block;
  position: absolute;
  top: 20px;
  left: 20px;
  width: 24px;
  height: 20px;
  background: #AD0F38;
  opacity: .12;
  border-radius: 4px
}

.lrnprog .qmark {
  font-size: 41px;
  line-height: 1.1;
  color: #AD0F38;
  font-weight: 900;
  display: block;
  margin-bottom: 8px
}

.lrnprog .pullquotetext {
  font-size: 15px;
  line-height: 1.75;
  color: #02766A;
  font-weight: 600;
  text-align: right
}

.lrnprog .statcard {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  display: flex;
  flex-direction: column;
  gap: 4px
}

.lrnprog .statnum {
  font-size: 41px;
  line-height: 1.1;
  color: #AD0F38;
  font-weight: 800;
  letter-spacing: -.02em
}

.lrnprog .statlabel {
  font-size: 15px;
  line-height: 1.75;
  color: #2e1018
}

.lrnprog .processwrap {
  padding: 64px 32px;
  background: linear-gradient(152deg, #02766A 0%, #014d45 55%, #02766A 100%);
  position: relative;
  overflow: hidden
}

.lrnprog .hexbg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .06
}

.lrnprog .flicker1,
.lrnprog .flicker2,
.lrnprog .flicker3 {
  position: absolute;
  border-radius: 36px;
  pointer-events: none;
  animation: flickerpulse 4.2s ease-in-out infinite alternate
}

.lrnprog .flicker1 {
  width: 120px;
  height: 120px;
  background: #DEB102;
  top: 12%;
  right: 8%;
  opacity: .07;
  animation-delay: 0s
}

.lrnprog .flicker2 {
  width: 60px;
  height: 60px;
  background: #AD0F38;
  bottom: 20%;
  left: 5%;
  opacity: .09;
  animation-delay: 1.8s
}

.lrnprog .flicker3 {
  width: 80px;
  height: 80px;
  background: #fff;
  top: 60%;
  right: 22%;
  opacity: .04;
  animation-delay: .9s
}

@keyframes flickerpulse {
  0% {
    opacity: .04;
    transform: scale(1)
  }

  40% {
    opacity: .09;
    transform: scale(1.06)
  }

  100% {
    opacity: .05;
    transform: scale(0.97)
  }
}

.lrnprog .processwrap .lpinner {
  position: relative;
  z-index: 1
}

.lrnprog .processhead {
  text-align: center;
  margin-bottom: 64px
}

.lrnprog .processhead .overlinetext {
  font-size: 15px;
  letter-spacing: .1em;
  color: #DEB102;
  text-transform: uppercase;
  display: block;
  margin-bottom: 12px
}

.lrnprog .processhead h2 {
  font-size: 41px;
  line-height: 1.1;
  color: #fff;
  letter-spacing: -.015em;
  margin: 0
}

.lrnprog .stepsgrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px
}

.lrnprog .stepcard {
  background: #ffffff12;
  border-radius: 12px;
  padding: 32px 20px;
  border: 1px solid #ffffff1f;
  box-shadow: -1px 2px 3px 0 #02766a0f;
  transition: background .5s ease-in-out, border-color .5s ease-in-out;
  position: relative
}

.lrnprog .stepcard:hover {
  background: linear-gradient(135deg, #deb1021f 0%, #ffffff1a 100%);
  border-color: #deb10266
}

.lrnprog .stepicon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center
}

.lrnprog .stepicon svg {
  width: 24px;
  height: 24px
}

.lrnprog .stepcardnum {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 41px;
  line-height: 1.1;
  color: #ffffff12;
  font-weight: 900;
  letter-spacing: -.03em;
  pointer-events: none
}

.lrnprog .stepcard h4 {
  font-size: 15px;
  line-height: 1.75;
  color: #DEB102;
  font-weight: 700;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .06em
}

.lrnprog .stepcard p {
  font-size: 15px;
  line-height: 1.75;
  color: #ffffffd1;
  margin: 0
}

.lrnprog .faqwrap {
  padding: 64px 32px;
  background: linear-gradient(168deg, #fff7e0 0%, #fff 60%);
  position: relative
}

.lrnprog .faqcurl {
  position: absolute;
  top: 32px;
  right: 64px;
  width: 80px;
  height: 80px;
  pointer-events: none;
  opacity: .12
}

.lrnprog .faqwrap .lpinner {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 64px;
  align-items: start
}

.lrnprog .faqleft h2 {
  font-size: 41px;
  line-height: 1.1;
  color: #1b0008;
  letter-spacing: -.015em;
  margin: 0 0 20px
}

.lrnprog .faqleft .overlinebar {
  display: block;
  width: 40px;
  height: 3px;
  background: #DEB102;
  border-radius: 0;
  margin-bottom: 12px
}

.lrnprog .faqleftbody {
  font-size: 15px;
  line-height: 1.75;
  color: #2e1018;
  margin: 0 0 32px
}

.lrnprog .imgframe2 {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #ad0f381f;
  box-shadow: -1px 4px 28px 0 #ad0f381c;
  width: 100%;
  height: 220px
}

.lrnprog .imgframe2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lrnprog .imgframe2:hover img {
  transform: translateY(-10px)
}

.lrnprog .faqright {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.lrnprog .faqitem {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #ad0f3817
}

.lrnprog .faqbtn {
  width: 100%;
  background: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 20px;
  text-align: left;
  font-size: 15px;
  line-height: 1.75;
  color: #1b0008;
  font-weight: 600;
  transition: background .48s ease-in-out, color .48s ease-in-out;
  border-radius: 0
}

.lrnprog .faqbtn:hover {
  background: linear-gradient(118deg, #ad0f380d 0%, #deb1020d 100%);
  color: #AD0F38
}

.lrnprog .faqbtn:focus {
  outline: 2px solid #AD0F38;
  outline-offset: -2px
}

.lrnprog .faqarrow {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: #ad0f3814;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .48s ease-in-out, transform .48s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lrnprog .faqbtn[aria-expanded="true"] .faqarrow {
  background: #AD0F38;
  transform: rotate(180deg)
}

.lrnprog .faqbtn[aria-expanded="true"] {
  background: linear-gradient(118deg, #ad0f380f 0%, #deb1020a 100%);
  color: #AD0F38
}

.lrnprog .faqpanel {
  display: none;
  padding: 0 20px 20px;
  font-size: 15px;
  line-height: 1.75;
  color: #2e1018;
  background: #fff
}

.lrnprog .faqpanel.open {
  display: block
}

@media (max-width: 1024px) {
  .lrnprog .titlewrap .lpinner {
    flex-direction: column;
    gap: 32px
  }

  .lrnprog .titleright {
    flex: unset;
    width: 100%
  }

  .lrnprog .titleimgframe {
    width: 100%;
    height: 220px
  }

  .lrnprog .titleleft h1 {
    font-size: 41px
  }

  .lrnprog .studywrap .lpinner {
    grid-template-columns: 1fr;
    gap: 32px
  }

  .lrnprog .stepsgrid {
    grid-template-columns: repeat(2, 1fr)
  }

  .lrnprog .faqwrap .lpinner {
    grid-template-columns: 1fr;
    gap: 32px
  }
}

@media (max-width: 768px) {
  .lrnprog .titlewrap {
    padding: 32px 20px
  }

  .lrnprog .studywrap,
  .lrnprog .processwrap,
  .lrnprog .faqwrap {
    padding: 32px 20px
  }

  .lrnprog .lpinner {
    padding: 0 20px
  }

  .lrnprog .titleleft h1 {
    font-size: 41px
  }

  .lrnprog .stepsgrid {
    grid-template-columns: 1fr
  }

  .lrnprog .processhead h2 {
    font-size: 41px
  }
}

@media (max-width: 640px) {
  .lrnprog .titleleft h1 {
    font-size: 41px
  }

  .lrnprog .studyleft h2,
  .lrnprog .faqleft h2,
  .lrnprog .processhead h2 {
    font-size: 41px
  }
}

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

.successPage .successWrap {
  max-width: 560px;
  width: 100%;
  text-align: center
}

.successPage .successIconRing {
  width: 72px;
  height: 72px;
  border-radius: 36px;
  border: 2px solid #02766A;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 32px;
  box-shadow: -1px 4px 28px 0 #02766a1c
}

.successPage .successIconRing svg {
  display: block
}

.successPage .successOverline {
  display: block;
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: .08em;
  color: #02766A;
  text-transform: uppercase;
  margin-bottom: 12px
}

.successPage .successHeading {
  font-size: 41px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #111;
  margin: 0 0 20px
}

.successPage .successBody {
  font-size: 15px;
  line-height: 1.75;
  color: #2d2d2d;
  margin: 0 0 32px
}

.successPage .successDivider {
  width: 48px;
  height: 2px;
  background: linear-gradient(117deg, #AD0F38, #DEB102, #02766A);
  border-radius: 4px;
  margin: 0 auto 32px
}

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

.successPage .successBtnPrimary {
  display: inline-block;
  padding: 12px 32px;
  font-size: 15px;
  line-height: 1.75;
  color: #fff;
  background: linear-gradient(117deg, #AD0F38 0%, #c4173f 100%);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: -1px 2px 3px 0 #ad0f380f -1px 4px 28px 0 #ad0f381c;
  position: relative;
  transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s ease-in-out
}

.successPage .successBtnPrimary::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 4px;
  border: 1px solid #ffffff59;
  opacity: 0;
  transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none
}

.successPage .successBtnPrimary:hover {
  background: linear-gradient(117deg, #c4173f 0%, #DEB102 100%);
  box-shadow: -1px 9px 52px 0 #ad0f381a
}

.successPage .successBtnPrimary:hover::after {
  opacity: 1
}

.successPage .successBtnPrimary:focus {
  outline: 2px solid #AD0F38;
  outline-offset: 3px
}

.successPage .successBtnSecondary {
  display: inline-block;
  padding: 12px 32px;
  font-size: 15px;
  line-height: 1.75;
  color: #02766A;
  background: #fff;
  border: 1px solid #02766A;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  transition: background .6s ease-in-out, color .6s ease-in-out, border-color .6s ease-in-out
}

.successPage .successBtnSecondary::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 4px;
  border: 1px solid #02766a4d;
  opacity: 0;
  transition: opacity .6s ease-in-out;
  pointer-events: none
}

.successPage .successBtnSecondary:hover {
  background: linear-gradient(117deg, #02766a14, #deb1020f);
  border-color: #02766A
}

.successPage .successBtnSecondary:hover::after {
  opacity: 1
}

.successPage .successBtnSecondary:focus {
  outline: 2px solid #02766A;
  outline-offset: 3px
}

@media (max-width: 640px) {
  .successPage {
    padding: 64px 20px
  }

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

  .successPage .successBtnPrimary,
  .successPage .successBtnSecondary {
    transition: none
  }

  .successPage .successBtnPrimary::after,
  .successPage .successBtnSecondary::after {
    transition: none
  }

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

  .successPage .successBtnPrimary,
  .successPage .successBtnSecondary {
    text-align: center;
    padding: 20px 32px
  }
}