html,
body {
    margin: 0;
    padding: 0
}

body {
    overscroll-behavior: contain;
    overflow-x: hidden;
    font-family: 'Lato', 'Oxygen', sans-serif
}

.site-header {
    position: relative;
    background: linear-gradient(135deg, #071e23 0%, #0d3540 55%, #0B6D7E 100%);
    border-bottom: 2px solid #EF618D;
    box-shadow: 0 4px 20px -1px #ef618d14 0 12px 60px -1px #ef618d1a;
    z-index: 100
}

.header-top-bar {
    background: #0b6d7e2e;
    border-bottom: 1px solid #ef618d26;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 1400px;
    margin: 0 auto
}

.header-contact-link {
    font-family: 'Oxygen', sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: #ffffffb8;
    text-decoration: none;
    letter-spacing: .03em;
    transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.header-contact-link:hover {
    color: #EF618D
}

.header-contact-link+.header-contact-link {
    margin-left: 24px
}

.header-body {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 24px 0;
    display: flex;
    align-items: flex-end;
    gap: 48px
}

.logo-container {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding: 8px;
    border-radius: 10px;
    box-shadow: inset 0 1px 2px #ef618d1f 0 3px 2px -1px #0b6d7e0d;
    background: #ffffff0f;
    border: 1px solid #ffffff24;
    margin-bottom: 12px;
    text-decoration: none
}

.logo-container img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block
}

.brand-label {
    font-family: 'Oxygen', sans-serif;
    font-size: 19px;
    line-height: 1.15;
    font-weight: 700;
    color: #FFF;
    letter-spacing: .06em;
    margin-left: 12px
}

.primary-nav {
    flex: 1;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 4px
}

.nav-link-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 400;
    color: #ffffffc7;
    text-decoration: none;
    border-radius: 10px 10px 0 0;
    border: 1px solid transparent;
    border-bottom: none;
    letter-spacing: .02em;
    position: relative;
    transition: color .42s cubic-bezier(0.34, 1.2, 0.64, 1), background .42s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.nav-link-item:hover {
    color: #FFF;
    background: #ef618d1a;
    border-color: #ef618d40
}

.nav-link-item.active {
    color: #FFF;
    background: #0b6d7e47;
    border-color: #ef618d59
}

.nav-link-item.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: #EF618D;
    border-radius: 0
}

.nav-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    opacity: .75
}

.nav-link-item:hover .nav-icon,
.nav-link-item.active .nav-icon {
    opacity: 1
}

@media (max-width: 768px) {
    .header-top-bar {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px
    }

    .header-body {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 24px 24px 0
    }

    .logo-container {
        margin-bottom: 0
    }

    .primary-nav {
        width: 100%;
        gap: 4px
    }

    .nav-link-item {
        padding: 12px;
        font-size: 15px;
        border-radius: 6px 6px 0 0
    }
}

.site-footer {
    background: linear-gradient(180deg, #071e23 0%, #040f12 100%);
    border-top: 1px solid #ef618d38
}

.footer-upper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 48px 24px 24px;
    border-bottom: 1px solid #ffffff14
}

.footer-brand-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 48px
}

.footer-logo-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-radius: 10px;
    background: #ffffff0d;
    border: 1px solid #ffffff1f;
    box-shadow: inset 0 1px 2px #0b6d7e26 0 3px 2px -1px #0b6d7e0d;
    margin-bottom: 12px
}

.footer-logo-container img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block
}

.footer-brand-name {
    font-family: 'Oxygen', sans-serif;
    font-size: 19px;
    line-height: 1.15;
    font-weight: 700;
    color: #FFF;
    letter-spacing: .06em;
    margin-bottom: 8px
}

.footer-tagline {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: #ffffff80;
    letter-spacing: .04em
}

.footer-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
    justify-content: space-between
}

.footer-column {
    flex: 1;
    min-width: 180px
}

.footer-column-label {
    font-family: 'Oxygen', sans-serif;
    font-size: 15px;
    line-height: 1.15;
    font-weight: 700;
    color: #EF618D;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ef618d33
}

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

.footer-link-list li a {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: #ffffffa6;
    text-decoration: none;
    transition: color .38s ease-in-out
}

.footer-link-list li a:hover {
    color: #FFF
}

.footer-contact-detail {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #ffffff94;
    margin-bottom: 8px
}

.footer-contact-detail a {
    color: #ffffffa6;
    text-decoration: none;
    transition: color .38s ease-in-out
}

.footer-contact-detail a:hover {
    color: #EF618D
}

.footer-messaging-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px
}

.messaging-link {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: #ffffffa6;
    text-decoration: none;
    padding: 4px 12px;
    border-radius: 6px;
    border: 1px solid #ffffff1f;
    transition: color .35s ease-in-out, border-color .35s ease-in-out
}

.messaging-link:hover {
    color: #FFF;
    border-color: #ef618d66
}

.footer-lower {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

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

.footer-legal-links li a {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: #ffffff73;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .38s ease-in-out
}

.footer-legal-links li a:hover {
    color: #fffc
}

.footer-copy {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: #ffffff59
}

@media (max-width: 768px) {
    .footer-columns {
        flex-direction: column;
        gap: 24px
    }

    .footer-lower {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }
}

@media (prefers-reduced-motion: reduce) {

    .nav-link-item,
    .header-contact-link,
    .footer-link-list li a,
    .footer-contact-detail a,
    .messaging-link,
    .footer-legal-links li a {
        transition: none
    }
}

.nav-link-item:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #ef618d8c
}

.header-contact-link:focus-visible,
.footer-link-list li a:focus-visible,
.footer-contact-detail a:focus-visible,
.messaging-link:focus-visible,
.footer-legal-links li a:focus-visible,
.logo-container:focus-visible,
.footer-logo-container:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #ef618d8c;
    border-radius: 6px
}

.info-doc {
    max-width: 1400px;
    margin: 0 auto;
    padding: 96px 48px;
    background: #0d1b2a;
    color: #c8d8e8;
    line-height: 1.7;
    font-size: 15px
}

.info-doc h1 {
    font-size: 58px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #fff;
    margin: 0 0 48px;
    padding-bottom: 24px;
    border-bottom: 2px solid #0B6D7E
}

.info-doc h2 {
    font-size: 43px;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: #fff;
    margin: 96px 0 24px
}

.info-doc h3 {
    font-size: 19px;
    line-height: 1.45;
    letter-spacing: .01em;
    color: #EF618D;
    margin: 48px 0 12px
}

.info-doc h4 {
    font-size: 19px;
    line-height: 1.45;
    letter-spacing: .02em;
    color: #c8d8e8;
    margin: 24px 0 8px
}

.info-doc h5 {
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #0B6D7E;
    margin: 24px 0 8px
}

.info-doc h6 {
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: .04em;
    color: #8fa8bc;
    margin: 24px 0 8px
}

.info-doc p {
    font-size: 15px;
    line-height: 1.7;
    color: #c8d8e8;
    margin: 0 0 24px;
    max-width: 72ch
}

.info-doc ul,
.info-doc ol {
    margin: 0 0 24px;
    padding-left: 24px;
    max-width: 72ch
}

.info-doc ul {
    list-style: none;
    padding-left: 0
}

.info-doc ul li {
    padding-left: 24px;
    position: relative
}

.info-doc ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    border-radius: 0;
    background: #EF618D;
    transform: rotate(45deg)
}

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

.info-doc ol li {
    padding-left: 8px
}

.info-doc ol li::marker {
    color: #EF618D;
    font-size: 15px
}

.info-doc li {
    font-size: 15px;
    line-height: 1.7;
    color: #c8d8e8;
    margin-bottom: 8px
}

.info-doc li:last-child {
    margin-bottom: 0
}

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

.info-doc strong,
.info-doc b {
    font-weight: 700;
    color: #fff
}

.info-doc em,
.info-doc i {
    font-style: italic;
    color: #b8ccdc
}

.info-doc a {
    color: #EF618D;
    text-decoration: underline;
    text-decoration-color: #ef618d66;
    text-underline-offset: 3px;
    transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.info-doc a:hover {
    color: #f58db0;
    text-decoration-color: #f58db0cc
}

.info-doc a:visited {
    color: #c94e7a;
    text-decoration-color: #c94e7a66
}

.info-doc table {
    width: 100%;
    border-collapse: collapse;
    margin: 48px 0;
    font-size: 15px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 20px -1px #0b6d7e14
}

.info-doc thead {
    background: #0B6D7E
}

.info-doc thead tr {
    border-bottom: none
}

.info-doc tbody {
    background: #123
}

.info-doc tbody tr {
    border-bottom: 1px solid #0b6d7e33;
    transition: background .35s ease-in-out
}

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

.info-doc tbody tr:hover {
    background: #162d40
}

.info-doc th {
    padding: 12px 24px;
    text-align: left;
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #fff;
    font-weight: 700
}

.info-doc td {
    padding: 12px 24px;
    font-size: 15px;
    line-height: 1.7;
    color: #c8d8e8;
    vertical-align: top
}

@media (max-width: 768px) {
    .info-doc {
        padding: 48px 24px
    }

    .info-doc h1 {
        font-size: 43px
    }

    .info-doc h2 {
        font-size: 19px;
        margin-top: 48px
    }

    .info-doc h3 {
        font-size: 15px
    }

    .info-doc table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 24px 0
    }

    .info-doc th,
    .info-doc td {
        padding: 12px;
        white-space: nowrap
    }

    .info-doc p,
    .info-doc ul,
    .info-doc ol {
        max-width: 100%
    }
}

.learning-program_detail {
    background: #0e1117;
    color: #d8dde8;
    overflow-x: hidden
}

.learning-program_detail .page-grid {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px
}

.learning-program_detail .title-block {
    padding: 96px 0 48px
}

.learning-program_detail .title-block .page-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start
}

.learning-program_detail .image-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    opacity: .72;
    box-shadow: 0 4px 20px -1px #ef618d14;
    padding: 0
}

.learning-program_detail .image-card img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    border-radius: 18px
}

.learning-program_detail .text-zone {
    padding: 24px 48px 24px 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learning-program_detail .program-label {
    display: inline-block;
    font-size: 15px;
    letter-spacing: .12em;
    color: #EF618D;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.15
}

.learning-program_detail .main-heading {
    font-size: 58px;
    line-height: 1.15;
    font-weight: 800;
    color: #f0f3f8;
    margin: 0;
    word-break: break-word
}

.learning-program_detail .main-heading .dot-accent {
    display: inline-block;
    width: 10px;
    height: 10px;
    background: #EF618D;
    border-radius: 50%;
    margin-left: 8px;
    vertical-align: middle;
    position: relative;
    top: -6px
}

.learning-program_detail .sub-description {
    font-size: 19px;
    line-height: 1.7;
    color: #a8b2c4;
    margin: 0
}

.learning-program_detail .price-badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(128deg, #0b6d7e38 0%, #ef618d1f 100%);
    border: 1px solid #ef618d47;
    border-radius: 10px;
    padding: 12px 24px;
    width: fit-content
}

.learning-program_detail .price-label {
    font-size: 15px;
    color: #7b8799;
    letter-spacing: .08em
}

.learning-program_detail .price-value {
    font-size: 43px;
    font-weight: 800;
    line-height: 1.15;
    color: #EF618D
}

.learning-program_detail .action-row {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap
}

.learning-program_detail .btn-primary {
    display: inline-block;
    padding: 12px 48px;
    background: #EF618D;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none;
    border: 2px solid #EF618D;
    cursor: pointer;
    transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1);
    box-shadow: 0 3px 2px -1px #ef618d0d
}

.learning-program_detail .btn-primary:hover {
    border-color: #fff
}

.learning-program_detail .btn-ghost {
    display: inline-block;
    padding: 12px 24px;
    background: transparent;
    color: #a8b2c4;
    font-size: 15px;
    font-weight: 500;
    border-radius: 10px;
    text-decoration: none;
    border: 2px solid #a8b2c447;
    cursor: pointer;
    transition: border-color .42s ease-in-out
}

.learning-program_detail .btn-ghost:hover {
    border-color: #EF618D;
    color: #EF618D
}

.learning-program_detail .geo-divider {
    width: 100%;
    height: 18px;
    display: flex;
    flex-direction: row;
    overflow: hidden
}

.learning-program_detail .geo-divider span {
    flex: 1;
    height: 100%;
    background: repeating-linear-gradient(90deg, #ef618d2e 0px, #ef618d2e 6px, transparent 6px, transparent 18px)
}

.learning-program_detail .geo-divider.secondary span {
    background: repeating-linear-gradient(90deg, #0b6d7e38 0px, #0b6d7e38 4px, transparent 4px, transparent 14px)
}

.learning-program_detail .program-block {
    padding: 96px 0 48px;
    background: #111520;
    position: relative
}

.learning-program_detail .program-block .circles-deco {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 260px;
    height: 260px;
    pointer-events: none;
    overflow: hidden;
    border-radius: 50%
}

.learning-program_detail .program-block .circles-deco::before,
.learning-program_detail .program-block .circles-deco::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid #0b6d7e1f
}

.learning-program_detail .program-block .circles-deco::before {
    width: 220px;
    height: 220px;
    top: 20px;
    right: 20px
}

.learning-program_detail .program-block .circles-deco::after {
    width: 160px;
    height: 160px;
    top: 50px;
    right: 50px
}

.learning-program_detail .program-inner {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start
}

.learning-program_detail .program-sidebar {
    position: sticky;
    top: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learning-program_detail .sidebar-heading {
    font-size: 43px;
    font-weight: 800;
    line-height: 1.15;
    color: #f0f3f8;
    margin: 0
}

.learning-program_detail .sidebar-heading .dot-accent {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #0B6D7E;
    border-radius: 50%;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -4px
}

.learning-program_detail .stat-fact {
    background: linear-gradient(135deg, #0b6d7e2e 0%, #ef618d14 100%);
    border-radius: 18px;
    padding: 24px;
    border: 1px solid #0b6d7e38;
    box-shadow: 0 12px 60px -1px #0b6d7e1a
}

.learning-program_detail .stat-number {
    font-size: 43px;
    font-weight: 800;
    line-height: 1.15;
    background: linear-gradient(128deg, #EF618D 30%, #0B6D7E 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block
}

.learning-program_detail .stat-explain {
    font-size: 15px;
    line-height: 1.45;
    color: #7b8799;
    margin: 8px 0 0
}

.learning-program_detail .program-body {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.learning-program_detail .program-body p {
    font-size: 19px;
    line-height: 1.7;
    color: #c0c9d8;
    margin: 0
}

.learning-program_detail .program-body h2 {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 700;
    color: #f0f3f8;
    margin: 24px 0 8px
}

.learning-program_detail .program-body strong {
    color: #EF618D;
    font-weight: 600
}

.learning-program_detail .program-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learning-program_detail .program-body ul li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 19px;
    line-height: 1.7;
    color: #c0c9d8
}

.learning-program_detail .program-body ul li::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 4px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8' fill='none' stroke='%230B6D7E' stroke-width='1.5'/%3E%3Cpath d='M5 9l3 3 5-5' stroke='%23EF618D' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat
}

.learning-program_detail .program-body blockquote {
    margin: 12px 0;
    padding: 24px;
    background: #ef618d12;
    border-radius: 10px;
    border-top: 3px solid #EF618D;
    font-size: 19px;
    line-height: 1.7;
    color: #d0d8e8;
    font-style: italic
}

.learning-program_detail .description-block {
    padding: 48px 0 96px;
    background: #0e1117;
    position: relative
}

.learning-program_detail .description-block .bg-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #0b6d7e0f 0%, #ef618d0a 100%);
    pointer-events: none
}

.learning-program_detail .description-inner {
    display: flex;
    flex-direction: column;
    gap: 48px;
    position: relative
}

.learning-program_detail .description-top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    align-items: start
}

.learning-program_detail .desc-heading {
    font-size: 43px;
    font-weight: 800;
    line-height: 1.15;
    color: #f0f3f8;
    margin: 0 0 24px;
    text-align: center
}

.learning-program_detail .desc-heading .dot-accent {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #EF618D;
    border-radius: 50%;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -4px
}

.learning-program_detail .desc-body {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.learning-program_detail .desc-body p {
    font-size: 19px;
    line-height: 1.7;
    color: #c0c9d8;
    margin: 0;
    text-align: left
}

.learning-program_detail .desc-body h2 {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 700;
    color: #f0f3f8;
    margin: 24px 0 8px;
    text-align: left
}

.learning-program_detail .desc-body strong,
.learning-program_detail .desc-body cite {
    color: #EF618D;
    font-style: normal;
    font-weight: 600
}

.learning-program_detail .desc-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learning-program_detail .desc-body ul li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 19px;
    line-height: 1.7;
    color: #c0c9d8
}

.learning-program_detail .desc-body ul li::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 4px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpolygon points='9,2 11.5,7 17,7.5 13,11.5 14.5,17 9,14 3.5,17 5,11.5 1,7.5 6.5,7' fill='none' stroke='%23EF618D' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat
}

.learning-program_detail .desc-body dl {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learning-program_detail .desc-body dt {
    font-size: 15px;
    font-weight: 700;
    color: #EF618D;
    letter-spacing: .08em;
    text-transform: uppercase
}

.learning-program_detail .desc-body dd {
    font-size: 19px;
    line-height: 1.7;
    color: #c0c9d8;
    margin: 0 0 8px
}

.learning-program_detail .desc-body blockquote {
    margin: 12px 0;
    padding: 24px;
    background: #0b6d7e1a;
    border-radius: 10px;
    border-top: 3px solid #0B6D7E;
    font-size: 19px;
    line-height: 1.7;
    color: #d0d8e8;
    font-style: italic
}

.learning-program_detail .aside-panel {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learning-program_detail .enroll-card {
    background: linear-gradient(148deg, #ef618d21 0%, #0b6d7e21 100%);
    border-radius: 18px;
    padding: 24px;
    border: 1px solid #ef618d38;
    box-shadow: 0 12px 60px -1px #ef618d1a;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.learning-program_detail .enroll-card .card-label {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #7b8799
}

.learning-program_detail .enroll-card .card-price {
    font-size: 43px;
    font-weight: 800;
    line-height: 1.15;
    color: #EF618D
}

.learning-program_detail .enroll-card .btn-primary {
    width: 100%;
    text-align: center;
    box-sizing: border-box
}

.learning-program_detail .report-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #7b8799;
    text-decoration: none;
    border: 1px solid #78879938;
    border-radius: 6px;
    padding: 8px 12px;
    transition: border-color .4s ease-in-out, color .4s ease-in-out;
    width: fit-content
}

.learning-program_detail .report-link:hover {
    border-color: #EF618D;
    color: #EF618D
}

.learning-program_detail .report-link svg {
    flex-shrink: 0
}

@keyframes slide-from-left {
    from {
        opacity: 0;
        transform: translateX(-32px)
    }

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

@keyframes slide-from-right {
    from {
        opacity: 0;
        transform: translateX(32px)
    }

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

.learning-program_detail .anim-left {
    animation: slide-from-left .45s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.learning-program_detail .anim-right {
    animation: slide-from-right .38s cubic-bezier(0.34, 1.2, 0.64, 1) .08s both
}

.learning-program_detail .program-body ul li {
    position: relative;
    padding-bottom: 4px
}

.learning-program_detail .program-body ul li::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0;
    background: #EF618D;
    border-radius: 0;
    transition: width .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.learning-program_detail .program-body ul li:hover::after {
    width: 100%
}

@media (max-width: 900px) {
    .learning-program_detail .title-block .page-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .learning-program_detail .text-zone {
        padding: 0
    }

    .learning-program_detail .main-heading {
        font-size: 43px
    }

    .learning-program_detail .program-inner {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .learning-program_detail .program-sidebar {
        position: static
    }

    .learning-program_detail .description-top {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .learning-program_detail .image-card img {
        height: 220px
    }
}

@media (max-width: 600px) {
    .learning-program_detail .main-heading {
        font-size: 43px
    }

    .learning-program_detail .price-value {
        font-size: 43px
    }

    .learning-program_detail .action-row {
        flex-direction: column;
        align-items: stretch
    }

    .learning-program_detail .btn-primary,
    .learning-program_detail .btn-ghost {
        text-align: center
    }
}

@media print {
    .learning-program_detail {
        background: #fff !important;
        color: #111 !important
    }

    .learning-program_detail .program-block {
        background: #fff !important
    }

    .learning-program_detail .description-block {
        background: #fff !important
    }

    .learning-program_detail .geo-divider,
    .learning-program_detail .circles-deco,
    .learning-program_detail .bg-overlay,
    .learning-program_detail .report-link,
    .learning-program_detail .action-row {
        display: none !important
    }

    .learning-program_detail .main-heading,
    .learning-program_detail .sidebar-heading,
    .learning-program_detail .desc-heading {
        color: #111 !important;
        -webkit-text-fill-color: #111 !important
    }

    .learning-program_detail .sub-description,
    .learning-program_detail .program-body p,
    .learning-program_detail .desc-body p,
    .learning-program_detail .desc-body dd {
        color: #333 !important
    }

    .learning-program_detail .price-badge {
        border: 1px solid #ccc !important;
        background: none !important
    }

    .learning-program_detail .price-value {
        color: #111 !important
    }

    .learning-program_detail .enroll-card {
        border: 1px solid #ccc !important;
        background: none !important;
        box-shadow: none !important
    }

    .learning-program_detail .stat-fact {
        border: 1px solid #ccc !important;
        background: none !important;
        box-shadow: none !important
    }

    .learning-program_detail .stat-number {
        -webkit-text-fill-color: #111 !important;
        background: none !important;
        color: #111 !important
    }

    .learning-program_detail .title-block .page-grid,
    .learning-program_detail .program-inner,
    .learning-program_detail .description-top {
        grid-template-columns: 1fr !important
    }

    .learning-program_detail .image-card {
        opacity: 1 !important
    }

    .learning-program_detail .program-body blockquote,
    .learning-program_detail .desc-body blockquote {
        border-top: 2px solid #111 !important;
        background: #f4f4f4 !important;
        color: #333 !important
    }

    .learning-program_detail .program-body ul li,
    .learning-program_detail .desc-body ul li {
        color: #333 !important
    }

    .learning-program_detail .program-body strong,
    .learning-program_detail .desc-body strong,
    .learning-program_detail .desc-body cite {
        color: #111 !important
    }

    .learning-program_detail .program-label,
    .learning-program_detail .card-label {
        color: #555 !important
    }

    .learning-program_detail .desc-body dt {
        color: #111 !important
    }

    .learning-program_detail .aside-panel {
        display: none !important
    }

    .learning-program_detail .description-top {
        display: block !important
    }

    @page {
        margin: 2cm
    }
}

.innovation {
    background: #0e1a1d;
    color: #d4e8ec;
    overflow-x: hidden;
    position: relative
}

.innovation .page-cap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px
}

.innovation .accent {
    color: #EF618D
}

.innovation .dot-accent {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #EF618D;
    margin-left: 8px;
    vertical-align: middle;
    position: relative;
    top: -2px
}

.innovation .svg-bullet {
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px
}

.innovation .list-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px
}

.innovation .list-item-text {
    font-size: 15px;
    line-height: 1.7;
    color: #b0cdd4
}

.innovation .list-item-text strong {
    color: #d4e8ec
}

.innovation .title-block {
    background: linear-gradient(162deg, #0e1a1d 0%, #0d2a32 55%, #1a1030 100%);
    padding: 96px 24px 48px;
    position: relative
}

.innovation .title-block::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #EF618D 40%, #0B6D7E 80%, transparent)
}

.innovation .title-band {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #0B6D7E, transparent 60%)
}

.innovation .title-bracket-left,
.innovation .title-bracket-right {
    position: absolute;
    top: 48px;
    font-size: 58px;
    line-height: 1.15;
    color: #EF618D;
    opacity: .18;
    pointer-events: none;
    user-select: none;
    font-weight: 700
}

.innovation .title-bracket-left {
    left: 24px
}

.innovation .title-bracket-right {
    right: 24px
}

.innovation .title-eyebrow {
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #EF618D;
    text-align: center;
    margin-bottom: 24px
}

.innovation .title-heading {
    font-size: 58px;
    line-height: 1.15;
    font-weight: 800;
    text-align: center;
    margin: 0 0 24px;
    color: #d4e8ec
}

.innovation .title-heading .word-accent {
    background: linear-gradient(135deg, #EF618D 0%, #c44d78 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.innovation .title-sub {
    font-size: 19px;
    line-height: 1.7;
    color: #8ab8c2;
    text-align: left;
    max-width: 680px;
    margin: 0 auto 48px
}

.innovation .title-strip {
    display: flex;
    flex-direction: row;
    gap: 48px;
    justify-content: center;
    flex-wrap: wrap;
    padding: 24px 0 0;
    border-top: 1px solid #0b6d7e4d
}

.innovation .strip-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.innovation .strip-icon {
    width: 40px;
    height: 40px
}

.innovation .strip-label {
    font-size: 15px;
    line-height: 1.45;
    color: #8ab8c2;
    letter-spacing: .06em;
    text-align: center
}

.innovation .program-block {
    background: #0a1518;
    padding: 96px 24px;
    position: relative
}

.innovation .program-block::after {
    content: "";
    position: absolute;
    top: 48px;
    right: 0;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(ellipse at 80% 20%, #ef618d0f 0%, transparent 70%);
    pointer-events: none
}

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

.innovation .program-left {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.innovation .program-heading {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 700;
    color: #d4e8ec;
    margin: 0
}

.innovation .program-lead {
    font-size: 19px;
    line-height: 1.7;
    color: #8ab8c2;
    margin: 0
}

.innovation .program-body {
    font-size: 15px;
    line-height: 1.7;
    color: #b0cdd4;
    margin: 0
}

.innovation .program-body strong {
    color: #d4e8ec
}

.innovation .image-frame {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 60px -1px #ef618d1a
}

.innovation .image-frame img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.innovation .image-frame:hover img {
    transform: scale(1.04) translateX(8px)
}

.innovation .image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #0b6d7e2e 0%, #ef618d14 100%);
    pointer-events: none
}

.innovation .metrics-row {
    display: flex;
    flex-direction: row;
    gap: 24px;
    flex-wrap: wrap
}

.innovation .metric-card {
    flex: 1;
    min-width: 120px;
    background: #0b6d7e1f;
    border: 1px solid #0b6d7e40;
    border-radius: 10px;
    padding: 24px 12px;
    text-align: center;
    transition: border-color .38s ease-in-out, box-shadow .38s ease-in-out
}

.innovation .metric-card:hover {
    border-color: #EF618D;
    box-shadow: 0 4px 20px -1px #ef618d14
}

.innovation .metric-card:active {
    border-width: 3px;
    border-color: #EF618D;
    transition: border-width .18s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .18s ease-in-out
}

.innovation .metric-number {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 800;
    color: #EF618D;
    display: block
}

.innovation .metric-desc {
    font-size: 15px;
    line-height: 1.45;
    color: #8ab8c2;
    margin-top: 4px;
    display: block
}

.innovation .program-right {
    display: flex;
    flex-direction: column;
    gap: 24px
}

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

.innovation .split-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px -1px #0b6d7e14;
    margin-top: 24px
}

.innovation .split-left {
    background: #0d2a32;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.innovation .split-right {
    background: #1a1030;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.innovation .split-heading {
    font-size: 15px;
    line-height: 1.45;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #EF618D;
    margin: 0 0 8px
}

.innovation .split-text {
    font-size: 15px;
    line-height: 1.7;
    color: #b0cdd4;
    margin: 0
}

@keyframes appear-scale {
    from {
        opacity: 0;
        transform: scale(0.8)
    }

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

.innovation .animate-appear {
    animation: appear-scale .42s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.innovation .delay-1 {
    animation-delay: .08s
}

.innovation .delay-2 {
    animation-delay: .16s
}

.innovation .delay-3 {
    animation-delay: .24s
}

.innovation .delay-4 {
    animation-delay: .32s
}

.innovation .skill-bars {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.innovation .skill-bar-row {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.innovation .skill-bar-label {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-size: 15px;
    line-height: 1.45;
    color: #8ab8c2
}

.innovation .skill-bar-track {
    height: 6px;
    border-radius: 6px;
    background: #0b6d7e33;
    overflow: hidden
}

.innovation .skill-bar-fill {
    height: 100%;
    border-radius: 6px;
    background: linear-gradient(90deg, #0B6D7E, #EF618D)
}

.innovation .fill-negotiation {
    width: 88%
}

.innovation .fill-anchoring {
    width: 75%
}

.innovation .fill-framing {
    width: 82%
}

.innovation .fill-closing {
    width: 70%
}

.innovation .image-frame-wide {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 2px -1px #0b6d7e0d
}

.innovation .image-frame-wide img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.innovation .image-frame-wide:hover img {
    transform: translateY(-6px) scale(1.03)
}

.innovation .image-frame-wide .image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, #0a1518b3 100%);
    pointer-events: none
}

@media (max-width: 768px) {
    .innovation .title-heading {
        font-size: 43px
    }

    .innovation .title-bracket-left,
    .innovation .title-bracket-right {
        display: none
    }

    .innovation .title-strip {
        gap: 24px
    }

    .innovation .program-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .innovation .split-card {
        grid-template-columns: 1fr
    }

    .innovation .metrics-row {
        gap: 12px
    }

    .innovation .program-heading {
        font-size: 43px
    }

    .innovation .title-block {
        padding: 48px 24px 24px
    }

    .innovation .program-block {
        padding: 48px 24px
    }
}

.opening {
    background: #0e1318;
    color: #d4dde6;
    overflow-x: hidden;
    position: relative
}

.opening .max-bound {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 48px;
    padding-right: 48px
}

@media (max-width: 768px) {
    .opening .max-bound {
        padding-left: 24px;
        padding-right: 24px
    }
}

.opening .title-area {
    background: #111820;
    padding-top: 96px;
    padding-bottom: 96px;
    position: relative
}

.opening .title-area::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='%230B6D7E' fill-opacity='0.06'%3E%3Cpath d='M30 0l8.66 5v10L30 20l-8.66-5V5L30 0zm17.32 10l8.66 5v10l-8.66 5-8.66-5V15l8.66-5zm-34.64 0l8.66 5v10l-8.66 5-8.66-5V15l8.66-5zM30 20l8.66 5v10L30 35l-8.66-5V25L30 20zm17.32 10l8.66 5v10l-8.66 5-8.66-5V35l8.66-5zm-34.64 0l8.66 5v10l-8.66 5-8.66-5V35l8.66-5zM30 40l8.66 5v10L30 55l-8.66-5V45L30 40zm17.32 10l8.66 5v10l-8.66 5-8.66-5V55l8.66-5zm-34.64 0l8.66 5v10l-8.66 5-8.66-5V55l8.66-5z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0
}

.opening .title-area .max-bound {
    position: relative;
    z-index: 1
}

.opening .title-columns {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.opening .title-text-zone {
    flex: 1 1 0;
    min-width: 0
}

.opening .title-label {
    display: inline-block;
    font-size: 15px;
    letter-spacing: .12em;
    color: #EF618D;
    text-transform: uppercase;
    margin-bottom: 24px;
    font-weight: 600
}

.opening .main-heading {
    font-size: 58px;
    line-height: 1.15;
    font-weight: 800;
    color: #e8f0f5;
    margin-bottom: 24px
}

.opening .main-heading .outlined-word {
    -webkit-text-stroke: 2px #EF618D;
    color: transparent
}

.opening .main-heading .punct {
    color: #EF618D
}

.opening .subtitle-text {
    font-size: 19px;
    line-height: 1.7;
    color: #9ab0bf;
    margin-bottom: 48px;
    max-width: 520px
}

.opening .title-actions {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap
}

.opening .btn-primary {
    display: inline-block;
    padding: 12px 24px;
    background: #EF618D;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border: 2px solid #EF618D;
    border-radius: 10px;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 4px 20px -1px #ef618d14
}

@media (min-width: 769px) {
    .opening .btn-primary {
        transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
    }

    .opening .btn-primary:hover {
        border-color: #fff
    }
}

.opening .btn-secondary {
    display: inline-block;
    padding: 12px 24px;
    background: transparent;
    color: #d4dde6;
    font-size: 15px;
    font-weight: 600;
    border: 2px solid #2a3a45;
    border-radius: 10px;
    text-decoration: none;
    cursor: pointer
}

@media (min-width: 769px) {
    .opening .btn-secondary {
        transition: border-color .42s ease-in-out
    }

    .opening .btn-secondary:hover {
        border-color: #0B6D7E
    }
}

.opening .title-image-card {
    flex: 0 0 340px;
    width: 340px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 60px -1px #0b6d7e1a;
    position: relative
}

.opening .title-image-card img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    filter: grayscale(100%)
}

.opening .title-image-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #0b6d7e2e 0%, #0e13188c 100%);
    pointer-events: none
}

.opening .abbrev-anchor {
    position: absolute;
    right: 24px;
    bottom: 24px;
    font-size: 58px;
    font-weight: 900;
    color: #ef618d14;
    line-height: 1.15;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    letter-spacing: -4px
}

@media (max-width: 900px) {
    .opening .title-columns {
        flex-direction: column
    }

    .opening .title-image-card {
        flex: none;
        width: 100%
    }

    .opening .main-heading {
        font-size: 43px
    }
}

.opening .band-pink {
    height: 8px;
    background: #EF618D;
    width: 100%
}

.opening .recognition-area {
    background: #0e1318;
    padding-top: 96px;
    padding-bottom: 96px
}

.opening .recognition-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center
}

.opening .recognition-image-wrap {
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 3px 2px -1px #ef618d0d
}

.opening .recognition-image-wrap img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block
}

.opening .recognition-image-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #ef618d38 0%, #0b6d7e2e 100%);
    z-index: 1;
    pointer-events: none
}

.opening .recognition-text {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.opening .section-eyebrow {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #0B6D7E;
    font-weight: 700
}

.opening .recognition-heading {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 800;
    color: #e8f0f5
}

.opening .dot-accent {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 0;
    background: #EF618D;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -3px
}

.opening .recognition-heading-sub {
    font-size: 19px;
    line-height: 1.45;
    color: #9ab0bf;
    text-align: left
}

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

.opening .persona-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.7;
    color: #b8cdd8
}

.opening .persona-list li .check-icon {
    flex-shrink: 0;
    margin-top: 3px
}

.opening .para-body {
    font-size: 15px;
    line-height: 1.7;
    color: #9ab0bf
}

.opening .para-body .lead-label {
    font-weight: 700;
    color: #d4dde6
}

.opening .accent-span {
    color: #EF618D
}

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

.opening .band-teal {
    height: 8px;
    background: #0B6D7E;
    width: 100%
}

.opening .hesitation-area {
    background: #0B6D7E;
    padding-top: 96px;
    padding-bottom: 96px;
    position: relative
}

.opening .hesitation-area .abbrev-bg {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 58px;
    font-weight: 900;
    color: #ffffff0d;
    letter-spacing: -4px;
    pointer-events: none;
    user-select: none;
    line-height: 1.15;
    padding-left: 48px
}

.opening .hesitation-narrow {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    z-index: 1
}

.opening .hesitation-heading {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 800;
    color: #fff;
    text-align: center
}

.opening .hesitation-sub {
    font-size: 19px;
    line-height: 1.45;
    color: #ffffffbf;
    text-align: left
}

.opening .hesitation-body {
    font-size: 15px;
    line-height: 1.7;
    color: #ffffffb8
}

.opening .hesitation-body .lead-label {
    font-weight: 700;
    color: #fff
}

.opening .hesitation-card {
    background: #0e131859;
    border-radius: 18px;
    padding: 24px;
    border: 1px solid #ffffff1a
}

.opening .hesitation-card-heading {
    font-size: 19px;
    font-weight: 700;
    color: #EF618D;
    margin-bottom: 12px
}

.opening .hesitation-card-text {
    font-size: 15px;
    line-height: 1.7;
    color: #ffffffb8
}

.opening .band-dark {
    height: 8px;
    background: #111820;
    width: 100%
}

.opening .current-area {
    background: #111820;
    padding-top: 96px;
    padding-bottom: 96px;
    position: relative
}

.opening .current-area::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 320px;
    height: 100%;
    background: linear-gradient(270deg, #0b6d7e12 0%, transparent 100%);
    pointer-events: none
}

.opening .current-top {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 48px
}

.opening .current-heading {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 800;
    color: #e8f0f5;
    text-align: center
}

.opening .current-sub {
    font-size: 19px;
    line-height: 1.45;
    color: #9ab0bf;
    text-align: left;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto
}

.opening .current-tiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.opening .tile {
    background: #161e27;
    border-radius: 18px;
    padding: 24px;
    border: 1px solid #1e2d38;
    box-shadow: 0 3px 2px -1px #0b6d7e0d;
    display: flex;
    flex-direction: column;
    gap: 12px
}

@media (min-width: 769px) {
    .opening .tile {
        transition: transform .35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .35s cubic-bezier(0.34, 1.2, 0.64, 1)
    }

    .opening .tile:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 60px -1px #0b6d7e1a
    }
}

.opening .tile-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0
}

.opening .tile-heading {
    font-size: 19px;
    font-weight: 700;
    color: #e8f0f5
}

.opening .tile-text {
    font-size: 15px;
    line-height: 1.7;
    color: #7a9aaa
}

.opening .tile-image-wrap {
    border-radius: 10px;
    overflow: hidden;
    margin-top: 8px
}

.opening .tile-image-wrap img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
    filter: saturate(0.6) brightness(0.85)
}

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

.opening .band-pink-thin {
    height: 4px;
    background: linear-gradient(90deg, #EF618D 0%, #0B6D7E 100%);
    width: 100%
}

.opening .voices-area {
    background: #0e1318;
    padding-top: 96px;
    padding-bottom: 96px
}

.opening .voices-top {
    text-align: center;
    margin-bottom: 48px
}

.opening .voices-heading {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 800;
    color: #e8f0f5
}

.opening .voices-sub {
    font-size: 19px;
    line-height: 1.45;
    color: #9ab0bf;
    text-align: left;
    max-width: 640px;
    margin: 12px auto 0
}

.opening .voices-stack {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.opening .voice-row {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 24px;
    align-items: center;
    background: #161e27;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px -1px #ef618d14
}

.opening .voice-row.flipped {
    grid-template-columns: 1fr 200px
}

.opening .voice-image {
    width: 200px;
    height: 200px;
    object-fit: cover;
    display: block;
    filter: grayscale(40%)
}

.opening .voice-row.flipped .voice-image {
    order: 2
}

.opening .voice-row.flipped .voice-body {
    order: 1
}

.opening .voice-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.opening .voice-quote {
    font-size: 19px;
    line-height: 1.7;
    color: #c8dce8;
    font-style: italic
}

.opening .voice-meta {
    font-size: 15px;
    color: #EF618D;
    font-weight: 600
}

.opening .voice-detail {
    font-size: 15px;
    line-height: 1.7;
    color: #7a9aaa
}

@media (max-width: 768px) {

    .opening .voice-row,
    .opening .voice-row.flipped {
        grid-template-columns: 1fr
    }

    .opening .voice-image {
        width: 100%;
        height: 200px
    }

    .opening .voice-row.flipped .voice-image,
    .opening .voice-row.flipped .voice-body {
        order: unset
    }
}

.opening .band-mid {
    height: 8px;
    background: #161e27;
    width: 100%
}

.opening .journey-area {
    background: #161e27;
    padding-top: 96px;
    padding-bottom: 96px;
    position: relative
}

.opening .journey-area::before {
    content: "FN";
    position: absolute;
    right: 48px;
    top: 48px;
    font-size: 58px;
    font-weight: 900;
    color: #ef618d0d;
    letter-spacing: -4px;
    pointer-events: none;
    user-select: none;
    line-height: 1.15
}

.opening .journey-single-col {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    gap: 48px
}

.opening .journey-heading {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 800;
    color: #e8f0f5;
    text-align: center
}

.opening .journey-intro {
    font-size: 19px;
    line-height: 1.45;
    color: #9ab0bf;
    text-align: left
}

.opening .journey-phases {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.opening .phase-block {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start
}

.opening .phase-marker {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #0B6D7E;
    display: flex;
    align-items: center;
    justify-content: center
}

.opening .phase-marker svg {
    width: 24px;
    height: 24px
}

.opening .phase-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 0
}

.opening .phase-label {
    font-size: 15px;
    font-weight: 700;
    color: #EF618D;
    letter-spacing: .08em;
    text-transform: uppercase
}

.opening .phase-heading {
    font-size: 19px;
    font-weight: 700;
    color: #e8f0f5
}

.opening .phase-body {
    font-size: 15px;
    line-height: 1.7;
    color: #7a9aaa
}

.opening .journey-image-strip {
    border-radius: 18px;
    overflow: hidden;
    position: relative
}

.opening .journey-image-strip img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    filter: saturate(0.7) brightness(0.8)
}

.opening .journey-image-strip::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #ef618d26 0%, #0b6d7e33 100%);
    pointer-events: none
}

.opening .journey-link-row {
    display: flex;
    flex-direction: row;
    justify-content: center
}

.opening .progress-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 8px
}

.opening .progress-item {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.opening .progress-label-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center
}

.opening .progress-label {
    font-size: 15px;
    color: #9ab0bf
}

.opening .progress-value {
    font-size: 15px;
    font-weight: 700;
    color: #EF618D
}

.opening .progress-track {
    height: 6px;
    background: #1e2d38;
    border-radius: 6px;
    overflow: hidden
}

.opening .progress-fill {
    height: 100%;
    border-radius: 6px;
    background: linear-gradient(90deg, #EF618D 0%, #0B6D7E 100%)
}

.opening .fill-78 {
    width: 78%
}

.opening .fill-65 {
    width: 65%
}

.opening .fill-84 {
    width: 84%
}

.about-us {
    background: #0d1117;
    color: #e8edf2;
    overflow-x: hidden;
    position: relative
}

.about-us *,
.about-us ::before,
.about-us ::after {
    box-sizing: border-box
}

.about-us .title-block {
    position: relative;
    padding-top: 96px;
    padding-bottom: 48px;
    background: linear-gradient(160deg, #0d1117 0%, #0f1c24 55%, #12101a 100%)
}

.about-us .title-block-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 24px
}

.about-us .title-image-left,
.about-us .title-image-right {
    flex: 0 0 260px;
    height: 380px;
    border-radius: 18px;
    overflow: hidden;
    position: relative
}

.about-us .title-image-left img,
.about-us .title-image-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.6);
    transition: filter .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us .title-image-left img:hover,
.about-us .title-image-right img:hover {
    filter: saturate(1)
}

.about-us .title-image-left::after,
.about-us .title-image-right::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 55%;
    background: linear-gradient(to top, #0d1117 0%, transparent 100%);
    pointer-events: none
}

.about-us .title-text-center {
    flex: 1;
    text-align: center;
    padding-bottom: 12px
}

.about-us .title-label {
    display: inline-block;
    font-size: 15px;
    letter-spacing: .14em;
    color: #EF618D;
    text-transform: uppercase;
    margin-bottom: 24px;
    font-weight: 600
}

.about-us .title-heading {
    font-size: 58px;
    line-height: 1.15;
    font-weight: 800;
    color: #e8edf2;
    margin: 0 0 24px
}

.about-us .title-heading .accent-word {
    background: linear-gradient(118deg, #EF618D, #c5a0c0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.about-us .title-heading .dot-accent {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #EF618D;
    border-radius: 50%;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -4px
}

.about-us .title-sub {
    font-size: 19px;
    line-height: 1.7;
    color: #a8b4be;
    max-width: 480px;
    margin: 0 auto;
    text-align: left
}

.about-us .reading-arrow {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 8px;
    margin-top: 24px
}

.about-us .reading-arrow span {
    display: block;
    width: 2px;
    height: 28px;
    background: linear-gradient(to bottom, #EF618D, transparent);
    border-radius: 6px;
    opacity: .7
}

.about-us .reading-arrow span:nth-child(2) {
    height: 20px;
    opacity: .45
}

.about-us .reading-arrow span:nth-child(3) {
    height: 14px;
    opacity: .25
}

@keyframes slide-from-left {
    from {
        opacity: 0;
        transform: translateX(-32px)
    }

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

@keyframes slide-from-right {
    from {
        opacity: 0;
        transform: translateX(32px)
    }

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

@media (min-width: 768px) {
    .about-us .title-image-left {
        animation: slide-from-left .42s cubic-bezier(0.34, 1.2, 0.64, 1) both
    }

    .about-us .title-image-right {
        animation: slide-from-right .42s cubic-bezier(0.34, 1.2, 0.64, 1) .08s both
    }
}

.about-us .curve-divider {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin-top: -2px
}

.about-us .curve-divider svg {
    display: block;
    width: 100%
}

.about-us .story-section {
    background: #111820;
    padding: 96px 0 48px;
    position: relative
}

.about-us .story-section::before {
    content: "";
    position: absolute;
    top: 24px;
    right: 24px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    border: 1px solid #0b6d7e1f;
    box-shadow: 0 0 0 28px #0b6d7e12 0 0 0 56px #0b6d7e0a 0 0 0 84px #0b6d7e05;
    pointer-events: none
}

.about-us .story-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.about-us .story-left {
    flex: 0 0 30%;
    max-width: 30%
}

.about-us .story-right {
    flex: 1
}

.about-us .story-year {
    font-size: 58px;
    line-height: 1.15;
    font-weight: 800;
    color: #ef618d26;
    display: block;
    margin-bottom: 12px
}

.about-us .story-left-label {
    font-size: 15px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #0B6D7E;
    font-weight: 700;
    display: block;
    margin-bottom: 24px
}

.about-us .story-image-frame {
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 60px -1px #ef618d1a
}

.about-us .story-image-frame img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    filter: saturate(0.6);
    transition: filter .4s ease-in-out
}

.about-us .story-image-frame img:hover {
    filter: saturate(1)
}

.about-us .story-heading {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 700;
    color: #e8edf2;
    margin: 0 0 24px
}

.about-us .story-heading .dot-accent {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #0B6D7E;
    border-radius: 50%;
    margin-left: 5px;
    vertical-align: middle;
    position: relative;
    top: -3px
}

.about-us .story-lead {
    font-size: 19px;
    line-height: 1.7;
    color: #c2cdd6;
    margin-bottom: 24px
}

.about-us .story-body {
    font-size: 15px;
    line-height: 1.7;
    color: #8a9baa
}

.about-us .story-body strong {
    color: #EF618D;
    font-weight: 600
}

.about-us .curve-divider-2 {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.about-us .approach-section {
    background: #0d1117;
    padding: 96px 0;
    position: relative
}

.about-us .zigzag-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden
}

.about-us .zigzag-bg svg {
    position: absolute;
    top: 48px;
    left: 0;
    width: 100%;
    opacity: .04
}

.about-us .approach-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px
}

.about-us .approach-top {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 48px;
    margin-bottom: 48px
}

.about-us .approach-heading-col {
    flex: 0 0 45%
}

.about-us .approach-heading {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 700;
    color: #e8edf2;
    margin: 0 0 12px;
    text-align: center
}

.about-us .approach-heading .dot-accent {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #EF618D;
    border-radius: 50%;
    margin-left: 5px;
    vertical-align: middle;
    position: relative;
    top: -3px
}

.about-us .approach-sub {
    font-size: 15px;
    line-height: 1.7;
    color: #8a9baa;
    text-align: left
}

.about-us .approach-image-col {
    flex: 1;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px -1px #0b6d7e14
}

.about-us .approach-image-col img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    filter: saturate(0.6);
    transition: filter .36s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us .approach-image-col img:hover {
    filter: saturate(1)
}

.about-us .icon-list-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.about-us .icon-list-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    background: #111820;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 3px 2px -1px #ef618d0d;
    transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us .icon-list-item:hover {
    box-shadow: 0 12px 60px -1px #ef618d1a;
    transform: translateY(-3px) scale(1.01)
}

.about-us .icon-list-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center
}

.about-us .icon-list-icon svg {
    width: 28px;
    height: 28px
}

.about-us .icon-list-text {
    flex: 1
}

.about-us .icon-list-label {
    font-size: 15px;
    font-weight: 700;
    color: #e8edf2;
    margin-bottom: 4px;
    display: block
}

.about-us .icon-list-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #8a9baa
}

.about-us .curve-divider-3 {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.about-us .team-section {
    background: #0e1a22;
    padding: 96px 0;
    position: relative
}

.about-us .team-section::after {
    content: "";
    position: absolute;
    bottom: 48px;
    left: 48px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: 1px solid #ef618d1a;
    box-shadow: 0 0 0 22px #ef618d0f 0 0 0 44px #ef618d08;
    pointer-events: none
}

.about-us .team-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px
}

.about-us .team-top-row {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
    margin-bottom: 48px
}

.about-us .team-text-col {
    flex: 0 0 55%
}

.about-us .team-heading {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 700;
    color: #e8edf2;
    margin: 0 0 24px;
    text-align: center
}

.about-us .team-heading .dot-accent {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #0B6D7E;
    border-radius: 50%;
    margin-left: 5px;
    vertical-align: middle;
    position: relative;
    top: -3px
}

.about-us .team-lead {
    font-size: 19px;
    line-height: 1.7;
    color: #c2cdd6;
    margin-bottom: 12px;
    text-align: left
}

.about-us .team-body {
    font-size: 15px;
    line-height: 1.7;
    color: #8a9baa;
    text-align: left
}

.about-us .team-body strong {
    color: #EF618D;
    font-weight: 600
}

.about-us .team-image-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.about-us .team-image-frame {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px -1px #ef618d14
}

.about-us .team-image-frame img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    filter: saturate(0.6);
    transition: filter .42s ease-in-out
}

.about-us .team-image-frame img:hover {
    filter: saturate(1)
}

.about-us .team-cards {
    display: flex;
    flex-direction: row;
    gap: 24px
}

.about-us .team-card {
    flex: 1;
    background: #111820;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 3px 2px -1px #0b6d7e0d;
    transition: box-shadow .4s cubic-bezier(0.34, 1.2, 0.64, 1), transform .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.about-us .team-card:hover {
    box-shadow: 0 12px 60px -1px #0b6d7e1a;
    transform: translateY(-4px)
}

.about-us .team-card-name {
    font-size: 15px;
    font-weight: 700;
    color: #e8edf2;
    display: block;
    margin-bottom: 4px
}

.about-us .team-card-role {
    font-size: 15px;
    color: #0B6D7E;
    display: block;
    margin-bottom: 8px;
    font-weight: 600
}

.about-us .team-card-quote {
    font-size: 15px;
    line-height: 1.7;
    color: #8a9baa
}

.about-us .metrics-strip {
    background: linear-gradient(118deg, #0b6d7e2e 0%, #ef618d1a 100%);
    border-radius: 18px;
    padding: 48px;
    margin-top: 48px;
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.about-us .metric-item {
    flex: 1
}

.about-us .metric-label {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #8a9baa;
    display: block;
    margin-bottom: 8px
}

.about-us .metric-value {
    font-size: 43px;
    line-height: 1.15;
    font-weight: 800;
    color: #EF618D;
    display: block;
    margin-bottom: 8px
}

.about-us .metric-bar-track {
    width: 100%;
    height: 6px;
    background: #ffffff14;
    border-radius: 6px;
    overflow: hidden
}

.about-us .metric-bar-fill {
    height: 100%;
    border-radius: 6px
}

.about-us .metric-bar-fill.primary {
    background: linear-gradient(90deg, #EF618D, #c57fa0);
    width: 78%
}

.about-us .metric-bar-fill.secondary {
    background: linear-gradient(90deg, #0B6D7E, #3a9aaa);
    width: 91%
}

.about-us .metric-bar-fill.tertiary {
    background: linear-gradient(90deg, #EF618D, #0B6D7E);
    width: 65%
}

.about-us .metric-desc {
    font-size: 15px;
    line-height: 1.45;
    color: #8a9baa;
    margin-top: 8px;
    display: block
}

.about-us .cta-row {
    display: flex;
    flex-direction: row;
    gap: 12px;
    margin-top: 48px;
    align-items: center
}

.about-us .btn-primary {
    display: inline-block;
    padding: 12px 48px;
    background: #EF618D;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none;
    border: 2px solid #EF618D;
    transition: border-color .35s cubic-bezier(0.34, 1.2, 0.64, 1);
    cursor: pointer
}

.about-us .btn-primary:hover {
    border-color: #fff
}

.about-us .btn-secondary {
    display: inline-block;
    padding: 12px 48px;
    background: transparent;
    color: #e8edf2;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
    text-decoration: none;
    border: 2px solid #ffffff2e;
    transition: border-color .4s ease-in-out;
    cursor: pointer
}

.about-us .btn-secondary:hover {
    border-color: #0B6D7E
}

@media (max-width: 900px) {
    .about-us .title-block-inner {
        flex-direction: column;
        align-items: center;
        gap: 24px
    }

    .about-us .title-image-left,
    .about-us .title-image-right {
        flex: 0 0 auto;
        width: 100%;
        height: 200px
    }

    .about-us .title-heading {
        font-size: 43px
    }

    .about-us .story-inner {
        flex-direction: column
    }

    .about-us .story-left {
        flex: none;
        max-width: 100%;
        width: 100%
    }

    .about-us .approach-top {
        flex-direction: column;
        gap: 24px
    }

    .about-us .approach-heading-col {
        flex: none
    }

    .about-us .icon-list-grid {
        grid-template-columns: 1fr
    }

    .about-us .team-top-row {
        flex-direction: column;
        gap: 24px
    }

    .about-us .team-text-col {
        flex: none;
        width: 100%
    }

    .about-us .team-cards {
        flex-direction: column
    }

    .about-us .metrics-strip {
        flex-direction: column;
        gap: 24px;
        padding: 24px
    }

    .about-us .cta-row {
        flex-direction: column;
        align-items: flex-start
    }
}

@media (max-width: 600px) {
    .about-us .title-heading {
        font-size: 43px
    }

    .about-us .story-heading,
    .about-us .approach-heading,
    .about-us .team-heading {
        font-size: 43px
    }
}

.learning-program {
    background-color: #0d1117;
    color: #e8edf2;
    overflow-x: hidden
}

.learning-program .page-reveal-1 {
    animation: revealUp .38s cubic-bezier(0.34, 1.2, 0.64, 1) both;
    animation-delay: .05s
}

.learning-program .page-reveal-2 {
    animation: revealUp .41s cubic-bezier(0.34, 1.2, 0.64, 1) both;
    animation-delay: .13s
}

.learning-program .page-reveal-3 {
    animation: revealUp .44s cubic-bezier(0.34, 1.2, 0.64, 1) both;
    animation-delay: .22s
}

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

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

@media (prefers-reduced-motion: reduce) {

    .learning-program .page-reveal-1,
    .learning-program .page-reveal-2,
    .learning-program .page-reveal-3 {
        animation: none
    }
}

.learning-program .lp-max {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px
}

.learning-program .title-band {
    padding-top: 96px;
    padding-bottom: 48px;
    position: relative
}

.learning-program .title-band-grid {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 48px
}

.learning-program .title-image-zone {
    flex: 0 0 340px;
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 60px -1px #0f6d7e1a
}

.learning-program .title-image-zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .82
}

.learning-program .title-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, #0d1117 0%, transparent 100%);
    pointer-events: none
}

.learning-program .title-corner-tl {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 40px;
    height: 40px;
    pointer-events: none
}

.learning-program .title-corner-tl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    height: 1px;
    background: #ef618d73
}

.learning-program .title-corner-tl::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 28px;
    background: #ef618d73
}

.learning-program .title-text-zone {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 48px;
    padding-bottom: 48px;
    padding-right: 12px
}

.learning-program .title-label {
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #EF618D;
    margin-bottom: 12px
}

.learning-program .title-heading {
    font-size: 58px;
    line-height: 1.15;
    color: #fff;
    margin-bottom: 24px;
    margin-top: 0
}

.learning-program .title-heading .accent-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #EF618D;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -4px
}

.learning-program .title-tagline {
    font-size: 19px;
    line-height: 1.7;
    color: #b0bec5;
    margin-bottom: 24px;
    max-width: 520px
}

.learning-program .title-links {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap
}

.learning-program .btn-primary {
    display: inline-block;
    padding: 12px 24px;
    background: #EF618D;
    color: #fff;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.45;
    text-decoration: none;
    border: 2px solid #EF618D;
    box-shadow: 0 4px 20px -1px #ef618d14;
    transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

@media (hover: hover) {
    .learning-program .btn-primary:hover {
        border-color: #fff
    }
}

.learning-program .btn-secondary {
    display: inline-block;
    padding: 12px 24px;
    background: transparent;
    color: #e8edf2;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.45;
    text-decoration: none;
    border: 2px solid #ffffff38;
    transition: border-color .43s ease-in-out
}

@media (hover: hover) {
    .learning-program .btn-secondary:hover {
        border-color: #0B6D7E
    }
}

.learning-program .title-corner-br-wrap {
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    pointer-events: none
}

.learning-program .title-corner-br-wrap::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 28px;
    height: 1px;
    background: #0b6d7e73
}

.learning-program .title-corner-br-wrap::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 1px;
    height: 28px;
    background: #0b6d7e73
}

.learning-program .divider-shape {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0;
    margin: 0
}

.learning-program .divider-line {
    flex: 1 1 0;
    height: 1px;
    background: #ffffff14
}

.learning-program .divider-gem {
    width: 10px;
    height: 10px;
    background: #EF618D;
    border-radius: 0;
    transform: rotate(45deg);
    flex-shrink: 0
}

.learning-program .metrics-strip {
    padding-top: 48px;
    padding-bottom: 48px;
    background: linear-gradient(135deg, #111820 0%, #142028 100%);
    position: relative
}

.learning-program .metrics-strip-diagonal {
    position: absolute;
    top: 0;
    right: 0;
    width: 220px;
    height: 100%;
    pointer-events: none;
    overflow: hidden
}

.learning-program .metrics-strip-diagonal::before {
    content: "";
    position: absolute;
    top: 20px;
    right: 30px;
    width: 1px;
    height: 80%;
    background: #ef618d12;
    transform: rotate(12deg);
    transform-origin: top center
}

.learning-program .metrics-strip-diagonal::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 60px;
    width: 1px;
    height: 60%;
    background: #0b6d7e12;
    transform: rotate(12deg);
    transform-origin: top center
}

.learning-program .metrics-row {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: center;
    flex-wrap: wrap
}

.learning-program .metric-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 160px
}

.learning-program .metric-number {
    font-size: 43px;
    line-height: 1.15;
    color: #EF618D;
    font-weight: 700
}

.learning-program .metric-label {
    font-size: 15px;
    line-height: 1.45;
    color: #8a9ba8;
    letter-spacing: .05em
}

.learning-program .metric-bar {
    width: 100%;
    height: 3px;
    background: #ffffff12;
    border-radius: 0;
    margin-top: 8px;
    overflow: hidden
}

.learning-program .metric-bar-fill {
    height: 100%;
    border-radius: 0;
    background: linear-gradient(90deg, #0B6D7E, #EF618D)
}

.learning-program .courses-grid-band {
    padding-top: 96px;
    padding-bottom: 96px;
    background: #0d1117
}

.learning-program .courses-grid-head {
    margin-bottom: 48px;
    text-align: center
}

.learning-program .courses-grid-head h2 {
    font-size: 43px;
    line-height: 1.15;
    color: #fff;
    margin: 0 0 12px
}

.learning-program .courses-grid-head p {
    font-size: 19px;
    line-height: 1.7;
    color: #8a9ba8;
    max-width: 560px;
    margin: 0 auto;
    text-align: left
}

.learning-program .courses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px
}

.learning-program .course-card {
    background: #111820;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 3px 2px -1px #ef618d0d 0 4px 20px -1px #ef618d14;
    transition: box-shadow .41s cubic-bezier(0.34, 1.2, 0.64, 1);
    position: relative
}

@media (hover: hover) {
    .learning-program .course-card:hover {
        box-shadow: 0 12px 60px -1px #ef618d1a
    }
}

.learning-program .course-card-image {
    width: 100%;
    height: 200px;
    position: relative;
    overflow: hidden
}

.learning-program .course-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .75
}

.learning-program .course-card-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 40%, #111820 100%);
    pointer-events: none
}

.learning-program .course-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1 1 auto
}

.learning-program .course-card-title {
    font-size: 19px;
    line-height: 1.45;
    color: #fff;
    margin: 0
}

.learning-program .course-card-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #8a9ba8;
    margin: 0;
    flex: 1 1 auto
}

.learning-program .course-card-footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px 24px;
    gap: 12px
}

.learning-program .course-price {
    font-size: 19px;
    line-height: 1.45;
    color: #EF618D;
    font-weight: 700
}

.learning-program .course-link {
    display: inline-block;
    padding: 8px 24px;
    background: transparent;
    color: #e8edf2;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.45;
    text-decoration: none;
    border: 2px solid #ffffff2e;
    transition: border-color .38s ease-in-out
}

@media (hover: hover) {
    .learning-program .course-link:hover {
        border-color: #EF618D
    }
}

.learning-program .course-link:focus-visible {
    outline: 2px solid #EF618D;
    outline-offset: 3px
}

.learning-program .learn-band {
    padding-top: 96px;
    padding-bottom: 96px;
    background: linear-gradient(160deg, #101820 0%, #0e1a22 100%);
    position: relative
}

.learning-program .learn-band-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 180px;
    height: 200px;
    pointer-events: none;
    overflow: hidden
}

.learning-program .learn-band-lines::before {
    content: "";
    position: absolute;
    top: 30px;
    left: -20px;
    width: 200px;
    height: 1px;
    background: #ef618d0f;
    transform: rotate(-14deg);
    transform-origin: left center
}

.learning-program .learn-band-lines::after {
    content: "";
    position: absolute;
    top: 55px;
    left: -20px;
    width: 160px;
    height: 1px;
    background: #0b6d7e0f;
    transform: rotate(-14deg);
    transform-origin: left center
}

.learning-program .learn-inner {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.learning-program .learn-left {
    flex: 0 0 44%;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learning-program .learn-right {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.learning-program .learn-heading {
    font-size: 43px;
    line-height: 1.15;
    color: #fff;
    margin: 0
}

.learning-program .learn-heading .accent-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #EF618D;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -4px
}

.learning-program .learn-subtext {
    font-size: 19px;
    line-height: 1.7;
    color: #8a9ba8;
    margin: 0;
    text-align: left
}

.learning-program .learn-image-wrap {
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 20px -1px #0b6d7e14
}

.learning-program .learn-image-wrap img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    opacity: .7
}

.learning-program .learn-skill-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.learning-program .learn-skill-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.7;
    color: #c4cdd6
}

.learning-program .skill-icon {
    flex-shrink: 0;
    margin-top: 4px
}

.learning-program .skill-icon svg {
    display: block
}

.learning-program .learn-accent-bar {
    width: 4px;
    background: linear-gradient(180deg, #EF618D 0%, #0B6D7E 100%);
    border-radius: 6px;
    align-self: stretch;
    flex-shrink: 0
}

.learning-program .learn-bar-text {
    flex: 1 1 0
}

.learning-program .faq-band {
    padding-top: 96px;
    padding-bottom: 96px;
    background: #0d1117
}

.learning-program .faq-head {
    margin-bottom: 48px
}

.learning-program .faq-head h2 {
    font-size: 43px;
    line-height: 1.15;
    color: #fff;
    margin: 0 0 12px;
    text-align: center
}

.learning-program .faq-head p {
    font-size: 15px;
    line-height: 1.7;
    color: #8a9ba8;
    text-align: left;
    max-width: 580px;
    margin: 0 auto
}

.learning-program .faq-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 780px;
    margin: 0 auto
}

.learning-program .faq-item {
    background: #111820;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 2px -1px #0b6d7e0d
}

.learning-program .faq-item summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    cursor: pointer;
    font-size: 19px;
    line-height: 1.45;
    color: #e8edf2;
    list-style: none;
    gap: 12px
}

.learning-program .faq-item summary::-webkit-details-marker {
    display: none
}

.learning-program .faq-indicator {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ef618d66;
    position: relative;
    transition: border-color .38s ease-in-out
}

.learning-program .faq-indicator::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 2px;
    background: #EF618D
}

.learning-program .faq-indicator::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 8px;
    background: #EF618D;
    transition: opacity .35s ease-in-out
}

.learning-program .faq-item[open] .faq-indicator::after {
    opacity: 0
}

.learning-program .faq-item[open] .faq-indicator {
    border-color: #EF618D
}

.learning-program .faq-answer {
    padding: 0 24px 24px;
    font-size: 15px;
    line-height: 1.7;
    color: #8a9ba8
}

.learning-program .cta-band {
    padding-top: 96px;
    padding-bottom: 96px;
    background: linear-gradient(135deg, #0e1d28 0%, #131a20 100%);
    position: relative
}

.learning-program .cta-band-decor {
    position: absolute;
    top: 0;
    right: 0;
    width: 260px;
    height: 100%;
    pointer-events: none;
    overflow: hidden
}

.learning-program .cta-band-decor::before {
    content: "";
    position: absolute;
    top: 0;
    right: 40px;
    width: 1px;
    height: 100%;
    background: #ef618d0d;
    transform: rotate(8deg);
    transform-origin: top center
}

.learning-program .cta-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 24px
}

.learning-program .cta-label {
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #0B6D7E
}

.learning-program .cta-heading {
    font-size: 43px;
    line-height: 1.15;
    color: #fff;
    margin: 0;
    max-width: 680px
}

.learning-program .cta-heading .accent-span {
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(120deg, #EF618D 30%, #0B6D7E 100%)
}

.learning-program .cta-text {
    font-size: 19px;
    line-height: 1.7;
    color: #8a9ba8;
    max-width: 520px;
    margin: 0;
    text-align: left
}

.learning-program .cta-actions {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center
}

.learning-program .animated-underline {
    position: relative;
    display: inline-block
}

.learning-program .animated-underline::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 0;
    height: 2px;
    background: #EF618D;
    border-radius: 0;
    animation: underlineExpand 2.2s cubic-bezier(0.34, 1.2, 0.64, 1) infinite alternate
}

@keyframes underlineExpand {
    0% {
        width: 0
    }

    60% {
        width: 100%
    }

    100% {
        width: 30%
    }
}

@media (max-width: 900px) {
    .learning-program .title-band-grid {
        flex-direction: column;
        gap: 24px
    }

    .learning-program .title-image-zone {
        flex: 0 0 220px;
        height: 220px;
        width: 100%
    }

    .learning-program .title-heading {
        font-size: 43px
    }

    .learning-program .learn-inner {
        flex-direction: column;
        gap: 24px
    }

    .learning-program .learn-left {
        flex: 0 0 auto;
        width: 100%
    }

    .learning-program .metrics-row {
        gap: 24px
    }
}

@media (max-width: 600px) {
    .learning-program .title-heading {
        font-size: 43px
    }

    .learning-program .courses-grid {
        grid-template-columns: 1fr
    }

    .learning-program .cta-heading {
        font-size: 43px
    }

    .learning-program .title-band {
        padding-top: 48px
    }

    .learning-program .faq-item summary {
        font-size: 15px
    }

    .learning-program .metric-number {
        font-size: 43px
    }
}

.contact-us {
    background: #0e1219;
    color: #d4dce8;
    overflow-x: clip;
    position: relative
}

.contact-us .reach-panel {
    max-width: 1400px;
    margin: 0 auto;
    padding: 96px 48px 48px;
    position: relative
}

.contact-us .reach-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(-47deg, #ef618d08 0px, #ef618d08 1px, transparent 1px, transparent 18px);
    pointer-events: none;
    border-radius: 0
}

.contact-us .reach-top {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 48px
}

.contact-us .reach-label {
    display: inline-block;
    font-size: 15px;
    letter-spacing: .14em;
    color: #EF618D;
    text-transform: uppercase;
    margin-bottom: 12px
}

.contact-us .reach-h1 {
    font-size: 58px;
    line-height: 1.15;
    color: #f0f4f8;
    margin: 0 0 12px;
    position: relative;
    display: inline-block
}

.contact-us .reach-h1 .dot-accent {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #EF618D;
    border-radius: 50%;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -6px;
    animation: soft-pulse 2.8s cubic-bezier(0.34, 1.2, 0.64, 1) infinite
}

@keyframes soft-pulse {

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

    50% {
        transform: scale(1.02)
    }
}

.contact-us .reach-sub {
    font-size: 19px;
    line-height: 1.7;
    color: #9aaabb;
    text-align: left;
    margin-top: 12px
}

.contact-us .reach-sub strong {
    color: #EF618D
}

.contact-us .reach-image-band {
    position: relative;
    width: 100%;
    height: 280px;
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 48px;
    box-shadow: 0 12px 60px -1px #ef618d1a
}

.contact-us .reach-image-band img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: image-fadein .9s cubic-bezier(0.34, 1.2, 0.64, 1) both;
    transition: transform .45s ease-in-out;
    will-change: transform;
    transform: translateY(0) scale(1.04)
}

@keyframes image-fadein {
    from {
        opacity: 0;
        transform: scale(1.06)
    }

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

.contact-us .reach-image-band:hover img {
    transform: scale(1.07) translateY(-4px)
}

.contact-us .reach-image-band::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #0e12192e 0%, #0e12199e 100%);
    pointer-events: none
}

.contact-us .divider-dotdash {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 auto 48px;
    max-width: 320px
}

.contact-us .divider-dotdash span {
    display: inline-block;
    border-radius: 50%;
    background: #0B6D7E;
    opacity: .55
}

.contact-us .divider-dotdash span.dot {
    width: 5px;
    height: 5px
}

.contact-us .divider-dotdash span.dash {
    width: 16px;
    height: 3px;
    border-radius: 6px
}

.contact-us .two-col-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    max-width: 1400px;
    margin: 0 auto;
    align-items: start
}

.contact-us .info-column {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.contact-us .info-card {
    background: #141b26;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 4px 20px -1px #0b6d7e14;
    position: relative;
    border-top: 2px solid #0b6d7e38;
    transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.contact-us .info-card:hover {
    box-shadow: 0 12px 60px -1px #0b6d7e1a
}

.contact-us .info-card-label {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #0B6D7E;
    margin-bottom: 8px;
    font-weight: 700
}

.contact-us .info-card-value {
    font-size: 19px;
    line-height: 1.45;
    color: #d4dce8
}

.contact-us .info-card-value a {
    color: #EF618D;
    text-decoration: none;
    transition: color .38s ease-in-out
}

.contact-us .info-card-value a:hover {
    color: #f58aab
}

.contact-us .info-card .inner-depth {
    box-shadow: inset 0 1px 2px #ef618d12;
    border-radius: 10px;
    padding: 12px;
    background: #ffffff06;
    margin-top: 8px
}

.contact-us .messaging-row {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap
}

.contact-us .msg-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid transparent;
    transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), background .38s ease-in-out
}

.contact-us .msg-link.viber {
    background: #7b4ca01f;
    color: #b89fd4;
    border-color: #7b4ca04d
}

.contact-us .msg-link.viber:hover {
    border-color: #7b4ca0b3
}

.contact-us .msg-link.signal {
    background: #0b6d7e1f;
    color: #6ec6d4;
    border-color: #0b6d7e4d
}

.contact-us .msg-link.signal:hover {
    border-color: #0b6d7eb3
}

.contact-us .msg-link.telegram {
    background: #2996cc1a;
    color: #7ec8e8;
    border-color: #2996cc47
}

.contact-us .msg-link.telegram:hover {
    border-color: #2996cca6
}

.contact-us .msg-icon {
    width: 18px;
    height: 18px;
    display: inline-block;
    flex-shrink: 0
}

.contact-us .contrast-block {
    background: #141b26;
    border-radius: 18px;
    padding: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    box-shadow: 0 3px 2px -1px #ef618d0d
}

.contact-us .contrast-half {
    border-radius: 10px;
    padding: 16px
}

.contact-us .contrast-half.before {
    background: #ef618d0f;
    border: 1px solid #ef618d24
}

.contact-us .contrast-half.after {
    background: #0b6d7e14;
    border: 1px solid #0b6d7e33
}

.contact-us .contrast-tag {
    font-size: 15px;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
    font-weight: 700
}

.contact-us .contrast-half.before .contrast-tag {
    color: #EF618D
}

.contact-us .contrast-half.after .contrast-tag {
    color: #0B6D7E
}

.contact-us .contrast-text {
    font-size: 15px;
    line-height: 1.7;
    color: #9aaabb
}

.contact-us .form-column {
    background: #141b26;
    border-radius: 18px;
    padding: 48px;
    box-shadow: 0 12px 60px -1px #0b6d7e1a;
    position: relative
}

.contact-us .form-column::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #EF618D 0%, #0B6D7E 100%);
    border-radius: 0 18px 18px 0
}

.contact-us .form-heading {
    font-size: 43px;
    line-height: 1.15;
    color: #f0f4f8;
    margin: 0 0 8px
}

.contact-us .form-heading .dot-accent {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #0B6D7E;
    border-radius: 50%;
    margin-left: 5px;
    vertical-align: middle;
    position: relative;
    top: -4px
}

.contact-us .form-sub {
    font-size: 15px;
    line-height: 1.45;
    color: #9aaabb;
    margin-bottom: 24px;
    text-align: left
}

.contact-us .field-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px
}

.contact-us .field-label {
    font-size: 15px;
    color: #9aaabb;
    letter-spacing: .05em;
    font-weight: 600
}

.contact-us .field-input,
.contact-us .field-select {
    width: 100%;
    background: #0e1219;
    border: 1.5px solid #0b6d7e47;
    border-radius: 10px;
    color: #d4dce8;
    font-size: 19px;
    padding: 12px 16px;
    outline: none;
    box-sizing: border-box;
    transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1);
    box-shadow: inset 0 1px 2px #0b6d7e0f;
    appearance: none;
    -webkit-appearance: none
}

.contact-us .field-input::placeholder {
    color: #9aaabb61
}

.contact-us .field-input:focus,
.contact-us .field-select:focus {
    border-color: #EF618D;
    box-shadow: inset 0 1px 2px #ef618d14 0 0 0 2px #ef618d1a
}

.contact-us .select-wrapper {
    position: relative
}

.contact-us .select-wrapper::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: 7px solid #0B6D7E;
    pointer-events: none
}

.contact-us .field-select option {
    background: #141b26;
    color: #d4dce8
}

.contact-us .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
    margin-top: 8px
}

.contact-us .privacy-check {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    accent-color: #EF618D;
    margin-top: 2px;
    cursor: pointer
}

.contact-us .privacy-text {
    font-size: 15px;
    line-height: 1.7;
    color: #9aaabb
}

.contact-us .privacy-text a {
    color: #EF618D;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .35s ease-in-out
}

.contact-us .privacy-text a:hover {
    color: #f58aab
}

.contact-us .submit-btn {
    width: 100%;
    padding: 16px 24px;
    background: #EF618D;
    color: #fff;
    font-size: 19px;
    font-weight: 700;
    border: 2px solid #EF618D;
    border-radius: 10px;
    cursor: pointer;
    letter-spacing: .04em;
    transition: border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1);
    box-shadow: 0 4px 20px -1px #ef618d14
}

.contact-us .submit-btn:hover {
    border-color: #fff
}

.contact-us .submit-btn:focus {
    outline: 3px solid #ef618d80;
    outline-offset: 3px
}

.contact-us .submit-btn:active {
    animation: border-expand .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

@keyframes border-expand {
    0% {
        border-width: 2px
    }

    40% {
        border-width: 4px
    }

    100% {
        border-width: 2px
    }
}

.contact-us .details-strip {
    background: #101620;
    border-top: 1px solid #0b6d7e26;
    border-bottom: 1px solid #0b6d7e26;
    position: relative;
    overflow: hidden
}

.contact-us .details-strip::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(180deg, #0B6D7E 0%, #EF618D 100%)
}

.contact-us .strip-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 48px 48px 48px 72px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    align-items: start
}

.contact-us .strip-item {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.contact-us .strip-item-tag {
    font-size: 15px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #0B6D7E;
    font-weight: 700
}

.contact-us .strip-item-value {
    font-size: 19px;
    line-height: 1.45;
    color: #d4dce8
}

.contact-us .strip-item-value a {
    color: #d4dce8;
    text-decoration: none;
    transition: color .35s ease-in-out
}

.contact-us .strip-item-value a:hover {
    color: #EF618D
}

.contact-us .divider-dotdash2 {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 48px;
    max-width: 1400px;
    margin: 0 auto
}

.contact-us .divider-dotdash2 span {
    display: inline-block;
    background: #ef618d4d
}

.contact-us .divider-dotdash2 span.dot2 {
    width: 4px;
    height: 4px;
    border-radius: 50%
}

.contact-us .divider-dotdash2 span.dash2 {
    width: 20px;
    height: 2px;
    border-radius: 6px
}

.contact-us .image-lower-band {
    max-width: 1400px;
    margin: 0 auto;
    padding: 48px 48px 96px
}

.contact-us .lower-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 48px;
    align-items: center
}

.contact-us .lower-image-wrap {
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    height: 340px;
    box-shadow: 0 12px 60px -1px #0b6d7e1a
}

.contact-us .lower-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease-in-out
}

.contact-us .lower-image-wrap:hover img {
    transform: scale(1.05)
}

.contact-us .lower-text {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.contact-us .lower-heading {
    font-size: 43px;
    line-height: 1.15;
    color: #f0f4f8;
    margin: 0
}

.contact-us .lower-heading .dot-accent {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #EF618D;
    border-radius: 50%;
    margin-left: 5px;
    vertical-align: middle;
    position: relative;
    top: -4px
}

.contact-us .lower-body {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.contact-us .lower-lead {
    font-size: 19px;
    line-height: 1.45;
    color: #f0f4f8;
    font-weight: 700
}

.contact-us .lower-para {
    font-size: 19px;
    line-height: 1.7;
    color: #9aaabb
}

.contact-us .lower-para strong {
    color: #EF618D
}

.contact-us .arrow-reading {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 11px solid #ef618d59;
    margin-right: 8px;
    vertical-align: middle;
    flex-shrink: 0
}

.contact-us .metric-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0
}

.contact-us .metric-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 15px;
    line-height: 1.7;
    color: #9aaabb
}

.contact-us .metric-list li svg {
    flex-shrink: 0;
    margin-top: 3px
}

@media (max-width: 900px) {
    .contact-us .reach-panel {
        padding: 48px 24px 24px
    }

    .contact-us .two-col-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .contact-us .form-column {
        padding: 24px
    }

    .contact-us .reach-h1 {
        font-size: 43px
    }

    .contact-us .strip-inner {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 24px 24px 24px 48px
    }

    .contact-us .lower-grid {
        grid-template-columns: 1fr
    }

    .contact-us .lower-image-wrap {
        height: 220px
    }

    .contact-us .image-lower-band {
        padding: 24px 24px 48px
    }

    .contact-us .contrast-block {
        grid-template-columns: 1fr
    }

    .contact-us .divider-dotdash2 {
        padding: 0 24px
    }
}

@media (min-width: 901px) {

    .contact-us .info-card,
    .contact-us .msg-link,
    .contact-us .submit-btn,
    .contact-us .field-input,
    .contact-us .field-select {
        transition-duration: .38s
    }
}

@media (max-width: 900px) {

    .contact-us .info-card,
    .contact-us .msg-link,
    .contact-us .submit-btn,
    .contact-us .field-input,
    .contact-us .field-select {
        transition: none
    }
}

.success-page {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 24px;
    background: #0d1a1d
}

.success-page .success-wrapper {
    max-width: 1400px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px
}

.success-page .success-card {
    background: linear-gradient(148deg, #0f2226 0%, #122028 100%);
    border-radius: 18px;
    padding: 96px 48px;
    max-width: 640px;
    width: 100%;
    text-align: center;
    box-shadow: 0 3px 2px -1px #0f6d7e0d 0 4px 20px -1px #0f6d7e14 0 12px 60px -1px #0f6d7e1a;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px
}

.success-page .success-card .icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    background: linear-gradient(135deg, #0B6D7E 0%, #0f4a56 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px -1px #0b6d7e14
}

.success-page .success-card .icon-wrap svg {
    width: 36px;
    height: 36px
}

.success-page .success-card .success-heading {
    font-size: 43px;
    line-height: 1.15;
    color: #e8f4f7;
    margin: 0;
    letter-spacing: -.5px
}

.success-page .success-card .success-heading .accent-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #EF618D;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -4px
}

.success-page .success-card .success-subtext {
    font-size: 19px;
    line-height: 1.7;
    color: #8ab8c2;
    margin: 0;
    max-width: 480px
}

.success-page .success-card .success-subtext .highlight {
    color: #EF618D
}

.success-page .success-card .divider-line {
    width: 64px;
    height: 2px;
    background: linear-gradient(90deg, #EF618D 0%, #0B6D7E 100%);
    border-radius: 6px
}

.success-page .success-card .detail-text {
    font-size: 15px;
    line-height: 1.7;
    color: #5a8a96;
    margin: 0;
    letter-spacing: .01em
}

.success-page .success-card .return-link {
    display: inline-block;
    font-size: 15px;
    line-height: 1.45;
    color: #e8f4f7;
    background: transparent;
    border: 2px solid #0B6D7E;
    border-radius: 10px;
    padding: 12px 48px;
    text-decoration: none;
    letter-spacing: .04em;
    transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), color .38s ease-in-out
}

.success-page .success-card .return-link:hover {
    border-color: #EF618D;
    color: #EF618D
}

.success-page .success-card .return-link:focus {
    outline: 2px solid #EF618D;
    outline-offset: 4px
}

@media (max-width: 600px) {
    .success-page {
        padding: 48px 12px
    }

    .success-page .success-card {
        padding: 48px 24px;
        gap: 24px
    }

    .success-page .success-card .success-heading {
        font-size: 43px
    }
}