* {
  box-sizing: border-box
}

html {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  line-height: 1.65;
  background-color: #fff;
  color: #1a2540;
  overflow-x: hidden
}

body {
  margin: 0
}

.top_bar {
  background: linear-gradient(90deg, #0095EC 0%, #0078c4 100%);
  padding: 8px 28px
}

.top_bar_inner {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 28px
}

.contact_item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  line-height: 1.4;
  text-decoration: none;
  letter-spacing: .03em;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.contact_item:hover {
  color: #FBE2E6
}

.contact_item svg {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  fill: currentColor
}

.contact_sep {
  width: 1px;
  height: 16px;
  background-color: #ffffff4d;
  flex-shrink: 0
}

.brand_row {
  background-color: #fff;
  padding: 16px 28px;
  border-bottom: 1px solid #e8eef6;
  box-shadow: 0 1px 3px 0 #0095ec12
}

.brand_row_inner {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center
}

.brand_card {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  background-color: #f0f7ff;
  border: 2px solid #0095EC;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17;
  flex-shrink: 0;
  text-decoration: none
}

.brand_card img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  display: block
}

.brand_name_text {
  margin-left: 16px;
  font-family: 'Source Serif Pro', serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  color: #0d1f3c;
  letter-spacing: -.01em;
  text-decoration: none
}

.brand_name_text span {
  color: #0095EC
}

.nav_bar {
  background: linear-gradient(135deg, #0d1f3c 0%, #1a3560 100%);
  padding: 0 28px;
  box-shadow: 0 4px 18px 0 #0095ec17
}

.nav_bar_inner {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap
}

.nav_link {
  display: inline-flex;
  align-items: center;
  padding: 16px 28px;
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .06em;
  color: #ffffffd1;
  text-decoration: none;
  text-transform: uppercase;
  border-bottom: 3px solid transparent;
  transition: color .5s cubic-bezier(0.22, 1, 0.36, 1), border-color .5s cubic-bezier(0.22, 1, 0.36, 1), background-color .5s cubic-bezier(0.22, 1, 0.36, 1);
  min-height: 44px;
  white-space: nowrap
}

.nav_link:hover {
  color: #fff;
  border-bottom-color: #0095EC;
  background-color: #0095ec1a
}

.nav_link:focus {
  background-color: #fbe2e61f;
  color: #fff;
  outline: none
}

.nav_link[data-active="true"] {
  color: #fff;
  border-bottom-color: #A71238
}

.ft {
  background: linear-gradient(160deg, #0d1f3c 0%, #0f2850 60%, #1a3560 100%);
  color: #ffffffbf;
  padding: 56px 28px 28px
}

.ft_grid {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
  align-items: start
}

.ft_col_label {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #0095EC;
  margin-bottom: 16px;
  line-height: 1.4
}

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

.ft_nav_list li a {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  line-height: 1.65;
  color: #ffffffb8;
  text-decoration: none;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1);
  display: inline-block
}

.ft_nav_list li a:hover {
  color: #FBE2E6
}

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

.ft_contact_list li {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  line-height: 1.65;
  color: #ffffffb8
}

.ft_contact_list li a {
  color: #ffffffb8;
  text-decoration: none;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.ft_contact_list li a:hover {
  color: #FBE2E6
}

.ft_contact_label {
  font-weight: 700;
  color: #ffffff80;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px
}

.ft_logo_strip {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 56px;
  gap: 16px;
  border-top: 1px solid #ffffff1a;
  margin-top: 56px
}

.ft_logo_card {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  background-color: #f0f7ff;
  border: 2px solid #0095ec80;
  box-shadow: 0 4px 18px 0 #0095ec17
}

.ft_logo_card img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  display: block
}

.ft_legal_bar {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 28px;
  border-top: 1px solid #ffffff14;
  margin-top: 28px
}

.ft_copy {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: #ffffff73;
  letter-spacing: .02em
}

.ft_legal_links {
  display: flex;
  gap: 16px;
  flex-wrap: wrap
}

.ft_legal_links a {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: #ffffff73;
  text-decoration: none;
  letter-spacing: .02em;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.ft_legal_links a:hover {
  color: #fffc
}

.cookie_notice {
  position: fixed;
  bottom: 28px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 480px;
  max-width: calc(100vw - 56px);
  background-color: #fff;
  border: 1px solid #e8eef6;
  border-radius: 10px;
  box-shadow: 0 9px 36px 0 #0095ec1a 0 4px 18px 0 #0095ec17;
  padding: 28px;
  z-index: 2000;
  display: none
}

.cookie_notice[data-visible="true"] {
  display: block
}

.cookie_desc {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  line-height: 1.65;
  color: #0d1f3c;
  margin-bottom: 8px
}

.cookie_headline {
  font-family: 'Source Serif Pro', serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  color: #0d1f3c;
  margin-bottom: 16px;
  letter-spacing: .02em
}

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

.cookie_accept_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  color: #fff;
  background-color: #0095EC;
  border: 2px solid #0095EC;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  min-height: 44px;
  transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1), background-color .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie_accept_btn:hover {
  border-color: #0078c4;
  background-color: #0078c4
}

.cookie_accept_btn:focus {
  background-color: #005fa0;
  outline: none
}

.cookie_decline_link {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: #0095EC;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 0;
  text-decoration: underline;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  transition: color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.cookie_decline_link:hover {
  color: #A71238
}

.cookie_decline_link:focus {
  background-color: #0095ec14;
  outline: none
}

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

  .top_bar_inner {
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center
  }

  .nav_bar_inner {
    justify-content: center
  }

  .nav_link {
    padding: 12px 16px
  }
}

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

  .top_bar {
    padding: 8px 16px
  }

  .brand_row {
    padding: 16px
  }

  .nav_bar {
    padding: 0 8px
  }

  .nav_link {
    padding: 12px 8px;
    font-size: 13px
  }

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

  .ft {
    padding: 28px 16px 16px
  }
}

.policy-content {
  max-width: 1600px;
  margin: 0 auto;
  padding: 56px 28px
}

.policy-content p {
  font-size: 13px;
  line-height: 1.85;
  color: #2d2d2d;
  margin-bottom: 16px
}

.policy-content ul,
.policy-content ol {
  font-size: 13px;
  line-height: 1.85;
  color: #2d2d2d;
  padding-left: 28px;
  margin-bottom: 16px
}

.policy-content li {
  margin-bottom: 8px
}

.policy-content ul li {
  list-style-type: disc
}

.policy-content ol li {
  list-style-type: decimal
}

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

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

.policy-content em,
.policy-content i {
  font-style: italic;
  color: #2d2d2d
}

.policy-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.65;
  margin-bottom: 28px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17
}

.policy-content thead {
  background-color: #0095EC
}

.policy-content thead th {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  padding: 16px;
  text-align: left;
  border: none
}

.policy-content tbody tr {
  border-bottom: 1px solid #e8f4fd;
  transition: background-color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

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

.policy-content tbody tr:nth-child(even) {
  background-color: #f4f9fe
}

.policy-content tbody tr:hover {
  background-color: #e0f0fc
}

.policy-content td {
  padding: 16px;
  color: #2d2d2d;
  vertical-align: top;
  border: none
}

.policy-content hr {
  border: none;
  border-top: 2px solid #FBE2E6;
  margin: 56px 0;
  border-radius: 6px
}

@media (max-width: 600px) {
  .policy-content {
    padding: 28px 16px
  }

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

  .policy-content thead th,
  .policy-content td {
    padding: 8px;
    min-width: 120px
  }
}

@media (min-width: 600px) and (max-width: 900px) {
  .policy-content {
    padding: 56px 28px
  }
}

@media (min-width: 900px) {
  .policy-content {
    padding: 56px
  }
}

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

.ct-us .pg-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 88vh;
  position: relative
}

.ct-us .pg-split::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  background: linear-gradient(180deg, #FBE2E6 0%, #0095EC 50%, #FBE2E6 100%);
  transform: skewX(-3deg);
  pointer-events: none
}

.ct-us .split-img {
  position: relative;
  overflow: hidden
}

.ct-us .split-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.ct-us .split-img:hover img {
  transform: scale(1.04)
}

.ct-us .img-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 45%;
  background: linear-gradient(to top, #0a1428b8 0%, transparent 100%);
  pointer-events: none
}

.ct-us .img-deco {
  position: absolute;
  top: 0;
  right: 0;
  width: 8px;
  height: 100%;
  background: repeating-linear-gradient(180deg, #0095EC 0px, #0095EC 12px, #FBE2E6 12px, #FBE2E6 18px, #0095EC 18px, #0095EC 36px, #FBE2E6 36px, #FBE2E6 46px);
  pointer-events: none
}

.ct-us .img-caption {
  position: absolute;
  bottom: 28px;
  left: 28px;
  right: 28px;
  color: #fff
}

.ct-us .img-caption h1 {
  font-size: 38px;
  line-height: 1.15;
  letter-spacing: -.5px;
  margin: 0 0 8px;
  font-weight: 700
}

.ct-us .img-caption p {
  font-size: 13px;
  line-height: 1.65;
  margin: 0;
  opacity: .88
}

.ct-us .split-form {
  padding: 56px 56px 56px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff
}

.ct-us .form-eyebrow {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #0095EC;
  margin-bottom: 8px;
  font-weight: 600
}

.ct-us .form-eyebrow::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #0095EC;
  vertical-align: middle;
  margin-right: 8px
}

.ct-us .form-heading {
  font-size: 28px;
  line-height: 1.15;
  color: #111827;
  margin: 0 0 28px;
  font-weight: 700
}

.ct-us .field-group {
  margin-bottom: 16px
}

.ct-us .field-group label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 4px;
  letter-spacing: .04em
}

.ct-us .field-group input,
.ct-us .field-group select {
  width: 100%;
  padding: 12px 16px;
  font-size: 13px;
  line-height: 1.4;
  border: 1.5px solid #d1d5db;
  border-radius: 10px;
  background: #f7f9fc;
  color: #111827;
  transition: border-color .22s ease-in-out, box-shadow .22s ease-in-out;
  appearance: none;
  -webkit-appearance: none
}

.ct-us .field-group input:focus,
.ct-us .field-group select:focus {
  outline: none;
  border-color: #0095EC;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17;
  background: #fff
}

.ct-us .field-group input::placeholder {
  color: #9ca3af
}

.ct-us .select-wrap {
  position: relative
}

.ct-us .select-wrap::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #6b7280;
  pointer-events: none
}

.ct-us .select-wrap select {
  padding-right: 40px;
  cursor: pointer
}

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

.ct-us .privacy-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 1.5px solid #d1d5db;
  border-radius: 6px;
  margin-top: 2px;
  accent-color: #0095EC;
  cursor: pointer
}

.ct-us .privacy-row label {
  font-size: 13px;
  line-height: 1.65;
  color: #4b5563;
  cursor: pointer
}

.ct-us .privacy-row label a {
  color: #0095EC;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .18s ease-in-out
}

.ct-us .privacy-row label a:hover {
  color: #A71238
}

.ct-us .btn-submit {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: #0095EC;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  border: 2px solid #0095EC;
  border-radius: 10px;
  cursor: pointer;
  transition: border-color .25s cubic-bezier(0.22, 1, 0.36, 1), background .25s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 4px 18px 0 #0095ec17
}

.ct-us .btn-submit:hover {
  border-color: #A71238;
  background: #0095EC
}

.ct-us .btn-submit:active {
  background: #007bc4;
  border-color: #007bc4
}

.ct-us .btn-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  flex-shrink: 0
}

.ct-us .btn-icon svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round
}

.ct-us .info-strip {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 0;
  background: #fff;
  border-top: 1.5px solid #FBE2E6;
  position: relative;
  overflow: hidden
}

.ct-us .info-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, #0095ec09 0px, #0095ec09 1px, transparent 1px, transparent 32px);
  pointer-events: none
}

.ct-us .info-sidebar {
  padding: 56px 28px 56px 56px;
  background: linear-gradient(155deg, #FBE2E6 0%, #f0f4ff 100%);
  display: flex;
  flex-direction: column;
  gap: 28px;
  position: relative
}

.ct-us .sidebar-brand {
  font-size: 28px;
  line-height: 1.15;
  font-weight: 800;
  color: #111827;
  letter-spacing: -.5px
}

.ct-us .sidebar-brand span {
  color: #A71238
}

.ct-us .sidebar-desc {
  font-size: 13px;
  line-height: 1.65;
  color: #374151;
  margin: 0
}

.ct-us .sidebar-num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #a7123812;
  position: absolute;
  bottom: 16px;
  right: 16px;
  pointer-events: none;
  user-select: none
}

.ct-us .info-details {
  padding: 56px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
  align-items: start
}

.ct-us .detail-item {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.ct-us .detail-label {
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #0095EC;
  font-weight: 700
}

.ct-us .detail-val {
  font-size: 13px;
  line-height: 1.65;
  color: #111827;
  font-weight: 500;
  text-align: justify
}

.ct-us .detail-val a {
  color: #111827;
  text-decoration: none;
  border-bottom: 1px solid #d1d5db;
  transition: border-color .2s ease-in-out, color .2s ease-in-out
}

.ct-us .detail-val a:hover {
  color: #0095EC;
  border-color: #0095EC
}

.ct-us .divider-dashed {
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(90deg, #0095EC 0px, #0095EC 18px, transparent 18px, transparent 24px, #FBE2E6 24px, #FBE2E6 30px, transparent 30px, transparent 36px);
  margin: 0
}

.ct-us .deco-center-line {
  position: relative;
  height: 2px;
  margin: 0
}

.ct-us .deco-center-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: repeating-linear-gradient(90deg, #A71238 0px, #A71238 8px, transparent 8px, transparent 14px, #FBE2E6 14px, #FBE2E6 22px, transparent 22px, transparent 28px)
}

.ct-us .deco-center-line::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 28px;
  height: 28px;
  background: #fff;
  border: 2px solid #A71238;
  border-radius: 50%
}

@keyframes glow-pulse {
  0% {
    opacity: .4
  }

  50% {
    opacity: .75
  }

  100% {
    opacity: .4
  }
}

.ct-us .info-strip .glow-spot {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 400px;
  height: 400px;
  background: radial-gradient(ellipse at center, #0095ec12 0%, transparent 70%);
  pointer-events: none;
  animation: glow-pulse 4s ease-in-out infinite;
  border-radius: 50%
}

@media (max-width: 900px) {
  .ct-us .pg-split {
    grid-template-columns: 1fr;
    min-height: auto
  }

  .ct-us .pg-split::after {
    display: none
  }

  .ct-us .split-img {
    height: 320px
  }

  .ct-us .split-form {
    padding: 28px
  }

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

  .ct-us .info-sidebar {
    padding: 28px
  }

  .ct-us .info-details {
    grid-template-columns: 1fr;
    padding: 28px;
    gap: 16px
  }

  .ct-us .sidebar-num {
    font-size: 38px
  }
}

@media (max-width: 600px) {
  .ct-us .split-form {
    padding: 16px
  }

  .ct-us .img-caption h1 {
    font-size: 28px
  }

  .ct-us .form-heading {
    font-size: 28px
  }

  .ct-us .info-sidebar {
    padding: 16px
  }

  .ct-us .info-details {
    padding: 16px
  }
}

.pr-rel {
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden
}

.pr-rel .title-block {
  padding: 56px;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 56px;
  align-items: start;
  background: linear-gradient(158deg, #f5f0f2 0%, #e8f4fd 100%);
  position: relative
}

.pr-rel .title-block::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse 60% 50% at 30% 50%, #0095ec12 0%, transparent 70%);
  pointer-events: none
}

.pr-rel .img-col {
  position: relative
}

.pr-rel .img-frame {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a;
  position: relative
}

.pr-rel .img-frame::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 3px, #a712380a 3px, #a712380a 4px);
  pointer-events: none
}

.pr-rel .img-frame img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.pr-rel .img-frame:hover img {
  transform: scale(1.04)
}

.pr-rel .img-border-deco {
  position: absolute;
  top: -8px;
  left: -8px;
  right: 8px;
  bottom: 8px;
  border: 2px solid #a7123840;
  border-radius: 16px;
  pointer-events: none
}

.pr-rel .atm-spot {
  position: absolute;
  border-radius: 44px;
  pointer-events: none
}

.pr-rel .atm-spot.blue {
  width: 180px;
  height: 180px;
  background: #0095ec1f;
  filter: blur(48px);
  bottom: -28px;
  right: -28px
}

.pr-rel .atm-spot.red {
  width: 120px;
  height: 120px;
  background: #a712381a;
  filter: blur(36px);
  top: -16px;
  left: -16px
}

.pr-rel .txt-col {
  padding: 8px 0;
  position: relative;
  z-index: 1
}

.pr-rel .release-label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #A71238;
  font-weight: 700;
  margin-bottom: 16px;
  padding: 4px 16px;
  background: #a7123814;
  border-radius: 28px
}

.pr-rel .main-heading {
  font-size: 38px;
  line-height: 1.15;
  color: #1b1b2e;
  margin-bottom: 28px;
  font-weight: 800
}

.pr-rel .release-date {
  font-size: 13px;
  color: #555570;
  letter-spacing: .06em;
  margin-bottom: 28px;
  display: block
}

.pr-rel .lead-text {
  font-size: 13px;
  line-height: 1.65;
  color: #2a2a3d;
  margin-bottom: 16px;
  text-align: left
}

.pr-rel .lead-text.center {
  text-align: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto
}

.pr-rel .body-text {
  font-size: 13px;
  line-height: 1.85;
  color: #3a3a4d;
  text-align: justify;
  margin-bottom: 16px
}

.pr-rel .quote-anchor {
  font-size: 66px;
  line-height: 1.15;
  color: #0095ec21;
  font-weight: 900;
  display: block;
  margin-bottom: -28px;
  margin-left: -4px
}

.pr-rel .quoted-text {
  font-size: 13px;
  line-height: 1.65;
  color: #1b1b2e;
  font-style: italic;
  font-weight: 600;
  text-align: left;
  border-top: 2px solid #0095ec33;
  padding-top: 16px;
  margin-top: 28px
}

.pr-rel .detail-block {
  padding: 56px;
  background: #fff;
  position: relative
}

.pr-rel .detail-block::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 18px, #0095ec06 18px, #0095ec06 19px), repeating-linear-gradient(-45deg, transparent, transparent 18px, #0095ec06 18px, #0095ec06 19px);
  pointer-events: none
}

.pr-rel .detail-inner {
  position: relative;
  z-index: 1
}

.pr-rel .detail-intro {
  text-align: center;
  margin-bottom: 56px
}

.pr-rel .sub-heading {
  font-size: 28px;
  line-height: 1.4;
  color: #1b1b2e;
  font-weight: 700;
  margin-bottom: 16px
}

.pr-rel .three-col {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 28px;
  align-items: start;
  margin-bottom: 56px
}

.pr-rel .stat-card {
  background: linear-gradient(145deg, #FBE2E6 0%, #f9eef1 100%);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 1px 3px 0 #a7123812;
  position: relative;
  overflow: hidden
}

.pr-rel .stat-card .faded-num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #a7123817;
  position: absolute;
  top: 4px;
  right: 8px;
  pointer-events: none
}

.pr-rel .stat-card .stat-label {
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #A71238;
  font-weight: 700;
  margin-bottom: 8px
}

.pr-rel .stat-card .stat-val {
  font-size: 28px;
  line-height: 1.4;
  font-weight: 800;
  color: #1b1b2e
}

.pr-rel .stat-card .stat-desc {
  font-size: 13px;
  line-height: 1.65;
  color: #4a2030;
  margin-top: 8px
}

.pr-rel .main-card {
  background: linear-gradient(145deg, #e8f4fd 0%, #f0f8ff 100%);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 4px 18px 0 #0095ec17
}

.pr-rel .main-card .faded-num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #0095ec14;
  display: block;
  margin-bottom: -16px
}

.pr-rel .main-card .card-heading {
  font-size: 28px;
  line-height: 1.4;
  color: #1b1b2e;
  font-weight: 700;
  margin-bottom: 16px
}

.pr-rel .feat-strip {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 28px;
  margin-bottom: 28px
}

.pr-rel .feat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex: 1 1 120px;
  background: #fff;
  border-radius: 10px;
  padding: 16px 8px;
  box-shadow: 0 1px 3px 0 #0095ec12;
  transition: box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1), transform .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.pr-rel .feat-item:hover {
  box-shadow: 0 4px 18px 0 #0095ec17;
  transform: translateY(-2px)
}

.pr-rel .feat-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center
}

.pr-rel .feat-icon svg {
  transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.pr-rel .feat-item:hover .feat-icon svg {
  transform: rotate(12deg) scale(1.18)
}

.pr-rel .feat-lbl {
  font-size: 13px;
  line-height: 1.4;
  color: #2a2a3d;
  font-weight: 600;
  text-align: center
}

.pr-rel .before-after {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  margin: 28px 0;
  justify-content: center
}

.pr-rel .ba-num {
  font-size: 38px;
  line-height: 1.15;
  font-weight: 900;
  border-radius: 10px;
  padding: 16px 28px
}

.pr-rel .ba-num.before {
  background: #a7123814;
  color: #A71238
}

.pr-rel .ba-num.after {
  background: #0095ec1a;
  color: #0065a8
}

.pr-rel .ba-arrow {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center
}

.pr-rel .ba-caption {
  font-size: 13px;
  color: #555570;
  text-align: center;
  margin-top: 8px
}

.pr-rel .checklist {
  list-style: none;
  padding: 0;
  margin: 16px 0
}

.pr-rel .checklist li {
  font-size: 13px;
  line-height: 1.65;
  color: #2a2a3d;
  padding: 4px 0 4px 28px;
  position: relative
}

.pr-rel .checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 14px;
  height: 14px;
  border: 2px solid #0095EC;
  border-radius: 4px
}

.pr-rel .checklist li::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 11px;
  width: 8px;
  height: 5px;
  border-left: 2px solid #0095EC;
  border-bottom: 2px solid #0095EC;
  transform: rotate(-45deg)
}

.pr-rel .contact-strip {
  background: linear-gradient(158deg, #1b1b2e 0%, #2a1020 100%);
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: row;
  gap: 28px;
  align-items: center;
  flex-wrap: wrap;
  animation: bg-breathe 8s ease-in-out infinite
}

@keyframes bg-breathe {

  0%,
  100% {
    background: linear-gradient(158deg, #1b1b2e 0%, #2a1020 100%)
  }

  50% {
    background: linear-gradient(158deg, #1e2038 0%, #341428 100%)
  }
}

.pr-rel .contact-strip .c-label {
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fbe2e6b3;
  font-weight: 700;
  margin-bottom: 4px
}

.pr-rel .contact-strip .c-val {
  font-size: 13px;
  line-height: 1.65;
  color: #fff;
  font-weight: 500
}

.pr-rel .contact-strip .c-val a {
  color: #7dd4fc;
  text-decoration: none !important;
  transition: color .2s ease-in-out
}

.pr-rel .contact-strip .c-val a:hover {
  color: #bae6fd
}

.pr-rel .c-group {
  flex: 1 1 160px
}

@media (max-width: 900px) {
  .pr-rel .title-block {
    grid-template-columns: 1fr;
    padding: 28px;
    gap: 28px
  }

  .pr-rel .three-col {
    grid-template-columns: 1fr 1fr
  }

  .pr-rel .three-col .main-card {
    grid-column: 1 / -1
  }

  .pr-rel .detail-block {
    padding: 28px
  }
}

@media (max-width: 600px) {
  .pr-rel .title-block {
    padding: 16px;
    gap: 16px
  }

  .pr-rel .main-heading {
    font-size: 28px
  }

  .pr-rel .three-col {
    grid-template-columns: 1fr
  }

  .pr-rel .detail-block {
    padding: 16px
  }

  .pr-rel .feat-strip {
    gap: 8px
  }

  .pr-rel .before-after {
    flex-direction: column
  }

  .pr-rel .contact-strip {
    flex-direction: column;
    gap: 16px
  }
}

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

.rt .fade_in {
  opacity: 0;
  animation: rt_fade .7s cubic-bezier(0.22, 1, 0.36, 1) forwards
}

.rt .fade_in.d1 {
  animation-delay: .1s
}

.rt .fade_in.d2 {
  animation-delay: .25s
}

.rt .fade_in.d3 {
  animation-delay: .4s
}

@keyframes rt_fade {
  to {
    opacity: 1
  }
}

.rt .strip {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  background: #fff;
  border-bottom: 2px solid #0095EC;
  position: relative
}

.rt .strip_img_wrap {
  flex: 0 0 42%;
  overflow: hidden;
  position: relative;
  clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%)
}

.rt .strip_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1) contrast(1.15);
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.rt .strip_img_wrap:hover img {
  transform: scale(1.04)
}

.rt .strip_text {
  flex: 1;
  padding: 56px 56px 56px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px
}

.rt .strip_eyebrow {
  font-size: 13px;
  letter-spacing: .12em;
  color: #A71238;
  font-weight: 700;
  text-transform: uppercase
}

.rt .strip_h1 {
  font-size: 66px;
  line-height: 1.15;
  color: #111;
  margin: 0;
  font-weight: 900
}

.rt .strip_h1 span {
  color: #0095EC
}

.rt .strip_sub {
  font-size: 13px;
  line-height: 1.65;
  color: #444;
  max-width: 480px;
  margin: 0
}

.rt .strip_edge {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #0095EC 0%, #FBE2E6 60%, #fff 100%)
}

.rt .strip_deco_line {
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #A71238 0%, #FBE2E6 100%);
  border-radius: 0 6px 6px 0
}

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

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

.rt .approach_sec {
  background: linear-gradient(168deg, #f4f8ff 0%, #fdf0f3 100%);
  padding: 56px 56px 28px;
  position: relative;
  overflow: hidden
}

.rt .approach_sec::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(./image_archive/firstvisual5aa.jpg);
  background-size: cover;
  background-position: center;
  opacity: .04;
  pointer-events: none
}

.rt .approach_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start
}

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

.rt .approach_num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #0095EC;
  opacity: .1;
  display: block;
  margin-bottom: -28px;
  pointer-events: none;
  user-select: none
}

.rt .approach_h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #111;
  margin: 0;
  font-weight: 800
}

.rt .approach_lead {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  margin: 0;
  text-align: center;
  max-width: 420px
}

.rt .approach_body {
  font-size: 13px;
  line-height: 1.65;
  color: #444;
  margin: 0;
  text-align: justify
}

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

.rt .approach_img_frame {
  overflow: hidden;
  border-radius: 16px;
  border: 3px solid #FBE2E6;
  box-shadow: 0 4px 18px 0 #0095ec17
}

.rt .approach_img_frame img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.rt .approach_img_frame:hover img {
  transform: scale(1.05)
}

.rt .approach_pills {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px
}

.rt .pill {
  font-size: 13px;
  line-height: 1.4;
  background: #fff;
  color: #A71238;
  border: 1.5px solid #A71238;
  border-radius: 28px;
  padding: 4px 16px;
  font-weight: 600;
  transition: background .2s ease-in-out, color .2s ease-in-out
}

.rt .pill:hover {
  background: #A71238;
  color: #fff
}

.rt .exp_sec {
  background: #fff;
  padding: 56px
}

.rt .exp_intro {
  text-align: center;
  margin-bottom: 28px
}

.rt .exp_num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #A71238;
  opacity: .08;
  display: block;
  margin-bottom: -28px;
  pointer-events: none;
  user-select: none
}

.rt .exp_h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #111;
  margin: 0 0 8px;
  font-weight: 800
}

.rt .exp_lead {
  font-size: 13px;
  line-height: 1.65;
  color: #555;
  max-width: 560px;
  margin: 0 auto
}

.rt .exp_timeline {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 820px;
  margin: 0 auto
}

.rt .exp_item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border-radius: 10px;
  background: #fff;
  transition: background .45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: default
}

.rt .exp_timeline:hover .exp_item {
  background: #FBE2E6;
  box-shadow: 0 1px 3px 0 #a7123812
}

.rt .exp_timeline:hover .exp_item:hover {
  background: #fff;
  box-shadow: 0 4px 18px 0 #0095ec17
}

.rt .exp_marker {
  flex: 0 0 36px;
  height: 36px;
  border-radius: 44px;
  background: linear-gradient(135deg, #0095EC 0%, #A71238 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0
}

.rt .exp_item_text {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.rt .exp_item_h {
  font-size: 13px;
  font-weight: 700;
  color: #111;
  line-height: 1.4;
  margin: 0
}

.rt .exp_item_p {
  font-size: 13px;
  line-height: 1.65;
  color: #444;
  margin: 0;
  text-align: justify
}

.rt .conditions_sec {
  background: linear-gradient(158deg, #FBE2E6 0%, #e8f4ff 100%);
  padding: 56px;
  position: relative;
  overflow: hidden
}

.rt .conditions_sec::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(./image_archive/site-2025-006.jpg);
  background-size: cover;
  background-position: center;
  opacity: .035;
  pointer-events: none
}

.rt .conditions_layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
  align-items: start
}

.rt .conditions_col_head {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px
}

.rt .cond_num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #A71238;
  opacity: .09;
  display: block;
  margin-bottom: -28px;
  pointer-events: none;
  user-select: none
}

.rt .cond_h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #111;
  margin: 0;
  font-weight: 800
}

.rt .cond_lead {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  max-width: 540px;
  margin: 0
}

.rt .cond_card {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 1px 3px 0 #0095ec12;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), transform .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.rt .cond_card:hover {
  box-shadow: 0 9px 36px 0 #0095ec1a;
  transform: translateY(-4px)
}

.rt .cond_card_h {
  font-size: 13px;
  font-weight: 700;
  color: #A71238;
  line-height: 1.4;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .08em
}

.rt .cond_card_p {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  margin: 0;
  text-align: justify
}

.rt .cond_img_wrap {
  grid-column: 2 / 4;
  overflow: hidden;
  border-radius: 16px;
  border: 3px solid #fff;
  box-shadow: 0 4px 18px 0 #a7123817
}

.rt .cond_img_wrap img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.rt .cond_img_wrap:hover img {
  transform: scale(1.04)
}

.rt .value_sec {
  background: #111;
  padding: 56px;
  position: relative;
  overflow: hidden
}

.rt .value_sec::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(./image_archive/best-08-final.jpg);
  background-size: cover;
  background-position: center;
  opacity: .06;
  pointer-events: none
}

.rt .value_grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 56px;
  align-items: start
}

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

.rt .val_num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #0095EC;
  opacity: .15;
  display: block;
  margin-bottom: -28px;
  pointer-events: none;
  user-select: none
}

.rt .val_h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #fff;
  margin: 0;
  font-weight: 800
}

.rt .val_lead {
  font-size: 13px;
  line-height: 1.65;
  color: #ccc;
  margin: 0
}

.rt .val_link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #0095EC;
  text-decoration: none;
  border: 1.5px solid #0095EC;
  border-radius: 10px;
  padding: 8px 16px;
  width: fit-content;
  transition: border-color .22s ease-in-out, background .22s ease-in-out
}

.rt .val_link:hover {
  border-color: #FBE2E6;
  background: #0095ec14;
  color: #fff
}

.rt .val_link svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round
}

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

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

.rt .val_checklist li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  line-height: 1.65;
  color: #ddd;
  padding: 16px;
  border-radius: 10px;
  background: #ffffff0a;
  transition: background .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.rt .val_checklist li:hover {
  background: #0095ec1f
}

.rt .val_check_icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 2px solid #0095EC;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px
}

.rt .val_check_icon::after {
  content: "";
  display: block;
  width: 8px;
  height: 5px;
  border-left: 2px solid #0095EC;
  border-bottom: 2px solid #0095EC;
  transform: rotate(-45deg) translateY(-1px)
}

.rt .val_body {
  font-size: 13px;
  line-height: 1.65;
  color: #aaa;
  margin: 0;
  text-align: justify
}

.rt .team_sec {
  background: #fff;
  padding: 56px
}

.rt .team_layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 56px;
  align-items: start
}

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

.rt .portrait_frame {
  overflow: hidden;
  border-radius: 28px;
  border: 4px solid #FBE2E6;
  box-shadow: 0 9px 36px 0 #a712381a
}

.rt .portrait_frame img {
  width: 100%;
  aspect-ratio: 2/3;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.rt .portrait_frame:hover img {
  transform: scale(1.03)
}

.rt .portrait_caption {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.rt .portrait_name {
  font-size: 13px;
  font-weight: 700;
  color: #111;
  line-height: 1.4;
  margin: 0
}

.rt .portrait_role {
  font-size: 13px;
  color: #A71238;
  line-height: 1.4;
  margin: 0
}

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

.rt .team_num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #0095EC;
  opacity: .08;
  display: block;
  margin-bottom: -28px;
  pointer-events: none;
  user-select: none
}

.rt .team_h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #111;
  margin: 0;
  font-weight: 800
}

.rt .team_lead {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  margin: 0
}

.rt .team_body {
  font-size: 13px;
  line-height: 1.65;
  color: #444;
  margin: 0;
  text-align: justify
}

.rt .team_credentials {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px
}

.rt .cred_tag {
  font-size: 13px;
  line-height: 1.4;
  background: #FBE2E6;
  color: #A71238;
  border-radius: 6px;
  padding: 4px 16px;
  font-weight: 600
}

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

.rt .team_extra_p {
  font-size: 13px;
  line-height: 1.65;
  color: #444;
  margin: 0;
  text-align: justify
}

@media (max-width: 900px) {
  .rt .strip {
    flex-direction: column
  }

  .rt .strip_img_wrap {
    flex: 0 0 280px;
    clip-path: none
  }

  .rt .strip_text {
    padding: 28px
  }

  .rt .strip_h1 {
    font-size: 38px
  }

  .rt .approach_grid {
    grid-template-columns: 1fr
  }

  .rt .conditions_layout {
    grid-template-columns: 1fr
  }

  .rt .cond_img_wrap {
    grid-column: 1
  }

  .rt .value_grid {
    grid-template-columns: 1fr;
    gap: 28px
  }

  .rt .team_layout {
    grid-template-columns: 1fr
  }

  .rt .portrait_frame img {
    aspect-ratio: 3/2
  }

  .rt .approach_sec,
  .rt .exp_sec,
  .rt .conditions_sec,
  .rt .value_sec,
  .rt .team_sec {
    padding: 28px
  }
}

@media (max-width: 600px) {
  .rt .strip_h1 {
    font-size: 28px
  }

  .rt .approach_h2,
  .rt .exp_h2,
  .rt .cond_h2,
  .rt .val_h2,
  .rt .team_h2 {
    font-size: 28px
  }

  .rt .approach_sec,
  .rt .exp_sec,
  .rt .conditions_sec,
  .rt .value_sec,
  .rt .team_sec {
    padding: 16px
  }

  .rt .strip_text {
    padding: 16px
  }
}

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

.sst .schema-data {
  display: none
}

.sst .pg-band {
  padding: 56px 56px 28px;
  background: linear-gradient(0deg, #fff 0%, #f0f7fe 60%, #e8f4fd 100%);
  position: relative;
  overflow: hidden
}

.sst .pg-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(90deg, #0095ec0a 0px, #0095ec0a 1px, transparent 1px, transparent 48px);
  pointer-events: none
}

.sst .pg-band::after {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 320px;
  height: 320px;
  border: 2px solid #0095ec1a;
  border-radius: 50%;
  pointer-events: none
}

.sst .band-geo {
  position: absolute;
  bottom: 16px;
  left: -40px;
  width: 200px;
  height: 200px;
  border: 1px solid #a7123814;
  border-radius: 44px;
  transform: rotate(20deg);
  pointer-events: none
}

.sst .band-geo-b {
  position: absolute;
  top: 16px;
  right: 200px;
  width: 80px;
  height: 80px;
  border: 1px solid #0095ec1f;
  border-radius: 16px;
  transform: rotate(-12deg);
  pointer-events: none
}

.sst .band-center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
  position: relative
}

.sst .band-label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .12em;
  color: #0095EC;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding: 4px 16px;
  border: 1px solid #0095ec40;
  border-radius: 28px
}

.sst .band-h1 {
  font-size: 66px;
  line-height: 1.15;
  color: #1b2a3b;
  margin-bottom: 16px;
  font-weight: 700
}

.sst .band-desc {
  font-size: 28px;
  line-height: 1.4;
  color: #3a5068;
  margin-bottom: 28px
}

.sst .band-actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap
}

.sst .btn-pri {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 28px;
  background: #0095EC;
  color: #fff;
  border-radius: 10px;
  font-size: 13px;
  letter-spacing: .06em;
  text-decoration: none;
  border: 2px solid #0095EC;
  transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1), background .45s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer
}

.sst .btn-pri:hover {
  border-color: #006bb0;
  background: #006bb0;
  color: #fff
}

.sst .btn-sec {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 28px;
  background: transparent;
  color: #A71238;
  border-radius: 10px;
  font-size: 13px;
  letter-spacing: .06em;
  text-decoration: none;
  border: 2px solid #A71238;
  transition: border-color .55s cubic-bezier(0.22, 1, 0.36, 1), color .55s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer
}

.sst .btn-sec:hover {
  border-color: #7a0d29;
  color: #7a0d29
}

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

.sst .stories-grid {
  padding: 56px;
  background: #fff
}

.sst .grid-head {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 56px;
  gap: 28px
}

.sst .grid-head-text {
  max-width: 520px
}

.sst .sec-eyebrow {
  font-size: 13px;
  letter-spacing: .1em;
  color: #A71238;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block
}

.sst .grid-h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #1b2a3b;
  margin-bottom: 8px
}

.sst .grid-sub {
  font-size: 13px;
  line-height: 1.65;
  color: #3a5068
}

.sst .story-count {
  font-size: 66px;
  line-height: 1.15;
  color: #0095ec1a;
  font-weight: 700;
  text-align: right;
  flex-shrink: 0
}

.sst .cards-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px
}

.sst .story-card {
  border-radius: 16px;
  border: 1px solid #0095ec21;
  padding: 28px;
  background: #fff;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), border-color .5s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative
}

.sst .story-card:hover {
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a;
  border-color: #0095ec4d
}

.sst .card-num {
  font-size: 66px;
  line-height: 1.15;
  color: #a7123812;
  font-weight: 700;
  position: absolute;
  top: 8px;
  right: 16px;
  pointer-events: none;
  user-select: none
}

.sst .card-sector {
  font-size: 13px;
  letter-spacing: .09em;
  color: #0095EC;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block
}

.sst .card-h3 {
  font-size: 28px;
  line-height: 1.4;
  color: #1b2a3b;
  margin-bottom: 16px
}

.sst .card-body {
  font-size: 13px;
  line-height: 1.65;
  color: #3a5068;
  text-align: justify;
  margin-bottom: 16px
}

.sst .card-tag-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px
}

.sst .card-tag {
  font-size: 13px;
  padding: 4px 8px;
  border-radius: 6px;
  background: #FBE2E6;
  color: #A71238;
  letter-spacing: .04em
}

.sst .featured-row {
  padding: 56px;
  background: linear-gradient(0deg, #f0f7fe 0%, #fff 100%);
  position: relative
}

.sst .featured-row::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(90deg, #0095ec09 0px, #0095ec09 1px, transparent 1px, transparent 52px);
  pointer-events: none
}

.sst .feat-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
  position: relative
}

.sst .feat-img-wrap {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17;
  transition: box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.sst .feat-img-wrap:hover {
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a
}

.sst .feat-img-wrap img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.sst .feat-img-wrap:hover img {
  transform: scale(1.04)
}

.sst .feat-text {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.sst .feat-num-bg {
  font-size: 66px;
  line-height: 1.15;
  color: #0095ec12;
  font-weight: 700;
  margin-bottom: 4px;
  user-select: none
}

.sst .feat-h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #1b2a3b
}

.sst .feat-body {
  font-size: 13px;
  line-height: 1.65;
  color: #3a5068;
  text-align: justify
}

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

.sst .feat-detail-list li {
  font-size: 13px;
  line-height: 1.65;
  color: #1b2a3b;
  padding-left: 20px;
  position: relative
}

.sst .feat-detail-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 10px;
  height: 10px;
  border: 2px solid #0095EC;
  border-radius: 6px
}

.sst .divider-word {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin: 28px 0
}

.sst .divider-word::before,
.sst .divider-word::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #0095ec2e
}

.sst .divider-word span {
  font-size: 13px;
  letter-spacing: .1em;
  color: #0095ec80;
  text-transform: uppercase;
  white-space: nowrap
}

.sst .voices-band {
  padding: 56px;
  background: #1b2a3b;
  animation: contrast-breathe 5s ease-in-out infinite;
  position: relative
}

@keyframes contrast-breathe {

  0%,
  100% {
    filter: contrast(1)
  }

  50% {
    filter: contrast(1.06)
  }
}

.sst .voices-band::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #0095EC, #A71238);
  pointer-events: none
}

.sst .voices-band::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #A71238, #0095EC);
  pointer-events: none
}

.sst .voices-head {
  text-align: center;
  margin-bottom: 56px
}

.sst .voices-eyebrow {
  font-size: 13px;
  letter-spacing: .12em;
  color: #fbe2e6bf;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block
}

.sst .voices-h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #fff;
  margin-bottom: 8px
}

.sst .voices-sub {
  font-size: 13px;
  line-height: 1.65;
  color: #ffffffa6;
  max-width: 480px;
  margin: 0 auto
}

.sst .voices-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px
}

.sst .voice-item {
  background: #ffffff0f;
  border: 1px solid #ffffff1a;
  border-radius: 16px;
  padding: 28px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;
  transition: background .45s cubic-bezier(0.22, 1, 0.36, 1), border-color .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.sst .voice-item:hover {
  background: #ffffff1a;
  border-color: #0095ec59
}

.sst .voice-portrait {
  width: 72px;
  height: 96px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 4px 18px 0 #0095ec17;
  transition: box-shadow .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.sst .voice-item:hover .voice-portrait {
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a
}

.sst .voice-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.sst .voice-item:hover .voice-portrait img {
  transform: scale(1.05)
}

.sst .voice-body {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.sst .voice-quote {
  font-size: 13px;
  line-height: 1.85;
  color: #ffffffe0;
  text-align: justify
}

.sst .voice-name {
  font-size: 13px;
  letter-spacing: .06em;
  color: #0095EC;
  font-weight: 600
}

.sst .voice-role {
  font-size: 13px;
  color: #ffffff73
}

.sst .voice-no-portrait {
  width: 72px;
  height: 96px;
  border-radius: 10px;
  background: #0095ec26;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.sst .voice-initials {
  font-size: 28px;
  color: #0095ecb3;
  font-weight: 700;
  line-height: 1.15
}

.sst .metrics-strip {
  padding: 56px;
  background: #fff;
  border-top: 1px solid #0095ec1f
}

.sst .metrics-strip-inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 28px
}

.sst .metric-box {
  border-radius: 16px;
  border: 1px solid #0095ec21;
  padding: 28px 16px;
  text-align: center;
  box-shadow: 0 1px 3px 0 #0095ec12;
  transition: box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1), border-color .5s cubic-bezier(0.22, 1, 0.36, 1)
}

.sst .metric-box:hover {
  box-shadow: 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a;
  border-color: #0095ec47
}

.sst .metric-val {
  font-size: 66px;
  line-height: 1.15;
  color: #0095EC;
  font-weight: 700;
  display: block
}

.sst .metric-label {
  font-size: 13px;
  line-height: 1.65;
  color: #3a5068;
  letter-spacing: .05em
}

.sst .metrics-head {
  text-align: center;
  margin-bottom: 56px
}

.sst .metrics-h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #1b2a3b;
  margin-bottom: 8px
}

.sst .metrics-sub {
  font-size: 13px;
  line-height: 1.65;
  color: #3a5068
}

.sst .outer-frame {
  outline: 3px solid #0095ec0f;
  outline-offset: -3px;
  border-radius: 16px
}

@media (max-width: 1200px) {
  .sst .cards-row {
    grid-template-columns: 1fr 1fr
  }

  .sst .metrics-strip-inner {
    grid-template-columns: 1fr 1fr
  }

  .sst .band-h1 {
    font-size: 38px
  }
}

@media (max-width: 900px) {
  .sst .feat-inner {
    grid-template-columns: 1fr;
    gap: 28px
  }

  .sst .voices-cols {
    grid-template-columns: 1fr
  }

  .sst .grid-head {
    flex-direction: column;
    align-items: flex-start
  }

  .sst .pg-band,
  .sst .stories-grid,
  .sst .featured-row,
  .sst .voices-band,
  .sst .metrics-strip {
    padding: 56px 28px
  }
}

@media (max-width: 600px) {
  .sst .cards-row {
    grid-template-columns: 1fr
  }

  .sst .metrics-strip-inner {
    grid-template-columns: 1fr 1fr
  }

  .sst .band-h1 {
    font-size: 28px
  }

  .sst .band-desc {
    font-size: 13px
  }

  .sst .pg-band,
  .sst .stories-grid,
  .sst .featured-row,
  .sst .voices-band,
  .sst .metrics-strip {
    padding: 28px 16px
  }

  .sst .voice-item {
    grid-template-columns: 1fr
  }
}

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

.abt_us .clip_reveal {
  clip-path: inset(0 100% 0 0);
  animation: wipe_in .55s cubic-bezier(0.22, 1, 0.36, 1) .1s forwards
}

@keyframes wipe_in {
  to {
    clip-path: inset(0 0% 0 0)
  }
}

.abt_us .top_band {
  background: #fff;
  padding: 56px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 56px;
  position: relative
}

.abt_us .top_band::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -32px;
  height: 32px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: 2
}

.abt_us .top_text {
  flex: 0 0 60%;
  max-width: 60%
}

.abt_us .top_text .eyebrow {
  display: block;
  font-size: 13px;
  letter-spacing: .18em;
  color: #0095EC;
  line-height: 1.4;
  margin-bottom: 16px;
  text-transform: uppercase
}

.abt_us .top_text .eyebrow::after {
  content: "";
  display: block;
  width: 48px;
  height: 1.5px;
  background: #0095EC;
  margin-top: 8px
}

.abt_us .top_text h1 {
  font-size: 66px;
  line-height: 1.15;
  color: #111;
  margin-bottom: 16px;
  font-weight: 800
}

.abt_us .top_text h1 em {
  font-style: normal;
  color: #A71238
}

.abt_us .top_text .sub_line {
  font-size: 13px;
  letter-spacing: .14em;
  color: #555;
  line-height: 1.4;
  text-transform: uppercase
}

.abt_us .top_img_col {
  flex: 0 0 40%;
  max-width: 40%;
  position: relative
}

.abt_us .top_img_col .img_frame {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 18px 0 #0095ec17
}

.abt_us .top_img_col .img_frame img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: blur(0px);
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt_us .top_img_col .img_frame img:hover {
  transform: scale(1.04)
}

.abt_us .top_img_col .img_edge {
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: radial-gradient(ellipse at 0% 50%, #ffffff8c 0%, transparent 55%), radial-gradient(ellipse at 100% 50%, #ffffff73 0%, transparent 55%);
  pointer-events: none
}

.abt_us .decor_bg {
  position: absolute;
  top: 28px;
  left: 0;
  font-size: 200px;
  line-height: 1.15;
  font-weight: 900;
  color: #0095ec0d;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  z-index: 0
}

.abt_us .top_text>* {
  position: relative;
  z-index: 1
}

.abt_us .story_seg {
  background: linear-gradient(158deg, #FBE2E6 0%, #f0f7fe 100%);
  padding: 80px 56px 56px;
  margin-top: 32px
}

.abt_us .story_seg .seg_inner {
  display: flex;
  flex-direction: row;
  gap: 56px;
  align-items: flex-start
}

.abt_us .story_seg .seg_left {
  flex: 0 0 58%;
  max-width: 58%
}

.abt_us .story_seg .seg_left h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #111;
  margin-bottom: 8px;
  font-weight: 700
}

.abt_us .story_seg .seg_left .caption_line {
  font-size: 13px;
  letter-spacing: .16em;
  color: #A71238;
  text-transform: uppercase;
  margin-bottom: 28px;
  display: block
}

.abt_us .story_seg .seg_left p {
  font-size: 13px;
  line-height: 1.65;
  color: #222;
  text-align: justify;
  margin-bottom: 16px
}

.abt_us .story_seg .seg_left p.lead_p {
  font-size: 13px;
  line-height: 1.85;
  text-align: center;
  color: #333;
  margin-bottom: 28px
}

.abt_us .story_seg .seg_right {
  flex: 0 0 42%;
  max-width: 42%;
  display: flex;
  flex-direction: column;
  gap: 16px
}

.abt_us .story_seg .seg_right .img_stack {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 #a7123812
}

.abt_us .story_seg .seg_right .img_stack img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .5s ease-in-out
}

.abt_us .story_seg .seg_right .img_stack img:hover {
  transform: scale(1.05)
}

.abt_us .story_seg .seg_right .img_stack2 {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 18px 0 #0095ec17
}

.abt_us .story_seg .seg_right .img_stack2 img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt_us .story_seg .seg_right .img_stack2 img:hover {
  transform: scale(1.05)
}

.abt_us .people_seg {
  background: #fff;
  padding: 72px 56px 56px;
  position: relative
}

.abt_us .people_seg::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #0095EC 0%, #A71238 100%)
}

.abt_us .people_seg .seg_head {
  max-width: 640px;
  margin: 0 auto 56px;
  text-align: center
}

.abt_us .people_seg .seg_head h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #111;
  font-weight: 700;
  margin-bottom: 8px
}

.abt_us .people_seg .seg_head .caption_line {
  font-size: 13px;
  letter-spacing: .16em;
  color: #0095EC;
  text-transform: uppercase;
  display: block;
  margin-bottom: 16px
}

.abt_us .people_seg .seg_head p {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  text-align: center
}

.abt_us .role_cols {
  display: flex;
  flex-direction: row;
  gap: 28px;
  align-items: stretch
}

.abt_us .role_col {
  flex: 1 1 0;
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  box-shadow: 0 1px 3px 0 #0095ec12;
  transition: box-shadow .45s cubic-bezier(0.22, 1, 0.36, 1), border-color .45s cubic-bezier(0.22, 1, 0.36, 1);
  border: 2px solid transparent;
  background: #f4f9fe;
  overflow: hidden
}

.abt_us .role_col:hover {
  box-shadow: 0 9px 36px 0 #0095ec1a;
  border-color: #0095EC
}

.abt_us .role_col.alt_col {
  background: #fdf0f3
}

.abt_us .role_col.alt_col:hover {
  border-color: #A71238;
  box-shadow: 0 9px 36px 0 #a712381a
}

.abt_us .role_col.mid_col {
  background: #fff;
  border: 2px solid #e8f4fd
}

.abt_us .role_col.mid_col:hover {
  border-color: #0095EC
}

.abt_us .role_col .col_num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #0095ec14;
  position: absolute;
  top: 8px;
  right: 16px;
  pointer-events: none;
  user-select: none
}

.abt_us .role_col.alt_col .col_num {
  color: #a7123814
}

.abt_us .role_col .col_icon_badge {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #0095EC;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.abt_us .role_col.alt_col .col_icon_badge {
  background: #A71238
}

.abt_us .role_col.mid_col .col_icon_badge {
  background: linear-gradient(135deg, #0095EC 0%, #A71238 100%)
}

.abt_us .col_icon_badge svg {
  width: 22px;
  height: 22px;
  fill: #fff
}

.abt_us .role_col h4 {
  font-size: 28px;
  line-height: 1.15;
  color: #111;
  font-weight: 700;
  margin: 0
}

.abt_us .role_col .role_label {
  font-size: 13px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #0095EC;
  line-height: 1.4
}

.abt_us .role_col.alt_col .role_label {
  color: #A71238
}

.abt_us .role_col p {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  text-align: justify;
  margin: 0
}

.abt_us .role_col .icon_legend {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px
}

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

.abt_us .role_col .legend_dot {
  width: 10px;
  height: 10px;
  border-radius: 6px;
  flex-shrink: 0
}

.abt_us .legend_dot.dot_blue {
  background: #0095EC
}

.abt_us .legend_dot.dot_red {
  background: #A71238
}

.abt_us .legend_dot.dot_mix {
  background: linear-gradient(135deg, #0095EC 0%, #A71238 100%)
}

.abt_us .legend_item span {
  font-size: 13px;
  color: #444;
  line-height: 1.4
}

.abt_us .person_strip {
  margin-top: 56px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 28px;
  background: linear-gradient(105deg, #FBE2E6 0%, #e8f4fd 100%);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 4px 18px 0 #0095ec17
}

.abt_us .person_strip .portrait_wrap {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 1px 3px 0 #a7123812
}

.abt_us .person_strip .portrait_wrap img {
  width: 88px;
  height: 88px;
  object-fit: cover;
  object-position: center;
  display: block
}

.abt_us .person_strip .person_info {
  flex: 1 1 auto
}

.abt_us .person_strip .person_info h5 {
  font-size: 28px;
  line-height: 1.15;
  color: #111;
  font-weight: 700;
  margin-bottom: 4px
}

.abt_us .person_strip .person_info .role_tag {
  font-size: 13px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #A71238;
  line-height: 1.4;
  margin-bottom: 8px;
  display: block
}

.abt_us .person_strip .person_info p {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  margin: 0
}

.abt_us .draw_border {
  position: relative;
  display: inline-block
}

.abt_us .draw_border::before,
.abt_us .draw_border::after {
  content: "";
  position: absolute;
  background: #0095EC;
  transition: width .25s cubic-bezier(0.22, 1, 0.36, 1), height .22s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt_us .draw_border::before {
  top: -4px;
  left: -4px;
  width: 0;
  height: 2px
}

.abt_us .draw_border::after {
  top: -4px;
  left: -4px;
  width: 2px;
  height: 0
}

.abt_us .draw_border:hover::before {
  width: calc(100% + 8px)
}

.abt_us .draw_border:hover::after {
  height: calc(100% + 8px)
}

.abt_us .cta_strip {
  margin-top: 56px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap
}

.abt_us .btn_primary {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  background: #0095EC;
  color: #fff;
  border: 2px solid #0095EC;
  border-radius: 10px;
  padding: 16px 28px;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .2s cubic-bezier(0.22, 1, 0.36, 1), background .2s cubic-bezier(0.22, 1, 0.36, 1)
}

.abt_us .btn_primary:hover {
  border-color: #A71238;
  background: #0095EC;
  color: #fff
}

.abt_us .btn_primary svg {
  width: 16px;
  height: 16px;
  fill: #fff
}

.abt_us .btn_ghost {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #A71238;
  border: 2px solid #A71238;
  border-radius: 10px;
  padding: 16px 28px;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .25s ease-in-out, color .25s ease-in-out
}

.abt_us .btn_ghost:hover {
  border-color: #0095EC;
  color: #0095EC
}

.abt_us .btn_ghost svg {
  width: 16px;
  height: 16px;
  fill: currentColor
}

@media (max-width: 900px) {
  .abt_us .top_band {
    flex-direction: column;
    padding: 28px;
    gap: 28px
  }

  .abt_us .top_text,
  .abt_us .top_img_col {
    flex: 0 0 100%;
    max-width: 100%
  }

  .abt_us .top_text h1 {
    font-size: 38px
  }

  .abt_us .story_seg .seg_inner {
    flex-direction: column
  }

  .abt_us .story_seg .seg_left,
  .abt_us .story_seg .seg_right {
    flex: 0 0 100%;
    max-width: 100%
  }

  .abt_us .role_cols {
    flex-direction: column
  }

  .abt_us .story_seg,
  .abt_us .people_seg {
    padding: 56px 28px
  }

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

@media (max-width: 600px) {
  .abt_us .top_band {
    padding: 16px
  }

  .abt_us .top_text h1 {
    font-size: 28px
  }

  .abt_us .story_seg,
  .abt_us .people_seg {
    padding: 28px 16px
  }

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

.lrn-prog {
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden
}

.lrn-prog .prog-title {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 56px;
  padding: 56px;
  background: #fff;
  position: relative;
  align-items: center
}

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

.lrn-prog .prog-img-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a
}

.lrn-prog .prog-img-card img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1)
}

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

.lrn-prog .prog-img-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #0095ec61 0%, transparent 70%);
  pointer-events: none
}

.lrn-prog .prog-text-zone {
  position: relative;
  z-index: 1
}

.lrn-prog .prog-label {
  display: inline-block;
  font-size: 13px;
  letter-spacing: .12em;
  color: #0095EC;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding: 4px 16px;
  border-radius: 44px;
  background: #0095ec14
}

.lrn-prog .prog-h1 {
  font-size: 66px;
  line-height: 1.15;
  color: #111;
  margin-bottom: 16px;
  font-weight: 800
}

.lrn-prog .prog-sub {
  font-size: 28px;
  line-height: 1.4;
  color: #444;
  margin-bottom: 28px;
  font-weight: 400
}

.lrn-prog .prog-desc {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  margin-bottom: 28px;
  max-width: 560px
}

.lrn-prog .prog-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: #0095EC;
  padding: 16px 28px;
  border-radius: 10px;
  text-decoration: none;
  border: 2px solid #0095EC;
  transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1), color .45s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 4px 18px 0 #0095ec17
}

.lrn-prog .prog-action:hover {
  border-color: #A71238;
  color: #fff
}

.lrn-prog .prog-action svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  flex-shrink: 0
}

.lrn-prog .detail-band {
  background: linear-gradient(160deg, #FBE2E6 0%, #f0f6fd 100%);
  padding: 56px;
  position: relative
}

.lrn-prog .detail-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23A71238' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none
}

.lrn-prog .detail-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  margin-bottom: 56px;
  align-items: start
}

.lrn-prog .detail-intro {
  position: relative
}

.lrn-prog .detail-num {
  font-size: 66px;
  line-height: 1.15;
  font-weight: 900;
  color: #a7123812;
  position: absolute;
  top: -16px;
  left: -8px;
  pointer-events: none;
  user-select: none
}

.lrn-prog .detail-h2 {
  font-size: 38px;
  line-height: 1.15;
  color: #111;
  margin-bottom: 16px;
  position: relative;
  z-index: 1
}

.lrn-prog .detail-body {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  text-align: justify;
  position: relative;
  z-index: 1
}

.lrn-prog .detail-body+.detail-body {
  margin-top: 16px
}

.lrn-prog .detail-stats {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.lrn-prog .stat-item {
  background: #fff;
  border-radius: 10px;
  padding: 16px 28px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17;
  transition: transform .4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .4s cubic-bezier(0.22, 1, 0.36, 1)
}

.lrn-prog .stat-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a
}

.lrn-prog .stat-val {
  font-size: 38px;
  line-height: 1.15;
  font-weight: 800;
  color: #0095EC;
  min-width: 80px
}

.lrn-prog .stat-desc {
  font-size: 13px;
  line-height: 1.4;
  color: #444
}

.lrn-prog .compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 56px;
  position: relative;
  z-index: 1
}

.lrn-prog .cmp-card {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden
}

.lrn-prog .cmp-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a
}

.lrn-prog .cmp-card.accent-red .cmp-head {
  color: #A71238
}

.lrn-prog .cmp-card.accent-blue .cmp-head {
  color: #0095EC
}

.lrn-prog .cmp-notch {
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  border-radius: 16px 0 0 16px
}

.lrn-prog .cmp-card.accent-red .cmp-notch {
  background: #A71238
}

.lrn-prog .cmp-card.accent-blue .cmp-notch {
  background: #0095EC
}

.lrn-prog .cmp-head {
  font-size: 28px;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 16px;
  padding-left: 16px
}

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

.lrn-prog .cmp-list li {
  font-size: 13px;
  line-height: 1.65;
  color: #333;
  padding-left: 24px;
  position: relative
}

.lrn-prog .cmp-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 13px;
  height: 13px;
  border-radius: 6px;
  border: 2px solid currentColor
}

.lrn-prog .cmp-card.accent-blue .cmp-list li::before {
  border-color: #0095EC;
  background: #0095ec1f
}

.lrn-prog .cmp-card.accent-red .cmp-list li::before {
  border-color: #A71238;
  background: #a712381a
}

.lrn-prog .facilitators-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  position: relative;
  z-index: 1
}

.lrn-prog .facilitator-card {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .6s cubic-bezier(0.22, 1, 0.36, 1)
}

.lrn-prog .facilitator-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a
}

.lrn-prog .fac-portrait {
  width: 80px;
  height: 80px;
  border-radius: 44px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 4px 18px 0 #0095ec17
}

.lrn-prog .fac-portrait img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1)
}

.lrn-prog .facilitator-card:hover .fac-portrait img {
  transform: scale(1.06)
}

.lrn-prog .fac-info {
  flex: 1
}

.lrn-prog .fac-name {
  font-size: 13px;
  font-weight: 700;
  color: #111;
  margin-bottom: 4px;
  letter-spacing: .04em
}

.lrn-prog .fac-role {
  font-size: 13px;
  color: #0095EC;
  margin-bottom: 8px
}

.lrn-prog .fac-bio {
  font-size: 13px;
  line-height: 1.65;
  color: #444;
  text-align: justify
}

@media (max-width: 900px) {
  .lrn-prog .prog-title {
    grid-template-columns: 1fr;
    padding: 28px;
    gap: 28px
  }

  .lrn-prog .prog-img-card img {
    height: 260px
  }

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

  .lrn-prog .prog-sub {
    font-size: 28px
  }

  .lrn-prog .detail-band {
    padding: 28px
  }

  .lrn-prog .detail-top {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 28px
  }

  .lrn-prog .compare-grid {
    grid-template-columns: 1fr;
    margin-bottom: 28px
  }

  .lrn-prog .facilitators-row {
    grid-template-columns: 1fr
  }
}

@media (max-width: 600px) {
  .lrn-prog .prog-title {
    padding: 16px;
    gap: 16px
  }

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

  .lrn-prog .prog-sub {
    font-size: 13px
  }

  .lrn-prog .detail-band {
    padding: 16px
  }

  .lrn-prog .detail-h2 {
    font-size: 28px
  }

  .lrn-prog .stat-val {
    font-size: 28px
  }

  .lrn-prog .facilitator-card {
    flex-direction: column
  }
}

.success_page {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 56px 28px;
  background: linear-gradient(160deg, #f5f9ff 0%, #FBE2E6 100%)
}

.success_page .success_card {
  max-width: 560px;
  width: 100%;
  background: #fff;
  border-radius: 16px;
  padding: 56px;
  box-shadow: 0 1px 3px 0 #0095ec12 0 4px 18px 0 #0095ec17 0 9px 36px 0 #0095ec1a;
  text-align: center
}

.success_page .success_card .icon_wrap {
  width: 72px;
  height: 72px;
  margin: 0 auto 28px;
  border-radius: 44px;
  background: linear-gradient(140deg, #e8f5fe 0%, #FBE2E6 100%);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center
}

.success_page .success_card .icon_wrap .check_svg {
  width: 36px;
  height: 36px
}

.success_page .success_card .success_title {
  font-size: 38px;
  line-height: 1.15;
  color: #111827;
  margin: 0 0 16px;
  letter-spacing: -.5px
}

.success_page .success_card .success_sub {
  font-size: 13px;
  line-height: 1.65;
  color: #374151;
  margin: 0 0 28px;
  letter-spacing: .01em
}

.success_page .success_card .divider_line {
  width: 48px;
  height: 3px;
  background: linear-gradient(90deg, #0095EC 0%, #A71238 100%);
  border-radius: 6px;
  margin: 0 auto 28px
}

.success_page .success_card .detail_text {
  font-size: 13px;
  line-height: 1.85;
  color: #4B5563;
  margin: 0 0 28px
}

.success_page .success_card .home_btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 28px;
  background: #0095EC;
  color: #fff;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .06em;
  border-radius: 10px;
  border: 2px solid #0095EC;
  text-decoration: none;
  font-weight: 600;
  transition: border-color .45s cubic-bezier(0.22, 1, 0.36, 1), background .45s cubic-bezier(0.22, 1, 0.36, 1)
}

.success_page .success_card .home_btn:hover {
  border-color: #A71238;
  background: #0095EC
}

.success_page .success_card .home_btn:focus {
  outline: 3px solid #A71238;
  outline-offset: 3px
}

.success_page .success_card .home_btn .btn_arrow {
  width: 16px;
  height: 16px;
  flex-shrink: 0
}

.success_page .brand_note {
  margin-top: 28px;
  font-size: 13px;
  line-height: 1.4;
  color: #6B7280;
  letter-spacing: .04em
}

.success_page .brand_note span {
  color: #0095EC;
  font-weight: 600
}

@media (max-width: 600px) {
  .success_page .success_card {
    padding: 28px 16px
  }

  .success_page .success_card .success_title {
    font-size: 28px
  }
}