html {
  box-sizing: border-box
}

body {
  margin: 0;
  overflow-x: hidden;
  min-height: 100vh;
  font-family: 'IBM Plex Sans', sans-serif;
  background-color: #080c0e;
  color: #DCEEF5
}

.site_header {
  position: relative;
  z-index: 100;
  background: linear-gradient(180deg, #1d3f48f7 0%, #080c0eeb 100%);
  border-bottom: 1px solid #dceef514;
  box-shadow: -1px 7px 28px 0 #ff482114;
  padding: 32px 16px 0
}

.site_header:focus-within {
  outline: none
}

.hdr_pod {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px
}

.logo_cell {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #dceef50f;
  border: 1px solid #dceef52e;
  border-radius: 24px;
  box-shadow: -1px 3px 3px 0 #ff48210f -1px 7px 28px 0 #ff482114;
  padding: 8px;
  width: 96px;
  height: 96px
}

.logo_cell img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block
}

.proof_strip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #ff48211a;
  border: 1px solid #ff482138;
  border-radius: 2px;
  padding: 4px 16px
}

.proof_strip .fi {
  font-size: 15px;
  border-radius: 2px
}

.proof_text {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  font-weight: 300;
  letter-spacing: .02em
}

.proof_text strong {
  color: #FF4821;
  font-weight: 600
}

.hdr_nav_deck {
  width: 100%;
  border-top: 1px solid #dceef512;
  padding: 8px 0
}

.hdr_nav_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 4px
}

.hdr_nav_list li {
  display: flex
}

.hdr_nav_list a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 600;
  color: #DCEEF5;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 2px;
  border: 1px solid transparent;
  min-height: 44px;
  transition: color .25s ease-in-out, background .28s cubic-bezier(0.4, 0, 0.2, 1), border-color .25s ease-in-out, box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.hdr_nav_list a:hover {
  color: #FF4821;
  background: #ff482114;
  border-color: #ff482133;
  box-shadow: inset -1px 3px 3px 0 #ff48210f
}

.hdr_nav_list a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #ff48218c
}

.hdr_nav_list .active_lnk {
  color: #FF4821;
  border-color: #ff48214d;
  background: #ff48210f
}

.nav_icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  fill: currentColor
}

@media (max-width: 640px) {
  .hdr_nav_list a {
    font-size: 15px;
    padding: 8px
  }

  .proof_strip {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center
  }
}

@media (max-width: 360px) {
  .logo_cell {
    width: 80px;
    height: 80px
  }

  .logo_cell img {
    width: 64px;
    height: 64px
  }
}

.site_footer {
  position: relative;
  border-top: 1px solid #dceef51a;
  background: linear-gradient(180deg, #080c0efa 0%, #1d3f4899 100%);
  padding: 32px 16px
}

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

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

.ftr_logo_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #dceef50d;
  border: 1px solid #dceef526;
  border-radius: 24px;
  box-shadow: -1px 3px 3px 0 #1d3f480f -1px 7px 28px 0 #1d3f4814;
  padding: 8px;
  width: 80px;
  height: 80px
}

.ftr_logo_wrap img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  display: block
}

.ftr_addr {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5b3;
  font-weight: 300;
  font-style: normal
}

.ftr_addr a {
  color: #dceef5b3;
  text-decoration: none;
  transition: color .25s ease-in-out
}

.ftr_addr a:hover {
  color: #FF4821
}

.ftr_addr a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #ff48218c;
  border-radius: 2px
}

.ftr_addr span {
  display: block
}

.ftr_nav_cell {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-end
}

.ftr_nav_label {
  font-size: 15px;
  line-height: 1.1;
  font-weight: 600;
  color: #dceef566;
  text-transform: uppercase;
  letter-spacing: .12em
}

.ftr_nav_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end
}

.ftr_nav_list a {
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 400;
  color: #dceef5bf;
  text-decoration: none;
  padding: 4px 8px;
  border: 1px solid transparent;
  border-radius: 2px;
  min-height: 44px;
  transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), border-color .25s ease-in-out, background .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.ftr_nav_list a:hover {
  color: #DCEEF5;
  border-color: #dceef526;
  background: #dceef50a;
  box-shadow: inset -1px 3px 3px 0 #1d3f480f
}

.ftr_nav_list a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #ff48218c
}

.ftr_copy {
  max-width: 1024px;
  margin: 32px auto 0;
  padding-top: 16px;
  border-top: 1px solid #dceef512;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px
}

.ftr_copy_text {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef559;
  font-weight: 300
}

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

.ftr_locale .fi {
  font-size: 15px;
  border-radius: 2px
}

.ftr_locale_text {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef559;
  font-weight: 300
}

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

  .ftr_nav_cell {
    align-items: flex-start
  }

  .ftr_nav_list {
    align-items: flex-start
  }

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

.toast_plate {
  position: fixed;
  top: 16px;
  left: 16px;
  z-index: 2000;
  max-width: 320px;
  width: calc(100vw - 32px);
  background: #0d1a1f;
  border: 1px solid #dceef524;
  border-radius: 24px;
  box-shadow: -1px 9px 36px 0 #1d3f481c;
  padding: 16px;
  display: none
}

.toast_plate[data-vis="on"] {
  display: block
}

.toast_icon_row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 8px
}

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

.toast_body {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5cc;
  font-weight: 300;
  margin-bottom: 8px
}

.toast_body strong {
  color: #DCEEF5;
  font-weight: 600
}

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

.toast_uses li {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef599;
  font-weight: 300;
  padding-left: 8px;
  border-left: 2px solid #FF4821
}

.toast_toggles {
  display: none;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px
}

.toast_toggles.open {
  display: flex
}

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

.toggle_label {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5bf;
  font-weight: 400
}

.toggle_switch {
  position: relative;
  width: 40px;
  height: 24px;
  flex-shrink: 0
}

.toggle_switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute
}

.toggle_track {
  display: block;
  width: 40px;
  height: 24px;
  background: #dceef51f;
  border-radius: 40px;
  border: 1px solid #dceef52e;
  cursor: pointer;
  transition: background .25s ease-in-out;
  position: relative
}

.toggle_switch input:checked+.toggle_track {
  background: #FF4821;
  border-color: #FF4821
}

.toggle_track::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background: #DCEEF5;
  border-radius: 40px;
  transition: transform .25s ease-in-out
}

.toggle_switch input:checked+.toggle_track::after {
  transform: translateX(16px)
}

.toggle_switch input:focus-visible+.toggle_track {
  box-shadow: 0 0 0 3px #ff48218c
}

.toast_btns {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px
}

.btn_accept {
  font-size: 15px;
  line-height: 1.6;
  font-weight: 600;
  color: #DCEEF5;
  background: linear-gradient(90deg, #FF4821 0%, #c93a1a 100%);
  border: none;
  border-radius: 2px;
  padding: 4px 16px;
  min-height: 44px;
  cursor: pointer;
  transition: box-shadow .25s ease-in-out, opacity .25s ease-in-out
}

.btn_accept:hover {
  box-shadow: inset -1px 3px 3px 0 #ff48212e;
  opacity: .9
}

.btn_accept:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #ff48218c
}

.btn_txt_lnk {
  font-size: 15px;
  line-height: 1.6;
  font-weight: 400;
  color: #dceef599;
  background: none;
  border: none;
  padding: 4px 8px;
  min-height: 44px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .25s ease-in-out
}

.btn_txt_lnk:hover {
  color: #DCEEF5
}

.btn_txt_lnk:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #ff48218c;
  border-radius: 2px
}

.doc-body {
  max-width: 1024px;
  margin: 0 auto;
  padding: 32px 16px;
  color: #DCEEF5;
  background: #0d1618;
  line-height: 1.6;
  font-size: 15px
}

.doc-body h1 {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin-bottom: 32px;
  margin-top: 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #FF4821
}

.doc-body h2 {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin-top: 32px;
  margin-bottom: 16px
}

.doc-body h3 {
  font-size: 15px;
  line-height: 1.6;
  color: #FF4821;
  margin-top: 32px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: .08em
}

.doc-body h4 {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  margin-top: 16px;
  margin-bottom: 8px
}

.doc-body h5 {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  margin-top: 16px;
  margin-bottom: 8px
}

.doc-body h6 {
  font-size: 15px;
  line-height: 1.6;
  color: #7aabb f;
  margin-top: 16px;
  margin-bottom: 8px
}

.doc-body p {
  font-size: 15px;
  line-height: 1.6;
  color: #b8d8e5;
  margin-top: 0;
  margin-bottom: 16px
}

.doc-body strong,
.doc-body b {
  color: #DCEEF5;
  font-weight: 700
}

.doc-body a {
  color: #FF4821;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color .25s ease-in-out, text-decoration-color .25s ease-in-out
}

.doc-body a:hover {
  color: #ff6a47;
  text-decoration-color: transparent
}

.doc-body div {
  margin-bottom: 16px
}

.doc-body table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 32px;
  font-size: 15px;
  line-height: 1.6;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: -1px 7px 28px 0 #ff482114
}

.doc-body thead {
  background: #1D3F48
}

.doc-body thead th {
  color: #DCEEF5;
  font-weight: 700;
  text-align: left;
  padding: 16px;
  font-size: 15px;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-bottom: 2px solid #FF4821
}

.doc-body tbody tr {
  background: #111d20;
  transition: background .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.doc-body tbody tr:nth-child(even) {
  background: #162228
}

.doc-body tbody tr:hover {
  background: #1D3F48;
  box-shadow: inset 0 0 12px #1d3f4866
}

.doc-body td {
  color: #b8d8e5;
  padding: 16px;
  border-bottom: 1px solid #1D3F48;
  font-size: 15px;
  line-height: 1.6;
  vertical-align: top
}

.doc-body th {
  padding: 16px;
  vertical-align: top
}

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

  .doc-body h1 {
    font-size: 42px
  }

  .doc-body h2 {
    font-size: 42px
  }

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

@media (min-width: 1024px) {
  .doc-body {
    padding: 32px
  }
}

.lrn_det {
  background: #0d1517;
  color: #DCEEF5;
  min-height: 100vh;
  overflow-x: hidden
}

.lrn_det .geo_bg {
  position: fixed;
  top: -120px;
  right: -120px;
  width: 420px;
  height: 420px;
  border: 2px solid #ff482112;
  border-radius: 40px;
  animation: geo_spin 28s linear infinite;
  pointer-events: none;
  z-index: 0
}

.lrn_det .geo_bg2 {
  position: fixed;
  bottom: -80px;
  left: -80px;
  width: 280px;
  height: 280px;
  border: 2px solid #1d3f482e;
  border-radius: 40px;
  animation: geo_spin 38s linear infinite reverse;
  pointer-events: none;
  z-index: 0
}

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

  to {
    transform: rotate(360deg)
  }
}

.lrn_det .pg_wrap {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px;
  position: relative;
  z-index: 1
}

.lrn_det .badge_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 32px 0 16px;
  flex-wrap: wrap
}

.lrn_det .badge {
  background: #ff482121;
  color: #FF4821;
  border-radius: 2px;
  padding: 4px 8px;
  font-size: 15px;
  line-height: 1.6;
  border: 1px solid #ff482138;
  letter-spacing: .04em;
  text-transform: uppercase
}

.lrn_det .meta_row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding-bottom: 16px
}

.lrn_det .meta_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  font-size: 15px;
  line-height: 1.6;
  color: #dceef58c
}

.lrn_det .meta_item svg {
  flex-shrink: 0
}

.lrn_det .cnt_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #FF4821;
  color: #fff;
  border-radius: 24px;
  font-size: 15px;
  line-height: 1.1;
  padding: 4px 8px;
  min-width: 28px;
  font-weight: 700
}

.lrn_det .title_blk {
  padding: 32px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center
}

.lrn_det .title_text {
  position: relative
}

.lrn_det .fade_letter {
  position: absolute;
  top: -24px;
  left: -16px;
  font-size: 72px;
  line-height: 1.1;
  color: #1d3f482e;
  font-weight: 900;
  pointer-events: none;
  user-select: none;
  z-index: 0
}

.lrn_det .main_h1 {
  font-size: 58px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 16px;
  position: relative;
  z-index: 1;
  animation: col_shift 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@keyframes col_shift {
  0% {
    color: #ff482199
  }

  100% {
    color: #DCEEF5
  }
}

.lrn_det .sub_txt {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5b8;
  margin: 0;
  max-width: 420px
}

.lrn_det .img_frame {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: -1px 9px 36px 0 #ff48211c
}

.lrn_det .img_frame::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #ff482114 0%, #1d3f488c 100%);
  z-index: 1;
  pointer-events: none
}

.lrn_det .img_frame img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  filter: saturate(0.85);
  transition: filter .35s ease-in-out, transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn_det .img_frame:hover img {
  filter: saturate(1.1);
  transform: scale(1.03)
}

.lrn_det .price_pill {
  position: absolute;
  bottom: 16px;
  left: 16px;
  z-index: 2;
  background: linear-gradient(135deg, #FF4821 0%, #1D3F48 100%);
  color: #fff;
  border-radius: 24px;
  padding: 8px 16px;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 700;
  box-shadow: -1px 7px 28px 0 #ff482114
}

.lrn_det .divider_svg {
  width: 100%;
  display: block;
  overflow: hidden
}

.lrn_det .prog_sec {
  background: #0d1517;
  padding: 32px 0;
  position: relative
}

.lrn_det .prog_sec::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #1d3f4838 0%, transparent 60%);
  pointer-events: none
}

.lrn_det .prog_grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 32px;
  align-items: start
}

.lrn_det .prog_body {
  position: relative;
  z-index: 1
}

.lrn_det .prog_body h2,
.lrn_det .prog_body h3 {
  color: #DCEEF5;
  line-height: 1.1;
  margin: 0 0 8px
}

.lrn_det .prog_body h2 {
  font-size: 42px
}

.lrn_det .prog_body h3 {
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #FF4821
}

.lrn_det .prog_body p {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5b8;
  margin: 0 0 16px
}

.lrn_det .prog_body small {
  font-size: 15px;
  color: #dceef573;
  line-height: 1.6
}

.lrn_det .prog_body ul,
.lrn_det .prog_body ol {
  margin: 0 0 16px;
  padding-left: 0;
  list-style: none
}

.lrn_det .prog_body li {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5cc;
  padding: 4px 0 4px 24px;
  position: relative
}

.lrn_det .prog_body li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 10px;
  height: 6px;
  border-left: 2px solid #FF4821;
  border-bottom: 2px solid #FF4821;
  transform: rotate(-45deg) translateY(-2px)
}

.lrn_det .prog_body dl {
  margin: 0 0 16px
}

.lrn_det .prog_body dt {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  font-weight: 700;
  padding: 4px 0 0
}

.lrn_det .prog_body dd {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5a6;
  margin: 0 0 8px 16px
}

.lrn_det .prog_body blockquote {
  border-left: 3px solid #FF4821;
  border-top: 1px solid #ff482133;
  margin: 16px 0;
  padding: 8px 16px;
  background: #1d3f482e;
  border-radius: 2px
}

.lrn_det .prog_body blockquote p {
  margin: 0;
  font-style: italic;
  color: #dceef5cc
}

.lrn_det .prog_body figure {
  margin: 16px 0
}

.lrn_det .prog_body figcaption {
  font-size: 15px;
  color: #dceef573;
  line-height: 1.6;
  padding-top: 4px
}

.lrn_det .prog_body details {
  margin: 8px 0;
  border: 1px solid #1d3f4880;
  border-radius: 2px;
  background: #1d3f481f
}

.lrn_det .prog_body summary {
  padding: 8px 16px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color .25s ease-in-out
}

.lrn_det .prog_body summary:hover {
  color: #FF4821
}

.lrn_det .prog_body details[open] summary {
  color: #FF4821
}

.lrn_det .prog_body details> :not(summary) {
  padding: 0 16px 8px;
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5b3
}

.lrn_det .side_panel {
  position: sticky;
  top: 32px;
  z-index: 1
}

.lrn_det .glass_card {
  background: #1d3f4838;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid #dceef51a;
  border-radius: 24px;
  padding: 32px;
  box-shadow: -1px 7px 28px 0 #1d3f4814;
  transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn_det .glass_card:hover {
  box-shadow: inset 0 0 24px #ff48210f -1px 9px 36px 0 #ff48211c
}

.lrn_det .price_lbl {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef580;
  margin: 0 0 4px;
  text-transform: uppercase;
  letter-spacing: .06em
}

.lrn_det .price_val {
  font-size: 42px;
  line-height: 1.1;
  color: #FF4821;
  font-weight: 900;
  margin: 0 0 16px
}

.lrn_det .enroll_btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 24px;
  background: linear-gradient(135deg, #FF4821 0%, #1D3F48 100%);
  color: #fff;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), background .35s ease-in-out;
  box-shadow: -1px 3px 3px 0 #ff48210f
}

.lrn_det .enroll_btn:hover {
  background: linear-gradient(135deg, #1D3F48 0%, #FF4821 100%);
  box-shadow: inset 0 2px 12px #ff48212e -1px 7px 28px 0 #ff482114
}

.lrn_det .enroll_btn:hover .btn_ico {
  transform: translateX(4px)
}

.lrn_det .btn_ico {
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0
}

.lrn_det .stats_row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 16px;
  flex-wrap: wrap
}

.lrn_det .stat_item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 80px
}

.lrn_det .stat_num {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  font-weight: 900
}

.lrn_det .stat_lbl {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef573
}

.lrn_det .desc_sec {
  background: linear-gradient(160deg, #0d1517 0%, #111d21 100%);
  padding: 32px 0
}

.lrn_det .desc_inner {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 32px;
  align-items: start
}

.lrn_det .desc_aside {
  position: sticky;
  top: 32px
}

.lrn_det .aside_label {
  font-size: 42px;
  line-height: 1.1;
  font-weight: 900;
  color: #1d3f4859;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  user-select: none;
  pointer-events: none
}

.lrn_det .desc_body {
  position: relative
}

.lrn_det .desc_body h2 {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 16px
}

.lrn_det .desc_body p {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5b8;
  margin: 0 0 16px
}

.lrn_det .desc_body mark {
  background: #ff48212e;
  color: #FF4821;
  border-radius: 2px;
  padding: 0 4px
}

.lrn_det .desc_body cite {
  font-style: italic;
  color: #dceef580;
  font-size: 15px
}

.lrn_det .desc_body ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px
}

.lrn_det .desc_body li {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5cc;
  padding: 4px 0 4px 24px;
  position: relative
}

.lrn_det .desc_body li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 10px;
  height: 6px;
  border-left: 2px solid #DCEEF5;
  border-bottom: 2px solid #DCEEF5;
  transform: rotate(-45deg) translateY(-2px)
}

.lrn_det .desc_body dl {
  margin: 0 0 16px
}

.lrn_det .desc_body dt {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  font-weight: 700
}

.lrn_det .desc_body dd {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5a6;
  margin: 0 0 8px 16px
}

.lrn_det .desc_body details {
  margin: 8px 0;
  border: 1px solid #1d3f4880;
  border-radius: 2px;
  background: #1d3f481f
}

.lrn_det .desc_body summary {
  padding: 8px 16px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  list-style: none;
  transition: color .25s ease-in-out
}

.lrn_det .desc_body summary:hover {
  color: #FF4821
}

.lrn_det .desc_body details> :not(summary) {
  padding: 0 16px 8px;
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5b3
}

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

  .lrn_det .prog_grid {
    grid-template-columns: 1fr
  }

  .lrn_det .side_panel {
    position: static
  }

  .lrn_det .desc_inner {
    grid-template-columns: 1fr
  }

  .lrn_det .desc_aside {
    display: none
  }
}

@media (max-width: 640px) {
  .lrn_det .main_h1 {
    font-size: 42px
  }

  .lrn_det .fade_letter {
    font-size: 58px
  }

  .lrn_det .glass_card {
    padding: 16px
  }

  .lrn_det .price_val {
    font-size: 42px
  }

  .lrn_det .stat_num {
    font-size: 42px
  }
}

@media (max-width: 360px) {
  .lrn_det .main_h1 {
    font-size: 42px
  }

  .lrn_det .badge_row {
    gap: 4px
  }
}

.cont_us {
  background: #0d1517;
  min-height: 100vh;
  overflow-x: clip;
  position: relative
}

.cont_us::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0
}

.cont_us .pg_body {
  position: relative;
  z-index: 1
}

.cont_us .reach_band {
  max-width: 1024px;
  margin: 0 auto;
  padding: 32px 16px;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 32px;
  align-items: start
}

.cont_us .reach_left {
  position: sticky;
  top: 32px
}

.cont_us .reach_eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px
}

.cont_us .reach_eyebrow .dot_line {
  width: 32px;
  height: 2px;
  background: #FF4821;
  border-radius: 2px
}

.cont_us .reach_eyebrow span {
  font-size: 15px;
  color: #FF4821;
  letter-spacing: .12em;
  text-transform: uppercase
}

.cont_us .reach_hdg {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin-bottom: 16px
}

.cont_us .reach_hdg em {
  font-style: normal;
  display: block;
  color: #FF4821
}

.cont_us .reach_sub {
  font-size: 15px;
  line-height: 1.6;
  color: #8fb3c0;
  margin-bottom: 32px;
  max-width: 340px
}

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

.cont_us .addr_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: #1d3f4838;
  border-radius: 24px;
  border: 1px solid #dceef514;
  box-shadow: -1px 3px 3px 0 #ff48210f;
  transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), background .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us .addr_item:hover {
  background: #1d3f4861;
  box-shadow: -1px 7px 28px 0 #ff482114 inset 0 1px 0 #dceef51f
}

.cont_us .addr_icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 2px;
  background: linear-gradient(160deg, #FF4821 0%, #1D3F48 100%);
  display: flex;
  align-items: center;
  justify-content: center
}

.cont_us .addr_icon svg {
  width: 20px;
  height: 20px;
  fill: #DCEEF5
}

.cont_us .addr_label {
  font-size: 15px;
  color: #8fb3c0;
  line-height: 1.1;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: .08em
}

.cont_us .addr_val {
  font-size: 15px;
  color: #DCEEF5;
  line-height: 1.6;
  text-decoration: none;
  display: block;
  transition: color .25s ease-in-out
}

.cont_us .addr_val:hover {
  color: #FF4821
}

.cont_us .form_panel {
  background: #111c20e6;
  border-radius: 40px;
  border: 1px solid #dceef51a;
  box-shadow: -1px 9px 36px 0 #1d3f481c;
  padding: 32px;
  position: relative;
  overflow: hidden
}

.cont_us .form_panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #FF4821 0%, #1D3F48 60%, transparent 100%);
  border-radius: 40px 40px 0 0
}

.cont_us .form_hdg {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin-bottom: 8px
}

.cont_us .form_desc {
  font-size: 15px;
  line-height: 1.6;
  color: #8fb3c0;
  margin-bottom: 32px
}

.cont_us .field_grp {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px
}

.cont_us .field_lbl {
  font-size: 15px;
  color: #DCEEF5;
  line-height: 1.1
}

.cont_us .field_lbl .req {
  color: #FF4821;
  margin-left: 4px
}

.cont_us .f_input {
  background: #1d3f484d;
  border: 1px solid #dceef51f;
  border-radius: 24px;
  padding: 16px;
  font-size: 15px;
  color: #DCEEF5;
  width: 100%;
  outline: none;
  transition: border-color .28s ease-in-out, box-shadow .28s ease-in-out;
  box-sizing: border-box
}

.cont_us .f_input::placeholder {
  color: #4a6d7a
}

.cont_us .f_input:focus {
  border-color: #FF4821;
  box-shadow: inset 0 2px 8px #ff48211a 0 0 0 3px #ff48211f
}

.cont_us .f_textarea {
  resize: vertical;
  min-height: 100px
}

.cont_us .size_grp {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px
}

.cont_us .size_lbl {
  font-size: 15px;
  color: #DCEEF5;
  line-height: 1.1;
  margin-bottom: 8px
}

.cont_us .radio_row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px
}

.cont_us .radio_opt {
  position: relative;
  flex: 1;
  min-width: 80px
}

.cont_us .radio_opt input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  z-index: 2
}

.cont_us .radio_opt .r_face {
  display: block;
  padding: 8px 16px;
  background: #1d3f4840;
  border: 1px solid #dceef51a;
  border-radius: 24px;
  font-size: 15px;
  color: #8fb3c0;
  text-align: center;
  cursor: pointer;
  transition: background .26s ease-in-out, border-color .26s ease-in-out, color .26s ease-in-out;
  line-height: 1.6
}

.cont_us .radio_opt input[type="radio"]:checked+.r_face {
  background: linear-gradient(135deg, #FF4821 0%, #1D3F48 100%);
  border-color: #FF4821;
  color: #DCEEF5;
  box-shadow: inset 0 1px 4px #ff48212e
}

.cont_us .radio_opt input[type="radio"]:focus-visible+.r_face {
  outline: 2px solid #FF4821;
  outline-offset: 2px
}

.cont_us .radio_opt .r_face:hover {
  border-color: #ff482180;
  color: #DCEEF5
}

.cont_us .privacy_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 16px;
  padding: 16px;
  background: #1d3f482e;
  border-radius: 24px;
  border: 1px solid #dceef512
}

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

.cont_us .privacy_text {
  font-size: 15px;
  color: #8fb3c0;
  line-height: 1.6
}

.cont_us .privacy_text a {
  color: #FF4821;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .25s ease-in-out
}

.cont_us .privacy_text a:hover {
  color: #DCEEF5
}

.cont_us .submit_btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #FF4821 0%, #c93a1a 100%);
  border: none;
  border-radius: 40px;
  font-size: 15px;
  color: #DCEEF5;
  cursor: pointer;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), background .28s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -1px 7px 28px 0 #ff482114;
  width: 100%;
  justify-content: center
}

.cont_us .submit_btn:hover {
  background: linear-gradient(135deg, #c93a1a 0%, #FF4821 100%);
  box-shadow: inset 0 2px 8px #1d3f484d -1px 9px 36px 0 #ff48211c
}

.cont_us .submit_btn:hover .btn_arrow {
  transform: translateX(6px)
}

.cont_us .submit_btn:focus-visible {
  outline: 2px solid #DCEEF5;
  outline-offset: 3px
}

.cont_us .btn_arrow {
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.cont_us .btn_arrow svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #DCEEF5;
  stroke-width: 2
}

.cont_us .metrics_strip {
  background: #1D3F48;
  border-top: 1px solid #dceef514;
  border-bottom: 1px solid #dceef514;
  position: relative;
  overflow: hidden
}

.cont_us .metrics_strip::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #ff482112 0%, transparent 60%);
  pointer-events: none
}

.cont_us .metrics_inner {
  max-width: 1024px;
  margin: 0 auto;
  padding: 32px 16px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  position: relative;
  z-index: 1
}

.cont_us .met_item {
  padding: 16px;
  border-radius: 24px;
  border: 1px solid #dceef50f;
  background: #0d151780;
  transition: background .26s ease-in-out, box-shadow .26s ease-in-out;
  cursor: default
}

.cont_us .met_item:hover {
  background: #0d1517cc;
  box-shadow: inset 0 1px 6px #ff48211f -1px 7px 28px 0 #ff482114
}

.cont_us .met_num {
  font-size: 42px;
  line-height: 1.1;
  color: #FF4821;
  display: block
}

.cont_us .met_desc {
  font-size: 15px;
  color: #8fb3c0;
  line-height: 1.6;
  margin-top: 4px
}

.cont_us .curve_divider {
  width: 100%;
  overflow: hidden;
  line-height: 0
}

.cont_us .curve_divider svg {
  display: block;
  width: 100%
}

.cont_us .alt_reach {
  background: #0d1517;
  padding: 32px 0
}

.cont_us .alt_inner {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  align-items: center
}

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

.cont_us .alt_hdg {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5
}

.cont_us .alt_para {
  font-size: 15px;
  line-height: 1.6;
  color: #8fb3c0;
  max-width: 420px
}

.cont_us .alt_link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #FF4821;
  text-decoration: none;
  border-bottom: 1px solid #ff48214d;
  padding-bottom: 4px;
  transition: color .25s ease-in-out, border-color .25s ease-in-out;
  align-self: flex-start
}

.cont_us .alt_link:hover {
  color: #DCEEF5;
  border-color: #dceef566
}

.cont_us .geo_card {
  background: #1d3f4838;
  border-radius: 40px;
  border: 1px solid #dceef51a;
  padding: 32px;
  box-shadow: -1px 9px 36px 0 #1d3f481c;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative
}

.cont_us .geo_card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 40px;
  background: linear-gradient(160deg, #ff482126 0%, transparent 50%);
  pointer-events: none
}

.cont_us .geo_visual {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 24px;
  background: linear-gradient(160deg, #1D3F48 0%, #0d1517 100%);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center
}

.cont_us .geo_visual .gr_flag {
  position: absolute;
  top: 16px;
  left: 16px
}

.cont_us .geo_visual .map_shape {
  width: 80%;
  height: 80%;
  position: relative
}

.cont_us .geo_visual .map_shape svg {
  width: 100%;
  height: 100%
}

.cont_us .geo_loc_row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px
}

.cont_us .geo_loc_row svg {
  width: 18px;
  height: 18px;
  fill: #FF4821;
  flex-shrink: 0;
  margin-top: 2px
}

.cont_us .geo_loc_text {
  font-size: 15px;
  color: #8fb3c0;
  line-height: 1.6
}

.cont_us .geo_loc_text strong {
  color: #DCEEF5;
  display: block
}

.cont_us .xyz_emerge {
  animation: emerge_up .38s cubic-bezier(0.4, 0, 0.2, 1) both
}

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

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

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

  .cont_us .reach_left {
    position: static
  }

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

  .cont_us .metrics_inner {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media (max-width: 640px) {

  .cont_us .reach_hdg,
  .cont_us .form_hdg,
  .cont_us .alt_hdg {
    font-size: 42px
  }

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

  .cont_us .radio_row {
    flex-direction: column
  }

  .cont_us .form_panel {
    padding: 16px;
    border-radius: 24px
  }

  .cont_us .reach_band {
    padding: 16px
  }
}

@media (max-width: 360px) {

  .cont_us .reach_hdg,
  .cont_us .form_hdg,
  .cont_us .alt_hdg {
    font-size: 42px
  }

  .cont_us .submit_btn {
    padding: 16px
  }
}

.certs_pg {
  background: #0d1517;
  min-height: 100vh;
  overflow-x: clip
}

.certs_pg .flicker_bg {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none;
  animation: flicker_anim 8s steps(1) infinite;
  z-index: 0
}

@keyframes flicker_anim {
  0% {
    opacity: .6
  }

  13% {
    opacity: .8
  }

  27% {
    opacity: .55
  }

  41% {
    opacity: .75
  }

  58% {
    opacity: .62
  }

  72% {
    opacity: .85
  }

  89% {
    opacity: .58
  }

  100% {
    opacity: .7
  }
}

.certs_pg .pg_lead {
  position: relative;
  max-width: 1024px;
  margin: 0 auto;
  padding: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
  overflow: hidden
}

.certs_pg .pg_lead .bg_num {
  position: absolute;
  right: -16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: clamp(120px, 18vw, 220px);
  font-weight: 900;
  color: #1D3F48;
  opacity: .18;
  line-height: 1.1;
  letter-spacing: -8px;
  pointer-events: none;
  user-select: none;
  z-index: 0
}

.certs_pg .pg_lead .txt_zone {
  position: relative;
  z-index: 1;
  padding: 32px 16px 32px 0
}

.certs_pg .pg_lead .txt_zone .eyebrow {
  display: inline-block;
  font-size: 15px;
  color: #FF4821;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 16px;
  border-left: 3px solid #FF4821;
  border-bottom: 1px solid #ff48214d;
  padding: 4px 8px
}

.certs_pg .pg_lead .txt_zone h1 {
  font-size: clamp(42px, 6vw, 72px);
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 16px
}

.certs_pg .pg_lead .txt_zone h1 span {
  display: block;
  color: #FF4821
}

.certs_pg .pg_lead .txt_zone .lead_desc {
  font-size: 15px;
  line-height: 1.6;
  color: #8fb3c0;
  max-width: 380px
}

.certs_pg .img_zone {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end
}

.certs_pg .img_zone .portrait_frame {
  width: 260px;
  height: 346px;
  border-radius: 40px;
  overflow: hidden;
  box-shadow: -1px 9px 36px 0 #ff48211c;
  border: 2px solid #1d3f4899;
  position: relative
}

.certs_pg .img_zone .portrait_frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.85);
  transition: filter .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.certs_pg .img_zone .portrait_frame:hover img {
  filter: brightness(1)
}

.certs_pg .img_zone .portrait_frame::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 40px;
  box-shadow: inset 0 0 24px #ff482114;
  pointer-events: none
}

.certs_pg .img_zone .expert_tag {
  margin-top: 16px;
  background: #1D3F48;
  border-radius: 24px;
  padding: 8px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 260px;
  box-shadow: -1px 7px 28px 0 #1d3f4814
}

.certs_pg .img_zone .expert_tag .e_name {
  font-size: 15px;
  color: #DCEEF5;
  font-weight: 700
}

.certs_pg .img_zone .expert_tag .e_role {
  font-size: 15px;
  color: #8fb3c0
}

.certs_pg .cert_list_sec {
  position: relative;
  background: #111c1f;
  padding: 32px 0
}

.certs_pg .cert_list_sec::before {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent, #FF4821 40%, #1D3F48 100%)
}

.certs_pg .cert_list_sec .geo_accent {
  position: absolute;
  right: 0;
  top: 32px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: #1d3f481f;
  pointer-events: none;
  z-index: 0
}

.certs_pg .cert_list_sec .inner {
  max-width: 1024px;
  margin: 0 auto;
  padding: 32px;
  position: relative;
  z-index: 1
}

.certs_pg .cert_list_sec .sec_hd {
  margin-bottom: 32px
}

.certs_pg .cert_list_sec .sec_hd h2 {
  font-size: clamp(42px, 5vw, 58px);
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 8px
}

.certs_pg .cert_list_sec .sec_hd p {
  font-size: 15px;
  line-height: 1.6;
  color: #8fb3c0;
  max-width: 480px
}

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

.certs_pg .cert_card {
  background: #0d1517;
  border-radius: 24px;
  padding: 32px 16px 16px;
  border: 1px solid #1d3f4880;
  box-shadow: -1px 3px 3px 0 #1d3f480f;
  transition: box-shadow .28s ease-in-out, border-color .28s ease-in-out;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative
}

.certs_pg .cert_card:hover {
  box-shadow: inset -1px 3px 16px #ff482112 -1px 7px 28px 0 #ff482114;
  border-color: #ff48214d
}

.certs_pg .cert_card .icon_ring {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #FF4821;
  border: 2px solid #ff48214d;
  outline: 2px solid #ff48211f;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  flex-shrink: 0
}

.certs_pg .cert_card .icon_ring svg {
  width: 22px;
  height: 22px;
  fill: #fff
}

.certs_pg .cert_card h3 {
  font-size: 15px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0
}

.certs_pg .cert_card .cert_body {
  font-size: 15px;
  line-height: 1.6;
  color: #8fb3c0;
  margin: 0
}

.certs_pg .cert_card .cert_org {
  font-size: 15px;
  color: #FF4821;
  margin-top: 4px
}

.certs_pg .cert_card .cert_year {
  font-size: 15px;
  color: #4a7080;
  margin: 0
}

.certs_pg .cert_card .status_dot {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #FF4821;
  box-shadow: 0 0 6px #ff482180
}

.certs_pg .qual_sec {
  position: relative;
  padding: 32px 0;
  background: #0d1517
}

.certs_pg .qual_sec::before {
  content: '';
  display: block;
  height: 1px;
  background: linear-gradient(90deg, #1D3F48, transparent 70%)
}

.certs_pg .qual_sec .inner {
  max-width: 1024px;
  margin: 0 auto;
  padding: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0
}

.certs_pg .qual_sec .col_a {
  background: #1D3F48;
  border-radius: 24px 2px 2px 24px;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.certs_pg .qual_sec .col_b {
  background: #FF4821;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.certs_pg .qual_sec .col_c {
  background: #111c1f;
  border-radius: 2px 24px 24px 2px;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.certs_pg .qual_sec .col_a h2 {
  font-size: clamp(42px, 4vw, 58px);
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0
}

.certs_pg .qual_sec .col_a p {
  font-size: 15px;
  line-height: 1.6;
  color: #8fb3c0;
  margin: 0
}

.certs_pg .qual_sec .col_b h3 {
  font-size: 15px;
  line-height: 1.1;
  color: #fff;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .08em
}

.certs_pg .qual_sec .col_b .metric_row {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.certs_pg .qual_sec .col_b .metric_num {
  font-size: 42px;
  line-height: 1.1;
  color: #fff;
  font-weight: 900
}

.certs_pg .qual_sec .col_b .metric_lbl {
  font-size: 15px;
  color: #ffffffbf;
  line-height: 1.6
}

.certs_pg .qual_sec .col_b .divider_ln {
  height: 1px;
  background: #ffffff40
}

.certs_pg .qual_sec .col_c h4 {
  font-size: 15px;
  line-height: 1.1;
  color: #FF4821;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .08em
}

.certs_pg .qual_sec .col_c ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.certs_pg .qual_sec .col_c ul li {
  font-size: 15px;
  line-height: 1.6;
  color: #8fb3c0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px
}

.certs_pg .qual_sec .col_c ul li::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 10px;
  border-right: 2px solid #FF4821;
  border-bottom: 2px solid #FF4821;
  transform: rotate(-45deg) translateY(2px);
  flex-shrink: 0;
  margin-top: 4px
}

.certs_pg .qual_sec .col_c .cta_link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #FF4821 0%, #1D3F48 100%);
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  padding: 8px 16px;
  border-radius: 2px;
  margin-top: 8px;
  transition: box-shadow .25s ease-in-out, opacity .25s ease-in-out
}

.certs_pg .qual_sec .col_c .cta_link:hover {
  box-shadow: inset 0 2px 8px #ff482133;
  opacity: .9
}

.certs_pg .qual_sec .col_c .cta_link .arr {
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid #fff;
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.certs_pg .qual_sec .col_c .cta_link:hover .arr {
  transform: translateX(4px)
}

.certs_pg .img_showcase {
  max-width: 1024px;
  margin: 0 auto;
  padding: 32px
}

.certs_pg .img_showcase figure {
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: -1px 9px 36px 0 #ff48211c;
  position: relative
}

.certs_pg .img_showcase figure img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.8);
  transition: filter .38s cubic-bezier(0.4, 0, 0.2, 1);
  display: block
}

.certs_pg .img_showcase figure:hover img {
  filter: brightness(1)
}

.certs_pg .img_showcase figure figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  background: linear-gradient(0deg, #0d1517e6 0%, transparent 100%);
  font-size: 15px;
  color: #DCEEF5;
  line-height: 1.6
}

@media (max-width: 1024px) {
  .certs_pg .cert_grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .certs_pg .qual_sec .inner {
    grid-template-columns: 1fr;
    gap: 4px
  }

  .certs_pg .qual_sec .col_a {
    border-radius: 24px 24px 2px 2px
  }

  .certs_pg .qual_sec .col_c {
    border-radius: 2px 2px 24px 24px
  }
}

@media (max-width: 640px) {
  .certs_pg .pg_lead {
    grid-template-columns: 1fr;
    padding: 32px 16px
  }

  .certs_pg .img_zone {
    align-items: center
  }

  .certs_pg .pg_lead .bg_num {
    display: none
  }

  .certs_pg .cert_list_sec .inner {
    padding: 32px 16px
  }

  .certs_pg .cert_grid {
    grid-template-columns: 1fr
  }

  .certs_pg .qual_sec .inner {
    padding: 32px 16px
  }

  .certs_pg .img_showcase {
    padding: 32px 16px
  }
}

@media (max-width: 360px) {
  .certs_pg .pg_lead .txt_zone h1 {
    font-size: 42px
  }
}

.fst {
  background: #0d1517;
  color: #DCEEF5;
  overflow-x: clip
}

.fst .pg_wrap {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 32px
}

.fst .drop_in {
  animation: dropIn .55s cubic-bezier(0.4, 0, 0.2, 1) both
}

.fst .drop_in:nth-child(2) {
  animation-delay: .1s
}

.fst .drop_in:nth-child(3) {
  animation-delay: .2s
}

.fst .drop_in:nth-child(4) {
  animation-delay: .3s
}

@keyframes dropIn {
  from {
    opacity: 0;
    transform: translateY(-28px)
  }

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

.fst .reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .38s cubic-bezier(0.4, 0, 0.2, 1), transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.fst .reveal.vis {
  opacity: 1;
  transform: translateY(0)
}

.fst .t_block {
  background: linear-gradient(180deg, #1D3F48 0%, #0d1517 100%);
  padding: 32px 0;
  position: relative
}

.fst .t_block .pg_wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 32px
}

.fst .t_text {
  flex: 1 1 0;
  position: relative
}

.fst .t_bracket {
  position: absolute;
  top: -8px;
  left: -16px;
  width: 20px;
  height: 20px;
  border-top: 2px solid #FF4821;
  border-left: 2px solid #FF4821;
  border-radius: 2px 0 0 0
}

.fst .t_bracket.br {
  top: auto;
  left: auto;
  bottom: -8px;
  right: -16px;
  border-top: none;
  border-left: none;
  border-bottom: 2px solid #FF4821;
  border-right: 2px solid #FF4821;
  border-radius: 0 0 2px 0
}

.fst .t_tag {
  font-size: 15px;
  color: #FF4821;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block
}

.fst .t_h1 {
  font-size: 58px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 16px
}

.fst .t_desc {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  max-width: 420px;
  margin: 0
}

.fst .t_sep {
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, #FF4821, #1D3F48);
  margin: 16px 0;
  border-radius: 2px
}

.fst .t_img_wrap {
  flex: 0 0 340px;
  position: relative
}

.fst .t_img_geo {
  width: 340px;
  height: 280px;
  overflow: hidden;
  border-radius: 2px 40px 2px 40px;
  position: relative;
  box-shadow: -1px 7px 28px 0 #ff482114
}

.fst .t_img_geo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.7) contrast(1.1);
  transition: filter .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.fst .t_img_geo:hover img {
  filter: saturate(1) contrast(1.05)
}

.fst .t_img_geo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #ff48212e 0%, transparent 60%);
  pointer-events: none
}

.fst .t_corner_dot {
  position: absolute;
  bottom: -8px;
  right: -8px;
  width: 16px;
  height: 16px;
  background: #FF4821;
  border-radius: 50%;
  box-shadow: -1px 3px 3px 0 #ff48210f
}

.fst .wavy_div {
  width: 100%;
  height: 24px;
  overflow: hidden;
  line-height: 0
}

.fst .wavy_div svg {
  display: block;
  width: 100%;
  height: 24px
}

.fst .sup_block {
  background: #111d20;
  padding: 32px 0
}

.fst .sup_block .pg_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start
}

.fst .sup_left h2 {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 16px
}

.fst .sup_left p {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  margin: 0 0 8px
}

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

.fst .sup_item {
  background: #162228;
  border-radius: 24px;
  padding: 16px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  box-shadow: -1px 3px 3px 0 #1d3f480f;
  transition: box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1), background .28s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative
}

.fst .sup_item:hover {
  background: #1a2c34;
  box-shadow: inset 0 1px 8px 0 #ff482114 -1px 7px 28px 0 #1d3f4814
}

.fst .sup_icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 2px;
  background: linear-gradient(160deg, #FF4821 0%, #1D3F48 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}

.fst .sup_icon .dot_ind {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 8px;
  height: 8px;
  background: #DCEEF5;
  border-radius: 50%
}

.fst .sup_icon svg {
  width: 18px;
  height: 18px;
  fill: #DCEEF5
}

.fst .sup_item h5 {
  font-size: 15px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 4px
}

.fst .sup_item p {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  margin: 0
}

.fst .band_div {
  width: 100%;
  height: 8px;
  background: linear-gradient(90deg, #FF4821 0%, #1D3F48 100%)
}

.fst .inv_block {
  background: linear-gradient(120deg, #1D3F48 0%, #0d1517 55%);
  padding: 32px 0
}

.fst .inv_block .pg_wrap {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.fst .inv_top {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: flex-end
}

.fst .inv_head {
  flex: 1 1 0
}

.fst .inv_head h2 {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 8px
}

.fst .inv_head p {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  margin: 0
}

.fst .inv_img_wrap {
  flex: 0 0 280px;
  height: 180px;
  border-radius: 40px 2px 40px 2px;
  overflow: hidden;
  box-shadow: -1px 9px 36px 0 #ff48211c;
  transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.fst .inv_img_wrap:hover {
  box-shadow: -1px 9px 36px 0 #ff482138 inset 0 0 20px #ff482114
}

.fst .inv_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

.fst .inv_steps {
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: flex-start
}

.fst .inv_step {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative
}

.fst .inv_step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 16px;
  left: calc(50% + 16px);
  right: calc(-50% + 16px);
  height: 2px;
  background: linear-gradient(90deg, #FF4821, #1D3F48)
}

.fst .step_num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #FF4821;
  color: #DCEEF5;
  font-size: 15px;
  line-height: 1.1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  box-shadow: -1px 3px 3px 0 #ff48210f;
  flex-shrink: 0
}

.fst .step_lbl {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  text-align: center;
  padding: 0 4px
}

.fst .cond_block {
  background: #0d1517;
  padding: 32px 0
}

.fst .cond_block .pg_wrap {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 32px;
  align-items: start
}

.fst .cond_main h2 {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 16px
}

.fst .cond_main p {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  margin: 0 0 8px
}

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

.fst .cond_list li {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  padding-left: 16px;
  position: relative
}

.fst .cond_list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-right: 2px solid #FF4821;
  border-top: 2px solid #FF4821;
  transform: rotate(45deg)
}

.fst .cond_stat {
  background: #162228;
  border-radius: 24px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: -1px 7px 28px 0 #1d3f4814;
  border-top: 2px solid #1D3F48;
  border-bottom: 2px solid #FF4821;
  transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1)
}

.fst .cond_stat:hover {
  box-shadow: inset 0 2px 12px #ff482112 -1px 9px 36px 0 #1d3f481c
}

.fst .cond_stat .num {
  font-size: 42px;
  line-height: 1.1;
  color: #FF4821
}

.fst .cond_stat .lbl {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8
}

.fst .comm_block {
  background: #162228;
  padding: 32px 0;
  position: relative
}

.fst .comm_block .pg_wrap {
  display: flex;
  flex-direction: column;
  gap: 32px
}

.fst .comm_top {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center
}

.fst .comm_head {
  flex: 1 1 0
}

.fst .comm_head h2 {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 8px
}

.fst .comm_head p {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  margin: 0
}

.fst .comm_portraits {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex: 0 0 auto
}

.fst .port_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px
}

.fst .port_img {
  width: 80px;
  height: 120px;
  border-radius: 40px;
  overflow: hidden;
  box-shadow: -1px 7px 28px 0 #1d3f4814;
  transition: box-shadow .3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative
}

.fst .port_img:hover {
  box-shadow: -1px 9px 36px 0 #ff48211c inset 0 0 16px #ff48211a
}

.fst .port_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

.fst .port_name {
  font-size: 15px;
  line-height: 1.1;
  color: #DCEEF5;
  text-align: center
}

.fst .port_role {
  font-size: 15px;
  line-height: 1.1;
  color: #a8c8d8;
  text-align: center
}

.fst .comm_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px
}

.fst .comm_card {
  background: #1D3F48;
  border-radius: 24px;
  padding: 16px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  box-shadow: -1px 3px 3px 0 #1d3f480f;
  transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.fst .comm_card:hover {
  background: #22495a;
  box-shadow: inset 0 1px 10px #ff482112 -1px 7px 28px 0 #1d3f4814
}

.fst .comm_card_icon {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 2px;
  background: #FF4821;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative
}

.fst .comm_card_icon .dot_ind {
  position: absolute;
  top: -3px;
  right: -3px;
  width: 6px;
  height: 6px;
  background: #DCEEF5;
  border-radius: 50%
}

.fst .comm_card_icon svg {
  width: 14px;
  height: 14px;
  fill: #DCEEF5
}

.fst .comm_card p {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  margin: 0
}

.fst .grad_block {
  background: linear-gradient(160deg, #0d1517 0%, #1D3F48 100%);
  padding: 32px 0
}

.fst .grad_block .pg_wrap {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 32px;
  align-items: start
}

.fst .grad_img_col {
  position: relative
}

.fst .grad_img_wrap {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 2px 40px 2px 40px;
  overflow: hidden;
  box-shadow: -1px 9px 36px 0 #ff48211c;
  transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.fst .grad_img_wrap:hover {
  box-shadow: -1px 9px 36px 0 #ff482138 inset 0 0 24px #ff482117
}

.fst .grad_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

.fst .grad_dot {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 16px;
  height: 16px;
  background: #FF4821;
  border-radius: 50%
}

.fst .grad_right h2 {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0 0 16px
}

.fst .grad_right p {
  font-size: 15px;
  line-height: 1.6;
  color: #a8c8d8;
  margin: 0 0 8px
}

.fst .grad_outcomes {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px
}

.fst .grad_out_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  background: #1d3f4866;
  border-radius: 24px;
  padding: 16px;
  border-left: 2px solid #FF4821;
  border-right: 2px solid #1D3F48;
  transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.fst .grad_out_item:hover {
  background: #1d3f48b3;
  box-shadow: inset 0 1px 12px #ff482112
}

.fst .grad_out_item p {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  margin: 0
}

.fst .arr_icon {
  flex: 0 0 16px;
  margin-top: 4px
}

.fst .arr_icon svg {
  width: 14px;
  height: 14px;
  fill: #FF4821
}

@media (max-width: 1024px) {
  .fst .t_h1 {
    font-size: 42px
  }

  .fst .inv_head h2,
  .fst .sup_left h2,
  .fst .cond_main h2,
  .fst .comm_head h2,
  .fst .grad_right h2 {
    font-size: 42px
  }
}

@media (max-width: 640px) {
  .fst .t_block .pg_wrap {
    flex-direction: column
  }

  .fst .t_img_wrap {
    flex: none;
    width: 100%
  }

  .fst .t_img_geo {
    width: 100%;
    height: 200px
  }

  .fst .t_h1 {
    font-size: 42px
  }

  .fst .sup_block .pg_wrap {
    grid-template-columns: 1fr
  }

  .fst .inv_top {
    flex-direction: column
  }

  .fst .inv_img_wrap {
    flex: none;
    width: 100%;
    height: 160px
  }

  .fst .inv_steps {
    flex-direction: column;
    gap: 8px
  }

  .fst .inv_step::after {
    display: none
  }

  .fst .cond_block .pg_wrap {
    grid-template-columns: 1fr
  }

  .fst .comm_top {
    flex-direction: column
  }

  .fst .comm_grid {
    grid-template-columns: 1fr
  }

  .fst .grad_block .pg_wrap {
    grid-template-columns: 1fr
  }
}

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

  .fst .t_h1 {
    font-size: 42px
  }

  .fst .comm_portraits {
    flex-direction: column;
    align-items: center
  }
}

.lrn_prog {
  background: #0d1417;
  color: #DCEEF5;
  padding: 0;
  overflow-x: clip
}

.lrn_prog .pg_band {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px
}

.lrn_prog .ttl_block {
  padding: 32px 16px;
  position: relative
}

.lrn_prog .ttl_band {
  max-width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center
}

.lrn_prog .ttl_mosaic {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 160px 100px;
  gap: 8px;
  position: relative
}

.lrn_prog .ttl_mosaic .img_a {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  border-radius: 2px;
  overflow: hidden
}

.lrn_prog .ttl_mosaic .img_b {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  border-radius: 2px;
  overflow: hidden
}

.lrn_prog .ttl_mosaic .img_c {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  border-radius: 2px;
  overflow: hidden;
  background: linear-gradient(160deg, #FF4821 0%, #1D3F48 100%);
  display: flex;
  align-items: center;
  justify-content: center
}

.lrn_prog .ttl_mosaic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.7) brightness(0.85) hue-rotate(0deg);
  display: block
}

.lrn_prog .dot_scatter {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: 2px
}

.lrn_prog .dot_scatter::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, #dceef52e 1px, transparent 1px), radial-gradient(circle, #ff48211f 1px, transparent 1px);
  background-size: 28px 28px, 44px 44px;
  background-position: 0 0, 14px 14px
}

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

.lrn_prog .ttl_eyebrow {
  font-size: 15px;
  color: #FF4821;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.1
}

.lrn_prog .ttl_h1 {
  font-size: 72px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0
}

.lrn_prog .ttl_h1 span {
  display: block
}

.lrn_prog .ttl_h1 .accent_word {
  color: #FF4821
}

.lrn_prog .ttl_sub {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5bf;
  max-width: 360px
}

.lrn_prog .ttl_badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #1d3f4899;
  border: 1px solid #dceef51f;
  border-radius: 2px;
  padding: 8px 16px;
  font-size: 15px;
  color: #DCEEF5;
  width: fit-content
}

.lrn_prog .badge_dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #FF4821;
  flex-shrink: 0
}

.lrn_prog .cards_sec {
  padding: 32px 16px;
  background: #111a1e
}

.lrn_prog .cards_grid {
  max-width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px
}

.lrn_prog .prog_card {
  background: #162026;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: -1px 7px 28px 0 #ff482114;
  display: flex;
  flex-direction: column;
  transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1), transform .28s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative
}

.lrn_prog .prog_card:hover {
  box-shadow: inset 0 0 24px 0 #1d3f4838 -1px 9px 36px 0 #ff48211c;
  transform: translateY(-2px)
}

.lrn_prog .card_img_wrap {
  width: 100%;
  height: 200px;
  overflow: hidden;
  flex-shrink: 0
}

.lrn_prog .card_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn_prog .prog_card:hover .card_img_wrap img {
  transform: scale(1.06)
}

.lrn_prog .card_body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1
}

.lrn_prog .card_price_row {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.lrn_prog .card_price {
  font-size: 15px;
  font-weight: 700;
  color: #FF4821;
  background: #ff48211a;
  border-radius: 2px;
  padding: 4px 8px
}

.lrn_prog .card_h {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0
}

.lrn_prog .card_desc {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5b3;
  margin: 0
}

.lrn_prog .card_link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #FF4821 0%, #1D3F48 100%);
  border-radius: 2px;
  color: #DCEEF5;
  font-size: 15px;
  text-decoration: none;
  width: fit-content;
  transition: box-shadow .28s ease-in-out, opacity .25s ease-in-out
}

.lrn_prog .card_link:hover {
  box-shadow: inset 0 2px 8px 0 #1d3f4859;
  opacity: .9
}

.lrn_prog .card_link:hover .link_arrow {
  transform: translateX(4px)
}

.lrn_prog .link_arrow {
  display: inline-block;
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn_prog .link_arrow svg {
  display: block
}

.lrn_prog .card_diamond {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 18px;
  height: 18px;
  background: #FF4821;
  transform: rotate(45deg);
  border-radius: 2px;
  opacity: .85
}

.lrn_prog .about_sec {
  padding: 32px 16px;
  background: #0d1417;
  position: relative
}

.lrn_prog .about_sec::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  border-image: linear-gradient(180deg, #ff48212e 0%, #1d3f4814 100%) 1;
  pointer-events: none;
  animation: edge_glow 3.5s ease-in-out infinite alternate
}

@keyframes edge_glow {
  from {
    opacity: .4
  }

  to {
    opacity: 1
  }
}

.lrn_prog .about_inner {
  max-width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  align-items: start
}

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

.lrn_prog .about_stat_item {
  background: linear-gradient(160deg, #1D3F48 0%, #162026 100%);
  border-radius: 24px;
  padding: 16px;
  box-shadow: -1px 3px 3px 0 #1d3f480f
}

.lrn_prog .stat_num {
  font-size: 42px;
  line-height: 1.1;
  color: #FF4821;
  display: block
}

.lrn_prog .stat_label {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5a6
}

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

.lrn_prog .about_h {
  font-size: 58px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0
}

.lrn_prog .about_h span {
  display: block
}

.lrn_prog .about_p {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5b8;
  max-width: 560px;
  margin: 0
}

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

.lrn_prog .about_list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5bf
}

.lrn_prog .about_list li::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #FF4821;
  border-right: 2px solid #FF4821;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-top: 6px
}

.lrn_prog .review_sec {
  padding: 32px 16px;
  background: #162026
}

.lrn_prog .review_inner {
  max-width: 1024px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center
}

.lrn_prog .review_portraits {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-end
}

.lrn_prog .portrait_wrap {
  border-radius: 24px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: -1px 9px 36px 0 #1d3f481c
}

.lrn_prog .portrait_wrap.big {
  width: 140px;
  height: 210px
}

.lrn_prog .portrait_wrap.sml {
  width: 100px;
  height: 150px
}

.lrn_prog .portrait_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

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

.lrn_prog .review_h {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0
}

.lrn_prog .review_card {
  background: #1D3F48;
  border-radius: 24px;
  padding: 16px;
  box-shadow: -1px 3px 3px 0 #1d3f480f;
  display: flex;
  flex-direction: column;
  gap: 8px
}

.lrn_prog .review_text {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5cc;
  margin: 0
}

.lrn_prog .review_author {
  font-size: 15px;
  color: #FF4821
}

.lrn_prog .cta_sec {
  padding: 32px 16px;
  background: #0d1417
}

.lrn_prog .cta_inner {
  max-width: 1024px;
  margin: 0 auto;
  background: linear-gradient(160deg, #FF4821 0%, #1D3F48 60%, #0d1417 100%);
  border-radius: 40px;
  padding: 32px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  box-shadow: -1px 9px 36px 0 #ff48211c
}

.lrn_prog .cta_text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1
}

.lrn_prog .cta_h {
  font-size: 58px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0
}

.lrn_prog .cta_h span {
  display: block
}

.lrn_prog .cta_p {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5cc;
  max-width: 400px;
  margin: 0
}

.lrn_prog .cta_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  background: #DCEEF5;
  color: #1D3F48;
  border-radius: 2px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  flex-shrink: 0;
  transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1), background .28s ease-in-out
}

.lrn_prog .cta_btn:hover {
  box-shadow: inset 0 3px 10px 0 #1d3f484d;
  background: #c8e4f0
}

.lrn_prog .cta_btn:hover .btn_arr {
  transform: translateX(4px)
}

.lrn_prog .btn_arr {
  display: inline-block;
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.lrn_prog .img_bg_sec {
  padding: 32px 16px;
  position: relative
}

.lrn_prog .img_bg_overlay {
  position: absolute;
  inset: 0;
  background: #0d1417d1;
  pointer-events: none
}

.lrn_prog .img_bg_photo {
  position: absolute;
  inset: 0;
  overflow: hidden
}

.lrn_prog .img_bg_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.lrn_prog .img_bg_content {
  position: relative;
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start
}

.lrn_prog .ibg_h {
  font-size: 58px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0
}

.lrn_prog .ibg_h span {
  display: block
}

.lrn_prog .ibg_p {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5c7;
  max-width: 520px;
  margin: 0
}

.lrn_prog .ibg_steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  width: 100%
}

.lrn_prog .ibg_step {
  background: #162026d9;
  border-radius: 24px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: 1px solid #dceef514
}

.lrn_prog .step_num {
  font-size: 42px;
  line-height: 1.1;
  color: #FF4821
}

.lrn_prog .step_label {
  font-size: 15px;
  line-height: 1.6;
  color: #dceef5bf
}

@media (max-width: 1024px) {
  .lrn_prog .ttl_h1 {
    font-size: 58px
  }

  .lrn_prog .about_h {
    font-size: 42px
  }

  .lrn_prog .cta_h {
    font-size: 42px
  }
}

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

  .lrn_prog .ttl_h1 {
    font-size: 42px
  }

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

  .lrn_prog .about_inner {
    grid-template-columns: 1fr
  }

  .lrn_prog .review_inner {
    grid-template-columns: 1fr
  }

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

  .lrn_prog .cta_h {
    font-size: 42px
  }

  .lrn_prog .ibg_steps {
    grid-template-columns: 1fr
  }

  .lrn_prog .ibg_h {
    font-size: 42px
  }

  .lrn_prog .review_portraits {
    justify-content: center
  }
}

@media (max-width: 360px) {
  .lrn_prog .ttl_h1 {
    font-size: 42px
  }

  .lrn_prog .card_h {
    font-size: 15px
  }

  .lrn_prog .cta_h {
    font-size: 42px
  }

  .lrn_prog .portrait_wrap.big {
    width: 110px;
    height: 165px
  }

  .lrn_prog .portrait_wrap.sml {
    width: 80px;
    height: 120px
  }
}

.abt {
  background: #0d1417;
  min-height: 100vh;
  overflow-x: clip
}

.abt .bento {
  max-width: 1024px;
  margin: 0 auto;
  padding: 32px 16px
}

.abt .bento_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 8px
}

.abt .cell_img {
  grid-column: 1;
  grid-row: 1 / 3;
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  min-height: 480px
}

.abt .cell_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #0d1417 0%, transparent 55%);
  pointer-events: none
}

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

.abt .cell_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt .cell_prob {
  grid-column: 2;
  grid-row: 1;
  background: #152029;
  border-radius: 24px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: -1px 7px 28px 0 #1d3f4814
}

.abt .cell_sol {
  grid-column: 2;
  grid-row: 2;
  background: #FF4821;
  border-radius: 24px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: -1px 9px 36px 0 #ff48211c
}

.abt .cell_prob .lbl {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  opacity: .7
}

.abt .cell_prob h1 {
  font-size: 42px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 16px
}

.abt .cell_prob h1 span {
  display: block
}

.abt .cell_prob p {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  margin: 0;
  opacity: .85
}

.abt .cell_sol h2 {
  font-size: 42px;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 16px
}

.abt .cell_sol h2 span {
  display: block
}

.abt .cell_sol p {
  font-size: 15px;
  line-height: 1.6;
  color: #fff;
  margin: 0;
  opacity: .9
}

.abt .bento_grid[xyz] .cell_prob,
.abt .bento_grid[xyz] .cell_sol,
.abt .bento_grid[xyz] .cell_img {
  --xyz-duration: .55s;
  --xyz-ease: cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .outlined_shape {
  position: absolute;
  right: -80px;
  top: 40px;
  width: 320px;
  height: 320px;
  border: 2px solid #dceef50f;
  border-radius: 40px;
  transform: rotate(18deg);
  pointer-events: none
}

.abt .bento_wrap {
  position: relative
}

.abt .wave_div {
  width: 100%;
  line-height: 0;
  overflow: hidden
}

.abt .wave_div svg {
  display: block;
  width: 100%
}

.abt .team_sec {
  background: #DCEEF5;
  padding: 32px 0 0
}

.abt .team_inner {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 16px 32px
}

.abt .team_hd {
  margin-bottom: 32px
}

.abt .team_hd h3 {
  font-size: 42px;
  line-height: 1.1;
  color: #1D3F48;
  margin: 0 0 8px
}

.abt .team_hd p {
  font-size: 15px;
  line-height: 1.6;
  color: #1D3F48;
  max-width: 560px;
  margin: 0;
  opacity: .8
}

.abt .metrics_row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 32px
}

.abt .metric_card {
  background: #1D3F48;
  border-radius: 24px;
  padding: 32px 16px;
  text-align: center;
  box-shadow: -1px 3px 3px 0 #1d3f480f;
  transition: box-shadow .28s ease-in-out, transform .28s ease-in-out
}

.abt .metric_card:hover {
  box-shadow: inset 0 2px 16px 0 #ff48212e -1px 7px 28px 0 #1d3f4814;
  transform: translateY(-2px)
}

.abt .metric_card .num {
  font-size: 58px;
  line-height: 1.1;
  color: #FF4821;
  display: block
}

.abt .metric_card .desc {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  display: block;
  margin-top: 4px
}

.abt .portraits_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px
}

.abt .portrait_card {
  background: #fff;
  border-radius: 24px;
  padding: 32px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  box-shadow: -1px 3px 3px 0 #1d3f480f;
  transition: box-shadow .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .portrait_card:hover {
  box-shadow: inset 0 2px 12px 0 #1d3f481a -1px 7px 28px 0 #1d3f4814
}

.abt .portrait_img_wrap {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid #DCEEF5
}

.abt .portrait_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt .portrait_info h4 {
  font-size: 15px;
  line-height: 1.1;
  color: #1D3F48;
  margin: 0 0 4px
}

.abt .portrait_info .role {
  font-size: 15px;
  line-height: 1.6;
  color: #FF4821;
  display: block;
  margin-bottom: 8px
}

.abt .portrait_info p {
  font-size: 15px;
  line-height: 1.6;
  color: #1D3F48;
  margin: 0;
  opacity: .75
}

.abt .img_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 32px
}

.abt .img_tile {
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative
}

.abt .img_tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt .img_tile:hover img {
  transform: scale(1.04)
}

.abt .img_tile.tall {
  grid-row: span 2;
  aspect-ratio: unset
}

.abt .img_tile.tall img {
  height: 100%
}

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

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

  .abt .cell_img {
    grid-column: 1;
    grid-row: 1;
    min-height: 280px
  }

  .abt .cell_prob {
    grid-column: 1;
    grid-row: 2
  }

  .abt .cell_sol {
    grid-column: 1;
    grid-row: 3
  }

  .abt .metrics_row {
    grid-template-columns: 1fr
  }

  .abt .portraits_row {
    grid-template-columns: 1fr
  }

  .abt .img_grid {
    grid-template-columns: 1fr 1fr
  }

  .abt .img_tile.tall {
    grid-row: span 1;
    aspect-ratio: 4/3
  }

  .abt .cell_prob h1,
  .abt .cell_sol h2 {
    font-size: 42px
  }

  .abt .team_hd h3 {
    font-size: 42px
  }
}

@media (max-width: 360px) {
  .abt .portrait_card {
    flex-direction: column;
    text-align: center
  }

  .abt .img_grid {
    grid-template-columns: 1fr
  }

  .abt .cell_prob h1,
  .abt .cell_sol h2 {
    font-size: 42px
  }
}

.abt .metric_card:focus-visible,
.abt .portrait_card:focus-visible,
.abt .img_tile:focus-visible {
  outline: 3px solid #FF4821 !important;
  outline-offset: 3px !important
}

.abt .split_reveal {
  overflow: hidden;
  display: inline-block
}

.abt .split_reveal span {
  display: inline-block;
  animation: splitReveal .52s cubic-bezier(0.4, 0, 0.2, 1) both
}

.abt .split_reveal span:nth-child(2) {
  animation-delay: .08s
}

.abt .split_reveal span:nth-child(3) {
  animation-delay: .16s
}

@keyframes splitReveal {
  from {
    opacity: 0;
    transform: translateY(32px) skewY(4deg)
  }

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

.abt .arrow_list {
  list-style: none;
  padding: 0;
  margin: 16px 0 0
}

.abt .arrow_list li {
  font-size: 15px;
  line-height: 1.6;
  color: #DCEEF5;
  padding-left: 16px;
  position: relative;
  margin-bottom: 4px
}

.abt .arrow_list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 7px;
  height: 7px;
  border-right: 2px solid #FF4821;
  border-top: 2px solid #FF4821;
  transform: rotate(45deg)
}

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

.success_page .success_wrap {
  max-width: 1024px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px
}

.success_page .icon_ring {
  width: 80px;
  height: 80px;
  border-radius: 40px;
  background: linear-gradient(180deg, #FF4821 0%, #1D3F48 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: -1px 7px 28px 0 #ff482114 -1px 9px 36px 0 #ff48211c
}

.success_page .icon_ring svg {
  width: 36px;
  height: 36px
}

.success_page .msg_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
  max-width: 560px
}

.success_page .msg_block .title {
  font-size: 42px;
  line-height: 1.1;
  color: #DCEEF5;
  margin: 0
}

.success_page .msg_block .subtitle {
  font-size: 15px;
  line-height: 1.6;
  color: #8faab5;
  margin: 0
}

.success_page .divider_line {
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, #FF4821, #1D3F48);
  border-radius: 2px
}

.success_page .back_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #FF4821 0%, #c93510 100%);
  color: #DCEEF5;
  font-size: 15px;
  line-height: 1.1;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: -1px 3px 3px 0 #ff48210f -1px 7px 28px 0 #ff482114;
  transition: box-shadow .28s ease-in-out, transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.success_page .back_btn svg {
  width: 16px;
  height: 16px;
  transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.success_page .back_btn:hover {
  box-shadow: inset 0 2px 8px #ff482138 -1px 9px 36px 0 #ff48211c
}

.success_page .back_btn:hover svg {
  transform: translateX(4px)
}

.success_page .back_btn:focus {
  outline: 2px solid #FF4821;
  outline-offset: 4px
}

@media (max-width: 640px) {
  .success_page .msg_block .title {
    font-size: 42px
  }
}

h1, h2, h3, h4, h5, h6 {word-break: break-word;}
