@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";

body {
  margin: 0;
  -webkit-text-size-adjust: 100%
}

.topbar {
  background: linear-gradient(135deg, #0bd0db14 0%, #9011460a 100%);
  padding: 8px 24px;
  border-bottom: 1px solid #0bd0db1f
}

.topbarShell {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px
}

.announcement {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  color: #2c2c2c;
  font-weight: 400;
  letter-spacing: -.01em
}

.quickContact {
  display: flex;
  gap: 24px;
  align-items: center
}

.quickContactItem {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  color: #2c2c2c;
  text-decoration: none;
  transition: color .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.quickContactItem:hover {
  color: #0BD0DB
}

.quickContactItem i {
  font-size: 18px;
  color: #901146
}

.brandRow {
  background: #FFF;
  padding: 24px;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a
}

.brandShell {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center
}

.logoMount {
  background: #FFF;
  border: 1px solid #0bd0db33;
  border-radius: 9px;
  padding: 8px;
  box-shadow: 0 2px 2px -2px #9011460f 0 7px 20px -2px #9011461a;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 92px
}

.logoImage {
  width: 84px;
  height: 84px;
  object-fit: contain
}

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

.companyName {
  font-family: 'JetBrains Mono', monospace;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
  color: #2c2c2c;
  letter-spacing: -.02em
}

.companyTagline {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 400;
  color: #5a5a5a;
  letter-spacing: .01em
}

.navRow {
  background: linear-gradient(180deg, #FFF 0%, #f8fbfc99 100%);
  padding: 16px 24px;
  border-top: 1px solid #0bd0db14
}

.navShell {
  max-width: 1170px;
  margin: 0 auto
}

.primaryNav {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0
}

.navItem {
  position: relative
}

.navLink {
  display: block;
  padding: 16px 24px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 500;
  color: #2c2c2c;
  text-decoration: none;
  border-radius: 9px;
  background: transparent;
  transition: background .48s cubic-bezier(0.16, 1, 0.3, 1), color .44s cubic-bezier(0.16, 1, 0.3, 1);
  letter-spacing: -.005em
}

.navLink:hover {
  background: #0bd0db14;
  color: #0BD0DB
}

.navLink:focus {
  outline: 2px solid #0BD0DB;
  outline-offset: 2px
}

.footerPrimary {
  background: linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 100%);
  padding: 48px 24px;
  border-top: 4px solid #0BD0DB
}

.footerShell {
  max-width: 1170px;
  margin: 0 auto
}

.footerGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 48px;
  margin-bottom: 48px
}

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

.footerLogoMount {
  background: #FFF;
  border: 1px solid #0bd0db4d;
  border-radius: 9px;
  padding: 8px;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 92px
}

.footerLogoImage {
  width: 84px;
  height: 84px;
  object-fit: contain
}

.footerCompanyName {
  font-family: 'JetBrains Mono', monospace;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
  color: #FFF;
  letter-spacing: -.02em;
  margin-top: 8px
}

.footerMission {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.55;
  color: #ffffffd1;
  letter-spacing: .005em;
  margin-top: 8px
}

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

.footerHeading {
  font-family: 'JetBrains Mono', monospace;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
  color: #0BD0DB;
  letter-spacing: -.015em;
  margin-bottom: 8px
}

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

.footerNavItem {
  display: block
}

.footerNavLink {
  display: inline-block;
  padding: 8px 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 400;
  color: #ffffffd9;
  text-decoration: none;
  transition: color .39s cubic-bezier(0.16, 1, 0.3, 1), padding-left .45s ease-in-out;
  letter-spacing: .002em
}

.footerNavLink:hover {
  color: #0BD0DB;
  padding-left: 8px
}

.footerNavLink:focus {
  outline: 2px solid #0BD0DB;
  outline-offset: 2px
}

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

.contactItem {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.55;
  color: #ffffffd9;
  letter-spacing: .003em
}

.contactItem i {
  font-size: 18px;
  color: #901146;
  margin-top: 2px;
  flex-shrink: 0
}

.contactLink {
  color: #ffffffd9;
  text-decoration: none;
  transition: color .41s cubic-bezier(0.16, 1, 0.3, 1)
}

.contactLink:hover {
  color: #0BD0DB
}

.contactLink:focus {
  outline: 2px solid #0BD0DB;
  outline-offset: 2px
}

.footerSecondary {
  background: #151515;
  padding: 24px;
  border-top: 1px solid #0bd0db26
}

.copyrightShell {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap
}

.copyrightText {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  color: #ffffffa6;
  letter-spacing: .005em
}

.foundedYear {
  color: #0BD0DB;
  font-weight: 500
}

.legalNavList {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 24px;
  flex-wrap: wrap
}

.legalNavItem {
  display: block
}

.legalNavLink {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 400;
  color: #ffffffa6;
  text-decoration: none;
  transition: color .37s cubic-bezier(0.16, 1, 0.3, 1);
  letter-spacing: .003em
}

.legalNavLink:hover {
  color: #0BD0DB
}

.legalNavLink:focus {
  outline: 2px solid #0BD0DB;
  outline-offset: 2px
}

@media (max-width: 768px) {
  .topbarShell {
    flex-direction: column;
    gap: 16px
  }

  .quickContact {
    flex-direction: column;
    gap: 16px;
    width: 100%
  }

  .brandShell {
    flex-direction: column;
    gap: 24px;
    text-align: center
  }

  .companyIdentity {
    align-items: center
  }

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

  .navLink {
    text-align: center
  }

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

  .copyrightShell {
    flex-direction: column;
    text-align: center
  }

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

@media (max-width: 480px) {
  .topbar {
    padding: 8px 16px
  }

  .brandRow {
    padding: 16px
  }

  .navRow {
    padding: 16px
  }

  .footerPrimary {
    padding: 48px 16px
  }

  .footerSecondary {
    padding: 24px 16px
  }

  .announcement {
    font-size: 16px
  }

  .quickContactItem {
    font-size: 16px
  }
}

.consentOverlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, #fffffffa 0%, #f8fbfcf5 100%);
  padding: 24px;
  box-shadow: 0 10px 44px -2px #0bd0db1c;
  border-bottom: 2px solid #0bd0db33;
  z-index: 1000;
  display: none;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px)
}

.consentCard {
  max-width: 1170px;
  margin: 0 auto;
  background: #FFF;
  border-radius: 15px;
  padding: 24px;
  box-shadow: 0 7px 20px -2px #9011461a
}

.consentText {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.55;
  color: #2c2c2c;
  margin-bottom: 24px;
  letter-spacing: .002em
}

.consentHeadline {
  font-family: 'JetBrains Mono', monospace;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
  color: #2c2c2c;
  margin-bottom: 8px;
  letter-spacing: -.015em
}

.consentCategories {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin-bottom: 24px
}

.categoryOption {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px;
  background: #0bd0db0a;
  border-radius: 9px;
  border: 1px solid #0bd0db26
}

.categoryCheckbox {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: #0BD0DB
}

.categoryCheckbox:disabled {
  cursor: not-allowed;
  opacity: .5
}

.categoryCheckbox:focus {
  outline: 2px solid #0BD0DB;
  outline-offset: 2px
}

.categoryLabel {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  color: #2c2c2c;
  cursor: pointer;
  flex-grow: 1
}

.categoryLabel.required {
  color: #5a5a5a
}

.dataSaleOption {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px;
  background: #9011460a;
  border-radius: 9px;
  border: 1px solid #90114626;
  margin-bottom: 24px
}

.dataSaleCheckbox {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: #901146
}

.dataSaleCheckbox:focus {
  outline: 2px solid #901146;
  outline-offset: 2px
}

.dataSaleLabel {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  color: #2c2c2c;
  cursor: pointer;
  flex-grow: 1
}

.consentActions {
  display: flex;
  gap: 16px;
  justify-content: flex-end;
  flex-wrap: wrap
}

.consentButton {
  padding: 16px 24px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 500;
  border: none;
  border-radius: 9px;
  cursor: pointer;
  transition: background .43s cubic-bezier(0.16, 1, 0.3, 1), color .47s cubic-bezier(0.16, 1, 0.3, 1), transform .51s ease-in-out;
  letter-spacing: -.005em;
  min-width: 140px
}

.consentButton:focus {
  outline: 2px solid #0BD0DB;
  outline-offset: 2px
}

.acceptButton {
  background: transparent;
  color: #0BD0DB;
  border: 2px solid #0BD0DB
}

.acceptButton:hover {
  background: #0BD0DB;
  color: #FFF;
  transform: translateY(-2px)
}

.declineButton {
  background: transparent;
  color: #901146;
  border: 2px solid #901146
}

.declineButton:hover {
  background: #901146;
  color: #FFF;
  transform: translateY(-2px)
}

.saveButton {
  background: transparent;
  color: #2c2c2c;
  border: 2px solid #2c2c2c
}

.saveButton:hover {
  background: #2c2c2c;
  color: #FFF;
  transform: translateY(-2px)
}

@media (max-width: 768px) {
  .consentOverlay {
    padding: 16px
  }

  .consentCard {
    padding: 16px
  }

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

  .consentActions {
    flex-direction: column
  }

  .consentButton {
    width: 100%
  }
}

.policycontent {
  margin: 0 auto;
  max-width: 1170px;
  padding: 48px 24px
}

.policycontent p {
  color: #2c2c2c;
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 24px
}

.policycontent p:last-child {
  margin-bottom: 0
}

.policycontent strong,
.policycontent b {
  color: #1a1a1a;
  font-weight: 600
}

.policycontent em,
.policycontent i {
  font-style: italic
}

.policycontent ul,
.policycontent ol {
  color: #2c2c2c;
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 24px;
  padding-left: 24px
}

.policycontent ul {
  list-style-type: disc
}

.policycontent ol {
  list-style-type: decimal
}

.policycontent li {
  margin-bottom: 8px
}

.policycontent li:last-child {
  margin-bottom: 0
}

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

.policycontent table {
  border-collapse: collapse;
  font-size: 16px;
  margin: 0 0 24px;
  width: 100%
}

.policycontent thead {
  background: #0bd0db14
}

.policycontent th {
  border: 1px solid #0bd0db33;
  color: #1a1a1a;
  font-weight: 600;
  line-height: 1.55;
  padding: 16px;
  text-align: left
}

.policycontent td {
  border: 1px solid #0bd0db26;
  color: #2c2c2c;
  line-height: 1.8;
  padding: 16px
}

.policycontent tbody tr:nth-child(even) {
  background: #0bd0db08
}

.policycontent div {
  margin-bottom: 24px
}

.policycontent div:last-child {
  margin-bottom: 0
}

@media (max-width: 768px) {
  .policycontent {
    padding: 24px 16px
  }

  .policycontent table {
    display: block;
    overflow-x: auto
  }

  .policycontent th,
  .policycontent td {
    padding: 8px
  }
}

.process {
  background: #FAFBFC;
  max-width: 100%;
  overflow-x: hidden
}

.process * {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

.process .titlezone {
  display: flex;
  flex-direction: row;
  align-items: center;
  max-width: 1170px;
  margin: 0 auto;
  padding: 96px 24px 144px;
  gap: 48px
}

.process .titlecontent {
  flex: 1;
  padding: 48px;
  position: relative
}

.process .titlecontent::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 84px;
  background: linear-gradient(165deg, #0BD0DB 0%, #901146 100%);
  border-radius: 4px
}

.process .titlecontent::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 84px;
  height: 3px;
  background: linear-gradient(165deg, #0BD0DB 0%, #901146 100%);
  border-radius: 4px
}

.process .titleheading {
  font-size: 72px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1A1D23;
  margin: 0 0 24px
}

.process .titleaccent {
  color: #0BD0DB;
  font-weight: inherit
}

.process .titledescription {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #3C4149;
  max-width: 480px
}

.process .titlevisual {
  flex: 1;
  position: relative;
  overflow: hidden;
  border-radius: 26px
}

.process .titleimage {
  width: 100%;
  height: 540px;
  object-fit: cover;
  object-position: center;
  display: block;
  animation: imageFadeIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0
}

@keyframes imageFadeIn {
  to {
    opacity: 1
  }
}

.process .titlevisual::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  height: 48px;
  border-top: 4px solid #0BD0DB;
  border-left: 4px solid #0BD0DB;
  border-radius: 4px 0 0 0;
  z-index: 2
}

.process .titlevisual::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 48px;
  height: 48px;
  border-bottom: 4px solid #901146;
  border-right: 4px solid #901146;
  border-radius: 0 0 4px 0;
  z-index: 2
}

.process .methodology {
  max-width: 1170px;
  margin: 0 auto;
  padding: 96px 24px;
  position: relative
}

.process .methodology::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(45deg, transparent, transparent 12px, #0bd0db05 12px, #0bd0db05 24px);
  pointer-events: none;
  z-index: 0
}

.process .methodologyinner {
  position: relative;
  z-index: 1
}

.process .methodologyheader {
  text-align: center;
  margin: 0 0 48px;
  position: relative
}

.process .methodologyheader::before {
  content: '';
  width: 84px;
  height: 3px;
  background: linear-gradient(90deg, #0BD0DB 0%, #901146 100%);
  display: block;
  margin: 0 auto 24px;
  border-radius: 4px
}

.process .methodologytitle {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1D23;
  margin: 0 0 16px
}

.process .methodologysubtitle {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #3C4149;
  max-width: 640px;
  margin: 0 auto
}

.process .methodologygrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px
}

.process .methodologycolumn {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.process .methodologycolumn:nth-child(1) {
  animation: columnAppear1 .45s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0
}

.process .methodologycolumn:nth-child(2) {
  animation: columnAppear2 .52s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0
}

@keyframes columnAppear1 {
  to {
    opacity: 1
  }
}

@keyframes columnAppear2 {
  to {
    opacity: 1
  }
}

.process .methodologycard {
  background: #FFF;
  border-radius: 15px;
  padding: 48px;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a 0 10px 44px -2px #0bd0db1c;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden
}

.process .methodologycard::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #0BD0DB 0%, #901146 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .48s cubic-bezier(0.16, 1, 0.3, 1)
}

.process .methodologycard:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 44px -2px #0bd0db2e
}

.process .methodologycard:hover::before {
  transform: scaleX(1)
}

.process .cardnumber {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #0BD0DB;
  margin: 0 0 16px;
  font-weight: 700
}

.process .cardtitle {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #1A1D23;
  margin: 0 0 16px;
  font-weight: 600
}

.process .carddescription {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #3C4149
}

.process .timeline {
  background: linear-gradient(165deg, #0bd0db08 0%, #90114608 100%);
  padding: 96px 24px;
  position: relative
}

.process .timeline::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: url("data:image/svg+xml,%3Csvg width='100' height='6' viewBox='0 0 100 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 3 Q 12.5 0 25 3 T 50 3 T 75 3 T 100 3' stroke='%230BD0DB' stroke-width='1' fill='none'/%3E%3Cpath d='M0 4 Q 12.5 1 25 4 T 50 4 T 75 4 T 100 4' stroke='%23901146' stroke-width='1' fill='none'/%3E%3C/svg%3E") repeat-x;
  background-size: 100px 6px
}

.process .timeline::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: url("data:image/svg+xml,%3Csvg width='100' height='6' viewBox='0 0 100 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 3 Q 12.5 0 25 3 T 50 3 T 75 3 T 100 3' stroke='%230BD0DB' stroke-width='1' fill='none'/%3E%3Cpath d='M0 4 Q 12.5 1 25 4 T 50 4 T 75 4 T 100 4' stroke='%23901146' stroke-width='1' fill='none'/%3E%3C/svg%3E") repeat-x;
  background-size: 100px 6px
}

.process .timelineinner {
  max-width: 1170px;
  margin: 0 auto
}

.process .timelineheading {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1D23;
  margin: 0 0 48px;
  text-align: center;
  position: relative
}

.process .timelineheading::after {
  content: '';
  width: 64px;
  height: 3px;
  background: #901146;
  display: block;
  margin: 24px auto 0;
  border-radius: 4px
}

.process .timelinetrack {
  position: relative;
  padding: 0 0 0 48px
}

.process .timelinetrack::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: linear-gradient(180deg, #0BD0DB 0%, #901146 100%);
  border-radius: 4px
}

.process .timelineperiod {
  margin: 0 0 48px;
  position: relative
}

.process .periodlabel {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #0BD0DB;
  margin: 0 0 24px;
  font-weight: 600;
  position: relative;
  padding: 0 0 0 24px
}

.process .periodlabel::before {
  content: '';
  position: absolute;
  left: -32px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: #0BD0DB;
  border: 3px solid #FFF;
  border-radius: 42px;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a
}

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

.process .timelineevent {
  background: #FFF;
  border-radius: 15px;
  padding: 24px;
  box-shadow: 0 2px 2px -2px #9011460f 0 7px 20px -2px #9011461a;
  transition: transform .38s ease-in-out, box-shadow .38s ease-in-out
}

.process .timelineevent:hover {
  transform: translateX(8px);
  box-shadow: 0 7px 20px -2px #90114624 0 10px 44px -2px #90114629
}

.process .eventtitle {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #1A1D23;
  margin: 0 0 8px;
  font-weight: 600
}

.process .eventdescription {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #3C4149
}

.process .comparison {
  max-width: 1170px;
  margin: 0 auto;
  padding: 96px 24px
}

.process .comparisonheader {
  text-align: center;
  margin: 0 0 48px
}

.process .comparisonheader::before {
  content: '';
  width: 96px;
  height: 3px;
  background: linear-gradient(90deg, #901146 0%, #0BD0DB 100%);
  display: block;
  margin: 0 auto 24px;
  border-radius: 4px
}

.process .comparisontitle {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1D23;
  margin: 0 0 16px
}

.process .comparisonintro {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #3C4149;
  max-width: 720px;
  margin: 0 auto
}

.process .comparisonwrapper {
  display: flex;
  flex-direction: row;
  gap: 8px;
  background: #FFF;
  border-radius: 26px;
  padding: 48px;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a 0 10px 44px -2px #0bd0db1c;
  position: relative;
  overflow: hidden
}

.process .comparisonwrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 20% 30%, #0bd0db0a 0%, transparent 50%), radial-gradient(circle at 80% 70%, #9011460a 0%, transparent 50%);
  pointer-events: none;
  z-index: 0
}

.process .comparisonoption {
  flex: 1;
  position: relative;
  z-index: 1;
  padding: 48px;
  border-radius: 15px;
  background: #FAFBFC;
  transition: transform .46s cubic-bezier(0.16, 1, 0.3, 1), background .46s cubic-bezier(0.16, 1, 0.3, 1)
}

.process .comparisonoption:hover {
  transform: scale(1.04);
  background: #FFF
}

.process .optionlabel {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #0BD0DB;
  margin: 0 0 24px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em
}

.process .optiontitle {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #1A1D23;
  margin: 0 0 16px;
  font-weight: 600
}

.process .optionfeatures {
  list-style: none;
  margin: 0 0 24px;
  padding: 0
}

.process .optionfeatures li {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #3C4149;
  padding: 0 0 0 32px;
  position: relative;
  margin: 0 0 8px
}

.process .optionfeatures li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 16px;
  height: 16px;
  background: #0BD0DB;
  border-radius: 4px;
  opacity: .2
}

.process .optionfeatures li::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 12px;
  width: 8px;
  height: 4px;
  border-left: 2px solid #0BD0DB;
  border-bottom: 2px solid #0BD0DB;
  transform: rotate(-45deg)
}

.process .optiondescription {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #3C4149
}

.process .optionhighlight {
  background: #FFF;
  border: 2px solid #0BD0DB
}

.process .optionhighlight .optionlabel {
  color: #901146
}

.process .testimonialzone {
  background: #FFF;
  padding: 96px 24px
}

.process .testimonialinner {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 48px
}

.process .testimonialcontent {
  flex: 1
}

.process .testimonialheading {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1D23;
  margin: 0 0 24px;
  position: relative;
  padding: 24px 0 0
}

.process .testimonialheading::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 3px;
  background: linear-gradient(90deg, #0BD0DB 0%, #901146 100%);
  border-radius: 4px
}

.process .testimonialquote {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #3C4149;
  margin: 0 0 24px;
  font-style: italic;
  position: relative;
  padding: 0 0 0 32px
}

.process .testimonialquote::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #0BD0DB 0%, #901146 100%);
  border-radius: 4px
}

.process .testimonialauthor {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #1A1D23;
  font-weight: 600
}

.process .testimonialrole {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #3C4149
}

.process .testimonialportrait {
  flex: 0 0 320px;
  position: relative;
  overflow: hidden;
  border-radius: 9px
}

.process .portraitimage {
  width: 320px;
  height: 480px;
  object-fit: cover;
  object-position: top;
  display: block;
  transition: transform .52s cubic-bezier(0.16, 1, 0.3, 1)
}

.process .testimonialportrait:hover .portraitimage {
  transform: scale(1.06)
}

.process .testimonialportrait::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #0bd0db14 0%, #90114614 100%);
  opacity: 0;
  transition: opacity .48s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 1
}

.process .testimonialportrait:hover::before {
  opacity: 1
}

@media (max-width: 1024px) {
  .process .titlezone {
    flex-direction: column;
    padding: 72px 24px 96px
  }

  .process .titleheading {
    font-size: 62px
  }

  .process .titleimage {
    height: 420px
  }

  .process .methodologygrid {
    grid-template-columns: 1fr
  }

  .process .comparisonwrapper {
    flex-direction: column;
    gap: 24px
  }

  .process .testimonialinner {
    flex-direction: column
  }

  .process .testimonialportrait {
    flex: 0 0 auto
  }
}

@media (max-width: 768px) {
  .process .titlezone {
    padding: 48px 16px 72px
  }

  .process .titlecontent {
    padding: 24px
  }

  .process .titleheading {
    font-size: 62px
  }

  .process .titleimage {
    display: none
  }

  .process .titlevisual {
    display: none
  }

  .process .methodology {
    padding: 72px 16px
  }

  .process .methodologytitle {
    font-size: 62px
  }

  .process .methodologycard {
    padding: 24px
  }

  .process .timeline {
    padding: 72px 16px
  }

  .process .timelineheading {
    font-size: 62px
  }

  .process .comparison {
    padding: 72px 16px
  }

  .process .comparisontitle {
    font-size: 62px
  }

  .process .comparisonwrapper {
    padding: 24px
  }

  .process .comparisonoption {
    padding: 24px
  }

  .process .testimonialzone {
    padding: 72px 16px
  }

  .process .testimonialheading {
    font-size: 62px
  }

  .process .portraitimage {
    width: 100%;
    height: auto
  }

  .process .testimonialportrait {
    width: 100%
  }
}

@media (max-width: 480px) {
  .process .titleheading {
    font-size: 62px
  }

  .process .methodologytitle {
    font-size: 62px
  }

  .process .timelineheading {
    font-size: 62px
  }

  .process .comparisontitle {
    font-size: 62px
  }

  .process .testimonialheading {
    font-size: 62px
  }

  .process .cardnumber {
    font-size: 62px
  }
}

.front {
  background: #FAFBFC;
  color: #1A1D23;
  overflow-x: clip
}

.front .opening {
  background: linear-gradient(162deg, #0BD0DB 0%, #901146 100%);
  padding: 48px 24px;
  position: relative;
  overflow: hidden
}

.front .opening::before {
  border: 1px solid #ffffff26;
  content: '';
  height: calc(100% - 48px);
  left: 24px;
  pointer-events: none;
  position: absolute;
  top: 24px;
  width: calc(100% - 48px)
}

.front .openingWrap {
  margin: 0 auto;
  max-width: 1170px;
  position: relative;
  z-index: 1
}

.front .openingPrimary {
  color: #FFF;
  font-size: 72px;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin: 0 0 24px
}

.front .openingSecondary {
  color: #ffffffeb;
  font-size: 18px;
  letter-spacing: .01em;
  line-height: 1.55;
  margin: 0 0 48px;
  max-width: 640px
}

.front .openingAction {
  background: transparent;
  border: 2px solid #FFF;
  border-radius: 9px;
  color: #FFF;
  cursor: pointer;
  font-size: 16px;
  letter-spacing: .02em;
  padding: 16px 48px;
  text-decoration: none;
  transition: background .42s cubic-bezier(0.16, 1, 0.3, 1), color .38s cubic-bezier(0.16, 1, 0.3, 1)
}

.front .openingAction:hover {
  background: #FFF;
  color: #901146
}

.front .openingAction:focus-visible {
  outline: 3px solid #fff9 !important;
  outline-offset: 4px !important
}

@media (max-width: 768px) {
  .front .openingPrimary {
    font-size: 62px
  }
}

.front .mechanism {
  background: #FFF;
  padding: 48px 24px;
  position: relative
}

.front .mechanismWrap {
  margin: 0 auto;
  max-width: 1170px
}

.front .mechanismLabel {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 0 48px
}

.front .mechanismLabel::before {
  background: linear-gradient(90deg, transparent 0%, #0BD0DB 50%, transparent 100%);
  content: '';
  height: 2px;
  width: 80px
}

.front .mechanismTitle {
  color: #1A1D23;
  font-size: 62px;
  letter-spacing: -.02em;
  line-height: 1.1;
  margin: 0;
  text-align: center
}

.front .mechanismGrid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))
}

.front .mechanismCard {
  background: linear-gradient(175deg, #F8F9FA 0%, #ECEEF0 100%);
  border-radius: 15px;
  box-shadow: 0 2px 2px -2px #0911460f 0 7px 20px -2px #0911461a 0 10px 44px -2px #0911461c;
  overflow: hidden;
  padding: 24px;
  position: relative;
  transition: transform .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .48s cubic-bezier(0.16, 1, 0.3, 1)
}

.front .mechanismCard:hover {
  box-shadow: 0 7px 20px -2px #0911461a 0 10px 44px -2px #0911461c 0 24px 72px -2px #09114624;
  transform: translateY(-4px)
}

.front .mechanismCardIcon {
  align-items: center;
  background: linear-gradient(135deg, #0BD0DB 0%, #901146 100%);
  border-radius: 26px;
  color: #FFF;
  display: flex;
  font-size: 24px;
  height: 56px;
  justify-content: center;
  margin: 0 0 16px;
  width: 56px
}

.front .mechanismCardTitle {
  color: #1A1D23;
  font-size: 18px;
  letter-spacing: -.01em;
  line-height: 1.35;
  margin: 0 0 8px
}

.front .mechanismCardText {
  color: #4A4F57;
  font-size: 16px;
  letter-spacing: .01em;
  line-height: 1.55;
  margin: 0
}

.front .mechanismCard::after {
  animation: flicker 8s infinite;
  background: linear-gradient(135deg, #0bd0db0d 0%, #9011460d 100%);
  content: '';
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%
}

@keyframes flicker {

  0%,
  100% {
    opacity: 0
  }

  23% {
    opacity: .03
  }

  27% {
    opacity: 0
  }

  41% {
    opacity: .06
  }

  44% {
    opacity: 0
  }

  67% {
    opacity: .04
  }

  71% {
    opacity: 0
  }
}

@media (max-width: 768px) {
  .front .mechanismTitle {
    font-size: 62px
  }

  .front .mechanismGrid {
    grid-template-columns: 1fr
  }
}

.front .readiness {
  background: linear-gradient(180deg, #F4F5F7 0%, #FFF 100%);
  padding: 48px 24px;
  position: relative
}

.front .readinessWrap {
  margin: 0 auto;
  max-width: 1170px
}

.front .readinessLayout {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 48px
}

.front .readinessContent {
  flex: 1
}

.front .readinessTitle {
  color: #1A1D23;
  font-size: 62px;
  letter-spacing: -.02em;
  line-height: 1.1;
  margin: 0 0 24px
}

.front .readinessTitle .accent {
  border-bottom: 3px solid #0BD0DB;
  color: #0BD0DB;
  display: inline-block;
  padding-bottom: 4px
}

.front .readinessText {
  color: #4A4F57;
  font-size: 16px;
  letter-spacing: .01em;
  line-height: 1.55;
  margin: 0 0 16px
}

.front .readinessVisual {
  flex: 0 0 420px;
  position: relative
}

.front .readinessImageWrap {
  border-radius: 42px;
  box-shadow: 0 10px 44px -2px #9011461c 0 7px 20px -2px #9011461a 0 2px 2px -2px #9011460f;
  overflow: hidden;
  position: relative;
  transform: translateZ(0)
}

.front .readinessImageWrap::before {
  content: '';
  display: block;
  padding-bottom: 100%
}

.front .readinessImage {
  height: 100%;
  left: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  width: 100%
}

.front .readinessShape {
  background: linear-gradient(225deg, #0BD0DB 0%, #901146 100%);
  border-radius: 26px;
  height: 180px;
  left: -48px;
  opacity: .12;
  pointer-events: none;
  position: absolute;
  top: -24px;
  transform: rotate(12deg);
  width: 180px;
  z-index: -1
}

@media (max-width: 1024px) {
  .front .readinessLayout {
    flex-direction: column
  }

  .front .readinessVisual {
    flex: 0 0 auto;
    max-width: 420px;
    width: 100%
  }
}

@media (max-width: 768px) {
  .front .readinessTitle {
    font-size: 62px
  }

  .front .readinessVisual {
    display: none
  }
}

.front .situations {
  background: #FFF;
  padding: 48px 24px;
  position: relative
}

.front .situationsWrap {
  margin: 0 auto;
  max-width: 1170px
}

.front .situationsTitle {
  color: #1A1D23;
  font-size: 62px;
  letter-spacing: -.02em;
  line-height: 1.1;
  margin: 0 0 48px;
  text-align: center
}

.front .situationsBlocks {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.front .situationRow {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  gap: 24px
}

.front .situationLarge {
  background: linear-gradient(162deg, #F8F9FA 0%, #ECEEF0 100%);
  border-radius: 26px;
  display: flex;
  flex: 2;
  flex-direction: column;
  overflow: hidden;
  position: relative
}

.front .situationLargeImage {
  border-radius: 15px;
  flex: 0 0 240px;
  overflow: hidden;
  position: relative
}

.front .situationLargeImage::before {
  content: '';
  display: block;
  padding-bottom: 100%
}

.front .situationLargeImage img {
  height: 100%;
  left: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  width: 100%
}

.front .situationLargeContent {
  flex: 1;
  padding: 24px
}

.front .situationLargeTitle {
  color: #1A1D23;
  font-size: 18px;
  letter-spacing: -.01em;
  line-height: 1.35;
  margin: 0 0 8px
}

.front .situationLargeText {
  color: #4A4F57;
  font-size: 16px;
  letter-spacing: .01em;
  line-height: 1.55;
  margin: 0
}

.front .situationSmall {
  background: linear-gradient(162deg, #F8F9FA 0%, #ECEEF0 100%);
  border-radius: 26px;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  position: relative
}

.front .situationSmallTitle {
  color: #1A1D23;
  font-size: 18px;
  letter-spacing: -.01em;
  line-height: 1.35;
  margin: 0
}

.front .situationSmallText {
  color: #4A4F57;
  font-size: 16px;
  letter-spacing: .01em;
  line-height: 1.55;
  margin: 0
}

.front .situationSmall::before {
  background: linear-gradient(135deg, #0BD0DB 0%, #901146 100%);
  border-radius: 50%;
  content: '';
  height: 8px;
  left: 24px;
  position: absolute;
  top: 24px;
  width: 8px
}

.front .situationProfile {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-top: 16px
}

.front .situationProfileImage {
  border-radius: 50%;
  flex: 0 0 56px;
  height: 56px;
  overflow: hidden;
  position: relative;
  width: 56px
}

.front .situationProfileImage img {
  height: 100%;
  left: 0;
  object-fit: cover;
  object-position: top;
  position: absolute;
  top: 0;
  width: 100%
}

.front .situationProfileContent {
  flex: 1
}

.front .situationProfileName {
  color: #1A1D23;
  font-size: 16px;
  letter-spacing: .01em;
  line-height: 1.35;
  margin: 0 0 4px
}

.front .situationProfileRole {
  color: #6B7280;
  font-size: 16px;
  letter-spacing: .01em;
  line-height: 1.35;
  margin: 0
}

.front .situationsDivider {
  height: 48px;
  margin: 0 auto;
  overflow: visible;
  width: 60px
}

.front .situationsDivider polygon {
  fill: #0BD0DB;
  opacity: .3
}

@media (max-width: 1024px) {
  .front .situationRow {
    flex-direction: column
  }
}

@media (max-width: 768px) {
  .front .situationsTitle {
    font-size: 62px
  }

  .front .situationLargeImage {
    display: none
  }
}

.learningProgram {
  background: #FEFEFE;
  color: #2A2A2A;
  overflow-x: clip
}

.learningProgram .titleArea {
  background: linear-gradient(167deg, #0BD0DB 0%, #901146 100%);
  padding: 96px 24px 48px;
  position: relative;
  overflow: hidden
}

.learningProgram .titleArea::before {
  content: '';
  position: absolute;
  top: -120px;
  left: -80px;
  width: 340px;
  height: 340px;
  background: #ffffff14;
  border-radius: 50%;
  filter: blur(72px);
  pointer-events: none
}

.learningProgram .titleArea::after {
  content: '';
  position: absolute;
  bottom: -90px;
  right: -60px;
  width: 280px;
  height: 280px;
  background: #9011461f;
  border-radius: 50%;
  filter: blur(68px);
  pointer-events: none
}

.learningProgram .titleContainer {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.learningProgram .mainTitle {
  font-size: 72px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #FFF;
  margin: 0
}

.learningProgram .gradientWord {
  background: linear-gradient(135deg, #FFF 0%, #ffffffb3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block
}

.learningProgram .pathwayCards {
  max-width: 1170px;
  margin: 0 auto;
  padding: 96px 24px;
  position: relative
}

.learningProgram .pathwayCards::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><circle cx="2" cy="2" r="1.5" fill="%230BD0DB" opacity="0.15"/><circle cx="50" cy="25" r="2" fill="%23901146" opacity="0.12"/><circle cx="85" cy="60" r="1" fill="%230BD0DB" opacity="0.18"/><circle cx="30" cy="75" r="1.5" fill="%23901146" opacity="0.1"/></svg>') repeat;
  opacity: .4;
  pointer-events: none;
  z-index: 0
}

.learningProgram .pathwayIntro {
  margin: 0 0 48px;
  padding: 0 0 32px;
  border-bottom: 2px solid #0bd0db26;
  position: relative;
  z-index: 1
}

.learningProgram .pathwayIntro .sectionLabel {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #0BD0DB;
  margin: 0 0 16px;
  font-weight: 600
}

.learningProgram .pathwayIntro .introText {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #4A4A4A;
  margin: 0;
  max-width: 780px
}

.learningProgram .cardsGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  position: relative;
  z-index: 1
}

.learningProgram .pathwayCard {
  background: #FFF;
  border: 1px solid #0bd0db33;
  border-radius: 15px;
  padding: 32px 24px;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a 0 10px 44px -2px #0bd0db1c;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .38s ease-in-out;
  position: relative;
  overflow: hidden
}

.learningProgram .pathwayCard::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #0BD0DB 0%, #901146 100%);
  opacity: 0;
  transition: opacity .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.learningProgram .pathwayCard:hover {
  transform: translateY(-8px);
  box-shadow: 0 2px 2px -2px #9011460f 0 7px 20px -2px #9011461a 0 10px 44px -2px #9011461c
}

.learningProgram .pathwayCard:hover::before {
  opacity: 1
}

.learningProgram .cardIcon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, #0bd0db1f 0%, #90114614 100%);
  border-radius: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 24px
}

.learningProgram .cardIcon svg {
  width: 28px;
  height: 28px;
  fill: #0BD0DB
}

.learningProgram .cardTitle {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #2A2A2A;
  margin: 0 0 16px;
  font-weight: 600
}

.learningProgram .cardDescription {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #5A5A5A;
  margin: 0
}

.learningProgram .highlightInline {
  background: #0bd0db2e;
  padding: 2px 6px;
  border-radius: 4px;
  color: #2A2A2A
}

.learningProgram .mentorshipApproach {
  background: linear-gradient(167deg, #F8F9FA 0%, #FDFEFE 100%);
  padding: 96px 24px;
  position: relative;
  animation: backgroundShift 15s linear infinite
}

@keyframes backgroundShift {
  0% {
    background: linear-gradient(167deg, #F8F9FA 0%, #FDFEFE 100%)
  }

  50% {
    background: linear-gradient(167deg, #FDFEFE 0%, #F6F8F9 100%)
  }

  100% {
    background: linear-gradient(167deg, #F8F9FA 0%, #FDFEFE 100%)
  }
}

.learningProgram .mentorshipApproach::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><rect x="0" y="0" width="1" height="1" fill="%230BD0DB" opacity="0.03"/><rect x="100" y="50" width="1" height="1" fill="%23901146" opacity="0.02"/></svg>');
  opacity: .6;
  pointer-events: none
}

.learningProgram .approachContainer {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.learningProgram .approachHeader {
  text-align: center;
  margin: 0 0 64px
}

.learningProgram .approachHeader::before {
  content: '';
  display: block;
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, #0BD0DB 0%, #901146 100%);
  margin: 0 auto 24px;
  border-radius: 4px
}

.learningProgram .approachTitle {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #2A2A2A;
  margin: 0 0 16px
}

.learningProgram .approachSubtext {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #5A5A5A;
  margin: 0;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto
}

.learningProgram .threeColumnLayout {
  display: grid;
  grid-template-columns: 1fr 1.6fr 1fr;
  gap: 32px;
  align-items: start
}

.learningProgram .columnBlock {
  background: #FFF;
  border-radius: 15px;
  padding: 32px 24px;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a 0 10px 44px -2px #0bd0db1c;
  transition: transform .48s cubic-bezier(0.16, 1, 0.3, 1)
}

.learningProgram .columnBlock:hover {
  transform: translateY(-4px)
}

.learningProgram .centerColumn {
  padding: 48px 32px;
  border: 2px solid #0bd0db40
}

.learningProgram .columnTitle {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: #2A2A2A;
  margin: 0 0 16px;
  font-weight: 600
}

.learningProgram .columnText {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #5A5A5A;
  margin: 0 0 16px
}

.learningProgram .columnText:last-child {
  margin-bottom: 0
}

.learningProgram .imageWrapper {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 26px;
  overflow: hidden;
  margin: 0 0 24px
}

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

.learningProgram .testimonialSection {
  padding: 96px 24px;
  background: #FFF;
  position: relative
}

.learningProgram .testimonialSection::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 100" preserveAspectRatio="none"><path d="M0,0 C150,30 350,50 600,40 C850,30 1050,10 1200,20 L1200,0 L0,0 Z" fill="%23F8F9FA"/></svg>') top center no-repeat;
  background-size: 100% 100px;
  pointer-events: none
}

.learningProgram .testimonialContainer {
  max-width: 1170px;
  margin: 0 auto;
  position: relative
}

.learningProgram .testimonialWrapper {
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: center
}

.learningProgram .testimonialContent {
  flex: 1
}

.learningProgram .testimonialLabel {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #901146;
  margin: 0 0 24px;
  font-weight: 600;
  text-transform: uppercase
}

.learningProgram .testimonialQuote {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #3A3A3A;
  margin: 0 0 24px;
  font-style: italic
}

.learningProgram .testimonialAuthor {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px
}

.learningProgram .authorImage {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #0bd0db4d
}

.learningProgram .authorImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top
}

.learningProgram .authorDetails {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.learningProgram .authorName {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #2A2A2A;
  margin: 0;
  font-weight: 600
}

.learningProgram .authorRole {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #6A6A6A;
  margin: 0
}

.learningProgram .testimonialVisual {
  flex-shrink: 0;
  width: 380px
}

.learningProgram .visualImageWrapper {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 42px;
  overflow: hidden;
  box-shadow: 0 2px 2px -2px #9011460f 0 7px 20px -2px #9011461a 0 10px 44px -2px #9011461c;
  position: relative
}

.learningProgram .visualImageWrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 8px solid transparent;
  border-radius: 42px;
  background: linear-gradient(135deg, #0bd0db26 0%, #90114626 100%);
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none
}

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

.learningProgram .contactFormSection {
  background: linear-gradient(167deg, #1A1A1A 0%, #2E2E2E 100%);
  padding: 96px 24px;
  position: relative;
  overflow: hidden
}

.learningProgram .contactFormSection::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -150px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, #0bd0db14 0%, transparent 70%);
  pointer-events: none
}

.learningProgram .contactFormSection::after {
  content: '';
  position: absolute;
  bottom: -180px;
  left: -120px;
  width: 450px;
  height: 450px;
  background: radial-gradient(circle, #9011460f 0%, transparent 70%);
  pointer-events: none
}

.learningProgram .formContainer {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.learningProgram .formHeader {
  text-align: center;
  margin: 0 0 48px
}

.learningProgram .formTitle {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #FFF;
  margin: 0 0 16px
}

.learningProgram .formDescription {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #C8C8C8;
  margin: 0;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto
}

.learningProgram .actualForm {
  max-width: 720px;
  margin: 0 auto;
  background: #ffffff0a;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid #ffffff14;
  border-radius: 26px;
  padding: 48px 32px
}

.learningProgram .formGroup {
  margin: 0 0 24px
}

.learningProgram .formLabel {
  display: block;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #E8E8E8;
  margin: 0 0 8px;
  font-weight: 600
}

.learningProgram .formInput {
  width: 100%;
  padding: 16px;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #2A2A2A;
  background: #FFF;
  border: 1px solid #0bd0db4d;
  border-radius: 9px;
  transition: border-color .38s ease-in-out, box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: inset 0 2px 3px #0bd0db0a
}

.learningProgram .formInput::placeholder {
  color: #0bd0db66
}

.learningProgram .formInput:focus {
  outline: none;
  border-color: #0BD0DB;
  box-shadow: 0 0 0 3px #0bd0db26 inset 0 2px 3px #0bd0db0a
}

.learningProgram .ratingGroup {
  margin: 0 0 24px
}

.learningProgram .ratingLabel {
  display: block;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #E8E8E8;
  margin: 0 0 16px;
  font-weight: 600
}

.learningProgram .ratingOptions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap
}

.learningProgram .ratingOption {
  position: relative
}

.learningProgram .ratingRadio {
  position: absolute;
  opacity: 0;
  pointer-events: none
}

.learningProgram .ratingLabelText {
  display: block;
  padding: 12px 24px;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #E8E8E8;
  background: transparent;
  border: 2px solid #fff3;
  border-radius: 26px;
  cursor: pointer;
  transition: background .38s ease-in-out, border-color .42s cubic-bezier(0.16, 1, 0.3, 1), color .35s ease-in-out
}

.learningProgram .ratingLabelText:hover {
  border-color: #0bd0db80;
  background: #0bd0db14
}

.learningProgram .ratingRadio:checked+.ratingLabelText {
  background: #0BD0DB;
  border-color: #0BD0DB;
  color: #1A1A1A
}

.learningProgram .privacyGroup {
  margin: 0 0 32px;
  display: flex;
  flex-direction: row;
  align-items: start;
  gap: 12px
}

.learningProgram .privacyCheckbox {
  width: 20px;
  height: 20px;
  margin: 4px 0 0;
  cursor: pointer;
  accent-color: #0BD0DB
}

.learningProgram .privacyText {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #C8C8C8;
  margin: 0;
  flex: 1
}

.learningProgram .privacyLink {
  color: #0BD0DB;
  text-decoration: underline;
  transition: color .38s ease-in-out
}

.learningProgram .privacyLink:hover {
  color: #FFF
}

.learningProgram .privacyLink:visited {
  color: #901146
}

.learningProgram .submitButton {
  width: 100%;
  padding: 16px 32px;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #0BD0DB;
  background: transparent;
  border: 2px solid #0BD0DB;
  border-radius: 9px;
  cursor: pointer;
  transition: background .42s cubic-bezier(0.16, 1, 0.3, 1), color .38s ease-in-out, transform .35s ease-in-out;
  font-weight: 600;
  position: relative;
  overflow: hidden
}

.learningProgram .submitButton::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: #0BD0DB;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width .48s cubic-bezier(0.16, 1, 0.3, 1), height .48s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 0
}

.learningProgram .submitButton:hover::before {
  width: 400px;
  height: 400px
}

.learningProgram .submitButton:hover {
  color: #1A1A1A;
  transform: translateY(-2px)
}

.learningProgram .submitButton:active {
  transform: translateY(0)
}

.learningProgram .buttonText {
  position: relative;
  z-index: 1
}

@media (max-width: 1024px) {
  .learningProgram .titleArea {
    padding: 72px 24px 48px
  }

  .learningProgram .mainTitle {
    font-size: 62px
  }

  .learningProgram .threeColumnLayout {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .learningProgram .testimonialWrapper {
    flex-direction: column;
    gap: 32px
  }

  .learningProgram .testimonialVisual {
    width: 100%;
    max-width: 420px
  }
}

@media (max-width: 768px) {
  .learningProgram .titleArea {
    padding: 56px 16px 32px
  }

  .learningProgram .mainTitle {
    font-size: 48px
  }

  .learningProgram .pathwayCards {
    padding: 64px 16px
  }

  .learningProgram .cardsGrid {
    grid-template-columns: 1fr
  }

  .learningProgram .mentorshipApproach {
    padding: 64px 16px
  }

  .learningProgram .approachTitle {
    font-size: 48px
  }

  .learningProgram .testimonialSection {
    padding: 64px 16px
  }

  .learningProgram .contactFormSection {
    padding: 64px 16px
  }

  .learningProgram .formTitle {
    font-size: 48px
  }

  .learningProgram .actualForm {
    padding: 32px 24px
  }

  .learningProgram .ratingOptions {
    flex-direction: column
  }

  .learningProgram .ratingLabelText {
    text-align: center
  }

  .learningProgram .testimonialVisual {
    display: none
  }
}

@media (max-width: 480px) {
  .learningProgram .mainTitle {
    font-size: 38px
  }

  .learningProgram .approachTitle {
    font-size: 38px
  }

  .learningProgram .formTitle {
    font-size: 38px
  }

  .learningProgram .pathwayCard {
    padding: 24px 16px
  }

  .learningProgram .columnBlock {
    padding: 24px 16px
  }

  .learningProgram .actualForm {
    padding: 24px 16px
  }
}

.contactinformation {
  background: #FEFEFE;
  color: #1A1716;
  margin: 0;
  padding: 0
}

.contactinformation .topintroduction {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  max-width: 1170px;
  margin: 0 auto;
  padding: 48px 24px
}

.contactinformation .leftcontent {
  flex: 1 1 60%;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.contactinformation .decorativedots {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  margin: 0 0 8px
}

.contactinformation .decorativedots span {
  width: 8px;
  height: 8px;
  background: linear-gradient(135deg, #0BD0DB 0%, #901146 100%);
  border-radius: 50%;
  opacity: 0;
  animation: dotfadein .45s cubic-bezier(0.16, 1, 0.3, 1) forwards
}

.contactinformation .decorativedots span:nth-child(1) {
  animation-delay: .1s
}

.contactinformation .decorativedots span:nth-child(2) {
  animation-delay: .2s
}

.contactinformation .decorativedots span:nth-child(3) {
  animation-delay: .3s
}

.contactinformation .decorativedots span:nth-child(4) {
  animation-delay: .4s
}

@keyframes dotfadein {
  from {
    opacity: 0;
    transform: scale(0.5)
  }

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

.contactinformation .primaryheading {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0;
  color: #1A1716
}

.contactinformation .problemstatement {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  margin: 0;
  color: #4A4645
}

.contactinformation .solutionstatement {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  margin: 0;
  color: #4A4645
}

.contactinformation .rightimage {
  flex: 0 0 35%;
  display: flex;
  align-items: center;
  justify-content: center
}

.contactinformation .imagecard {
  width: 100%;
  max-width: 380px;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 10px 44px -2px #0911121c;
  opacity: 0;
  animation: imagefadein .55s cubic-bezier(0.16, 1, 0.3, 1) .5s forwards
}

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

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

.contactinformation .imagecard img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block
}

.contactinformation .communicationoptions {
  background: linear-gradient(165deg, #F8FEFF 0%, #FFF9FB 100%);
  padding: 48px 24px;
  position: relative;
  overflow: hidden
}

.contactinformation .communicationoptions::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #0BD0DB 0%, #901146 100%)
}

.contactinformation .communicationwrapper {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 48px
}

.contactinformation .channelheading {
  font-size: 72px;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin: 0;
  color: #1A1716;
  position: relative;
  padding-top: 16px
}

.contactinformation .channelheading::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 4px;
  background: #0BD0DB;
  border-radius: 4px
}

.contactinformation .channelgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px
}

.contactinformation .channelcard {
  background: #FFF;
  border-radius: 15px;
  padding: 24px;
  box-shadow: 0 2px 2px -2px #0911120f 0 7px 20px -2px #0911121a;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  animation: cardpulse 6s ease-in-out infinite
}

@keyframes cardpulse {

  0%,
  100% {
    opacity: 1
  }

  50% {
    opacity: .92
  }
}

.contactinformation .channelcard:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 44px -2px #0911121c
}

.contactinformation .channelicon {
  width: 56px;
  height: 56px;
  border-radius: 9px;
  background: linear-gradient(135deg, #0bd0db1f 0%, #9011461f 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: #0BD0DB
}

.contactinformation .channellabel {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: .005em;
  margin: 0;
  color: #1A1716;
  font-weight: 600
}

.contactinformation .channelvalue {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  margin: 0;
  color: #0BD0DB;
  text-decoration: none;
  transition: color .38s ease-in-out
}

.contactinformation .channelvalue:hover {
  color: #901146
}

.contactinformation .channelvalue:visited {
  color: #7A0E3C
}

.contactinformation .channeldescription {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  margin: 0;
  color: #6A6665
}

.contactinformation .requestsection {
  background: #FFF;
  padding: 48px 24px;
  position: relative
}

.contactinformation .requestsection::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #901146 0%, #0BD0DB 100%)
}

.contactinformation .requestwrapper {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 48px
}

.contactinformation .formsidebar {
  flex: 0 0 220px;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.contactinformation .sidebaritem {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.contactinformation .sidebaricon {
  width: 42px;
  height: 42px;
  border-radius: 42px;
  background: linear-gradient(135deg, #0bd0db26 0%, #90114626 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #901146
}

.contactinformation .sidebarlabel {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .005em;
  margin: 0;
  color: #4A4645;
  font-weight: 500
}

.contactinformation .formcontent {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.contactinformation .formheading {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0;
  color: #1A1716;
  position: relative;
  padding-top: 16px
}

.contactinformation .formheading::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  height: 4px;
  background: #901146;
  border-radius: 4px
}

.contactinformation .formintro {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  margin: 0;
  color: #4A4645
}

.contactinformation .actualform {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.contactinformation .inputgroup {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.contactinformation .inputlabel {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .005em;
  margin: 0;
  color: #1A1716;
  font-weight: 500
}

.contactinformation .textinput {
  width: 100%;
  padding: 16px;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  border: 2px solid #E8E6E5;
  border-radius: 9px;
  background: #FFF;
  color: #1A1716;
  transition: border-color .35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: inset 0 2px 3px #0911120a
}

.contactinformation .textinput::placeholder {
  color: #0bd0db59
}

.contactinformation .textinput:focus {
  outline: none;
  border-color: #0BD0DB;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a
}

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

.contactinformation .timerow {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap
}

.contactinformation .timeoption {
  position: relative
}

.contactinformation .timeoption input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0
}

.contactinformation .timelabel {
  display: inline-block;
  padding: 16px 24px;
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .005em;
  border: 2px solid #E8E6E5;
  border-radius: 42px;
  background: #FFF;
  color: #4A4645;
  cursor: pointer;
  transition: all .4s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none
}

.contactinformation .timeoption input[type="radio"]:checked+.timelabel {
  border-color: #0BD0DB;
  background: linear-gradient(135deg, #0bd0db1f 0%, #9011461f 100%);
  color: #1A1716;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a
}

.contactinformation .timeoption input[type="radio"]:focus+.timelabel {
  outline: 2px solid #0BD0DB;
  outline-offset: 2px
}

.contactinformation .timelabel:hover {
  border-color: #0BD0DB;
  transform: translateY(-2px)
}

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

.contactinformation .privacycheckbox {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: #0BD0DB
}

.contactinformation .privacytext {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  margin: 0;
  color: #4A4645
}

.contactinformation .privacytext a {
  color: #0BD0DB;
  text-decoration: none;
  border-bottom: 1px solid #0BD0DB;
  transition: color .38s ease-in-out, border-color .38s ease-in-out
}

.contactinformation .privacytext a:hover {
  color: #901146;
  border-color: #901146
}

.contactinformation .privacytext a:visited {
  color: #7A0E3C;
  border-color: #7A0E3C
}

.contactinformation .submitbutton {
  align-self: flex-start;
  padding: 16px 48px;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: .005em;
  border: 2px solid #0BD0DB;
  border-radius: 9px;
  background: transparent;
  color: #0BD0DB;
  cursor: pointer;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1);
  font-weight: 600
}

.contactinformation .submitbutton:hover {
  background: #0BD0DB;
  color: #FFF;
  transform: translateY(-2px)
}

.contactinformation .submitbutton:active {
  transform: translateY(0);
  box-shadow: inset 0 2px 4px #0911121f
}

.contactinformation .submitbutton:focus {
  outline: 2px solid #0BD0DB;
  outline-offset: 4px
}

@media (max-width: 1024px) {
  .contactinformation .topintroduction {
    flex-direction: column;
    gap: 24px
  }

  .contactinformation .leftcontent {
    flex: 1 1 100%
  }

  .contactinformation .rightimage {
    flex: 1 1 100%;
    max-width: 100%
  }

  .contactinformation .requestwrapper {
    flex-direction: column;
    gap: 24px
  }

  .contactinformation .formsidebar {
    flex: 1 1 100%;
    flex-direction: row;
    flex-wrap: wrap
  }

  .contactinformation .sidebaritem {
    flex: 1 1 calc(50% - 12px);
    min-width: 200px
  }
}

@media (max-width: 768px) {
  .contactinformation .primaryheading {
    font-size: 48px
  }

  .contactinformation .channelheading {
    font-size: 48px
  }

  .contactinformation .formheading {
    font-size: 48px
  }

  .contactinformation .channelgrid {
    grid-template-columns: 1fr
  }

  .contactinformation .rightimage {
    display: none
  }

  .contactinformation .formsidebar {
    flex-direction: column
  }

  .contactinformation .sidebaritem {
    flex: 1 1 100%
  }
}

@media (max-width: 480px) {
  .contactinformation .topintroduction {
    padding: 24px 16px
  }

  .contactinformation .communicationoptions {
    padding: 24px 16px
  }

  .contactinformation .requestsection {
    padding: 24px 16px
  }

  .contactinformation .primaryheading {
    font-size: 38px
  }

  .contactinformation .channelheading {
    font-size: 38px
  }

  .contactinformation .formheading {
    font-size: 38px
  }

  .contactinformation .timerow {
    flex-direction: column
  }

  .contactinformation .timelabel {
    width: 100%;
    text-align: center
  }
}

.aboutcompany {
  background: #FAFBFC;
  overflow-x: clip
}

.aboutcompany .leadblock {
  background: linear-gradient(162deg, #F8F9FA 0%, #F1F3F5 100%);
  padding: 48px 24px;
  position: relative;
  overflow: hidden
}

.aboutcompany .leadblock::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -80px;
  width: 340px;
  height: 340px;
  background: radial-gradient(circle, #0bd0db14 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none
}

.aboutcompany .leadblock::after {
  content: '';
  position: absolute;
  bottom: -160px;
  left: -100px;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, #9011460f 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none
}

.aboutcompany .leadcontainer {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.aboutcompany .leadtextbox {
  max-width: 780px
}

.aboutcompany .leadheading {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1A1D23;
  margin: 0 0 24px
}

.aboutcompany .leadaccent {
  color: #0BD0DB;
  position: relative;
  display: inline-block
}

.aboutcompany .leadaccent::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 3px;
  background: #0BD0DB
}

.aboutcompany .leadparagraph {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #3E4550;
  margin: 0 0 16px;
  max-width: 680px
}

.aboutcompany .leadparagraph:last-child {
  margin-bottom: 0
}

.aboutcompany .storyblock {
  padding: 48px 24px;
  background: #FFF;
  position: relative
}

.aboutcompany .storyblock::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #0bd0db33 50%, transparent 100%);
  filter: blur(1px);
  box-shadow: 0 2px 8px #0bd0db26
}

.aboutcompany .storycontainer {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 48px
}

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

.aboutcompany .storytext {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.aboutcompany .storytitle {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #1A1D23;
  margin: 0;
  position: relative;
  padding-top: 16px
}

.aboutcompany .storytitle::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 68px;
  height: 3px;
  background: linear-gradient(90deg, #901146 0%, #0BD0DB 100%)
}

.aboutcompany .storycopy {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .005em;
  color: #3E4550;
  margin: 0
}

.aboutcompany .storyvisual {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 15px;
  overflow: hidden;
  border-top: 3px solid #0BD0DB;
  border-bottom: 3px solid #901146;
  box-shadow: 0 7px 20px -2px #0bd0db1a
}

.aboutcompany .storypicture {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.aboutcompany .valuesblock {
  padding: 48px 24px;
  background: linear-gradient(218deg, #F4F5F7 0%, #FAFBFC 100%);
  position: relative
}

.aboutcompany .valuesblock::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 85%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #9011462e 50%, transparent 100%);
  filter: blur(1.5px);
  box-shadow: 0 -2px 10px #9011461f
}

.aboutcompany .valuesblock::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, #0bd0db04 2px, #0bd0db04 4px), repeating-linear-gradient(90deg, transparent, transparent 2px, #90114604 2px, #90114604 4px);
  pointer-events: none;
  opacity: .6
}

.aboutcompany .valuescontainer {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.aboutcompany .valuesheader {
  margin: 0 0 48px
}

.aboutcompany .valuestitle {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.015em;
  color: #1A1D23;
  margin: 0
}

.aboutcompany .valuesgrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.aboutcompany .valuecard {
  background: #FFF;
  padding: 24px;
  border-radius: 26px;
  border-top: 2px solid #0BD0DB;
  border-bottom: 2px solid #901146;
  position: relative;
  transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 2px -2px #0bd0db0f
}

.aboutcompany .valuecard:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 44px -2px #0bd0db1c
}

.aboutcompany .valueiconbox {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0bd0db14 0%, #90114614 100%);
  border-radius: 9px;
  margin: 0 0 16px
}

.aboutcompany .valueicon {
  width: 28px;
  height: 28px
}

.aboutcompany .valueicon circle {
  fill: none;
  stroke: #0BD0DB;
  stroke-width: 2;
  stroke-linecap: round
}

.aboutcompany .valueicon path {
  fill: none;
  stroke: #901146;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round
}

.aboutcompany .valuename {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: .005em;
  color: #1A1D23;
  margin: 0 0 8px;
  font-weight: 600
}

.aboutcompany .valuedescription {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .005em;
  color: #3E4550;
  margin: 0
}

.aboutcompany .teamblock {
  padding: 48px 24px;
  background: #FFF;
  position: relative;
  overflow: hidden
}

.aboutcompany .teambackground {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0
}

.aboutcompany .teamgradient {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(248deg, #0bd0db08 0%, transparent 40%);
  animation: teamgradientshift 18s ease-in-out infinite
}

.aboutcompany .teamsecondary {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(112deg, transparent 60%, #9011460a 100%);
  animation: teamsecondaryshift 24s ease-in-out infinite
}

@keyframes teamgradientshift {

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

  50% {
    transform: translate(3%, -2%) scale(1.05);
    opacity: .8
  }
}

@keyframes teamsecondaryshift {

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

  50% {
    transform: translate(-2%, 3%) scale(1.08);
    opacity: .7
  }
}

.aboutcompany .teamcontainer {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
  z-index: 1
}

.aboutcompany .teamheader {
  margin: 0 0 48px;
  position: relative;
  padding-top: 16px
}

.aboutcompany .teamheader::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 94px;
  height: 3px;
  background: linear-gradient(90deg, #0BD0DB 0%, #901146 100%)
}

.aboutcompany .teamtitle {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1A1D23;
  margin: 0
}

.aboutcompany .teamlayout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px
}

.aboutcompany .teamstats {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.aboutcompany .statrow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.aboutcompany .statcard {
  background: linear-gradient(135deg, #F8F9FA 0%, #F1F3F5 100%);
  padding: 24px;
  border-radius: 15px;
  position: relative;
  overflow: hidden;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
  transition: border-color .48s cubic-bezier(0.16, 1, 0.3, 1)
}

.aboutcompany .statcard:hover {
  border-top-color: #0BD0DB;
  border-bottom-color: #901146
}

.aboutcompany .statvalue {
  font-size: 72px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #1A1D23;
  margin: 0 0 8px;
  background: linear-gradient(135deg, #0BD0DB 0%, #901146 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 600
}

.aboutcompany .statlabel {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .005em;
  color: #3E4550;
  margin: 0
}

.aboutcompany .teamcontent {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.aboutcompany .teamtext {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .005em;
  color: #3E4550;
  margin: 0
}

.aboutcompany .teamindicator {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: linear-gradient(135deg, #0bd0db0d 0%, #9011460d 100%);
  border-radius: 9px;
  border-left: 0;
  position: relative
}

.aboutcompany .teamindicator::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 60%;
  background: linear-gradient(180deg, #0BD0DB 0%, #901146 100%);
  border-radius: 0 4px 4px 0
}

.aboutcompany .indicatorshape {
  width: 42px;
  height: 42px;
  flex-shrink: 0
}

.aboutcompany .indicatorshape circle {
  fill: none;
  stroke: #0BD0DB;
  stroke-width: 2.5
}

.aboutcompany .indicatorshape path {
  fill: #901146
}

.aboutcompany .indicatortext {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .005em;
  color: #1A1D23;
  margin: 0;
  font-weight: 500
}

.aboutcompany .profilesblock {
  padding: 48px 24px;
  background: linear-gradient(195deg, #F1F3F5 0%, #F8F9FA 100%)
}

.aboutcompany .profilescontainer {
  max-width: 1170px;
  margin: 0 auto
}

.aboutcompany .profilesgrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px
}

.aboutcompany .profilecard {
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: #FFF;
  padding: 24px;
  border-radius: 26px;
  border-top: 2px solid #0BD0DB;
  border-bottom: 2px solid #901146;
  box-shadow: 0 2px 2px -2px #9011460f;
  transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.aboutcompany .profilecard:hover {
  box-shadow: 0 10px 44px -2px #9011461c;
  transform: translateY(-2px)
}

.aboutcompany .profileimage {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 15px;
  overflow: hidden;
  position: relative
}

.aboutcompany .profilepicture {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block
}

.aboutcompany .profiledetails {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.aboutcompany .profilename {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: .005em;
  color: #1A1D23;
  margin: 0;
  font-weight: 600
}

.aboutcompany .profilerole {
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: .005em;
  color: #0BD0DB;
  margin: 0
}

.aboutcompany .profilebio {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .005em;
  color: #3E4550;
  margin: 0
}

@media (min-width: 768px) {
  .aboutcompany .leadblock {
    padding: 48px
  }

  .aboutcompany .leadheading {
    font-size: 72px
  }

  .aboutcompany .storyblock {
    padding: 48px
  }

  .aboutcompany .storylayout {
    grid-template-columns: 1fr 1fr;
    gap: 48px
  }

  .aboutcompany .storytitle {
    font-size: 72px
  }

  .aboutcompany .valuesblock {
    padding: 48px
  }

  .aboutcompany .valuestitle {
    font-size: 72px
  }

  .aboutcompany .valuesgrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px
  }

  .aboutcompany .teamblock {
    padding: 48px
  }

  .aboutcompany .teamtitle {
    font-size: 72px
  }

  .aboutcompany .teamlayout {
    grid-template-columns: 1fr 1fr;
    gap: 48px
  }

  .aboutcompany .profilesblock {
    padding: 48px
  }

  .aboutcompany .profilesgrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px
  }

  .aboutcompany .profilecard {
    flex-direction: row;
    align-items: start
  }

  .aboutcompany .profileimage {
    width: 220px;
    flex-shrink: 0
  }
}

@media (min-width: 1024px) {
  .aboutcompany .valuesgrid {
    grid-template-columns: repeat(3, 1fr)
  }
}

.successconfirmation {
  background: linear-gradient(168deg, #f8f9fa 0%, #e9ecef 100%);
  min-height: 100vh;
  padding: 48px 16px
}

.successconfirmation .confirmationwrapper {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px
}

.successconfirmation .statusvisual {
  width: 180px;
  height: 180px;
  background: #FFF;
  border-radius: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 2px -2px #0bd0db0f 0 7px 20px -2px #0bd0db1a 0 10px 44px -2px #0bd0db1c;
  position: relative;
  overflow: hidden
}

.successconfirmation .checkmarkshape {
  width: 88px;
  height: 88px;
  border: 6px solid #0BD0DB;
  border-radius: 50%;
  position: relative;
  animation: scalepulse .48s cubic-bezier(0.16, 1, 0.3, 1) forwards
}

.successconfirmation .checkmarkshape::after {
  content: '';
  position: absolute;
  left: 24px;
  top: 12px;
  width: 18px;
  height: 36px;
  border: solid #0BD0DB;
  border-width: 0 6px 6px 0;
  transform: rotate(45deg);
  animation: drawcheck .52s cubic-bezier(0.16, 1, 0.3, 1) .2s forwards;
  opacity: 0
}

@keyframes scalepulse {
  0% {
    transform: scale(0.4);
    opacity: 0
  }

  100% {
    transform: scale(1);
    opacity: 1
  }
}

@keyframes drawcheck {
  0% {
    height: 0;
    opacity: 0
  }

  100% {
    height: 36px;
    opacity: 1
  }
}

.successconfirmation .messagebox {
  background: #FFF;
  border-radius: 26px;
  padding: 48px 24px;
  text-align: center;
  max-width: 680px;
  box-shadow: 0 2px 2px -2px #9011460f 0 7px 20px -2px #9011461a 0 10px 44px -2px #9011461c
}

.successconfirmation .primaryheading {
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: #1a1a2e;
  margin: 0 0 24px
}

.successconfirmation .descriptiontext {
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #4a4a5e;
  margin: 0 0 16px
}

.successconfirmation .detailnote {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #6a6a7e;
  margin: 0
}

.successconfirmation .actionarea {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center
}

.successconfirmation .primaryaction {
  background: transparent;
  color: #0BD0DB;
  border: 2px solid #0BD0DB;
  padding: 16px 48px;
  border-radius: 9px;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: .01em;
  cursor: pointer;
  transition: background .42s cubic-bezier(0.16, 1, 0.3, 1), color .38s ease-in-out;
  text-decoration: none;
  display: inline-block
}

.successconfirmation .primaryaction:hover {
  background: #0BD0DB;
  color: #FFF
}

.successconfirmation .secondaryaction {
  background: transparent;
  color: #901146;
  border: 2px solid #901146;
  padding: 16px 48px;
  border-radius: 9px;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: .01em;
  cursor: pointer;
  transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .41s ease-in-out;
  text-decoration: none;
  display: inline-block
}

.successconfirmation .secondaryaction:hover {
  background: #901146;
  color: #FFF
}

.successconfirmation .infoblock {
  background: #f8f9fa;
  border-radius: 15px;
  padding: 24px;
  max-width: 680px;
  margin: 0 auto
}

.successconfirmation .infotitle {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #2a2a3e;
  margin: 0 0 16px;
  font-weight: 600
}

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

.successconfirmation .infoitem {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: #4a4a5e;
  padding: 0 0 0 24px;
  position: relative
}

.successconfirmation .infoitem::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background: #0BD0DB;
  border-radius: 50%
}

@media (max-width: 768px) {
  .successconfirmation {
    padding: 24px 16px
  }

  .successconfirmation .confirmationwrapper {
    gap: 24px
  }

  .successconfirmation .statusvisual {
    width: 140px;
    height: 140px
  }

  .successconfirmation .checkmarkshape {
    width: 68px;
    height: 68px;
    border-width: 5px
  }

  .successconfirmation .checkmarkshape::after {
    left: 18px;
    top: 8px;
    width: 14px;
    height: 28px;
    border-width: 0 5px 5px 0
  }

  @keyframes drawcheck {
    0% {
      height: 0;
      opacity: 0
    }

    100% {
      height: 28px;
      opacity: 1
    }
  }

  .successconfirmation .messagebox {
    padding: 24px 16px
  }

  .successconfirmation .primaryheading {
    font-size: 48px
  }

  .successconfirmation .actionarea {
    width: 100%
  }

  .successconfirmation .primaryaction,
  .successconfirmation .secondaryaction {
    width: 100%;
    padding: 16px 24px
  }
}