* {
  box-sizing: border-box
}

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

.util_bar {
  background: #211ABA;
  padding: 8px 40px
}

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

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

.util_contact_item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #FEFEF6;
  text-decoration: none;
  line-height: 1.2;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.util_contact_item:hover {
  color: #74B610
}

.util_contact_item .pe-7s-call,
.util_contact_item .pe-7s-mail {
  font-size: 18px;
  color: #74B610
}

.util_lang {
  display: flex;
  align-items: center;
  gap: 8px
}

.lang_badge {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #FEFEF6;
  background: #74b61033;
  border: 1px solid #74b61080;
  border-radius: 2px;
  padding: 4px 8px;
  line-height: 1.2
}

.brand_row {
  background: #FEFEF6;
  border-bottom: 1px solid #211aba1a;
  padding: 16px 40px
}

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

.brand_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-top: 2px solid #211ABA;
  border-bottom: 2px solid #74B610;
  padding: 8px 16px;
  background: #fff;
  box-shadow: 0 1px 2px -2px #211aba14 0 4px 20px -2px #211aba14;
  border-radius: 2px;
  flex-shrink: 0
}

.brand_logo_img {
  display: block;
  object-fit: contain
}

.brand_name {
  font-family: 'Roboto Slab', serif;
  font-size: 15px;
  font-weight: 700;
  color: #211ABA;
  letter-spacing: .04em;
  line-height: 1.2;
  white-space: nowrap
}

.brand_value_prop {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #3a3560;
  line-height: 1.7;
  max-width: 420px;
  text-align: center;
  flex: 1
}

.brand_value_prop strong {
  color: #211ABA;
  font-weight: 600
}

.primary_nav_bar {
  background: linear-gradient(90deg, #211ABA 0%, #1a14a0 100%);
  padding: 0 40px;
  box-shadow: 0 4px 20px -2px #211aba14
}

.primary_nav_inner {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  gap: 4px
}

.nav_link {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #fefef6d9;
  text-decoration: none;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.2;
  letter-spacing: .02em;
  position: relative;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap
}

.nav_link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 16px;
  right: 16px;
  height: 2px;
  background: #74B610;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .2s cubic-bezier(0.0, 0, 0.2, 1);
  border-radius: 2px
}

.nav_link:hover {
  color: #FEFEF6
}

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

.nav_link:focus {
  outline: none;
  color: #211ABA;
  background: #FEFEF6
}

.nav_link .pe-7s-home,
.nav_link .pe-7s-info,
.nav_link .pe-7s-users,
.nav_link .pe-7s-study {
  font-size: 18px;
  color: #74B610;
  flex-shrink: 0
}

.nav_link:focus .pe-7s-home,
.nav_link:focus .pe-7s-info,
.nav_link:focus .pe-7s-users,
.nav_link:focus .pe-7s-study {
  color: #211ABA
}

.site_footer {
  background: #211ABA;
  overflow: hidden
}

.footer_top {
  background: linear-gradient(135deg, #1a14a0 0%, #211ABA 60%, #2820cc 100%);
  padding: 80px 40px 40px;
  position: relative
}

.footer_top::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 320px;
  height: 320px;
  background: #74b61012;
  border-radius: 42px;
  transform: translate(80px, -80px);
  pointer-events: none
}

.footer_top_inner {
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 200px 1fr 1fr 1fr;
  gap: 40px;
  align-items: start
}

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

.footer_logo_wrap {
  background: #fff;
  border-top: 2px solid #74B610;
  border-bottom: 2px solid #211ABA;
  border-radius: 2px;
  padding: 8px;
  box-shadow: 0 1px 2px -2px #74b61014 0 4px 20px -2px #74b61014
}

.footer_logo_img {
  display: block;
  object-fit: contain
}

.footer_tagline {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #fefef6b3;
  line-height: 1.7
}

.footer_col_heading {
  font-family: 'Roboto Slab', serif;
  font-size: 15px;
  font-weight: 700;
  color: #74B610;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 16px;
  line-height: 1.2
}

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

.footer_nav_list li a {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #fefef6cc;
  text-decoration: none;
  line-height: 1.7;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer_nav_list li a:hover {
  color: #74B610
}

.footer_nav_list li a:focus {
  outline: none;
  color: #211ABA;
  background: #FEFEF6
}

.footer_nav_list li a .pe-7s-angle-right {
  font-size: 15px;
  color: #74B610
}

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

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

.footer_contact_list li a,
.footer_contact_list li span {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #fefef6cc;
  text-decoration: none;
  line-height: 1.7;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer_contact_list li a:hover {
  color: #74B610
}

.footer_contact_list li .pe-7s-call,
.footer_contact_list li .pe-7s-mail,
.footer_contact_list li .pe-7s-map-marker {
  font-size: 18px;
  color: #74B610;
  flex-shrink: 0;
  margin-top: 2px
}

.footer_bottom {
  background: #00000040;
  padding: 16px 40px
}

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

.footer_copy {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #fefef68c;
  line-height: 1.2
}

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

.footer_legal_links a {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #fefef699;
  text-decoration: none;
  line-height: 1.2;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer_legal_links a:hover {
  color: #74B610
}

.footer_legal_links a:focus {
  outline: none;
  color: #211ABA;
  background: #FEFEF6
}

.footer_divider {
  width: 3px;
  height: 3px;
  background: #fefef64d;
  border-radius: 42px;
  display: inline-block
}

.cookie_popup {
  position: fixed;
  bottom: 40px;
  left: 40px;
  max-width: 360px;
  width: calc(100% - 80px);
  background: #FEFEF6;
  border-radius: 2px;
  box-shadow: 0 10px 60px -2px #211aba1c 0 4px 20px -2px #211aba14;
  z-index: 1500;
  border-top: 3px solid #211ABA;
  overflow: hidden
}

.cookie_icon_row {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 16px 0
}

.cookie_icon_svg {
  width: 32px;
  height: 32px;
  flex-shrink: 0
}

.cookie_body {
  padding: 8px 16px 16px
}

.cookie_desc {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #1a1450;
  line-height: 1.7;
  margin: 0 0 16px
}

.cookie_desc a {
  color: #211ABA;
  text-decoration: underline;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.cookie_desc a:hover {
  color: #74B610
}

.cookie_panel {
  background: #211aba0a;
  border-radius: 2px;
  padding: 8px 16px;
  margin-bottom: 16px;
  border: 1px solid #211aba1a
}

.cookie_toggle_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px
}

.cookie_toggle_label {
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #1a1450;
  line-height: 1.2
}

.cookie_toggle_input {
  appearance: none;
  -webkit-appearance: none;
  width: 40px;
  height: 22px;
  background: #211aba26;
  border-radius: 42px;
  position: relative;
  cursor: pointer;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
  border: none
}

.cookie_toggle_input::before {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 42px;
  transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 2px -2px #211aba14
}

.cookie_toggle_input:checked {
  background: #74B610;
  box-shadow: inset 0 1px 3px #211aba26
}

.cookie_toggle_input:checked::before {
  transform: translateX(18px)
}

.cookie_toggle_input:focus {
  outline: 2px solid #211ABA;
  outline-offset: 2px
}

.cookie_expand_btn {
  background: transparent;
  border: none;
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  color: #211ABA;
  cursor: pointer;
  padding: 0;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.2;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.cookie_expand_btn:hover {
  color: #74B610
}

.cookie_expand_btn:focus {
  outline: none;
  color: #211ABA;
  background: #211aba14
}

.cookie_actions {
  display: flex;
  gap: 8px
}

.cookie_btn_accept {
  flex: 1;
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #FEFEF6;
  background: #211ABA;
  border: 2px solid #211ABA;
  border-radius: 2px;
  padding: 8px 16px;
  cursor: pointer;
  line-height: 1.2;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 44px
}

.cookie_btn_accept:hover {
  background: #74B610;
  border-color: #74B610
}

.cookie_btn_accept:focus {
  outline: none;
  background: #FEFEF6;
  color: #211ABA;
  border-color: #211ABA;
  box-shadow: inset 0 2px 4px #211aba1a
}

.cookie_btn_decline {
  flex: 1;
  font-family: 'Figtree', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #211ABA;
  background: transparent;
  border: 2px solid #211ABA;
  border-radius: 2px;
  padding: 8px 16px;
  cursor: pointer;
  line-height: 1.2;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 44px
}

.cookie_btn_decline:hover {
  background: #211aba0f
}

.cookie_btn_decline:focus {
  outline: none;
  background: #211ABA;
  color: #FEFEF6;
  box-shadow: inset 0 2px 4px #211aba26
}

@media (max-width: 900px) {
  .footer_top_inner {
    grid-template-columns: 1fr 1fr
  }

  .brand_row_inner {
    flex-direction: column;
    align-items: center;
    gap: 16px
  }

  .brand_value_prop {
    text-align: center
  }
}

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

  .brand_row {
    padding: 16px
  }

  .primary_nav_bar {
    padding: 0 16px
  }

  .primary_nav_inner {
    flex-wrap: wrap
  }

  .footer_top {
    padding: 40px 16px
  }

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

  .footer_bottom {
    padding: 16px
  }

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

  .cookie_popup {
    left: 16px;
    bottom: 16px;
    width: calc(100% - 32px);
    max-width: none
  }
}

.doc-content {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 40px;
  color: #2d2d3a
}

.doc-content h1 {
  font-size: 68px;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #211ABA;
  margin-bottom: 40px;
  margin-top: 0
}

.doc-content h2 {
  font-size: 38px;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #211ABA;
  margin-top: 80px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid #74B610
}

.doc-content h3 {
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #1e1870;
  margin-top: 40px;
  margin-bottom: 16px
}

.doc-content h4 {
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: 0;
  color: #1e1870;
  margin-top: 40px;
  margin-bottom: 8px
}

.doc-content h5 {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: .02em;
  color: #2d2d3a;
  margin-top: 16px;
  margin-bottom: 8px;
  text-transform: uppercase
}

.doc-content h6 {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: .02em;
  color: #5a5a72;
  margin-top: 16px;
  margin-bottom: 8px
}

.doc-content p {
  font-size: 18px;
  line-height: 1.7;
  margin-top: 0;
  margin-bottom: 16px;
  color: #2d2d3a
}

.doc-content ul,
.doc-content ol {
  font-size: 18px;
  line-height: 1.7;
  margin-top: 0;
  margin-bottom: 16px;
  padding-left: 40px;
  color: #2d2d3a
}

.doc-content ul {
  list-style: none;
  padding-left: 40px
}

.doc-content ul li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 8px
}

.doc-content ul li::before {
  content: "";
  position: absolute;
  left: -8px;
  top: 11px;
  width: 6px;
  height: 6px;
  background-color: #74B610;
  border-radius: 2px;
  transform: rotate(45deg)
}

.doc-content ol {
  list-style: decimal
}

.doc-content ol li {
  margin-bottom: 8px;
  padding-left: 8px
}

.doc-content ol li::marker {
  color: #211ABA;
  font-weight: 700
}

.doc-content ul ul,
.doc-content ol ol,
.doc-content ul ol,
.doc-content ol ul {
  margin-top: 8px;
  margin-bottom: 4px
}

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

.doc-content a {
  color: #211ABA;
  text-decoration: underline;
  text-decoration-color: #211aba59;
  text-underline-offset: 3px;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.doc-content a:hover {
  color: #74B610;
  text-decoration-color: #74b61099
}

.doc-content a:active {
  color: #5a8c0a
}

.doc-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 40px;
  font-size: 15px;
  line-height: 1.7;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 1px 2px -2px #211aba14 0 4px 20px -2px #211aba14
}

.doc-content thead {
  background-color: #211ABA;
  color: #FEFEF6
}

.doc-content thead th {
  padding: 16px;
  text-align: left;
  font-size: 15px;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 700;
  color: #FEFEF6;
  border: none
}

.doc-content tbody tr {
  border-bottom: 1px solid #211aba1a;
  transition: background-color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

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

.doc-content tbody tr:nth-child(even) {
  background-color: #211aba08
}

.doc-content tbody tr:hover {
  background-color: #74b61012
}

.doc-content th,
.doc-content td {
  padding: 16px;
  text-align: left;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.7
}

.doc-content td {
  color: #2d2d3a
}

.doc-content div {
  font-size: 18px;
  line-height: 1.7
}

@media (max-width: 900px) {
  .doc-content {
    padding: 40px 16px
  }

  .doc-content h1 {
    font-size: 38px
  }

  .doc-content h2 {
    font-size: 22px;
    margin-top: 40px
  }

  .doc-content h3 {
    font-size: 18px
  }

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

@media (max-width: 480px) {
  .doc-content {
    padding: 40px 16px
  }

  .doc-content h1 {
    font-size: 22px
  }

  .doc-content h2 {
    font-size: 18px
  }

  .doc-content ul,
  .doc-content ol {
    padding-left: 16px
  }
}

.gds {
  max-width: 1500px;
  margin: 0 auto;
  overflow-x: clip
}

.gds .pg-lead {
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 80px;
  padding: 80px 80px 0;
  align-items: start;
  position: relative
}

.gds .pg-lead::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  bottom: 0;
  border-top: 2px solid #211ABA;
  border-left: 2px solid #211ABA;
  border-top-right-radius: 0;
  border-top-left-radius: 2px;
  pointer-events: none;
  clip-path: inset(0 40px 100% 0)
}

.gds .pg-lead::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 80px;
  height: 2px;
  background: #211ABA;
  pointer-events: none
}

.gds .lead-txt {
  padding-top: 40px
}

.gds .lead-txt .eyebrow {
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #74B610;
  margin-bottom: 16px
}

.gds .lead-txt .pg-h1 {
  font-size: 68px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #211ABA;
  margin-bottom: 40px
}

.gds .lead-txt .pg-h1 span {
  display: block;
  color: #1a1500;
  font-weight: 400;
  font-size: 38px;
  letter-spacing: -.01em;
  margin-top: 8px
}

.gds .lead-txt .drop-p::first-letter {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
  float: left;
  margin-right: 8px;
  margin-top: 4px;
  color: #211ABA
}

.gds .lead-txt .drop-p {
  font-size: 18px;
  line-height: 1.7;
  color: #2a2a3a;
  margin-bottom: 16px
}

.gds .lead-txt .sub-p {
  font-size: 15px;
  line-height: 1.7;
  color: #4a4a5a;
  margin-bottom: 40px
}

.gds .lead-txt .slash-list {
  font-size: 15px;
  color: #211ABA;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 40px
}

.gds .lead-txt .slash-list span+span::before {
  content: " / ";
  color: #74B610;
  font-weight: 400
}

.gds .lead-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 40px;
  background: #211ABA;
  color: #FEFEF6;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 2px;
  border: 2px solid #211ABA;
  box-shadow: 0 4px 20px -2px #211aba14;
  transition: background .15s cubic-bezier(0.4, 0, 0.2, 1), color .15s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden
}

.gds .lead-cta::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #74B610;
  transition: width .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.gds .lead-cta:hover::after {
  width: 100%
}

.gds .lead-cta:hover {
  background: #FEFEF6;
  color: #211ABA;
  box-shadow: 0 10px 60px -2px #211aba1c;
  transform: perspective(600px) rotateY(-3deg)
}

.gds .lead-cta:active {
  box-shadow: inset 0 2px 6px #211aba2e
}

.gds .lead-img-col {
  position: relative;
  padding-top: 40px
}

.gds .img-frame {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 10px 60px -2px #211aba1c;
  position: relative
}

.gds .img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.85) contrast(1.08)
}

.gds .img-frame .duotone-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #211aba38 0%, #74b6101f 100%);
  pointer-events: none
}

.gds .img-tag {
  position: absolute;
  top: 56px;
  right: -8px;
  background: #74B610;
  color: #FEFEF6;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 2px;
  box-shadow: 0 4px 20px -2px #74b6102e
}

.gds .wave-divider {
  width: 100%;
  height: 64px;
  margin-top: 40px;
  display: block;
  overflow: hidden
}

.gds .howto-strip {
  background: #FEFEF6;
  padding: 80px;
  position: relative
}

.gds .howto-strip .sec-label {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #74B610;
  margin-bottom: 16px;
  display: block
}

.gds .howto-strip .sec-h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #211ABA;
  margin-bottom: 8px
}

.gds .howto-strip .sec-sub {
  font-size: 18px;
  line-height: 1.7;
  color: #2a2a3a;
  margin-bottom: 40px;
  max-width: 680px
}

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

.gds .step-card {
  background: #fff;
  border-radius: 2px;
  padding: 40px;
  box-shadow: 0 1px 2px -2px #211aba14 0 4px 20px -2px #211aba14;
  position: relative;
  transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
  border-top: 4px solid transparent
}

.gds .step-card:hover {
  transform: perspective(700px) rotateX(2deg) translateY(-4px);
  box-shadow: 0 10px 60px -2px #211aba1c;
  border-top-color: #211ABA
}

.gds .step-card .corner-tag {
  position: absolute;
  top: -2px;
  right: 16px;
  background: #211ABA;
  color: #FEFEF6;
  font-size: 15px;
  font-weight: 900;
  padding: 4px 8px;
  border-radius: 0 0 2px 2px;
  letter-spacing: .04em;
  min-width: 32px;
  text-align: center
}

.gds .step-card .step-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center
}

.gds .step-card .step-icon svg {
  width: 40px;
  height: 40px
}

.gds .step-card .step-h {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #211ABA;
  margin-bottom: 8px
}

.gds .step-card .step-p {
  font-size: 15px;
  line-height: 1.7;
  color: #3a3a4a
}

.gds .step-card .arrow-accent {
  display: inline-block;
  color: #74B610;
  font-size: 18px;
  margin-top: 8px;
  font-weight: 700
}

.gds .double-divider {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 80px
}

.gds .double-divider .dl1 {
  height: 2px;
  background: #211ABA;
  border-radius: 2px
}

.gds .double-divider .dl2 {
  height: 2px;
  background: #74B610;
  border-radius: 2px
}

.gds .ref-strip {
  background: #211ABA;
  padding: 80px;
  position: relative;
  overflow: hidden
}

.gds .ref-strip::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -80px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(ellipse at 30% 30%, #74b6102e 0%, transparent 70%);
  pointer-events: none
}

.gds .ref-layout {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 80px;
  align-items: start
}

.gds .ref-sidebar .ref-h2 {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #FEFEF6;
  line-height: 1.2;
  margin-bottom: 16px
}

.gds .ref-sidebar .ref-intro {
  font-size: 15px;
  line-height: 1.7;
  color: #fefef6c7;
  margin-bottom: 40px
}

.gds .ref-sidebar .ref-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 40px;
  background: #74B610;
  color: #FEFEF6;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 2px;
  border: 2px solid #74B610;
  transition: background .18s cubic-bezier(0.4, 0, 0.2, 1), color .18s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1);
  position: relative;
  overflow: hidden
}

.gds .ref-sidebar .ref-cta::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #FEFEF6;
  transition: width .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.gds .ref-sidebar .ref-cta:hover::after {
  width: 100%
}

.gds .ref-sidebar .ref-cta:hover {
  background: #FEFEF6;
  color: #211ABA;
  transform: perspective(600px) rotateY(3deg);
  box-shadow: 0 10px 60px -2px #74b61038
}

.gds .ref-sidebar .ref-cta:active {
  box-shadow: inset 0 2px 6px #74b61038
}

.gds .ref-body {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.gds .ref-item {
  background: #fefef612;
  border-radius: 2px;
  padding: 40px;
  border: 1px solid #fefef61f;
  transition: background .18s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative
}

.gds .ref-item:hover {
  background: #fefef61f;
  transform: perspective(800px) rotateX(-1.5deg)
}

.gds .ref-item .ri-tag {
  position: absolute;
  top: 0;
  left: 40px;
  background: #74B610;
  color: #FEFEF6;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 16px;
  border-radius: 0 0 2px 2px;
  text-transform: uppercase
}

.gds .ref-item .ri-h {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #FEFEF6;
  margin-bottom: 8px;
  margin-top: 24px
}

.gds .ref-item .ri-p {
  font-size: 15px;
  line-height: 1.7;
  color: #fefef6c7
}

.gds .ref-item .ri-meta {
  margin-top: 8px;
  font-size: 15px;
  color: #74B610;
  font-weight: 600;
  letter-spacing: .04em
}

.gds .ref-item .ri-meta span+span::before {
  content: " / ";
  color: #fefef666
}

@media (max-width: 1100px) {
  .gds .pg-lead {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 40px 40px 0
  }

  .gds .lead-img-col {
    max-width: 480px
  }

  .gds .steps-grid {
    grid-template-columns: 1fr 1fr
  }

  .gds .howto-strip {
    padding: 80px 40px
  }

  .gds .double-divider {
    padding: 0 40px
  }

  .gds .ref-strip {
    padding: 80px 40px
  }

  .gds .ref-layout {
    grid-template-columns: 1fr;
    gap: 40px
  }
}

@media (max-width: 700px) {
  .gds .pg-lead {
    padding: 40px 16px 0
  }

  .gds .lead-txt .pg-h1 {
    font-size: 38px
  }

  .gds .lead-txt .pg-h1 span {
    font-size: 22px
  }

  .gds .steps-grid {
    grid-template-columns: 1fr
  }

  .gds .howto-strip {
    padding: 40px 16px
  }

  .gds .double-divider {
    padding: 0 16px
  }

  .gds .ref-strip {
    padding: 40px 16px
  }
}

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

.prm .bd_wrap {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px
}

.prm .reveal_left {
  opacity: 0;
  transform: translateX(-48px);
  animation: slideInLeft .28s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.prm .reveal_right {
  opacity: 0;
  transform: translateX(48px);
  animation: slideInRight .28s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

.prm .reveal_left.delay1,
.prm .reveal_right.delay1 {
  animation-delay: .08s
}

.prm .reveal_left.delay2,
.prm .reveal_right.delay2 {
  animation-delay: .16s
}

.prm .reveal_left.delay3,
.prm .reveal_right.delay3 {
  animation-delay: .22s
}

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

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

.prm ::selection {
  background: #211aba26;
  color: #111
}

.prm :focus-visible {
  outline: 2px solid #211ABA;
  outline-offset: 2px
}

.prm .tb {
  position: relative;
  padding-top: 80px;
  padding-bottom: 80px;
  background: linear-gradient(to bottom, #fefef600 0%, #211abab8 100%);
  overflow: hidden
}

.prm .tb_bg {
  position: absolute;
  inset: 0;
  z-index: 0
}

.prm .tb_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  opacity: .22
}

.prm .tb_blob {
  position: absolute;
  border-radius: 42px;
  filter: blur(72px);
  pointer-events: none;
  z-index: 1
}

.prm .tb_blob.b1 {
  width: 420px;
  height: 260px;
  background: #211aba61;
  top: -40px;
  left: -80px
}

.prm .tb_blob.b2 {
  width: 300px;
  height: 200px;
  background: #74b61047;
  bottom: 0;
  right: 80px
}

.prm .tb_body {
  position: relative;
  z-index: 2;
  max-width: 820px
}

.prm .tb_label {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #74B610;
  margin-bottom: 16px
}

.prm .tb_h1 {
  font-size: 68px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.03em;
  color: #FEFEF6;
  margin-bottom: 16px
}

.prm .tb_sep {
  width: 64px;
  height: 3px;
  background: #74B610;
  border-radius: 2px;
  margin-bottom: 16px
}

.prm .tb_desc {
  font-size: 22px;
  line-height: 1.7;
  color: #fefef6e0;
  max-width: 600px
}

.prm .tb_diag {
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: 140%;
  background: #74b6102e;
  transform: rotate(18deg) translateX(200px);
  transform-origin: top right;
  pointer-events: none;
  z-index: 1
}

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

.prm .div_convex svg {
  display: block;
  width: 100%
}

.prm .cur {
  background: #FEFEF6;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative
}

.prm .cur_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  align-items: start
}

.prm .cur_lede {
  grid-column: 1 / 3
}

.prm .cur_img_col {
  grid-column: 3 / 4;
  grid-row: 1 / 3
}

.prm .cur_h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #211ABA;
  text-transform: uppercase;
  margin-bottom: 16px
}

.prm .cur_drop p::first-letter {
  font-size: 68px;
  font-weight: 800;
  line-height: 1;
  float: left;
  margin-right: 8px;
  color: #211ABA;
  line-height: .82;
  padding-top: 8px
}

.prm .cur_drop p {
  font-size: 18px;
  line-height: 1.7;
  color: #1a1847;
  margin-bottom: 16px
}

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

.prm .cur_tag {
  font-size: 15px;
  font-weight: 600;
  padding: 4px 16px;
  border-radius: 2px;
  background: #211aba12;
  color: #211ABA;
  letter-spacing: .04em
}

.prm .cur_pills {
  grid-column: 1 / 3;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px
}

.prm .cur_pill {
  flex: 1 1 180px;
  background: #fff;
  border-radius: 2px;
  padding: 16px;
  box-shadow: 0 1px 2px -2px #211aba14 0 4px 20px -2px #211aba14;
  transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .cur_pill:hover {
  transform: perspective(600px) rotateY(-4deg) rotateX(2deg);
  box-shadow: 0 4px 20px -2px #211aba14 0 10px 60px -2px #211aba1c
}

.prm .cur_pill_icon {
  width: 32px;
  height: 32px;
  margin-bottom: 8px;
  color: #74B610
}

.prm .cur_pill h5 {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #211ABA;
  margin-bottom: 4px
}

.prm .cur_pill p {
  font-size: 15px;
  line-height: 1.7;
  color: #2d2b5e
}

.prm .cur_img_wrap {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px -2px #211aba14 0 10px 60px -2px #211aba1c
}

.prm .cur_img_wrap img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1), filter .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .cur_img_wrap:hover img {
  transform: scale(1.04);
  filter: brightness(1.06)
}

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

.prm .cur_diag::after {
  content: '';
  position: absolute;
  top: -20px;
  left: 30%;
  width: 1px;
  height: 120%;
  background: #74b6101f;
  transform: rotate(-14deg)
}

.prm .hesit {
  background: #211ABA;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative
}

.prm .hesit_inner {
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: center
}

.prm .hesit_img {
  flex: 0 0 420px;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 10px 60px -2px #74b6101c
}

.prm .hesit_img img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), brightness .22s
}

.prm .hesit_img:hover img {
  transform: scale(1.05) perspective(500px) rotateX(2deg)
}

.prm .hesit_txt {
  flex: 1 1 0
}

.prm .hesit_q {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #FEFEF6;
  text-transform: uppercase;
  margin-bottom: 16px
}

.prm .hesit_body p {
  font-size: 18px;
  line-height: 1.7;
  color: #fefef6d9;
  margin-bottom: 16px
}

.prm .hesit_arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #74B610;
  margin-top: 8px
}

.prm .hesit_arrow svg {
  transition: transform .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .hesit_arrow:hover svg {
  transform: translateX(6px)
}

.prm .hesit_btn {
  display: inline-block;
  margin-top: 16px;
  padding: 16px 40px;
  border-radius: 2px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #211ABA;
  background: #FEFEF6;
  border: 2px solid #FEFEF6;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .hesit_btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 2px solid #74B610;
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .hesit_btn:hover::before {
  transform: scaleX(1)
}

.prm .hesit_btn:hover {
  background: #74B610;
  color: #FEFEF6;
  border-color: #74B610
}

.prm .hesit_btn:active {
  box-shadow: inset 0 2px 8px #211aba2e
}

.prm .hesit_diag {
  position: absolute;
  top: 0;
  right: 18%;
  width: 1px;
  height: 100%;
  background: #74b61024;
  transform: rotate(10deg);
  pointer-events: none
}

.prm .who {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative
}

.prm .who_top {
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-start;
  margin-bottom: 40px
}

.prm .who_h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #211ABA;
  text-transform: uppercase;
  flex: 0 0 360px
}

.prm .who_intro p {
  font-size: 18px;
  line-height: 1.7;
  color: #1a1847;
  margin-bottom: 8px
}

.prm .who_cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.prm .who_col {
  border-radius: 2px;
  padding: 40px;
  position: relative
}

.prm .who_col.fit {
  background: #74b61012
}

.prm .who_col.nofit {
  background: #211aba0d
}

.prm .who_col_h {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 16px
}

.prm .who_col.fit .who_col_h {
  color: #4a7d00
}

.prm .who_col.nofit .who_col_h {
  color: #211ABA
}

.prm .who_list {
  font-size: 15px;
  line-height: 1.7;
  color: #1a1847
}

.prm .who_list span {
  display: block;
  padding: 4px 0;
  border-bottom: 1px solid #211aba12
}

.prm .who_list span::before {
  content: '/';
  color: #74B610;
  font-weight: 700;
  margin-right: 8px
}

.prm .who_imgs {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 40px
}

.prm .who_img_box {
  flex: 1 1 0;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px -2px #211aba14
}

.prm .who_img_box img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), filter .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.prm .who_img_box:hover img {
  transform: scale(1.05) perspective(600px) rotateY(3deg);
  filter: brightness(1.07)
}

.prm .who_diag {
  position: absolute;
  bottom: 0;
  left: 20%;
  width: 1px;
  height: 100%;
  background: #74b6101a;
  transform: rotate(-8deg);
  pointer-events: none
}

.prm .gap_sec {
  background: #FEFEF6;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative
}

.prm .gap_featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 10px 60px -2px #211aba1c
}

.prm .gap_col_a {
  background: #211ABA;
  padding: 80px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.prm .gap_col_b {
  background: #FEFEF6;
  padding: 80px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative
}

.prm .gap_col_b_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none
}

.prm .gap_col_b_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .08
}

.prm .gap_col_b_inner {
  position: relative;
  z-index: 1
}

.prm .gap_h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #FEFEF6;
  text-transform: uppercase;
  margin-bottom: 16px
}

.prm .gap_col_a p {
  font-size: 18px;
  line-height: 1.7;
  color: #fefef6d9;
  margin-bottom: 16px
}

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

.prm .gap_step {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  background: #211aba0d;
  border-radius: 2px;
  transition: background .18s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .gap_step:hover {
  background: #211aba1a;
  transform: perspective(600px) rotateX(-2deg)
}

.prm .gap_num {
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
  color: #74B610;
  flex: 0 0 40px
}

.prm .gap_step_txt h5 {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #211ABA;
  margin-bottom: 4px
}

.prm .gap_step_txt p {
  font-size: 15px;
  line-height: 1.7;
  color: #1a1847
}

.prm .gap_diag {
  position: absolute;
  top: 0;
  right: 25%;
  width: 1px;
  height: 100%;
  background: #211aba14;
  transform: rotate(5deg);
  pointer-events: none
}

.prm .nums {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative
}

.prm .nums_top {
  display: flex;
  flex-direction: row;
  gap: 80px;
  align-items: flex-end;
  margin-bottom: 40px
}

.prm .nums_h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #211ABA;
  text-transform: uppercase;
  flex: 0 0 400px
}

.prm .nums_sub p {
  font-size: 18px;
  line-height: 1.7;
  color: #1a1847
}

.prm .nums_anchor {
  font-size: 68px;
  font-weight: 800;
  line-height: 1;
  color: #74B610;
  letter-spacing: -.04em;
  margin-bottom: 8px
}

.prm .nums_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px
}

.prm .nums_card {
  border-radius: 2px;
  padding: 40px 16px;
  text-align: center;
  background: #211aba0a;
  box-shadow: 0 1px 2px -2px #211aba14;
  transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.prm .nums_card:hover {
  transform: perspective(500px) rotateY(-5deg) rotateX(2deg);
  box-shadow: 0 4px 20px -2px #211aba14 0 10px 60px -2px #211aba1c
}

.prm .nums_card_val {
  font-size: 68px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.04em;
  color: #211ABA;
  margin-bottom: 8px
}

.prm .nums_card_val span {
  font-size: 38px
}

.prm .nums_card_lbl {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #2d2b5e;
  line-height: 1.7
}

.prm .nums_imgs {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 40px
}

.prm .nums_img_box {
  flex: 1 1 0;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px -2px #211aba14
}

.prm .nums_img_box img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), filter .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.prm .nums_img_box:hover img {
  transform: scale(1.05);
  filter: brightness(1.07)
}

.prm .nums_diag {
  position: absolute;
  top: 0;
  left: 60%;
  width: 1px;
  height: 100%;
  background: #74b6101a;
  transform: rotate(-12deg);
  pointer-events: none
}

@media (max-width: 1100px) {
  .prm .cur_grid {
    grid-template-columns: 1fr 1fr
  }

  .prm .cur_lede {
    grid-column: 1 / 2
  }

  .prm .cur_pills {
    grid-column: 1 / 2
  }

  .prm .cur_img_col {
    grid-column: 2 / 3;
    grid-row: 1 / 3
  }

  .prm .nums_grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 860px) {
  .prm .tb_h1 {
    font-size: 38px
  }

  .prm .cur_grid {
    grid-template-columns: 1fr
  }

  .prm .cur_lede {
    grid-column: 1
  }

  .prm .cur_pills {
    grid-column: 1
  }

  .prm .cur_img_col {
    grid-column: 1;
    grid-row: auto
  }

  .prm .hesit_inner {
    flex-direction: column;
    gap: 40px
  }

  .prm .hesit_img {
    flex: 0 0 auto;
    width: 100%
  }

  .prm .who_top {
    flex-direction: column;
    gap: 16px
  }

  .prm .who_h2 {
    flex: 0 0 auto
  }

  .prm .who_cols {
    grid-template-columns: 1fr
  }

  .prm .who_imgs {
    flex-direction: column
  }

  .prm .gap_featured {
    grid-template-columns: 1fr
  }

  .prm .nums_top {
    flex-direction: column;
    gap: 16px
  }

  .prm .nums_h2 {
    flex: 0 0 auto
  }

  .prm .nums_grid {
    grid-template-columns: 1fr 1fr
  }

  .prm .nums_imgs {
    flex-direction: column
  }

  .prm .bd_wrap {
    padding-left: 16px;
    padding-right: 16px
  }
}

@media (max-width: 540px) {
  .prm .tb_h1 {
    font-size: 38px
  }

  .prm .nums_grid {
    grid-template-columns: 1fr
  }

  .prm .cur_pills {
    flex-direction: column
  }
}

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

.ct-us .pg-wrap {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 40px
}

.ct-us .pg-wrap.narrow {
  max-width: 1100px
}

.ct-us .lbl-tag {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #74B610;
  display: inline-block;
  margin-bottom: 16px
}

.ct-us .hdg-main {
  font-size: 68px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #211ABA;
  margin: 0 0 16px
}

.ct-us .hdg-sec {
  font-size: 38px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.01em;
  color: #211ABA;
  margin: 0 0 16px
}

.ct-us .hdg-blk {
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 8px
}

.ct-us .body-txt {
  font-size: 18px;
  line-height: 1.7;
  color: #2a2a3d
}

.ct-us .body-txt.sm {
  font-size: 15px
}

.ct-us .drop-cap::first-letter {
  font-size: 68px;
  font-weight: 800;
  line-height: 1;
  float: left;
  margin-right: 8px;
  color: #211ABA;
  margin-top: 4px
}

.ct-us .bento-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 16px;
  padding: 80px 0
}

.ct-us .bento-cell {
  border-radius: 2px;
  position: relative;
  overflow: hidden
}

.ct-us .bento-main {
  grid-column: 1;
  grid-row: 1 / 3;
  background: #FEFEF6;
  border-top: 3px solid #211ABA;
  border-bottom: 8px solid #74B610;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 4px 20px -2px #211aba14
}

.ct-us .bento-main .bg-num {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 220px;
  font-weight: 900;
  line-height: 1;
  color: #211aba0a;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.05em
}

.ct-us .bento-stat {
  grid-column: 2;
  grid-row: 1;
  background: #211ABA;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 3px solid #74B610;
  border-bottom: 8px solid #74B610;
  box-shadow: 0 4px 20px -2px #211aba1c
}

.ct-us .bento-stat .stat-num {
  font-size: 68px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.03em;
  display: flex;
  align-items: baseline;
  gap: 4px
}

.ct-us .bento-stat .stat-num .int-part {
  color: #FEFEF6
}

.ct-us .bento-stat .stat-num .frac-part {
  color: #74B610;
  font-size: 38px
}

.ct-us .bento-stat .stat-lbl {
  font-size: 15px;
  color: #fefef6b3;
  margin-top: 8px;
  line-height: 1.7;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase
}

.ct-us .bento-addr {
  grid-column: 3;
  grid-row: 1;
  background: #FEFEF6;
  padding: 40px;
  border-top: 3px solid #211ABA;
  border-bottom: 8px solid #211ABA;
  box-shadow: 0 4px 20px -2px #211aba14
}

.ct-us .bento-addr .addr-item {
  margin-bottom: 16px
}

.ct-us .bento-addr .addr-item:last-child {
  margin-bottom: 0
}

.ct-us .bento-addr .addr-lbl {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #74B610;
  margin-bottom: 4px
}

.ct-us .bento-addr .addr-val {
  font-size: 15px;
  line-height: 1.7;
  color: #2a2a3d
}

.ct-us .bento-addr .addr-val a {
  color: #211ABA;
  text-decoration: none;
  position: relative;
  display: inline-block
}

.ct-us .bento-addr .addr-val a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  right: 50%;
  height: 1px;
  background: #211ABA;
  transition: left .2s cubic-bezier(0.4, 0, 0.2, 1), right .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .bento-addr .addr-val a:hover::after {
  left: 0;
  right: 0
}

.ct-us .bento-tagline {
  grid-column: 2 / 4;
  grid-row: 2;
  background: #74B610;
  padding: 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  border-top: 3px solid #FEFEF6;
  border-bottom: 8px solid #211ABA
}

.ct-us .bento-tagline .tag-txt {
  font-size: 22px;
  line-height: 1.7;
  color: #FEFEF6;
  font-weight: 600;
  flex: 1
}

.ct-us .bento-tagline .tag-arrow {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.ct-us .bento-tagline .tag-arrow svg {
  fill: none;
  stroke: #FEFEF6;
  stroke-width: 2.5
}

.ct-us .form-sec {
  background: #211ABA;
  padding: 80px 0;
  position: relative
}

.ct-us .form-sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #74B610 0%, #FEFEF6 60%, #74B610 100%)
}

.ct-us .form-sec::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: #74B610
}

.ct-us .form-layout {
  display: grid;
  grid-template-columns: 2fr 1.2fr;
  gap: 80px;
  align-items: start
}

.ct-us .form-hdg {
  font-size: 38px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.01em;
  color: #FEFEF6;
  margin: 0 0 16px
}

.ct-us .form-sub {
  font-size: 18px;
  line-height: 1.7;
  color: #fefef6bf;
  margin-bottom: 40px
}

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

.ct-us .form-grid .field-full {
  grid-column: 1 / -1
}

.ct-us .field-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ct-us .field-wrap label {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fefef6cc
}

.ct-us .field-wrap input,
.ct-us .field-wrap select,
.ct-us .field-wrap textarea {
  background: #fefef60f;
  border: 1.5px solid #fefef633;
  border-radius: 2px;
  padding: 16px;
  font-size: 18px;
  color: #FEFEF6;
  outline: none;
  transition: border-color .15s cubic-bezier(0.4, 0, 0.2, 1), background .15s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none
}

.ct-us .field-wrap input::placeholder,
.ct-us .field-wrap textarea::placeholder {
  color: #fefef673;
  font-style: italic;
  opacity: 1
}

.ct-us .field-wrap input:focus,
.ct-us .field-wrap select:focus,
.ct-us .field-wrap textarea:focus {
  border-color: #74B610;
  background: #fefef61a;
  box-shadow: inset 0 2px 6px #211aba14
}

.ct-us .field-wrap select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='#fefef699' stroke-width='2' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px
}

.ct-us .field-wrap select option {
  background: #211ABA;
  color: #FEFEF6
}

.ct-us .field-wrap textarea {
  resize: vertical;
  min-height: 120px
}

.ct-us .privacy-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  margin-top: 8px
}

.ct-us .privacy-row input[type="checkbox"] {
  width: 20px;
  height: 20px;
  min-width: 20px;
  margin-top: 2px;
  accent-color: #74B610;
  cursor: pointer;
  box-shadow: inset 0 1px 3px #211aba26
}

.ct-us .privacy-row .priv-txt {
  font-size: 15px;
  line-height: 1.7;
  color: #fefef6b3
}

.ct-us .privacy-row .priv-txt a {
  color: #74B610;
  text-decoration: none;
  position: relative;
  display: inline
}

.ct-us .privacy-row .priv-txt a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  right: 50%;
  height: 1px;
  background: #74B610;
  transition: left .2s cubic-bezier(0.4, 0, 0.2, 1), right .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .privacy-row .priv-txt a:hover::after {
  left: 0;
  right: 0
}

.ct-us .btn-submit {
  margin-top: 16px;
  background: #74B610;
  color: #FEFEF6;
  border: 2px solid #74B610;
  border-radius: 2px;
  padding: 16px 40px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block
}

.ct-us .btn-submit::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 2px solid #FEFEF6;
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.ct-us .btn-submit:hover::before {
  transform: scaleX(1)
}

.ct-us .btn-submit:hover {
  background: #5a8e0a;
  border-color: #5a8e0a
}

.ct-us .btn-submit:active {
  box-shadow: inset 0 2px 6px #211aba33
}

.ct-us .btn-submit:focus-visible {
  outline: 3px solid #FEFEF6;
  outline-offset: 3px
}

.ct-us .form-side {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ct-us .side-card {
  background: #fefef612;
  border-radius: 2px;
  padding: 40px;
  border-top: 3px solid #74b61080;
  border-bottom: 8px solid #74b6104d;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .side-card:hover {
  background: #fefef61c;
  transform: perspective(600px) rotateY(-2deg) translateY(-2px)
}

.ct-us .side-card .sc-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center
}

.ct-us .side-card .sc-icon svg {
  fill: none;
  stroke: #74B610;
  stroke-width: 2
}

.ct-us .side-card .sc-hdg {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #FEFEF6;
  margin-bottom: 8px
}

.ct-us .side-card .sc-val {
  font-size: 18px;
  line-height: 1.7;
  color: #fefef6cc
}

.ct-us .side-card .sc-val a {
  color: #74B610;
  text-decoration: none
}

.ct-us .icon-legend {
  background: #fefef60a;
  border-radius: 2px;
  padding: 40px;
  margin-top: 8px
}

.ct-us .icon-legend .leg-title {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fefef680;
  margin-bottom: 16px
}

.ct-us .leg-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px
}

.ct-us .leg-item:last-child {
  margin-bottom: 0
}

.ct-us .leg-dot {
  width: 12px;
  height: 12px;
  border-radius: 2px;
  flex-shrink: 0;
  margin-top: 6px
}

.ct-us .leg-dot.d-blue {
  background: #211ABA;
  box-shadow: 0 1px 2px -2px #211aba14
}

.ct-us .leg-dot.d-green {
  background: #74B610;
  box-shadow: 0 1px 2px -2px #74b61014
}

.ct-us .leg-dot.d-light {
  background: #FEFEF6;
  border: 1px solid #fefef64d
}

.ct-us .leg-txt {
  font-size: 15px;
  line-height: 1.7;
  color: #fefef6a6
}

.ct-us .info-strip {
  background: #FEFEF6;
  padding: 80px 0;
  border-top: 3px solid #211ABA
}

.ct-us .strip-inner {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 80px;
  align-items: start
}

.ct-us .strip-txt .drop-cap::first-letter {
  color: #211ABA
}

.ct-us .strip-txt .accent-arr {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #74B610;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: 16px
}

.ct-us .strip-txt .accent-arr svg {
  fill: none;
  stroke: #74B610;
  stroke-width: 2.5;
  transition: transform .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .strip-txt .accent-arr:hover svg {
  transform: translateX(4px)
}

.ct-us .strip-meta {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.ct-us .meta-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px;
  border-radius: 2px;
  background: #211aba0a;
  border-top: 2px solid #211aba26;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .meta-item:hover {
  background: #211aba14;
  transform: perspective(500px) rotateX(2deg)
}

.ct-us .meta-item .mi-lbl {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #211ABA
}

.ct-us .meta-item .mi-val {
  font-size: 15px;
  line-height: 1.7;
  color: #2a2a3d
}

.ct-us .strip-hrs {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ct-us .hrs-hdg {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #211ABA;
  margin-bottom: 16px
}

.ct-us .hrs-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #211aba1a;
  font-size: 15px;
  color: #2a2a3d;
  transition: color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.ct-us .hrs-row:hover {
  color: #211ABA
}

.ct-us .hrs-row .day {
  font-weight: 600
}

.ct-us .hrs-row .time {
  color: #74B610;
  font-weight: 600
}

.ct-us .hrs-row .closed {
  color: #211aba66;
  font-style: italic
}

@keyframes attn-shake {

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

  20% {
    transform: translateX(-4px) rotate(-1deg)
  }

  40% {
    transform: translateX(4px) rotate(1deg)
  }

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

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

.ct-us .bento-tagline .tag-arrow {
  animation: attn-shake .4s cubic-bezier(0.4, 0, 0.2, 1) 2s 1
}

@media (max-width: 1100px) {
  .ct-us .bento-grid {
    grid-template-columns: 1fr 1fr
  }

  .ct-us .bento-main {
    grid-column: 1 / -1;
    grid-row: 1
  }

  .ct-us .bento-stat {
    grid-column: 1;
    grid-row: 2
  }

  .ct-us .bento-addr {
    grid-column: 2;
    grid-row: 2
  }

  .ct-us .bento-tagline {
    grid-column: 1 / -1;
    grid-row: 3
  }

  .ct-us .form-layout {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .ct-us .strip-inner {
    grid-template-columns: 1fr 1fr;
    gap: 40px
  }

  .ct-us .strip-txt {
    grid-column: 1 / -1
  }
}

@media (max-width: 768px) {
  .ct-us .pg-wrap {
    padding: 0 16px
  }

  .ct-us .hdg-main {
    font-size: 38px
  }

  .ct-us .bento-grid {
    grid-template-columns: 1fr;
    padding: 40px 0
  }

  .ct-us .bento-main,
  .ct-us .bento-stat,
  .ct-us .bento-addr,
  .ct-us .bento-tagline {
    grid-column: 1;
    grid-row: auto
  }

  .ct-us .form-grid {
    grid-template-columns: 1fr
  }

  .ct-us .form-grid .field-full {
    grid-column: 1
  }

  .ct-us .strip-inner {
    grid-template-columns: 1fr;
    gap: 40px
  }

  .ct-us .bento-tagline {
    flex-direction: column;
    align-items: flex-start
  }

  .ct-us .form-sec {
    padding: 40px 0
  }

  .ct-us .info-strip {
    padding: 40px 0
  }
}

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

.abt-us .pg-reveal {
  animation: slideUp .25s cubic-bezier(0.4, 0, 0.2, 1) both
}

.abt-us .pg-reveal.d1 {
  animation-delay: .05s
}

.abt-us .pg-reveal.d2 {
  animation-delay: .12s
}

.abt-us .pg-reveal.d3 {
  animation-delay: .2s
}

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

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

.abt-us .col-narrow {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 80px;
  padding-right: 80px
}

.abt-us .drop-cap::first-letter {
  float: left;
  font-size: 68px;
  line-height: 1.2;
  font-weight: 700;
  color: #211ABA;
  margin-right: 8px;
  margin-top: 4px
}

.abt-us .slash-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0
}

.abt-us .slash-list li {
  font-size: 15px;
  line-height: 1.7;
  color: #3d3d3d;
  letter-spacing: .02em
}

.abt-us .slash-list li+li::before {
  content: "/";
  margin-right: 8px;
  color: #74B610;
  font-weight: 700
}

.abt-us .arrow-accent::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 12px;
  margin-left: 8px;
  background-color: #74B610;
  clip-path: polygon(0 30%, 65% 30%, 65% 0%, 100% 50%, 65% 100%, 65% 70%, 0 70%);
  vertical-align: middle
}

.abt-us .dashed-div {
  border: none;
  border-top: 1px dashed #c8c8c8;
  margin: 0
}

.abt-us .lnk-center {
  display: inline-block;
  position: relative;
  color: #211ABA;
  text-decoration: none;
  font-size: 15px
}

.abt-us .lnk-center::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 50%;
  right: 50%;
  height: 1px;
  background: #211ABA;
  transition: left .2s cubic-bezier(0.4, 0, 0.2, 1), right .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .lnk-center:hover::after {
  left: 0;
  right: 0
}

.abt-us .btn-prim {
  display: inline-block;
  padding: 16px 40px;
  background: #211ABA;
  color: #FEFEF6;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 2px solid #211ABA;
  border-radius: 2px;
  cursor: pointer;
  position: relative;
  transition: color .18s cubic-bezier(0.4, 0, 0.2, 1), background .18s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  text-decoration: none
}

.abt-us .btn-prim::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #74B610;
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none
}

.abt-us .btn-prim:hover::before {
  transform: scaleX(1)
}

.abt-us .btn-prim:hover {
  background: #FEFEF6;
  color: #211ABA
}

.abt-us .btn-prim:active {
  box-shadow: inset 0 2px 6px #211aba2e
}

.abt-us .btn-sec {
  display: inline-block;
  padding: 16px 40px;
  background: transparent;
  color: #211ABA;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 2px solid #211ABA;
  border-radius: 2px;
  cursor: pointer;
  position: relative;
  transition: color .18s cubic-bezier(0.4, 0, 0.2, 1), background .18s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  text-decoration: none
}

.abt-us .btn-sec::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #74B610;
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none
}

.abt-us .btn-sec:hover::before {
  transform: scaleX(1)
}

.abt-us .btn-sec:hover {
  background: #211ABA;
  color: #FEFEF6
}

.abt-us .stat-num {
  font-size: 68px;
  font-weight: 700;
  line-height: 1.2;
  color: #211ABA;
  letter-spacing: -.03em
}

.abt-us .stat-label {
  font-size: 15px;
  line-height: 1.7;
  color: #3d3d3d;
  letter-spacing: .04em;
  text-transform: uppercase
}

.abt-us .field-wrap {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.abt-us .field-wrap label {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #211ABA
}

.abt-us .field-wrap input,
.abt-us .field-wrap textarea {
  border: 1px solid #c8c8c8;
  border-radius: 2px;
  padding: 16px;
  font-size: 15px;
  line-height: 1.7;
  color: #1a2340;
  background: #FEFEF6;
  transition: border-color .15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .15s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none;
  resize: vertical
}

.abt-us .field-wrap input::placeholder,
.abt-us .field-wrap textarea::placeholder {
  font-style: italic;
  opacity: .55;
  color: #1a2340
}

.abt-us .field-wrap input:focus,
.abt-us .field-wrap textarea:focus {
  border-color: #211ABA;
  box-shadow: 0 4px 20px -2px #211aba14
}

.abt-us .check-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px
}

.abt-us .check-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #211ABA;
  cursor: pointer;
  flex-shrink: 0
}

.abt-us .check-row input[type="checkbox"]:checked {
  box-shadow: inset 0 1px 3px #211aba38
}

.abt-us .check-row span {
  font-size: 15px;
  line-height: 1.7;
  color: #3d3d3d
}

.abt-us .card-tilt {
  transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1);
  transform-style: preserve-3d;
  perspective: 800px
}

.abt-us .card-tilt:hover {
  transform: perspective(800px) rotateX(-2deg) rotateY(3deg) translateY(-4px);
  box-shadow: 0 10px 60px -2px #211aba1c
}

.abt-us .img-tint {
  position: relative;
  border-radius: 2px;
  overflow: hidden
}

.abt-us .img-tint::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #211aba21;
  pointer-events: none
}

.abt-us .img-tint img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.abt-us .bracket-box {
  position: relative;
  padding: 40px
}

.abt-us .bracket-box::before,
.abt-us .bracket-box::after {
  content: "";
  position: absolute;
  width: 22px;
  height: 22px;
  border-color: #74B610;
  border-style: solid
}

.abt-us .bracket-box::before {
  top: 16px;
  left: 16px;
  border-width: 2px 0 0 2px
}

.abt-us .bracket-box::after {
  bottom: 16px;
  right: 16px;
  border-width: 0 2px 2px 0
}

.abt-us .grad-bg {
  background: radial-gradient(ellipse at 50% 0%, #e8e6ff 0%, #FEFEF6 70%)
}

.abt-us .dark-bg {
  background: radial-gradient(ellipse at 50% 100%, #1a1560 0%, #211ABA 80%)
}

.abt-us .four-col-grid {
  display: grid;
  grid-template-columns: 1fr 2fr 2fr 1fr;
  gap: 16px
}

.abt-us .person-card {
  background: #FEFEF6;
  border-radius: 2px;
  padding: 40px;
  box-shadow: 0 1px 2px -2px #211aba14 0 4px 20px -2px #211aba14
}

.abt-us .person-card .p-name {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #211ABA;
  margin-bottom: 4px
}

.abt-us .person-card .p-role {
  font-size: 15px;
  color: #74B610;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 16px
}

.abt-us .person-card .p-bio {
  font-size: 15px;
  line-height: 1.7;
  color: #3d3d3d
}

.abt-us .person-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 2px;
  margin-bottom: 16px;
  display: block
}

@media (max-width: 1100px) {
  .abt-us .col-narrow {
    padding-left: 40px;
    padding-right: 40px
  }

  .abt-us .four-col-grid {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 768px) {
  .abt-us .col-narrow {
    padding-left: 16px;
    padding-right: 16px
  }

  .abt-us .four-col-grid {
    grid-template-columns: 1fr
  }

  .abt-us .stat-num {
    font-size: 38px
  }

  .abt-us .drop-cap::first-letter {
    font-size: 38px
  }
}

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

.lrn-prog .pg-cap {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 80px;
  padding-right: 80px
}

.lrn-prog .prog-title-blk {
  padding-top: 40px;
  padding-bottom: 80px;
  position: relative;
  background: #FEFEF6
}

.lrn-prog .prog-title-blk .pg-cap {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 80px
}

.lrn-prog .title-text-col {
  flex: 1 1 0;
  min-width: 0;
  z-index: 1;
  position: relative
}

.lrn-prog .title-img-col {
  flex: 0 0 340px;
  width: 340px;
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end
}

.lrn-prog .title-img-wrap {
  width: 300px;
  height: 380px;
  border-radius: 2px;
  overflow: hidden;
  opacity: .45;
  position: relative
}

.lrn-prog .title-img-wrap img {
  width: 300px;
  height: 380px;
  object-fit: cover;
  display: block;
  border-radius: 2px
}

.lrn-prog .atm-spot {
  position: absolute;
  border-radius: 42px;
  filter: blur(48px);
  pointer-events: none
}

.lrn-prog .atm-spot.s1 {
  width: 320px;
  height: 200px;
  background: #211aba1a;
  top: -40px;
  left: -60px
}

.lrn-prog .atm-spot.s2 {
  width: 220px;
  height: 160px;
  background: #74b61017;
  bottom: 40px;
  right: 60px
}

.lrn-prog .prog-eyebrow {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #74B610;
  margin-bottom: 16px;
  line-height: 1.2
}

.lrn-prog .prog-h1 {
  font-size: 68px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #211ABA;
  margin-bottom: 16px
}

.lrn-prog .prog-h1 .kw-under {
  position: relative;
  display: inline
}

.lrn-prog .prog-h1 .kw-under::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 4px;
  background: #74B610;
  border-radius: 2px
}

.lrn-prog .title-lead {
  font-size: 18px;
  line-height: 1.7;
  color: #2d2d3a;
  max-width: 560px;
  margin-bottom: 40px
}

.lrn-prog .title-lead::first-letter {
  font-size: 38px;
  font-weight: 700;
  color: #211ABA;
  float: left;
  line-height: 1;
  margin-right: 8px;
  margin-top: 4px
}

.lrn-prog .dbl-border-accent {
  display: inline-block;
  border: 2px solid #211ABA;
  padding: 2px;
  border-radius: 2px;
  margin-bottom: 40px
}

.lrn-prog .dbl-border-accent .inner-border {
  border: 2px solid #74B610;
  border-radius: 2px;
  padding: 8px 16px;
  background: transparent
}

.lrn-prog .dbl-border-accent .inner-border span {
  font-size: 15px;
  font-weight: 600;
  color: #211ABA;
  letter-spacing: .04em
}

.lrn-prog .title-meta-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap
}

.lrn-prog .meta-item {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.lrn-prog .meta-item .meta-val {
  font-size: 22px;
  font-weight: 700;
  color: #211ABA;
  line-height: 1.2
}

.lrn-prog .meta-item .meta-lbl {
  font-size: 15px;
  color: #556;
  line-height: 1.2
}

.lrn-prog .meta-div {
  width: 1px;
  height: 40px;
  background: #d0cff0
}

.lrn-prog .prog-enroll-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #211ABA;
  color: #FEFEF6;
  font-size: 18px;
  font-weight: 700;
  padding: 16px 40px;
  border-radius: 2px;
  border: 2px solid #211ABA;
  cursor: pointer;
  text-decoration: none;
  margin-top: 40px;
  position: relative;
  overflow: hidden;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 20px -2px #211aba14
}

.lrn-prog .prog-enroll-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #74B610;
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn-prog .prog-enroll-btn:hover::before {
  transform: scaleX(1)
}

.lrn-prog .prog-enroll-btn:hover {
  background: #FEFEF6;
  color: #211ABA
}

.lrn-prog .prog-enroll-btn:active {
  box-shadow: inset 0 2px 8px #211aba21
}

.lrn-prog .partial-div {
  width: 160px;
  height: 2px;
  background: linear-gradient(90deg, #211ABA 0%, #74B610 100%);
  border-radius: 2px;
  margin: 40px 0
}

.lrn-prog .curric-sec {
  background: #fff;
  padding-top: 80px;
  padding-bottom: 80px
}

.lrn-prog .curric-sec .pg-cap {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 80px
}

.lrn-prog .curric-left {
  flex: 0 0 320px;
  width: 320px;
  position: sticky;
  top: 40px
}

.lrn-prog .curric-right {
  flex: 1 1 0;
  min-width: 0
}

.lrn-prog .sec-label {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #74B610;
  margin-bottom: 16px;
  line-height: 1.2
}

.lrn-prog .curric-h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #211ABA;
  margin-bottom: 16px
}

.lrn-prog .curric-desc {
  font-size: 15px;
  line-height: 1.7;
  color: #3a3a4a;
  margin-bottom: 40px
}

.lrn-prog .curric-img-wrap {
  width: 300px;
  height: 220px;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 4px 20px -2px #211aba14
}

.lrn-prog .curric-img-wrap img {
  width: 300px;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn-prog .curric-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #211aba00;
  transition: background .2s cubic-bezier(0.0, 0, 0.2, 1);
  border-radius: 2px
}

.lrn-prog .curric-img-wrap:hover::after {
  background: #211aba47
}

.lrn-prog .curric-img-wrap:hover img {
  transform: scale(1.04)
}

.lrn-prog .module-list {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.lrn-prog .mod-item {
  border: 1px solid #e3e2f5;
  border-radius: 2px;
  background: #FEFEF6;
  padding: 16px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  box-shadow: 0 1px 2px -2px #211aba14;
  transition: box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1);
  perspective: 800px
}

.lrn-prog .mod-item:hover {
  box-shadow: 0 4px 20px -2px #211aba14;
  transform: perspective(800px) rotateX(1.5deg) rotateY(-1deg)
}

.lrn-prog .mod-num {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  background: #211ABA;
  color: #FEFEF6;
  font-size: 18px;
  font-weight: 700;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2
}

.lrn-prog .mod-body {
  flex: 1 1 0;
  min-width: 0
}

.lrn-prog .mod-title {
  font-size: 18px;
  font-weight: 700;
  color: #211ABA;
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1.2;
  margin-bottom: 8px
}

.lrn-prog .mod-desc {
  font-size: 15px;
  line-height: 1.7;
  color: #3a3a4a
}

.lrn-prog .mod-tags {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px
}

.lrn-prog .mod-tag {
  font-size: 15px;
  font-weight: 600;
  color: #74B610;
  background: #74b61017;
  border-radius: 2px;
  padding: 4px 8px;
  line-height: 1.2
}

.lrn-prog .mod-item.offset-1 {
  margin-top: 0
}

.lrn-prog .mod-item.offset-2 {
  margin-top: 4px
}

.lrn-prog .mod-item.offset-3 {
  margin-top: 8px
}

.lrn-prog .mod-item.offset-4 {
  margin-top: 16px
}

.lrn-prog .mod-item.offset-5 {
  margin-top: 16px
}

.lrn-prog .flow-sec {
  background: #211ABA;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
  overflow: hidden
}

.lrn-prog .flow-sec .pg-cap {
  position: relative;
  z-index: 1
}

.lrn-prog .flow-bg-img {
  position: absolute;
  inset: 0;
  z-index: 0
}

.lrn-prog .flow-bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(18px) brightness(0.25);
  opacity: .55
}

.lrn-prog .flow-top {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 40px;
  gap: 40px
}

.lrn-prog .flow-h2 {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: #FEFEF6;
  max-width: 480px
}

.lrn-prog .flow-sub {
  font-size: 15px;
  line-height: 1.7;
  color: #fefef6b8;
  max-width: 320px
}

.lrn-prog .flow-row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0
}

.lrn-prog .flow-step {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px;
  border-radius: 2px;
  background: #fefef60f;
  border: 1px solid #fefef61f;
  position: relative;
  transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn-prog .flow-step:hover {
  background: #fefef61c;
  transform: perspective(700px) rotateY(2deg)
}

.lrn-prog .flow-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  color: #74B610;
  flex: 0 0 auto;
  align-self: center
}

.lrn-prog .flow-arrow svg {
  display: block
}

.lrn-prog .flow-step-num {
  font-size: 38px;
  font-weight: 800;
  color: #74B610;
  line-height: 1.2;
  letter-spacing: -.02em;
  margin-bottom: 8px
}

.lrn-prog .flow-step-title {
  font-size: 18px;
  font-weight: 700;
  color: #FEFEF6;
  text-transform: uppercase;
  letter-spacing: .07em;
  line-height: 1.2;
  margin-bottom: 8px
}

.lrn-prog .flow-step-desc {
  font-size: 15px;
  line-height: 1.7;
  color: #fefef6b8
}

.lrn-prog .flow-sec .prog-enroll-btn {
  background: #74B610;
  border-color: #74B610;
  color: #fff;
  margin-top: 40px
}

.lrn-prog .flow-sec .prog-enroll-btn:hover {
  background: #FEFEF6;
  color: #211ABA;
  border-color: #FEFEF6
}

.lrn-prog .flow-sec .sec-label {
  color: #74B610
}

.lrn-prog .feat-cols {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 40px;
  margin-top: 40px
}

.lrn-prog .feat-col-a {
  flex: 3 1 0;
  min-width: 0
}

.lrn-prog .feat-col-b {
  flex: 2 1 0;
  min-width: 0
}

.lrn-prog .feat-col-c {
  flex: 1 1 0;
  min-width: 0
}

.lrn-prog .feat-card {
  background: #fefef612;
  border: 1px solid #fefef621;
  border-radius: 2px;
  padding: 16px;
  box-shadow: 0 1px 2px -2px #211aba14;
  transition: background .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn-prog .feat-card:hover {
  background: #fefef621
}

.lrn-prog .feat-card-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px
}

.lrn-prog .feat-card-icon svg {
  display: block
}

.lrn-prog .feat-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #FEFEF6;
  text-transform: uppercase;
  letter-spacing: .07em;
  line-height: 1.2;
  margin-bottom: 8px
}

.lrn-prog .feat-card-desc {
  font-size: 15px;
  line-height: 1.7;
  color: #fefef6b8
}

.lrn-prog .feat-col-b .feat-card {
  margin-bottom: 16px
}

.lrn-prog .feat-col-b .feat-card:last-child {
  margin-bottom: 0
}

.lrn-prog .feat-col-c .feat-card {
  background: #74b6101f !important;
  border-color: #74b61047
}

@media (max-width: 1100px) {
  .lrn-prog .pg-cap {
    padding-left: 40px;
    padding-right: 40px
  }

  .lrn-prog .prog-h1 {
    font-size: 38px
  }

  .lrn-prog .title-img-col {
    flex: 0 0 220px;
    width: 220px
  }

  .lrn-prog .title-img-wrap {
    width: 200px;
    height: 260px
  }

  .lrn-prog .title-img-wrap img {
    width: 200px;
    height: 260px
  }

  .lrn-prog .curric-left {
    flex: 0 0 240px;
    width: 240px
  }

  .lrn-prog .curric-img-wrap {
    width: 220px;
    height: 160px
  }

  .lrn-prog .curric-img-wrap img {
    width: 220px;
    height: 160px
  }
}

@media (max-width: 860px) {
  .lrn-prog .prog-title-blk .pg-cap {
    flex-direction: column;
    gap: 40px
  }

  .lrn-prog .title-img-col {
    flex: 0 0 auto;
    width: 100%;
    justify-content: flex-start
  }

  .lrn-prog .curric-sec .pg-cap {
    flex-direction: column;
    gap: 40px
  }

  .lrn-prog .curric-left {
    flex: 0 0 auto;
    width: 100%;
    position: static
  }

  .lrn-prog .curric-img-wrap {
    width: 100%;
    height: 200px
  }

  .lrn-prog .curric-img-wrap img {
    width: 100%;
    height: 200px
  }

  .lrn-prog .flow-top {
    flex-direction: column;
    align-items: flex-start
  }

  .lrn-prog .flow-row {
    flex-direction: column;
    gap: 8px
  }

  .lrn-prog .flow-arrow {
    transform: rotate(90deg);
    padding: 4px 0
  }

  .lrn-prog .feat-cols {
    flex-direction: column;
    gap: 16px
  }
}

@media (max-width: 600px) {
  .lrn-prog .pg-cap {
    padding-left: 16px;
    padding-right: 16px
  }

  .lrn-prog .prog-h1 {
    font-size: 22px
  }

  .lrn-prog .curric-h2 {
    font-size: 22px
  }

  .lrn-prog .flow-h2 {
    font-size: 22px
  }

  .lrn-prog .title-meta-row {
    gap: 16px
  }
}

.success_page {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 16px;
  background: #FEFEF6
}

.success_page .success_card {
  max-width: 560px;
  width: 100%;
  background: #fff;
  border-radius: 42px;
  padding: 80px 40px;
  box-shadow: 0 1px 2px -2px #211aba14 0 4px 20px -2px #211aba14 0 10px 60px -2px #211aba1c;
  text-align: center
}

.success_page .success_icon_wrap {
  width: 72px;
  height: 72px;
  margin: 0 auto 40px;
  background: #211ABA;
  border-radius: 42px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center
}

.success_page .success_icon_wrap svg {
  display: block
}

.success_page .success_heading {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: #211ABA;
  margin: 0 0 16px;
  text-transform: uppercase
}

.success_page .success_body {
  font-size: 18px;
  line-height: 1.7;
  color: #2d2d3a;
  margin: 0 0 40px
}

.success_page .success_divider {
  width: 40px;
  height: 2px;
  background: #74B610;
  border-radius: 2px;
  margin: 0 auto 40px
}

.success_page .success_note {
  font-size: 15px;
  line-height: 1.7;
  color: #4a4a5a;
  margin: 0 0 40px
}

.success_page .success_link {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  color: #FEFEF6;
  background: #211ABA;
  border-radius: 2px;
  padding: 16px 40px;
  text-decoration: none;
  border: 2px solid #211ABA;
  transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.0, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden
}

.success_page .success_link::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 2px;
  border: 2px solid #74B610;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none
}

.success_page .success_link:hover {
  background: #FEFEF6;
  color: #211ABA;
  transform: perspective(600px) rotateX(2deg) rotateY(-2deg);
  box-shadow: 0 4px 20px -2px #211aba14
}

.success_page .success_link:hover::after {
  transform: scaleX(1)
}

.success_page .success_link:focus-visible {
  outline: 3px solid #74B610;
  outline-offset: 4px
}

.success_page .success_link:active {
  box-shadow: inset 0 2px 6px #211aba2e
}