@import "https://cdn.jsdelivr.net/npm/@fontsource/cormorant@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/cormorant@latest/500.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/cormorant@latest/600.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/cormorant@latest/700.css";

* {
    box-sizing: border-box
}

body {
    margin: 0;
    scrollbar-gutter: stable;
    min-height: 100vh;
    font-family: 'Cormorant', serif;
    background: linear-gradient(165deg, #fdfcfc 0%, #f5f3f2 45%, #ebe9e8 100%);
    color: #2a2220;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em
}

header {
    position: relative;
    background: linear-gradient(135deg, #e7e6e5d9 0%, #ffffffeb 100%);
    padding: 32px 64px;
    border-bottom: 1px solid #63113b14;
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.top-band {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 64px
}

.nav-cluster {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.primary-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 32px;
    align-items: center
}

.nav-anchor {
    font-size: 15px;
    font-weight: 600;
    color: #63113B;
    text-decoration: none;
    letter-spacing: .02em;
    padding: 8px 16px;
    border-radius: 6px;
    transition: background-color .24s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.0, 0, 0.2, 1);
    position: relative
}

.nav-anchor:hover {
    background-color: #ff602a1f;
    color: #FF602A
}

.nav-anchor:focus {
    outline: 2px solid #63113b66;
    outline-offset: 2px;
    animation: focus-fade-in .26s cubic-bezier(0.4, 0, 0.2, 1)
}

@keyframes focus-fade-in {
    from {
        outline-color: #63113b00
    }

    to {
        outline-color: #63113b66
    }
}

.brand-lockup {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    padding: 16px 32px;
    border-radius: 18px;
    box-shadow: 2px 2px 2px 0 #63113b0d 2px 7px 28px 0 #63113b1c;
    border: 1px solid #63113b0f
}

.logo-image {
    width: 60px;
    height: 60px;
    object-fit: contain
}

.brand-text-group {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.company-label {
    font-size: 22px;
    font-weight: 700;
    color: #63113B;
    letter-spacing: .01em;
    line-height: 1.2
}

.tagline-phrase {
    font-size: 15px;
    font-weight: 500;
    color: #FF602A;
    letter-spacing: .015em;
    line-height: 1.2
}

footer {
    background: linear-gradient(180deg, #63113B 0%, #4a0d2d 100%);
    padding: 64px 32px 32px;
    margin-top: 64px;
    position: relative;
    overflow: hidden
}

footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #FF602A 0%, #63113B 50%, #FF602A 100%)
}

.footer-shell {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px
}

.footer-primary-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 64px;
    flex-wrap: wrap;
    width: 100%
}

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

.contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #ffffffeb;
    letter-spacing: .01em
}

.contact-icon-shape {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center
}

.contact-icon-shape svg {
    width: 100%;
    height: 100%;
    fill: #FF602A
}

.contact-link {
    color: #ffffffeb;
    text-decoration: none;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact-link:hover {
    color: #FF602A
}

.contact-link:focus {
    outline: 2px solid #ff602a80;
    outline-offset: 2px;
    border-radius: 6px;
    animation: focus-fade-in .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer-nav-row {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

.footer-link {
    font-size: 15px;
    font-weight: 500;
    color: #ffffffd9;
    text-decoration: none;
    letter-spacing: .015em;
    padding: 8px 16px;
    border-radius: 6px;
    transition: background-color .24s cubic-bezier(0.4, 0, 0.2, 1), color .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.footer-link:hover {
    background-color: #ff602a33;
    color: #fff
}

.footer-link:focus {
    outline: 2px solid #ff602a80;
    outline-offset: 2px;
    animation: focus-fade-in .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer-logo-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 32px;
    background: #ffffff14;
    border-radius: 11px;
    border: 1px solid #ffffff1f
}

.footer-logo-image {
    width: 48px;
    height: 48px;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px #0003)
}

.footer-company-name {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    letter-spacing: .01em
}

.copyright-bar {
    text-align: center;
    font-size: 15px;
    color: #ffffffb3;
    letter-spacing: .01em;
    padding-top: 32px;
    border-top: 1px solid #ffffff1a;
    width: 100%
}

@media (max-width: 1024px) {
    header {
        padding: 32px
    }

    .top-band {
        flex-direction: column;
        gap: 32px
    }

    .nav-cluster {
        width: 100%
    }

    .primary-links {
        justify-content: center
    }

    .brand-lockup {
        width: 100%;
        justify-content: center
    }
}

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

    .primary-links {
        gap: 8px 16px
    }

    .nav-anchor {
        font-size: 15px;
        padding: 8px 12px
    }

    .brand-lockup {
        padding: 16px
    }

    .logo-image {
        width: 52px;
        height: 52px
    }

    .company-label {
        font-size: 22px
    }

    .tagline-phrase {
        font-size: 15px
    }

    footer {
        padding: 32px 16px 16px
    }

    .footer-primary-row {
        gap: 32px
    }

    .footer-nav-row {
        gap: 16px
    }

    .footer-link {
        padding: 8px 12px
    }
}

@media (max-width: 480px) {
    .primary-links {
        flex-direction: column;
        align-items: stretch;
        gap: 8px
    }

    .nav-anchor {
        text-align: center
    }

    .brand-lockup {
        flex-direction: column;
        gap: 8px
    }

    .brand-text-group {
        align-items: center;
        text-align: center
    }

    .footer-primary-row {
        flex-direction: column;
        gap: 32px
    }

    .footer-nav-row {
        flex-direction: column;
        gap: 8px
    }

    .footer-logo-row {
        flex-direction: column;
        gap: 8px;
        text-align: center
    }
}

.rules-section-r {
    max-width: 1400px;
    margin: 0 auto;
    padding: 64px 32px;
    background: #fff
}

.rules-section-r p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 16px;
    color: #2a2a2a
}

.rules-section-r p:last-child {
    margin-bottom: 0
}

.rules-section-r ul,
.rules-section-r ol {
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 16px;
    padding-left: 32px;
    color: #2a2a2a
}

.rules-section-r ul:last-child,
.rules-section-r ol:last-child {
    margin-bottom: 0
}

.rules-section-r li {
    margin-bottom: 8px
}

.rules-section-r li:last-child {
    margin-bottom: 0
}

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

.rules-section-r em,
.rules-section-r i {
    font-style: italic
}

.rules-section-r table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    font-size: 15px;
    line-height: 1.6;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 2px 2px 2px 0 #63113b0d
}

.rules-section-r table:last-child {
    margin-bottom: 0
}

.rules-section-r thead {
    background: #E7E6E5
}

.rules-section-r thead tr {
    border-bottom: 2px solid #d0cfce
}

.rules-section-r tbody tr {
    border-bottom: 1px solid #E7E6E5
}

.rules-section-r tbody tr:last-child {
    border-bottom: none
}

.rules-section-r th,
.rules-section-r td {
    padding: 16px;
    text-align: left;
    color: #2a2a2a
}

.rules-section-r th {
    font-weight: 600;
    color: #1a1a1a
}

.rules-section-r td {
    vertical-align: top
}

@media (max-width: 768px) {
    .rules-section-r {
        padding: 32px 16px
    }

    .rules-section-r ul,
    .rules-section-r ol {
        padding-left: 16px
    }

    .rules-section-r table {
        font-size: 14px;
        margin: 16px 0
    }

    .rules-section-r th,
    .rules-section-r td {
        padding: 8px
    }
}

.svc-dtl {
    background: #fff;
    color: #1d1d1d
}

.svc-dtl * {
    box-sizing: border-box
}

.svc-dtl .top-bar {
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    padding: 16px 32px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px
}

.svc-dtl .meta-left {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: center;
    flex-wrap: wrap
}

.svc-dtl .meta-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    letter-spacing: .01em
}

.svc-dtl .meta-icon {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center
}

.svc-dtl .meta-icon svg {
    width: 100%;
    height: 100%;
    fill: #fff
}

.svc-dtl .meta-right {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center
}

.svc-dtl .engagement-stat {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    letter-spacing: .01em
}

.svc-dtl .engagement-icon {
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center
}

.svc-dtl .engagement-icon svg {
    width: 100%;
    height: 100%;
    fill: #fff
}

.svc-dtl .title-banner {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    max-width: 1400px;
    margin: 0 auto;
    background: #faf9f8;
    overflow: visible
}

.svc-dtl .banner-img-strip {
    width: 18%;
    min-width: 220px;
    position: relative
}

.svc-dtl .banner-img-strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: sepia(0.15) saturate(1.2) brightness(1.05)
}

.svc-dtl .banner-txt-zone {
    flex: 1;
    padding: 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative
}

.svc-dtl .banner-txt-zone::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 16px;
    width: 64px;
    height: 2px;
    background: #FF602A
}

.svc-dtl .banner-txt-zone::after {
    content: '';
    position: absolute;
    top: 16px;
    left: 16px;
    width: 2px;
    height: 64px;
    background: #FF602A
}

.svc-dtl .banner-heading {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0;
    font-weight: 700
}

.svc-dtl .banner-subline {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #4a4a4a;
    margin: 16px 0 0
}

.svc-dtl .spiral-deco {
    position: absolute;
    bottom: 32px;
    right: 32px;
    width: 120px;
    height: 120px;
    opacity: .08;
    pointer-events: none
}

.svc-dtl .spiral-deco svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #63113B;
    stroke-width: 2
}

.svc-dtl .pricing-highlight {
    background: #fff;
    padding: 64px 32px;
    position: relative
}

.svc-dtl .pricing-container {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.svc-dtl .price-col-one {
    background: linear-gradient(180deg, #f8f4f1 0%, #fff 100%);
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 7px 28px 0 #63113b1c;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-dtl .price-col-one:hover {
    transform: translateY(-4px)
}

.svc-dtl .price-col-two {
    background: linear-gradient(180deg, #fff9f6 0%, #fff 100%);
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 7px 28px 0 #ff602a1c;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: transform .26s cubic-bezier(0.0, 0, 0.2, 1)
}

.svc-dtl .price-col-two:hover {
    transform: translateY(-4px)
}

.svc-dtl .price-col-three {
    background: linear-gradient(180deg, #fdfcfc 0%, #fff 100%);
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 7px 28px 0 #63113b1c;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-dtl .price-col-three:hover {
    transform: translateY(-4px)
}

.svc-dtl .price-label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #666;
    text-transform: uppercase;
    margin: 0
}

.svc-dtl .price-value {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    font-weight: 700;
    margin: 0
}

.svc-dtl .price-desc {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    margin: 0
}

.svc-dtl .price-duration {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #666;
    margin: 0;
    padding: 8px 0 0;
    border-top: 1px solid #E7E6E5
}

.svc-dtl .price-seats {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #FF602A;
    margin: 0;
    font-weight: 600
}

.svc-dtl .price-note-text {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #666;
    margin: 0;
    font-style: italic
}

.svc-dtl .enroll-action {
    margin: 32px 0 0;
    text-align: center
}

.svc-dtl .enroll-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    background: #63113B;
    color: #fff;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    text-decoration: none !important;
    box-shadow: 2px 7px 28px 0 #63113b1c;
    transition: background .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1), transform .24s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    position: relative
}

.svc-dtl .enroll-btn:hover {
    background: #4a0d2d;
    box-shadow: 2px 12px 52px 0 #63113b1c;
    transform: translateY(-2px)
}

.svc-dtl .enroll-btn-text {
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-dtl .enroll-btn:hover .enroll-btn-text {
    transform: translateX(8px)
}

.svc-dtl .enroll-btn-icon {
    width: 16px;
    height: 16px;
    opacity: 0;
    transform: translateX(-16px);
    transition: opacity .24s cubic-bezier(0.4, 0, 0.2, 1), transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-dtl .enroll-btn:hover .enroll-btn-icon {
    opacity: 1;
    transform: translateX(0)
}

.svc-dtl .enroll-btn-icon svg {
    width: 100%;
    height: 100%;
    fill: #fff
}

.svc-dtl .cross-divider {
    height: 2px;
    background: #E7E6E5;
    margin: 64px 0;
    position: relative;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto
}

.svc-dtl .cross-divider::before,
.svc-dtl .cross-divider::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: #E7E6E5;
    top: 50%;
    transform: translateY(-50%) rotate(45deg)
}

.svc-dtl .cross-divider::before {
    left: 20%
}

.svc-dtl .cross-divider::after {
    right: 20%
}

.svc-dtl .program-outline {
    background: #e7e6e54d;
    backdrop-filter: blur(20px);
    padding: 64px 32px;
    position: relative
}

.svc-dtl .program-wrap {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start
}

.svc-dtl .program-sidebar {
    width: 35%;
    position: sticky;
    top: 32px
}

.svc-dtl .program-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0 0 16px;
    font-weight: 700;
    position: relative;
    padding-left: 16px
}

.svc-dtl .program-heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border-radius: 6px
}

.svc-dtl .program-intro {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    margin: 0
}

.svc-dtl .program-content-area {
    flex: 1;
    background: #fff;
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.svc-dtl .program-content-area h2 {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0 0 16px;
    font-weight: 700
}

.svc-dtl .program-content-area h3 {
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 32px 0 16px;
    font-weight: 600
}

.svc-dtl .program-content-area p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    margin: 0 0 16px
}

.svc-dtl .program-content-area ol {
    margin: 0 0 16px;
    padding-left: 32px
}

.svc-dtl .program-content-area li {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    margin: 0 0 8px
}

.svc-dtl .program-content-area strong {
    color: #63113B;
    font-weight: 600
}

.svc-dtl .program-content-area abbr {
    text-decoration: none !important;
    border-bottom: 1px dotted #FF602A;
    cursor: help
}

.svc-dtl .program-content-area dl {
    margin: 0 0 16px
}

.svc-dtl .program-content-area dt {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #63113B;
    font-weight: 600;
    margin: 0 0 4px
}

.svc-dtl .program-content-area dd {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    margin: 0 0 16px 32px
}

.svc-dtl .program-content-area figure {
    margin: 32px 0
}

.svc-dtl .program-content-area figcaption {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #666;
    margin: 8px 0 0;
    font-style: italic
}

.svc-dtl .description-full {
    background: #fff;
    padding: 64px 32px;
    position: relative;
    animation: colorwash 18s ease-in-out infinite
}

@keyframes colorwash {
    0% {
        background: #fff
    }

    33% {
        background: #fdfcfb
    }

    66% {
        background: #fefefe
    }

    100% {
        background: #fff
    }
}

.svc-dtl .description-container {
    max-width: 1400px;
    margin: 0 auto
}

.svc-dtl .description-intro-wrap {
    max-width: 800px;
    margin: 0 auto 64px;
    text-align: center
}

.svc-dtl .description-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0 0 16px;
    font-weight: 700
}

.svc-dtl .description-intro-text {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    margin: 0
}

.svc-dtl .description-body {
    max-width: 900px;
    margin: 0 auto;
    text-align: left
}

.svc-dtl .description-body h2 {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0 0 16px;
    font-weight: 700
}

.svc-dtl .description-body h3 {
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 32px 0 16px;
    font-weight: 600
}

.svc-dtl .description-body p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    margin: 0 0 16px
}

.svc-dtl .description-body strong {
    color: #63113B;
    font-weight: 600
}

.svc-dtl .description-body abbr {
    text-decoration: none !important;
    border-bottom: 1px dotted #FF602A;
    cursor: help
}

.svc-dtl .description-body ol {
    margin: 0 0 16px;
    padding-left: 32px
}

.svc-dtl .description-body li {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    margin: 0 0 8px
}

.svc-dtl .description-body blockquote {
    margin: 32px 0;
    padding: 32px;
    background: linear-gradient(263deg, #63113b0d 0%, #ff602a0d 100%);
    border-radius: 11px;
    border-left: 4px solid #FF602A;
    position: relative
}

.svc-dtl .description-body blockquote p {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0;
    font-style: italic
}

.svc-dtl .description-body cite {
    display: block;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #666;
    margin: 16px 0 0;
    font-style: normal
}

.svc-dtl .interactive-tracker {
    background: linear-gradient(180deg, #f8f4f1 0%, #fff 100%);
    padding: 64px 32px;
    position: relative
}

.svc-dtl .tracker-container {
    max-width: 1400px;
    margin: 0 auto
}

.svc-dtl .tracker-heading {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0 0 32px;
    font-weight: 700;
    text-align: center
}

.svc-dtl .tracker-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px
}

.svc-dtl .tracker-card {
    background: #fff;
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 2px 2px 0 #63113b0d;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    cursor: pointer;
    transition: box-shadow .26s cubic-bezier(0.0, 0, 0.2, 1)
}

.svc-dtl .tracker-card:hover {
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.svc-dtl .tracker-card-front {
    opacity: 1;
    transition: opacity .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-dtl .tracker-card:hover .tracker-card-front {
    opacity: 0
}

.svc-dtl .tracker-card-back {
    position: absolute;
    top: 32px;
    left: 32px;
    right: 32px;
    opacity: 0;
    transition: opacity .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.svc-dtl .tracker-card:hover .tracker-card-back {
    opacity: 1
}

.svc-dtl .tracker-number {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #FF602A;
    margin: 0;
    font-weight: 700
}

.svc-dtl .tracker-label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #666;
    margin: 0;
    text-transform: uppercase
}

.svc-dtl .tracker-detail {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4a4a4a;
    margin: 0
}

@media (max-width: 1200px) {
    .svc-dtl .pricing-container {
        grid-template-columns: 1fr
    }

    .svc-dtl .program-wrap {
        flex-direction: column
    }

    .svc-dtl .program-sidebar {
        width: 100%;
        position: static
    }

    .svc-dtl .tracker-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 768px) {
    .svc-dtl .banner-heading {
        font-size: 38px
    }

    .svc-dtl .banner-subline {
        font-size: 15px
    }

    .svc-dtl .banner-txt-zone {
        padding: 32px
    }

    .svc-dtl .title-banner {
        flex-direction: column
    }

    .svc-dtl .banner-img-strip {
        width: 100%;
        min-height: 200px
    }

    .svc-dtl .tracker-grid {
        grid-template-columns: 1fr
    }

    .svc-dtl .meta-left {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }
}

.srvcs {
    background: #FFF;
    color: #2A2A2A
}

.srvcs .top-split {
    display: flex;
    flex-direction: row;
    max-width: 1400px;
    margin: 0 auto;
    padding: 64px 32px;
    gap: 64px;
    align-items: stretch
}

.srvcs .text-zone {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2
}

.srvcs .quote-mark {
    position: absolute;
    top: -32px;
    left: -16px;
    font-size: 280px;
    line-height: 1;
    color: #E7E6E5;
    font-weight: 700;
    z-index: -1;
    opacity: .4;
    user-select: none;
    pointer-events: none
}

.srvcs .main-heading {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    margin: 0 0 32px;
    color: #63113B
}

.srvcs .thesis-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none
}

.srvcs .thesis-item {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #2A2A2A;
    padding: 0 0 0 16px;
    position: relative
}

.srvcs .thesis-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 6px;
    height: 6px;
    background: #FF602A;
    border-radius: 50%
}

.srvcs .img-zone {
    flex: 1;
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.srvcs .hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: relative
}

.srvcs .img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(180deg, #63113b99 0%, #63113b00 100%);
    pointer-events: none
}

.srvcs .offerings-grid {
    max-width: 1400px;
    margin: 0 auto;
    padding: 64px 32px;
    background: #E7E6E5;
    position: relative
}

.srvcs .offerings-grid::before {
    content: '';
    position: absolute;
    top: 16px;
    right: 16px;
    width: 180px;
    height: 180px;
    border: 1px solid #63113b1f;
    border-radius: 6px;
    pointer-events: none
}

.srvcs .offerings-grid::after {
    content: '';
    position: absolute;
    top: 24px;
    right: 24px;
    width: 164px;
    height: 164px;
    border: 1px solid #63113b14;
    border-radius: 6px;
    pointer-events: none
}

.srvcs .grid-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .015em;
    margin: 0 0 8px;
    color: #63113B;
    position: relative;
    padding: 0 0 0 16px
}

.srvcs .grid-heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border-radius: 6px
}

.srvcs .grid-intro {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #2A2A2A;
    max-width: 680px;
    margin: 0 0 64px;
    text-align: center;
    margin-left: auto;
    margin-right: auto
}

.srvcs .cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 32px
}

.srvcs .offering-card {
    background: #FFF;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 2px 2px 2px 0 #63113b0d;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .26s cubic-bezier(0.0, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    animation: wave-appear .6s cubic-bezier(0.4, 0, 0.2, 1) backwards
}

.srvcs .offering-card:nth-child(1) {
    animation-delay: .08s
}

.srvcs .offering-card:nth-child(2) {
    animation-delay: .16s
}

@keyframes wave-appear {
    from {
        opacity: 0;
        transform: translateY(32px)
    }

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

.srvcs .offering-card:hover {
    transform: translateY(-8px);
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.srvcs .card-img-wrap {
    width: 100%;
    height: 240px;
    overflow: hidden;
    position: relative
}

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

.srvcs .offering-card:hover .card-img {
    transform: scale(1.06)
}

.srvcs .card-content {
    padding: 32px;
    display: flex;
    flex-direction: column;
    flex: 1
}

.srvcs .card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px
}

.srvcs .meta-tag {
    display: inline-block;
    padding: 4px 8px;
    background: #E7E6E5;
    color: #63113B;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: .02em;
    border-radius: 6px
}

.srvcs .card-title {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: .015em;
    margin: 0 0 16px;
    color: #63113B
}

.srvcs .card-desc {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #2A2A2A;
    margin: 0 0 32px;
    flex: 1
}

.srvcs .card-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 32px;
    padding: 16px 0 0;
    border-top: 1px solid #E7E6E5
}

.srvcs .detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em
}

.srvcs .detail-label {
    color: #666
}

.srvcs .detail-value {
    color: #2A2A2A;
    font-weight: 600
}

.srvcs .price-value {
    color: #FF602A;
    font-size: 22px;
    font-weight: 700
}

.srvcs .card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px
}

.srvcs .card-btn {
    display: inline-flex;
    align-items: center;
    padding: 16px 32px;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    color: #FFF;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: .02em;
    border: none;
    border-radius: 11px;
    cursor: pointer;
    text-decoration: none;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 2px 2px 2px 0 #63113b0d;
    position: relative;
    overflow: hidden
}

.srvcs .card-btn:hover {
    transform: translateX(4px);
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.srvcs .card-btn::before {
    content: '→';
    position: absolute;
    left: -20px;
    opacity: 0;
    transition: left .22s cubic-bezier(0.4, 0, 0.2, 1), opacity .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvcs .card-btn:hover::before {
    left: 16px;
    opacity: 1
}

.srvcs .card-btn-text {
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.srvcs .card-btn:hover .card-btn-text {
    transform: translateX(16px)
}

.srvcs .seats-indicator {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #FF602A;
    font-weight: 600
}

.srvcs .comparison-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 64px 32px;
    background: linear-gradient(263deg, #63113b08 0%, #ff602a08 100%);
    position: relative
}

.srvcs .comparison-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(0deg, #63113b0a 0px, #63113b0a 1px, transparent 1px, transparent 32px), repeating-linear-gradient(90deg, #63113b0a 0px, #63113b0a 1px, transparent 1px, transparent 32px);
    pointer-events: none;
    opacity: .6
}

.srvcs .comparison-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .015em;
    margin: 0 0 16px;
    color: #63113B;
    text-align: center
}

.srvcs .comparison-intro {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #2A2A2A;
    max-width: 720px;
    margin: 0 auto 64px;
    text-align: center
}

.srvcs .chart-wrapper {
    max-width: 900px;
    margin: 0 auto;
    background: #FFF;
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.srvcs .chart-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 16px
}

.srvcs .chart-row:last-child {
    margin: 0
}

.srvcs .chart-label {
    width: 180px;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #2A2A2A;
    font-weight: 600;
    flex-shrink: 0
}

.srvcs .chart-bar-container {
    flex: 1;
    height: 46px;
    background: #E7E6E5;
    border-radius: 30px;
    position: relative;
    overflow: hidden
}

.srvcs .chart-bar {
    height: 100%;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 16px;
    transition: width 1.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative
}

.srvcs .chart-bar::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #ffffff1a;
    animation: flicker 4s ease-in-out infinite
}

@keyframes flicker {

    0%,
    100% {
        opacity: .08
    }

    50% {
        opacity: .16
    }

    25%,
    75% {
        opacity: .12
    }
}

.srvcs .chart-value {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #FFF;
    font-weight: 700;
    position: relative;
    z-index: 2
}

.srvcs .bar-1 {
    width: 82%
}

.srvcs .bar-2 {
    width: 91%
}

.srvcs .bar-3 {
    width: 76%
}

.srvcs .bar-4 {
    width: 88%
}

.srvcs .testimonial-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 64px 32px;
    background: #FFF
}

.srvcs .testimonial-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .015em;
    margin: 0 0 64px;
    color: #63113B;
    text-align: center
}

.srvcs .testimonial-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 64px;
    align-items: start
}

.srvcs .testimonial-card {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.srvcs .testimonial-profile {
    display: flex;
    align-items: center;
    gap: 16px
}

.srvcs .profile-img-wrap {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 2px 2px 2px 0 #63113b0d
}

.srvcs .profile-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.srvcs .profile-info {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.srvcs .profile-name {
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: .015em;
    color: #63113B;
    font-weight: 600;
    margin: 0
}

.srvcs .profile-role {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #666;
    margin: 0
}

.srvcs .testimonial-text {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #2A2A2A;
    margin: 0;
    padding: 16px;
    background: #E7E6E5;
    border-radius: 11px;
    position: relative
}

.srvcs .testimonial-text::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 32px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #E7E6E5
}

.srvcs .divider-dots {
    max-width: 1400px;
    margin: 0 auto;
    padding: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px
}

.srvcs .dot {
    width: 4px;
    height: 4px;
    background: #E7E6E5;
    border-radius: 50%
}

@media (max-width: 1024px) {
    .srvcs .top-split {
        flex-direction: column;
        gap: 32px;
        padding: 32px 16px
    }

    .srvcs .main-heading {
        font-size: 38px
    }

    .srvcs .cards-container {
        grid-template-columns: 1fr
    }

    .srvcs .testimonial-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .srvcs .chart-label {
        width: 120px;
        font-size: 15px
    }

    .srvcs .offerings-grid,
    .srvcs .comparison-section,
    .srvcs .testimonial-section {
        padding: 32px 16px
    }
}

@media (max-width: 640px) {
    .srvcs .main-heading {
        font-size: 28px
    }

    .srvcs .grid-heading,
    .srvcs .comparison-heading,
    .srvcs .testimonial-heading {
        font-size: 28px
    }

    .srvcs .thesis-item,
    .srvcs .grid-intro,
    .srvcs .comparison-intro,
    .srvcs .profile-name {
        font-size: 15px
    }

    .srvcs .card-title {
        font-size: 22px
    }

    .srvcs .chart-row {
        flex-direction: column;
        align-items: stretch
    }

    .srvcs .chart-label {
        width: 100%
    }

    .srvcs .quote-mark {
        font-size: 180px;
        top: -16px
    }
}

.testimonials-pg {
    background: #FFF;
    color: #1a0f14;
    max-width: 100%;
    overflow-x: clip
}

.testimonials-pg .top-intro {
    position: relative;
    padding-top: 128px;
    padding-bottom: 64px;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: visible
}

.testimonials-pg .top-intro::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("../images/_MG_6845.jpg") center/cover no-repeat;
    opacity: .08;
    z-index: 0;
    mix-blend-mode: multiply
}

.testimonials-pg .top-intro::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(263deg, #63113b08, #ff602a08);
    z-index: 1
}

.testimonials-pg .pattern-dots {
    position: absolute;
    top: 32px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: row;
    gap: 16px;
    z-index: 2
}

.testimonials-pg .pattern-dots span {
    width: 8px;
    height: 8px;
    background: #63113B;
    border-radius: 50%;
    opacity: .15
}

.testimonials-pg .pattern-dots span:nth-child(2) {
    background: #FF602A
}

.testimonials-pg .pattern-dots span:nth-child(4) {
    background: #FF602A
}

.testimonials-pg .top-intro h1 {
    position: relative;
    z-index: 2;
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    text-align: center;
    margin: 0;
    padding: 0 32px;
    color: #63113B
}

.testimonials-pg .metrics-showcase {
    padding: 64px 32px;
    max-width: 1400px;
    margin: 0 auto;
    background: linear-gradient(263deg, #63113b05 0%, #ff602a05 25%, #e7e6e526 50%, #63113b05 75%, #ff602a05 100%);
    background-size: 400% 400%;
    animation: mesh-shift 18s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes mesh-shift {

    0%,
    100% {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }
}

.testimonials-pg .metrics-showcase .metric-large {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    padding: 64px 32px;
    border: 2px dashed #63113b33;
    border-radius: 30px;
    background: #fff9;
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.testimonials-pg .metrics-showcase .metric-large .number {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #FF602A;
    margin: 0 0 16px;
    font-weight: 700
}

.testimonials-pg .metrics-showcase .metric-large .context {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #3d2431;
    margin: 0 0 32px
}

.testimonials-pg .metrics-showcase .metric-large .explanation {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #5a4551;
    max-width: 600px;
    margin: 0 auto
}

.testimonials-pg .stories-grid {
    padding: 64px 32px;
    max-width: 1400px;
    margin: 0 auto;
    position: relative
}

.testimonials-pg .stories-grid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #63113b26 50%, transparent 100%);
    filter: blur(2px);
    box-shadow: 0 2px 8px 0 #63113b14
}

.testimonials-pg .stories-grid h2 {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    margin: 0 0 8px;
    color: #63113B;
    position: relative;
    padding-left: 32px
}

.testimonials-pg .stories-grid h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #FF602A, #63113B);
    border-radius: 6px
}

.testimonials-pg .stories-grid .intro-text {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #5a4551;
    max-width: 700px;
    margin: 0 auto 64px;
    text-align: center
}

.testimonials-pg .stories-grid .grid-layout {
    display: grid;
    grid-template-columns: 1fr 2fr 2fr 1fr;
    gap: 32px;
    align-items: start
}

.testimonials-pg .story-card {
    background: #FFF;
    border-radius: 18px;
    padding: 32px;
    box-shadow: 2px 2px 2px 0 #63113b0d;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden
}

.testimonials-pg .story-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #63113B, #FF602A);
    opacity: 0;
    transition: opacity .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.testimonials-pg .story-card:hover {
    transform: translateY(-4px);
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.testimonials-pg .story-card:hover::before {
    opacity: 1
}

.testimonials-pg .story-card .quote-text {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #3d2431;
    margin: 0 0 32px
}

.testimonials-pg .story-card .attribution {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.testimonials-pg .story-card .attribution .name {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #63113B;
    font-weight: 600;
    margin: 0
}

.testimonials-pg .story-card .attribution .role {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #8a7581;
    margin: 0
}

.testimonials-pg .expandable-stories {
    padding: 64px 32px;
    max-width: 1400px;
    margin: 0 auto;
    background: #fdfcfc
}

.testimonials-pg .expandable-stories h2 {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    margin: 0 0 64px;
    text-align: center;
    color: #63113B
}

.testimonials-pg .expandable-item {
    border-bottom: 1px solid #63113b1f;
    margin-bottom: 16px
}

.testimonials-pg .expandable-toggle {
    display: none
}

.testimonials-pg .expandable-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 32px 0;
    cursor: pointer;
    transition: background .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.testimonials-pg .expandable-header:hover {
    background: #63113b05
}

.testimonials-pg .expandable-header .left-side {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
    flex: 1
}

.testimonials-pg .expandable-header .portrait-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 2px 2px 2px 0 #63113b0d
}

.testimonials-pg .expandable-header .portrait-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.testimonials-pg .expandable-header:hover .portrait-circle img {
    transform: scale(1.08)
}

.testimonials-pg .expandable-header .name-role {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.testimonials-pg .expandable-header .name-role .name {
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0;
    font-weight: 600
}

.testimonials-pg .expandable-header .name-role .role {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #8a7581;
    margin: 0
}

.testimonials-pg .expandable-header .preview-snippet {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #5a4551;
    flex: 1;
    margin: 0 32px
}

.testimonials-pg .expandable-header .icon-toggle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #63113b14;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0
}

.testimonials-pg .expandable-header .icon-toggle svg {
    width: 16px;
    height: 16px;
    fill: #63113B;
    transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.testimonials-pg .expandable-header:hover .icon-toggle {
    background: #ff602a1f
}

.testimonials-pg .expandable-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .28s cubic-bezier(0.4, 0, 0.2, 1), opacity .28s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0
}

.testimonials-pg .expandable-toggle:checked~.expandable-content {
    max-height: 1000px;
    opacity: 1
}

.testimonials-pg .expandable-toggle:checked~.expandable-header .icon-toggle {
    transform: rotate(180deg);
    background: #ff602a1f
}

.testimonials-pg .expandable-content .full-story {
    padding: 0 0 32px 96px;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #3d2431
}

.testimonials-pg .expandable-content .full-story p {
    margin: 0 0 16px
}

.testimonials-pg .expandable-content .full-story p:last-child {
    margin-bottom: 0
}

.testimonials-pg .visual-proof {
    padding: 64px 32px;
    max-width: 1400px;
    margin: 0 auto;
    position: relative
}

.testimonials-pg .visual-proof::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #ff602a26 50%, transparent 100%);
    filter: blur(2px);
    box-shadow: 0 2px 8px 0 #ff602a14
}

.testimonials-pg .visual-proof h2 {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    margin: 0 0 16px;
    color: #63113B;
    text-align: center
}

.testimonials-pg .visual-proof .subheading {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #5a4551;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 64px
}

.testimonials-pg .visual-proof .proof-container {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: center
}

.testimonials-pg .visual-proof .image-wrapper {
    flex: 1;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 2px 7px 28px 0 #63113b1c;
    position: relative
}

.testimonials-pg .visual-proof .image-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #63113b14, transparent);
    pointer-events: none
}

.testimonials-pg .visual-proof .image-wrapper img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
    transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1), filter .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.testimonials-pg .visual-proof .image-wrapper:hover img {
    transform: scale(1.05);
    filter: brightness(1.05)
}

.testimonials-pg .visual-proof .text-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.testimonials-pg .visual-proof .text-content .testimonial-block {
    background: #FFF;
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 2px 2px 0 #63113b0d;
    border-left: 4px solid #FF602A;
    position: relative;
    animation: bg-oscillate 8s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes bg-oscillate {

    0%,
    100% {
        background: #FFF
    }

    50% {
        background: #fdfcfc
    }
}

.testimonials-pg .visual-proof .text-content .testimonial-block .quote {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #3d2431;
    margin: 0 0 16px
}

.testimonials-pg .visual-proof .text-content .testimonial-block .author {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #63113B;
    font-weight: 600;
    margin: 0
}

.testimonials-pg .visual-proof .text-content .testimonial-block .detail {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #8a7581;
    margin: 0
}

@media (max-width: 1200px) {
    .testimonials-pg .stories-grid .grid-layout {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 768px) {
    .testimonials-pg .top-intro {
        padding-top: 64px;
        padding-bottom: 32px
    }

    .testimonials-pg .top-intro h1 {
        font-size: 38px
    }

    .testimonials-pg .metrics-showcase .metric-large .number {
        font-size: 38px
    }

    .testimonials-pg .metrics-showcase .metric-large .context {
        font-size: 15px
    }

    .testimonials-pg .stories-grid .grid-layout {
        grid-template-columns: 1fr
    }

    .testimonials-pg .stories-grid h2 {
        font-size: 28px
    }

    .testimonials-pg .expandable-stories h2 {
        font-size: 28px
    }

    .testimonials-pg .expandable-header .left-side {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .testimonials-pg .expandable-header .preview-snippet {
        margin: 0
    }

    .testimonials-pg .expandable-content .full-story {
        padding-left: 0
    }

    .testimonials-pg .visual-proof h2 {
        font-size: 28px
    }

    .testimonials-pg .visual-proof .subheading {
        font-size: 15px
    }

    .testimonials-pg .visual-proof .proof-container {
        flex-direction: column
    }

    .testimonials-pg .visual-proof .image-wrapper img {
        height: 320px
    }
}

.learn-prog {
    background: #FFF;
    color: #2A2A2A;
    overflow-x: clip
}

.learn-prog .title-zone {
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    padding: 128px 32px 64px;
    position: relative;
    overflow: hidden
}

.learn-prog .title-zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(45deg, #ffffff08 0px, #ffffff08 12px, transparent 12px, transparent 24px), repeating-linear-gradient(-45deg, #ffffff08 0px, #ffffff08 12px, transparent 12px, transparent 24px);
    pointer-events: none
}

.learn-prog .title-content {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    animation: dropFromAbove .68s cubic-bezier(0.4, 0, 0.2, 1)
}

@keyframes dropFromAbove {
    0% {
        opacity: 0;
        transform: translateY(-48px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

.learn-prog .title-main {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #FFF;
    margin: 0 0 16px;
    max-width: 920px
}

.learn-prog .title-caption {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #ffffffd9;
    margin: 0;
    position: relative;
    padding-bottom: 16px
}

.learn-prog .title-caption::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 84px;
    height: 1px;
    background: #fff6
}

.learn-prog .overview-split {
    background: #F9F8F7;
    padding: 96px 32px;
    position: relative
}

.learn-prog .overview-split::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 80% 20%, #63113b0a 0%, transparent 60%);
    pointer-events: none
}

.learn-prog .overview-split::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 420px;
    height: 420px;
    background: #ff602a0f;
    border-radius: 46px;
    transform: translate(-50%, -50%) rotate(12deg);
    pointer-events: none;
    z-index: 0
}

.learn-prog .overview-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    animation: dropFromAbove .76s cubic-bezier(0.0, 0, 0.2, 1) .12s backwards
}

.learn-prog .overview-left {
    flex: 0 0 60%
}

.learn-prog .overview-right {
    flex: 0 0 calc(40% - 64px)
}

.learn-prog .overview-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #2A2A2A;
    margin: 0 0 32px;
    position: relative;
    padding-left: 24px
}

.learn-prog .overview-heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border-radius: 6px
}

.learn-prog .overview-text {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4A4A4A;
    margin: 0 0 32px
}

.learn-prog .overview-image {
    width: 100%;
    height: 480px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 2px 7px 28px 0 #63113b1c;
    position: relative
}

.learn-prog .overview-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, #63113b1f 0%, #ff602a14 100%);
    pointer-events: none
}

.learn-prog .overview-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.learn-prog .overview-stats {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.learn-prog .stat-card {
    background: #FFF;
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 2px 2px 0 #63113b0d;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .26s cubic-bezier(0.0, 0, 0.2, 1)
}

.learn-prog .stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.learn-prog .stat-number {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0 0 8px;
    font-weight: 700
}

.learn-prog .stat-label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #6A6A6A;
    margin: 0
}

.learn-prog .divider-dashed {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px
}

.learn-prog .divider-line {
    height: 1px;
    background-image: repeating-linear-gradient(to right, #D0CFCE 0px, #D0CFCE 8px, transparent 8px, transparent 16px)
}

.learn-prog .curriculum-narrow {
    padding: 96px 32px;
    background: #FFF;
    position: relative
}

.learn-prog .curriculum-narrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 180px;
    background: radial-gradient(ellipse at 50% 0%, #63113b0f 0%, transparent 70%);
    pointer-events: none
}

.learn-prog .curriculum-narrow::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 180px;
    background: radial-gradient(ellipse at 50% 100%, #ff602a0f 0%, transparent 70%);
    pointer-events: none
}

.learn-prog .curriculum-container {
    max-width: 840px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    animation: dropFromAbove .82s cubic-bezier(0.4, 0, 0.2, 1) .18s backwards
}

.learn-prog .curriculum-intro {
    text-align: center;
    margin: 0 0 64px
}

.learn-prog .curriculum-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #2A2A2A;
    margin: 0 0 16px
}

.learn-prog .curriculum-subtext {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #6A6A6A;
    margin: 0;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto
}

.learn-prog .curriculum-body {
    text-align: left
}

.learn-prog .module-item {
    margin: 0 0 32px;
    padding: 32px;
    background: linear-gradient(135deg, #F9F8F7 0%, #FFF 100%);
    border-radius: 18px;
    border: 1px solid #E7E6E5;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), transform .24s cubic-bezier(0.0, 0, 0.2, 1);
    position: relative
}

.learn-prog .module-item:hover {
    border-color: #FF602A;
    transform: translateX(8px)
}

.learn-prog .module-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    opacity: 0;
    transition: opacity .26s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 18px 0 0 18px
}

.learn-prog .module-item:hover::before {
    opacity: 1
}

.learn-prog .module-number {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #FF602A;
    margin: 0 0 8px;
    font-weight: 600
}

.learn-prog .module-title {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #2A2A2A;
    margin: 0 0 16px
}

.learn-prog .module-description {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #5A5A5A;
    margin: 0
}

.learn-prog .instructors-dark {
    background: linear-gradient(263deg, #2A2A2A 0%, #1A1A1A 100%);
    padding: 96px 32px;
    position: relative;
    overflow: hidden
}

.learn-prog .instructors-dark::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 50% 50%, #ff602a14 0%, transparent 60%);
    pointer-events: none
}

.learn-prog .instructors-dark::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse 60% 40% at 0% 0%, #0000004d 0%, transparent 100%), radial-gradient(ellipse 60% 40% at 100% 0%, #0000004d 0%, transparent 100%), radial-gradient(ellipse 60% 40% at 0% 100%, #0000004d 0%, transparent 100%), radial-gradient(ellipse 60% 40% at 100% 100%, #0000004d 0%, transparent 100%);
    pointer-events: none
}

.learn-prog .instructors-container {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    animation: dropFromAbove .88s cubic-bezier(0.0, 0, 0.2, 1) .24s backwards
}

.learn-prog .instructors-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #FFF;
    margin: 0 0 64px;
    text-align: center;
    position: relative;
    padding-left: 24px
}

.learn-prog .instructors-heading::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -32px;
    width: 4px;
    height: 64px;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border-radius: 6px
}

.learn-prog .instructors-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px
}

.learn-prog .instructor-card {
    background: #ffffff0a;
    border-radius: 30px;
    padding: 32px;
    text-align: center;
    border: 1px solid #ffffff14;
    transition: background .24s cubic-bezier(0.4, 0, 0.2, 1), border-color .22s cubic-bezier(0.0, 0, 0.2, 1), transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.learn-prog .instructor-card:hover {
    background: #ffffff14;
    border-color: #ff602a66;
    transform: translateY(-8px)
}

.learn-prog .instructor-photo {
    width: 160px;
    height: 240px;
    border-radius: 30px;
    overflow: hidden;
    margin: 0 auto 24px;
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.learn-prog .instructor-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top
}

.learn-prog .instructor-name {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #FFF;
    margin: 0 0 8px
}

.learn-prog .instructor-specialty {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #FF602A;
    margin: 0
}

@media (max-width: 1200px) {
    .learn-prog .overview-container {
        flex-direction: column;
        gap: 48px
    }

    .learn-prog .overview-left,
    .learn-prog .overview-right {
        flex: 0 0 100%
    }

    .learn-prog .instructors-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 768px) {
    .learn-prog .title-zone {
        padding: 96px 16px 48px
    }

    .learn-prog .title-main {
        font-size: 38px
    }

    .learn-prog .overview-split,
    .learn-prog .curriculum-narrow,
    .learn-prog .instructors-dark {
        padding: 64px 16px
    }

    .learn-prog .overview-container {
        gap: 32px
    }

    .learn-prog .overview-heading,
    .learn-prog .curriculum-heading,
    .learn-prog .instructors-heading {
        font-size: 28px
    }

    .learn-prog .overview-text,
    .learn-prog .curriculum-subtext {
        font-size: 15px
    }

    .learn-prog .stat-number {
        font-size: 38px
    }

    .learn-prog .module-title {
        font-size: 22px
    }

    .learn-prog .instructors-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .learn-prog .overview-image {
        height: 320px
    }
}

.abt-us {
    background: #fff;
    color: #1d1d1d;
    overflow-x: clip
}

.abt-us .img-txt-split {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    min-height: 520px;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%)
}

.abt-us .img-txt-split::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -80px;
    width: 280px;
    height: 280px;
    background: #ffffff14;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    transform: rotate(15deg);
    pointer-events: none
}

.abt-us .txt-zone {
    flex: 1;
    padding: 64px;
    z-index: 2
}

.abt-us .micro-label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: #ffffffb8;
    margin: 0 0 16px
}

.abt-us .prime-heading {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    margin: 0 0 32px
}

.abt-us .prime-heading .accent-phrase {
    position: relative;
    display: inline-block;
    color: #FF602A;
    background: #fffffff2;
    padding: 4px 16px;
    border-radius: 6px
}

.abt-us .lead-txt {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #ffffffe0;
    margin: 0;
    max-width: 520px
}

.abt-us .img-zone {
    flex: 1;
    position: relative;
    height: 520px
}

.abt-us .img-zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .34
}

.abt-us .story-block {
    max-width: 1400px;
    margin: 0 auto;
    padding: 128px 64px;
    position: relative
}

.abt-us .story-block::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 880px;
    height: 880px;
    background: radial-gradient(circle at center, #63113b0a 0%, transparent 68%);
    pointer-events: none;
    z-index: 1
}

.abt-us .story-grid {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 64px;
    position: relative;
    z-index: 2
}

.abt-us .story-sidebar {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abt-us .stat-card {
    background: #E7E6E5;
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 7px 28px 0 #63113b1c;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.abt-us .stat-num {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0 0 8px
}

.abt-us .stat-label {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #2d2d2d;
    margin: 0
}

.abt-us .story-main {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abt-us .story-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #1d1d1d;
    margin: 0 0 16px;
    position: relative;
    padding-left: 32px
}

.abt-us .story-heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border-radius: 30px
}

.abt-us .story-txt {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #3d3d3d;
    margin: 0
}

.abt-us .story-txt+.story-txt {
    margin-top: 32px
}

.abt-us .divider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding: 64px 0
}

.abt-us .divider-dots span {
    width: 8px;
    height: 8px;
    background: #63113B;
    border-radius: 30px;
    opacity: .28
}

.abt-us .approach-block {
    background: #E7E6E5;
    padding: 96px 64px;
    position: relative;
    overflow: hidden
}

.abt-us .approach-block::after {
    content: '';
    position: absolute;
    bottom: -60px;
    left: -60px;
    width: 180px;
    height: 180px;
    background: #ff602a1f;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    transform: rotate(22deg);
    pointer-events: none
}

.abt-us .approach-wrap {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.abt-us .approach-intro {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 64px
}

.abt-us .approach-intro-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #1d1d1d;
    margin: 0 0 16px
}

.abt-us .approach-intro-txt {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #3d3d3d;
    margin: 0
}

.abt-us .approach-grid {
    display: grid;
    grid-template-columns: 1fr 1.6fr 1fr;
    gap: 32px
}

.abt-us .approach-card {
    background: #fff;
    padding: 32px;
    border-radius: 11px;
    box-shadow: 2px 2px 2px 0 #63113b0d;
    transition: border .22s cubic-bezier(0.0, 0, 0.2, 1);
    border: 2px solid transparent
}

.abt-us .approach-card:hover {
    border-color: #FF602A
}

.abt-us .approach-icon {
    width: 64px;
    height: 64px;
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.abt-us .approach-icon svg {
    width: 48px;
    height: 48px;
    transition: transform .68s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .approach-card:hover .approach-icon svg {
    transform: rotate(360deg)
}

.abt-us .approach-card-heading {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #1d1d1d;
    margin: 0 0 16px
}

.abt-us .approach-card-txt {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4d4d4d;
    margin: 0
}

.abt-us .team-block {
    max-width: 1400px;
    margin: 0 auto;
    padding: 96px 64px
}

.abt-us .team-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #1d1d1d;
    margin: 0 0 64px;
    text-align: left;
    position: relative;
    padding-left: 32px
}

.abt-us .team-heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border-radius: 30px
}

.abt-us .team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 64px
}

.abt-us .team-member {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: flex-start
}

.abt-us .team-portrait {
    flex-shrink: 0;
    width: 220px;
    height: 275px;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.abt-us .team-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top
}

.abt-us .team-info {
    flex: 1
}

.abt-us .team-name {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #1d1d1d;
    margin: 0 0 8px
}

.abt-us .team-role {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #FF602A;
    margin: 0 0 16px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.abt-us .team-bio {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #4d4d4d;
    margin: 0
}

.abt-us .values-block {
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    padding: 96px 64px;
    position: relative;
    overflow: hidden
}

.abt-us .values-block::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 320px;
    height: 320px;
    background: #ffffff0f;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    transform: rotate(45deg);
    pointer-events: none
}

.abt-us .values-wrap {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2
}

.abt-us .values-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    margin: 0 0 64px;
    text-align: center
}

.abt-us .values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px
}

.abt-us .value-card {
    background: #ffffff1c;
    padding: 32px;
    border-radius: 18px;
    backdrop-filter: blur(8px);
    transition: background .26s cubic-bezier(0.4, 0, 0.2, 1), transform .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.abt-us .value-card:hover {
    background: #ffffff2e;
    transform: translateY(-6px)
}

.abt-us .value-num {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #ffffff47;
    margin: 0 0 16px
}

.abt-us .value-name {
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    margin: 0 0 16px
}

.abt-us .value-desc {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #ffffffd1;
    margin: 0
}

.abt-us .gallery-block {
    max-width: 1400px;
    margin: 0 auto;
    padding: 96px 64px
}

.abt-us .gallery-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #1d1d1d;
    margin: 0 0 64px;
    text-align: center
}

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

.abt-us .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 11px;
    aspect-ratio: 4 / 3;
    box-shadow: 2px 2px 2px 0 #63113b0d
}

.abt-us .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.abt-us .gallery-item:hover img {
    transform: scale(1.08)
}

@media (max-width: 1200px) {
    .abt-us .img-txt-split {
        flex-direction: column;
        min-height: auto
    }

    .abt-us .txt-zone {
        padding: 64px 32px
    }

    .abt-us .img-zone {
        width: 100%;
        height: 380px
    }

    .abt-us .story-grid {
        grid-template-columns: 1fr;
        gap: 32px
    }

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

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

    .abt-us .values-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .abt-us .gallery-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 768px) {
    .abt-us .prime-heading {
        font-size: 38px
    }

    .abt-us .txt-zone {
        padding: 32px 16px
    }

    .abt-us .story-block {
        padding: 64px 32px
    }

    .abt-us .approach-block {
        padding: 64px 32px
    }

    .abt-us .team-block {
        padding: 64px 32px
    }

    .abt-us .values-block {
        padding: 64px 32px
    }

    .abt-us .gallery-block {
        padding: 64px 32px
    }

    .abt-us .team-member {
        flex-direction: column
    }

    .abt-us .team-portrait {
        width: 100%;
        max-width: 280px
    }

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

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

.contact-pg {
    background: #fff;
    overflow-x: clip
}

.contact-pg * {
    box-sizing: border-box
}

.contact-pg .reach-zone {
    position: relative;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    padding: 64px 32px;
    overflow: hidden
}

.reach-zone::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -80px;
    width: 340px;
    height: 340px;
    border: 1px solid #ffffff14;
    border-radius: 50%;
    pointer-events: none
}

.reach-zone::after {
    content: '';
    position: absolute;
    bottom: -160px;
    left: -100px;
    width: 420px;
    height: 420px;
    border: 1px solid #ffffff0f;
    border-radius: 50%;
    pointer-events: none
}

.reach-zone .contain {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.reach-zone .top-row {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start;
    margin-bottom: 64px
}

.reach-zone .intro-text {
    flex: 1
}

.reach-zone .intro-text h1 {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    margin: 0 0 16px;
    animation: zoomSettle .6s cubic-bezier(0.4, 0, 0.2, 1)
}

@keyframes zoomSettle {
    0% {
        transform: scale(1.15);
        opacity: 0
    }

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

.reach-zone .intro-text p {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #ffffffeb;
    margin: 0
}

.reach-zone .contact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.reach-zone .contact-card {
    background: #ffffff17;
    padding: 32px;
    border-radius: 18px;
    backdrop-filter: blur(8px);
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.reach-zone .contact-card:hover {
    transform: translateY(-6px) scale(1.02);
    background: #ffffff21
}

.reach-zone .contact-card .icon-holder {
    width: 52px;
    height: 52px;
    background: #ffffff26;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px
}

.reach-zone .contact-card .icon-holder svg {
    width: 26px;
    height: 26px;
    fill: #fff
}

.reach-zone .contact-card h3 {
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    margin: 0 0 8px
}

.reach-zone .contact-card p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #ffffffd9;
    margin: 0 0 16px
}

.reach-zone .contact-card a {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #fff;
    text-decoration: none !important;
    display: inline-block;
    position: relative;
    padding-bottom: 2px
}

.reach-zone .contact-card a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background: #fff;
    transition: width .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.reach-zone .contact-card a:hover::after {
    width: 100%
}

.reach-zone .dot-pattern {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 400px;
    opacity: .04;
    pointer-events: none;
    background-image: radial-gradient(circle, #fff 1px, transparent 1px);
    background-size: 24px 24px
}

.contact-pg .form-area {
    background: #E7E6E5;
    padding: 64px 32px;
    position: relative
}

.form-area::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, #63113b05 2px, #63113b05 4px), repeating-linear-gradient(90deg, transparent, transparent 2px, #63113b05 2px, #63113b05 4px);
    pointer-events: none;
    opacity: .6
}

.form-area .contain {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.form-area .structure {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 64px;
    align-items: start
}

.form-area .left-column {
    background: #fff;
    padding: 64px;
    border-radius: 30px;
    box-shadow: 2px 12px 52px 0 #63113b1c;
    position: relative
}

.form-area .left-column::before {
    content: '';
    position: absolute;
    left: 0;
    top: 32px;
    bottom: 32px;
    width: 4px;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border-radius: 0 6px 6px 0
}

.form-area .left-column h2 {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0 0 8px
}

.form-area .left-column .subtitle {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #FF602A;
    margin: 0 0 32px
}

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

.form-area .field-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.form-area label {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #63113B;
    font-weight: 600
}

.form-area input[type="text"],
.form-area input[type="email"],
.form-area input[type="tel"] {
    width: 100%;
    padding: 16px;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #63113B;
    background: #fff;
    border: 2px solid #E7E6E5;
    border-radius: 11px;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.0, 0, 0.2, 1)
}

.form-area input[type="text"]:focus,
.form-area input[type="email"]:focus,
.form-area input[type="tel"]:focus {
    outline: none;
    border-color: #FF602A;
    box-shadow: 0 0 0 3px #ff602a1f
}

.form-area input::placeholder {
    color: #63113b66
}

.form-area .radio-group-wrap {
    margin: 16px 0
}

.form-area .radio-group-wrap label {
    display: block;
    margin-bottom: 8px
}

.form-area .radio-options {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.form-area .radio-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: #fff;
    border: 2px solid #E7E6E5;
    border-radius: 11px;
    cursor: pointer;
    transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), background .26s cubic-bezier(0.0, 0, 0.2, 1)
}

.form-area .radio-item:hover {
    background: #ff602a0a;
    border-color: #FF602A
}

.form-area .radio-item input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 0;
    cursor: pointer;
    accent-color: #FF602A
}

.form-area .radio-item span {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #63113B
}

.form-area .privacy-wrap {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 16px 0
}

.form-area .privacy-wrap input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    cursor: pointer;
    accent-color: #FF602A;
    flex-shrink: 0
}

.form-area .privacy-wrap label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #63113B;
    font-weight: 400;
    cursor: pointer
}

.form-area .privacy-wrap a {
    color: #FF602A;
    text-decoration: none !important;
    position: relative
}

.form-area .privacy-wrap a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background: #FF602A;
    transition: width .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.form-area .privacy-wrap a:hover::after {
    width: 100%
}

.form-area button[type="submit"] {
    width: 100%;
    padding: 18px 32px;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #fff;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border: none;
    border-radius: 11px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .26s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.form-area button[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.form-area button[type="submit"]:active {
    transform: translateY(0)
}

.form-area button[type="submit"] span {
    display: inline-block;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1)
}

.form-area button[type="submit"]:hover span {
    transform: translateX(6px)
}

.form-area .info-column {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.form-area .stat-block {
    background: #fff;
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 7px 28px 0 #63113b1c;
    transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.form-area .stat-block:hover {
    transform: perspective(800px) rotateX(2deg) rotateY(-2deg) translateZ(12px)
}

.form-area .stat-block .number {
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #FF602A;
    margin: 0 0 4px;
    font-weight: 700
}

.form-area .stat-block .label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #63113B;
    margin: 0
}

.form-area .divider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 32px 0
}

.form-area .divider-dots span {
    width: 6px;
    height: 6px;
    background: #FF602A;
    border-radius: 50%;
    opacity: .6
}

@media (max-width: 1200px) {
    .reach-zone .top-row {
        flex-direction: column;
        gap: 32px
    }

    .reach-zone .contact-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .form-area .structure {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .form-area .info-column {
        grid-template-columns: repeat(3, 1fr);
        flex-direction: row
    }
}

@media (max-width: 768px) {
    .reach-zone .intro-text h1 {
        font-size: 38px
    }

    .reach-zone .intro-text p {
        font-size: 15px
    }

    .reach-zone .contact-grid {
        grid-template-columns: 1fr
    }

    .reach-zone {
        padding: 32px 16px
    }

    .form-area {
        padding: 32px 16px
    }

    .form-area .left-column {
        padding: 32px
    }

    .form-area .left-column h2 {
        font-size: 28px
    }

    .form-area .left-column .subtitle {
        font-size: 15px
    }

    .form-area .info-column {
        grid-template-columns: 1fr;
        flex-direction: column
    }

    .form-area .stat-block .number {
        font-size: 38px
    }
}

.lnch {
    background: #fff;
    color: #1d1d1d;
    letter-spacing: .015em
}

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

.lnch img {
    display: block;
    max-width: 100%;
    height: auto
}

.lnch button {
    border: none;
    background: none;
    cursor: pointer;
    font-family: inherit
}

.lnch .intro-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 32px 32px 96px;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start;
    position: relative
}

.lnch .intro-txt {
    flex: 1;
    padding: 64px 0 0
}

.lnch .intro-label {
    font-size: 15px;
    line-height: 1.6;
    color: #63113B;
    margin: 0 0 16px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase
}

.lnch .intro-h {
    font-size: 68px;
    line-height: 1.2;
    color: #1d1d1d;
    margin: 0 0 32px;
    font-weight: 700
}

.lnch .intro-desc {
    font-size: 22px;
    line-height: 1.6;
    color: #4a4a4a;
    max-width: 580px
}

.lnch .intro-visual {
    flex: 0 0 420px;
    position: relative;
    padding: 32px 0 0
}

.lnch .intro-visual::before {
    content: '';
    position: absolute;
    top: 0;
    left: -32px;
    width: 180px;
    height: 180px;
    background: linear-gradient(263deg, #63113B, #FF602A);
    opacity: .08;
    border-radius: 46px;
    z-index: 0
}

.lnch .intro-img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    border-radius: 18px;
    opacity: .72;
    box-shadow: 2px 7px 28px 0 #63113b1c;
    position: relative;
    z-index: 1
}

.lnch .proof-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 64px 32px;
    background: linear-gradient(90deg, #E7E6E5 0%, #fff 100%)
}

.lnch .proof-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center
}

.lnch .proof-content {
    padding: 0 32px 0 0
}

.lnch .proof-heading {
    font-size: 38px;
    line-height: 1.2;
    color: #1d1d1d;
    margin: 0 0 32px;
    font-weight: 700;
    position: relative;
    padding: 0 0 0 16px
}

.lnch .proof-heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: #FF602A
}

.lnch .proof-text {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a4a;
    margin: 0 0 16px
}

.lnch .proof-text:last-child {
    margin: 0
}

.lnch .proof-img-wrap {
    position: relative;
    height: 440px
}

.lnch .proof-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 30px;
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.lnch .reputation-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 96px 32px;
    text-align: center;
    position: relative
}

.lnch .reputation-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 64px;
    background: #63113B
}

.lnch .reputation-section::after {
    content: '';
    position: absolute;
    top: 68px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 64px;
    background: #E7E6E5
}

.lnch .reputation-h {
    font-size: 38px;
    line-height: 1.2;
    color: #1d1d1d;
    margin: 0 0 16px;
    font-weight: 700
}

.lnch .reputation-intro {
    font-size: 22px;
    line-height: 1.6;
    color: #4a4a4a;
    max-width: 720px;
    margin: 0 auto 64px
}

.lnch .reputation-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.lnch .reputation-card {
    background: #fff;
    padding: 32px;
    border-radius: 11px;
    box-shadow: 2px 2px 2px 0 #63113b0d;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden
}

.lnch .reputation-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(263deg, #63113B, #FF602A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.lnch .reputation-card:hover {
    transform: translateY(-4px);
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.lnch .reputation-card:hover::before {
    transform: scaleX(1)
}

.lnch .reputation-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: linear-gradient(263deg, #63113B, #FF602A);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 28px
}

.lnch .reputation-card-title {
    font-size: 22px;
    line-height: 1.2;
    color: #1d1d1d;
    margin: 0 0 8px;
    font-weight: 600
}

.lnch .reputation-card-text {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a4a
}

.lnch .hesitation-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 64px 32px;
    background: #63113B;
    border-radius: 30px;
    position: relative;
    overflow: hidden
}

.lnch .hesitation-section::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -120px;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle at center, #ff602a26, transparent 70%);
    pointer-events: none
}

.lnch .hesitation-wrap {
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: center
}

.lnch .hesitation-img-col {
    flex: 0 0 480px
}

.lnch .hesitation-img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 2px 12px 52px 0 #0000003d
}

.lnch .hesitation-content {
    flex: 1
}

.lnch .hesitation-h {
    font-size: 38px;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 32px;
    font-weight: 700
}

.lnch .hesitation-text {
    font-size: 15px;
    line-height: 1.6;
    color: #ffffffe0;
    margin: 0 0 16px
}

.lnch .hesitation-text:last-child {
    margin: 0
}

.lnch .hesitation-btn {
    margin: 32px 0 0;
    padding: 16px 32px;
    background: #FF602A;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap .22s cubic-bezier(0.4, 0, 0.2, 1), background .22s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 2px 7px 28px 0 #ff602a1c;
    position: relative;
    overflow: hidden
}

.lnch .hesitation-btn::before {
    content: '';
    position: absolute;
    left: -32px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="white"><path d="M10 3l7 7-7 7V3z"/></svg>') no-repeat center;
    opacity: 0;
    transition: opacity .22s cubic-bezier(0.4, 0, 0.2, 1), left .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .hesitation-btn:hover {
    gap: 16px;
    background: #e55425
}

.lnch .hesitation-btn:hover::before {
    left: 16px;
    opacity: 1
}

.lnch .hesitation-btn-text {
    position: relative;
    z-index: 1;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .hesitation-btn:hover .hesitation-btn-text {
    transform: translateX(8px)
}

.lnch .community-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 96px 32px;
    position: relative
}

.lnch .community-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle, #E7E6E5 1px, transparent 1px);
    background-size: 24px 24px;
    background-position: 0 0, 12px 12px;
    opacity: .3;
    pointer-events: none;
    z-index: 0
}

.lnch .community-inner {
    position: relative;
    z-index: 1
}

.lnch .community-h {
    font-size: 38px;
    line-height: 1.2;
    color: #1d1d1d;
    margin: 0 0 64px;
    font-weight: 700;
    text-align: center
}

.lnch .community-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin: 0 0 64px
}

.lnch .community-card {
    background: #fff;
    padding: 32px;
    border-radius: 18px;
    box-shadow: 2px 2px 2px 0 #63113b0d;
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: flex-start;
    transition: box-shadow .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.lnch .community-card:hover {
    box-shadow: 2px 7px 28px 0 #63113b1c
}

.lnch .community-portrait {
    flex: 0 0 96px;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    box-shadow: 2px 2px 2px 0 #63113b0d
}

.lnch .community-card-content {
    flex: 1
}

.lnch .community-card-name {
    font-size: 22px;
    line-height: 1.2;
    color: #1d1d1d;
    margin: 0 0 4px;
    font-weight: 600
}

.lnch .community-card-role {
    font-size: 15px;
    line-height: 1.6;
    color: #FF602A;
    margin: 0 0 16px;
    font-weight: 500
}

.lnch .community-card-text {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a4a
}

.lnch .community-visual {
    text-align: center
}

.lnch .community-bottom-img {
    width: 100%;
    max-width: 840px;
    height: 380px;
    object-fit: cover;
    border-radius: 30px;
    box-shadow: 2px 12px 52px 0 #63113b1c;
    margin: 0 auto
}

.lnch .scale-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 64px 32px;
    background: linear-gradient(263deg, #63113b0a, #fff0);
    border-radius: 46px;
    position: relative
}

.lnch .scale-h {
    font-size: 38px;
    line-height: 1.2;
    color: #1d1d1d;
    margin: 0 0 16px;
    font-weight: 700;
    text-align: center
}

.lnch .scale-intro {
    font-size: 22px;
    line-height: 1.6;
    color: #4a4a4a;
    text-align: center;
    max-width: 680px;
    margin: 0 auto 64px
}

.lnch .scale-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px
}

.lnch .scale-item {
    text-align: center;
    padding: 32px 16px;
    background: #fff;
    border-radius: 11px;
    box-shadow: 2px 2px 2px 0 #63113b0d;
    position: relative;
    overflow: hidden;
    animation: bounce-in .6s cubic-bezier(0.68, -0.55, 0.265, 1.55)
}

.lnch .scale-item:nth-child(1) {
    animation-delay: .1s;
    opacity: 0;
    animation-fill-mode: forwards
}

.lnch .scale-item:nth-child(2) {
    animation-delay: .2s;
    opacity: 0;
    animation-fill-mode: forwards
}

.lnch .scale-item:nth-child(3) {
    animation-delay: .3s;
    opacity: 0;
    animation-fill-mode: forwards
}

.lnch .scale-item:nth-child(4) {
    animation-delay: .4s;
    opacity: 0;
    animation-fill-mode: forwards
}

@keyframes bounce-in {
    0% {
        opacity: 0;
        transform: translateY(-40px)
    }

    60% {
        opacity: 1;
        transform: translateY(8px)
    }

    80% {
        transform: translateY(-4px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

.lnch .scale-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, transparent 0%, #e7e6e566 100%);
    clip-path: circle(0% at 50% 0%);
    transition: clip-path .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.lnch .scale-item:hover::before {
    clip-path: circle(150% at 50% 0%)
}

.lnch .scale-number {
    font-size: 68px;
    line-height: 1.2;
    color: #63113B;
    font-weight: 700;
    margin: 0 0 8px;
    position: relative;
    z-index: 1
}

.lnch .scale-label {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a4a;
    position: relative;
    z-index: 1
}

.lnch .approach-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 96px 32px;
    position: relative
}

.lnch .approach-bracket-left {
    position: absolute;
    left: 32px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 280px;
    border: 4px solid #FF602A;
    border-right: none;
    border-radius: 18px 0 0 18px;
    opacity: .3
}

.lnch .approach-bracket-right {
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 280px;
    border: 4px solid #FF602A;
    border-left: none;
    border-radius: 0 18px 18px 0;
    opacity: .3
}

.lnch .approach-inner {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1
}

.lnch .approach-h {
    font-size: 38px;
    line-height: 1.2;
    color: #1d1d1d;
    margin: 0 0 32px;
    font-weight: 700
}

.lnch .approach-central-wrap {
    position: relative;
    display: inline-block;
    margin: 0 0 64px
}

.lnch .approach-central-img {
    width: 380px;
    height: 380px;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.lnch .approach-orbit {
    position: absolute;
    background: #fff;
    padding: 16px 32px;
    border-radius: 30px;
    box-shadow: 2px 7px 28px 0 #63113b1c;
    font-size: 15px;
    line-height: 1.6;
    color: #1d1d1d;
    font-weight: 600;
    white-space: nowrap
}

.lnch .approach-orbit:nth-child(2) {
    top: 20px;
    left: -140px;
    background: linear-gradient(263deg, #63113B, #FF602A);
    color: #fff
}

.lnch .approach-orbit:nth-child(3) {
    top: 80px;
    right: -120px
}

.lnch .approach-orbit:nth-child(4) {
    bottom: 100px;
    left: -160px
}

.lnch .approach-orbit:nth-child(5) {
    bottom: 40px;
    right: -140px;
    background: #E7E6E5
}

.lnch .approach-text {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4a4a;
    margin: 0 0 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto
}

.lnch .approach-text:last-child {
    margin-bottom: 0
}

@media (max-width: 1200px) {
    .lnch .intro-section {
        flex-direction: column;
        padding: 32px 32px 64px
    }

    .lnch .intro-visual {
        flex: 0 0 auto;
        width: 100%;
        max-width: 480px;
        margin: 0 auto
    }

    .lnch .intro-h {
        font-size: 38px
    }

    .lnch .proof-wrap {
        grid-template-columns: 1fr
    }

    .lnch .reputation-grid {
        grid-template-columns: 1fr
    }

    .lnch .hesitation-wrap {
        flex-direction: column
    }

    .lnch .hesitation-img-col {
        flex: 0 0 auto;
        width: 100%
    }

    .lnch .community-grid {
        grid-template-columns: 1fr
    }

    .lnch .scale-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .lnch .approach-orbit {
        position: static !important;
        display: inline-block;
        margin: 8px
    }

    .lnch .approach-central-wrap {
        margin-bottom: 32px
    }
}

@media (max-width: 768px) {
    .lnch .intro-section {
        padding: 32px 16px 64px
    }

    .lnch .intro-h {
        font-size: 28px
    }

    .lnch .intro-desc {
        font-size: 15px
    }

    .lnch .proof-section,
    .lnch .reputation-section,
    .lnch .hesitation-section,
    .lnch .community-section,
    .lnch .scale-section,
    .lnch .approach-section {
        padding: 64px 16px
    }

    .lnch .proof-heading,
    .lnch .reputation-h,
    .lnch .hesitation-h,
    .lnch .community-h,
    .lnch .scale-h,
    .lnch .approach-h {
        font-size: 28px
    }

    .lnch .scale-grid {
        grid-template-columns: 1fr
    }

    .lnch .scale-number {
        font-size: 38px
    }

    .lnch .approach-central-img {
        width: 280px;
        height: 280px
    }
}

.success-page {
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 16px
}

.success-page .confirmation-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 2px 12px 52px 0 #63113b1c;
    max-width: 640px;
    width: 100%;
    padding: 64px 32px;
    text-align: center
}

.success-page .icon-wrapper {
    width: 96px;
    height: 96px;
    margin: 0 auto 32px;
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    border-radius: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.success-page .icon-wrapper::before {
    content: '';
    position: absolute;
    width: 112px;
    height: 112px;
    border-radius: 46px;
    background: #63113b14;
    z-index: -1
}

.success-page .checkmark {
    width: 42px;
    height: 42px;
    border: 4px solid #fff;
    border-radius: 46px;
    position: relative
}

.success-page .checkmark::after {
    content: '';
    position: absolute;
    left: 12px;
    top: 4px;
    width: 12px;
    height: 22px;
    border: solid #fff;
    border-width: 0 4px 4px 0;
    transform: rotate(45deg)
}

.success-page .main-heading {
    font-size: 38px;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0 0 16px
}

.success-page .message-text {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #333;
    margin: 0 0 32px
}

.success-page .detail-box {
    background: #E7E6E5;
    border-radius: 11px;
    padding: 32px;
    margin: 0 0 32px;
    text-align: left
}

.success-page .detail-label {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #666;
    margin: 0 0 8px
}

.success-page .detail-value {
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: .01em;
    color: #63113B;
    margin: 0;
    word-break: break-word
}

.success-page .detail-box .detail-value:not(:last-child) {
    margin-bottom: 16px
}

.success-page .action-group {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.success-page .btn-primary {
    background: linear-gradient(263deg, #63113B 0%, #FF602A 100%);
    color: #fff;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: .01em;
    padding: 16px 32px;
    border: none;
    border-radius: 11px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: transform .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 2px 7px 28px 0 #63113b1c;
    position: relative;
    overflow: hidden
}

.success-page .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 2px 12px 52px 0 #63113b1c
}

.success-page .btn-primary:active {
    transform: translateY(0)
}

.success-page .btn-secondary {
    background: transparent;
    color: #63113B;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: .01em;
    padding: 16px 32px;
    border: 2px solid #63113B;
    border-radius: 11px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .26s cubic-bezier(0.4, 0, 0.2, 1), color .26s cubic-bezier(0.4, 0, 0.2, 1)
}

.success-page .btn-secondary:hover {
    background: #63113B;
    color: #fff
}

.success-page .support-note {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #666;
    margin: 32px 0 0
}

.success-page .support-note a {
    color: #FF602A;
    text-decoration: none;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.success-page .support-note a:hover {
    color: #63113B
}

@media (min-width: 768px) {
    .success-page .confirmation-card {
        padding: 64px
    }

    .success-page .action-group {
        flex-direction: row;
        justify-content: center
    }
}

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