html {
    box-sizing: border-box;
    font-size: 100%
}

*,
::before,
::after {
    box-sizing: inherit
}

html,
body {
    margin: 0
}

body {
    position: relative;
    min-height: 100vh;
    font-family: 'DM Sans', sans-serif
}

.site-header {
    background: linear-gradient(160deg, #F9F6F8 0%, #EFE3EB 60%, #D9BAD2 100%);
    border-bottom: 1.5px solid #D9BAD2;
    box-shadow: -1px 7px 22px 1px #bf7aaf17;
    padding: 0;
    overflow: visible
}

.hd-top {
    max-width: 1400px;
    margin: 0 auto;
    padding: 16px 40px 8px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px
}

.hd-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px
}

.logo-ring {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 80px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 0 0 2px #D9BAD2, -1px 3px 4px 1px #bf7aaf0f;
    padding: 8px
}

.logo-ring img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.brand-name {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #5a2e52;
    line-height: 1.1;
    letter-spacing: 0;
    text-align: right
}

.hd-proof {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding-top: 8px
}

.proof-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1.5px solid #D9BAD2;
    border-radius: 26px;
    padding: 4px 16px;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f
}

.proof-dot {
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #BF7AAF;
    flex-shrink: 0
}

.proof-text {
    font-size: 15px;
    color: #3d1f38;
    line-height: 1.4;
    font-family: 'DM Sans', sans-serif
}

.proof-contact {
    font-size: 15px;
    color: #5a2e52;
    line-height: 1.4;
    font-family: 'DM Sans', sans-serif;
    padding-left: 16px
}

.proof-contact a {
    color: #5a2e52;
    text-decoration: none;
    font-weight: 700;
    transition: color .15s ease-out
}

.proof-contact a:focus {
    outline: 2px dashed #BF7AAF;
    outline-offset: 2px;
    border-radius: 5px
}

.proof-contact a:hover {
    color: #BF7AAF
}

.hd-nav-strip {
    background: #BF7AAF;
    border-radius: 0 0 16px 16px
}

.hd-nav-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap
}

.hd-nav-inner a {
    display: inline-flex;
    align-items: center;
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    padding: 16px;
    line-height: 1.1;
    border-bottom: 3px solid transparent;
    transition: background .12s ease, border-color .18s ease;
    border-radius: 0;
    min-height: 44px
}

.hd-nav-inner a:hover {
    background: #ffffff21;
    border-bottom-color: #F9F6F8
}

.hd-nav-inner a:focus {
    outline: 2px dashed #F9F6F8;
    outline-offset: -3px
}

.hd-nav-inner a[aria-current="page"] {
    border-bottom-color: #fff;
    background: #ffffff2e
}

@media (max-width: 768px) {
    .hd-top {
        padding: 16px 16px 8px;
        flex-wrap: wrap
    }

    .hd-proof {
        width: 100%
    }

    .hd-nav-inner {
        padding: 0 16px
    }

    .hd-nav-inner a {
        padding: 16px 8px;
        font-size: 15px
    }
}

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

    .hd-nav-inner {
        padding: 0 8px
    }

    .hd-nav-inner a {
        padding: 16px 8px
    }

    .proof-contact {
        padding-left: 8px
    }
}

.site-footer {
    background: linear-gradient(170deg, #3d1f38 0%, #5a2e52 100%);
    padding: 40px 0 16px
}

.ft-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: flex-start;
    gap: 40px;
    flex-wrap: wrap
}

.ft-left {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1 1 260px
}

.ft-logo-ring {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 60px;
    border-radius: 16px;
    background: #ffffff1a;
    box-shadow: 0 0 0 1.5px #D9BAD2, -1px 3px 4px 1px #bf7aaf0f;
    padding: 8px
}

.ft-logo-ring img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.ft-brand-label {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #F9F6F8;
    line-height: 1.1
}

.ft-desc {
    font-size: 15px;
    color: #D9BAD2;
    line-height: 1.7;
    max-width: 320px
}

.ft-address {
    font-size: 15px;
    color: #D9BAD2;
    line-height: 1.7;
    font-style: normal
}

.ft-right {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 0 0 auto;
    min-width: 180px
}

.ft-nav-label {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #BF7AAF;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0
}

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

.ft-links li a {
    font-size: 15px;
    color: #F9F6F8;
    text-decoration: none;
    line-height: 1.4;
    transition: color .14s ease-out;
    display: inline-block;
    min-height: 44px;
    line-height: 44px
}

.ft-links li a:hover {
    color: #D9BAD2
}

.ft-links li a:focus {
    outline: 2px dashed #D9BAD2;
    outline-offset: 2px;
    border-radius: 5px
}

.ft-contact-grp {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.ft-contact-grp a {
    font-size: 15px;
    color: #D9BAD2;
    text-decoration: none;
    line-height: 1.7;
    transition: color .16s ease
}

.ft-contact-grp a:hover {
    color: #F9F6F8
}

.ft-contact-grp a:focus {
    outline: 2px dashed #D9BAD2;
    outline-offset: 2px;
    border-radius: 5px
}

.ft-bottom {
    max-width: 1400px;
    margin: 40px auto 0;
    padding: 16px 40px 0;
    border-top: 1px solid #d9bad240;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px
}

.ft-copy {
    font-size: 15px;
    color: #d9bad2b3;
    line-height: 1.4
}

@media (max-width: 768px) {
    .ft-inner {
        padding: 0 16px;
        gap: 40px
    }

    .ft-bottom {
        padding: 16px 16px 0
    }

    .ft-left {
        flex: 1 1 100%
    }
}

@media (max-width: 480px) {
    .ft-inner {
        padding: 0 8px
    }

    .ft-bottom {
        padding: 16px 8px 0
    }
}

.cookie-tray {
    position: fixed;
    bottom: 40px;
    right: 40px;
    width: 320px;
    background: #fff;
    border-radius: 16px;
    border: 1.5px solid #D9BAD2;
    box-shadow: -1px 10px 40px 1px #bf7aaf24;
    padding: 16px;
    z-index: 1000;
    display: none;
    transform: translateY(20px);
    opacity: 0;
    transition: transform .32s ease, opacity .32s ease
}

.cookie-tray.visible {
    transform: translateY(0);
    opacity: 1
}

.cookie-headline {
    font-family: 'Red Hat Display', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #3d1f38;
    line-height: 1.1;
    margin: 0 0 8px
}

.cookie-body {
    font-size: 15px;
    color: #5a2e52;
    line-height: 1.7;
    margin: 0 0 16px
}

.cookie-body a {
    color: #BF7AAF;
    text-decoration: underline
}

.cookie-body a:focus {
    outline: 2px dashed #BF7AAF;
    outline-offset: 2px;
    border-radius: 5px
}

.cookie-uses {
    margin: 8px 0 0;
    padding: 0 0 0 16px;
    font-size: 15px;
    color: #5a2e52;
    line-height: 1.7
}

.cookie-btns {
    display: flex;
    align-items: center;
    gap: 16px
}

.cookie-accept {
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: #BF7AAF;
    border: none;
    border-radius: 5px;
    padding: 8px 16px;
    cursor: pointer;
    min-height: 44px;
    transition: background .12s ease-out;
    position: relative;
    overflow: hidden
}

.cookie-accept:hover {
    background: #a8639a
}

.cookie-accept:active {
    box-shadow: inset 0 2px 6px #bf7aaf4d
}

.cookie-accept:focus {
    outline: 2px dashed #5a2e52;
    outline-offset: 2px
}

.cookie-decline {
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    color: #5a2e52;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    padding: 8px 4px;
    min-height: 44px;
    transition: color .15s ease
}

.cookie-decline:hover {
    color: #BF7AAF
}

.cookie-decline:focus {
    outline: 2px dashed #BF7AAF;
    outline-offset: 2px;
    border-radius: 5px
}

.pref-trigger {
    position: fixed;
    bottom: 40px;
    left: 40px;
    width: 44px;
    height: 44px;
    border-radius: 40px;
    background: #BF7AAF;
    border: none;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 7px 22px 1px #bf7aaf24;
    z-index: 999;
    transition: background .14s ease-out
}

.pref-trigger:hover {
    background: #a8639a
}

.pref-trigger:focus {
    outline: 2px dashed #5a2e52;
    outline-offset: 2px
}

.pref-trigger svg {
    width: 20px;
    height: 20px;
    fill: #fff
}

@media (max-width: 480px) {
    .cookie-tray {
        right: 8px;
        bottom: 16px;
        width: calc(100vw - 16px)
    }

    .pref-trigger {
        left: 8px;
        bottom: 16px
    }
}

.legal-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px
}

.legal-inner p {
    font-size: 17px;
    line-height: 1.7;
    color: #2d2d2d;
    margin-bottom: 16px
}

.legal-inner strong,
.legal-inner b {
    font-weight: 700;
    color: #1e1e1e
}

.legal-inner em,
.legal-inner i {
    font-style: italic;
    color: #3a3a3a
}

.legal-inner table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
    font-size: 15px;
    line-height: 1.4;
    box-shadow: -1px 7px 22px 1px #bf7aaf17;
    border-radius: 16px;
    overflow: hidden
}

.legal-inner thead {
    background-color: #BF7AAF
}

.legal-inner thead th {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    padding: 16px;
    text-align: left
}

.legal-inner tbody tr {
    border-bottom: 1px solid #D9BAD2;
    transition: background-color .15s ease-out
}

.legal-inner tbody tr:last-child {
    border-bottom: none
}

.legal-inner tbody tr:hover {
    background-color: #F9F6F8
}

.legal-inner td {
    padding: 16px;
    font-size: 15px;
    line-height: 1.7;
    color: #2d2d2d;
    vertical-align: top
}

.legal-inner hr {
    border: none;
    border-top: 1px solid #D9BAD2;
    margin: 40px 0
}

@media (max-width: 768px) {
    .legal-inner {
        padding: 40px 16px
    }

    .legal-inner table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 5px
    }
}

@media (max-width: 480px) {
    .legal-inner p {
        font-size: 15px
    }

    .legal-inner thead th,
    .legal-inner td {
        padding: 8px
    }
}

.abt-us {
    max-width: 1400px;
    margin: 0 auto;
    overflow: hidden
}

.abt-us .fog-layer {
    position: fixed;
    top: 0;
    left: 0;
    width: 200%;
    height: 100%;
    background: linear-gradient(105deg, #f9f6f800 0%, #f9f6f82e 40%, #f9f6f800 70%);
    pointer-events: none;
    animation: fogDrift 18s ease-in-out infinite alternate;
    z-index: 0
}

@keyframes fogDrift {
    0% {
        transform: translateX(-20%)
    }

    100% {
        transform: translateX(10%)
    }
}

.abt-us .title-blk {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 40px;
    padding: 80px 40px;
    position: relative;
    background: linear-gradient(160deg, #F9F6F8 0%, #fff 55%, #F9F6F8 100%)
}

.abt-us .title-blk::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, transparent, #BF7AAF, #D9BAD2, transparent)
}

.abt-us .img-left-wrap {
    position: relative;
    border-radius: 26px;
    overflow: hidden;
    aspect-ratio: 16/9;
    align-self: center
}

.abt-us .img-left-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .82;
    display: block;
    transition: opacity .18s ease-out
}

.abt-us .img-left-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #bf7aaf61 0%, #d9bad22e 100%);
    border-radius: 26px;
    pointer-events: none
}

.abt-us .img-right-wrap {
    position: relative;
    border-radius: 26px;
    overflow: hidden;
    aspect-ratio: 16/9;
    align-self: center
}

.abt-us .img-right-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .82;
    display: block;
    transition: opacity .15s ease
}

.abt-us .img-right-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(225deg, #bf7aaf61 0%, #d9bad22e 100%);
    border-radius: 26px;
    pointer-events: none
}

.abt-us .title-text {
    padding: 40px 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center
}

.abt-us .title-text h1 {
    font-size: 68px;
    line-height: 1.1;
    background: linear-gradient(135deg, #BF7AAF 0%, #8a4a7a 60%, #D9BAD2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0
}

.abt-us .title-text p {
    font-size: 17px;
    line-height: 1.7;
    color: #3a2a35;
    margin: 0
}

.abt-us .framed-word {
    display: inline;
    border: 1.5px solid #BF7AAF;
    border-radius: 5px;
    padding: 0 4px
}

.abt-us .about-strip {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    margin-top: 8px
}

.abt-us .strip-item {
    font-size: 15px;
    color: #6a3d5e;
    line-height: 1.4;
    padding: 4px 8px;
    background: #bf7aaf17;
    border-radius: 5px
}

.abt-us .who-we-blk {
    padding: 80px 40px;
    background: #fff;
    position: relative
}

.abt-us .who-we-blk::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 40px;
    right: 40px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #D9BAD2, transparent)
}

.abt-us .who-grid {
    display: grid;
    grid-template-columns: 3fr 2fr 2fr;
    gap: 40px;
    align-items: start
}

.abt-us .who-main h2 {
    font-size: 26px;
    line-height: 1.4;
    margin: 0 0 16px;
    background: linear-gradient(120deg, #BF7AAF 0%, #7a3a68 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abt-us .who-main p {
    font-size: 17px;
    line-height: 1.7;
    color: #2e1f2a;
    margin: 0 0 16px
}

.abt-us .stat-card {
    border-radius: 16px;
    padding: 40px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    overflow: hidden;
    box-shadow: -1px 7px 22px 1px #bf7aaf17;
    background: #F9F6F8;
    transition: box-shadow .16s ease-out, transform .13s ease
}

.abt-us .stat-card:hover {
    box-shadow: -1px 10px 40px 1px #bf7aaf24;
    transform: translateY(-2px)
}

.abt-us .stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, transparent 50%, #bf7aaf38 50%);
    border-radius: 0 16px 0 0
}

.abt-us .stat-num {
    font-size: 68px;
    line-height: 1.1;
    background: linear-gradient(135deg, #BF7AAF 0%, #D9BAD2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abt-us .stat-desc {
    font-size: 15px;
    line-height: 1.4;
    color: #4a2e42
}

.abt-us .method-blk {
    padding: 80px 40px;
    background: #F9F6F8;
    position: relative
}

.abt-us .method-blk .texture-layer {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='80' height='80' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    pointer-events: none;
    border-radius: 0
}

.abt-us .method-blk h2 {
    font-size: 26px;
    line-height: 1.4;
    margin: 0 0 40px;
    background: linear-gradient(110deg, #BF7AAF 0%, #7a3a68 70%, #D9BAD2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-align: center
}

.abt-us .step-tracker {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: flex-start;
    position: relative
}

.abt-us .step-tracker::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 28px;
    right: 28px;
    height: 2px;
    background: linear-gradient(90deg, #BF7AAF, #D9BAD2, #BF7AAF);
    z-index: 0
}

.abt-us .step-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    position: relative;
    z-index: 1
}

.abt-us .step-num {
    width: 40px;
    height: 40px;
    border-radius: 40px;
    background: linear-gradient(135deg, #BF7AAF, #D9BAD2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: #fff;
    font-weight: 700;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f;
    flex-shrink: 0
}

.abt-us .step-txt {
    text-align: center
}

.abt-us .step-txt h5 {
    font-size: 15px;
    line-height: 1.4;
    color: #3a1e30;
    margin: 0 0 4px
}

.abt-us .step-txt p {
    font-size: 15px;
    line-height: 1.7;
    color: #5a3a50;
    margin: 0
}

.abt-us .compare-blk {
    padding: 80px 40px;
    background: #fff;
    position: relative
}

.abt-us .compare-blk h2 {
    font-size: 26px;
    line-height: 1.4;
    margin: 0 0 40px;
    background: linear-gradient(125deg, #BF7AAF 0%, #8a4a7a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.abt-us .compare-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start
}

.abt-us .compare-img-col {
    position: relative;
    border-radius: 26px;
    overflow: hidden;
    aspect-ratio: 16/9
}

.abt-us .compare-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .78;
    display: block;
    transition: opacity .19s ease-out
}

.abt-us .compare-img-col:hover img {
    opacity: .92
}

.abt-us .compare-img-col::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #bf7aaf4d 0%, #d9bad21a 100%);
    pointer-events: none
}

.abt-us .compare-panels {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abt-us .compare-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.abt-us .panel-a {
    border-radius: 16px;
    padding: 16px;
    background: #bf7aaf12;
    border: 1.5px solid #bf7aaf38;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f;
    transition: background .17s ease-out
}

.abt-us .panel-a:hover {
    background: #bf7aaf21
}

.abt-us .panel-b {
    border-radius: 16px;
    padding: 16px;
    background: #d9bad21f;
    border: 1.5px solid #d9bad259;
    box-shadow: -1px 3px 4px 1px #d9bad217;
    transition: background .14s ease
}

.abt-us .panel-b:hover {
    background: #d9bad238
}

.abt-us .panel-label {
    font-size: 15px;
    line-height: 1.4;
    color: #BF7AAF;
    font-weight: 700;
    margin: 0 0 8px;
    display: block
}

.abt-us .panel-a p,
.abt-us .panel-b p {
    font-size: 15px;
    line-height: 1.7;
    color: #3a2030;
    margin: 0
}

.abt-us .compare-intro {
    font-size: 17px;
    line-height: 1.7;
    color: #2e1f2a;
    margin: 0 0 16px
}

@media (max-width: 1280px) {
    .abt-us .title-blk {
        grid-template-columns: 1fr 2fr 1fr;
        gap: 16px;
        padding: 40px 16px
    }

    .abt-us .title-text h1 {
        font-size: 68px
    }

    .abt-us .who-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

    .abt-us .who-main {
        grid-column: 1 / -1
    }
}

@media (max-width: 768px) {
    .abt-us .title-blk {
        grid-template-columns: 1fr;
        padding: 40px 16px;
        gap: 16px
    }

    .abt-us .title-text h1 {
        font-size: 26px
    }

    .abt-us .title-text {
        padding: 16px 0
    }

    .abt-us .about-strip {
        flex-direction: column;
        align-items: flex-start
    }

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

    .abt-us .step-tracker {
        flex-direction: column;
        gap: 16px
    }

    .abt-us .step-tracker::before {
        display: none
    }

    .abt-us .step-item {
        flex-direction: row;
        align-items: flex-start;
        text-align: left
    }

    .abt-us .step-txt {
        text-align: left
    }

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

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

    .abt-us .method-blk,
    .abt-us .who-we-blk,
    .abt-us .compare-blk {
        padding: 40px 16px
    }
}

@media (max-width: 480px) {
    .abt-us .title-blk {
        padding: 40px 8px
    }

    .abt-us .title-text h1 {
        font-size: 26px
    }

    .abt-us .stat-num {
        font-size: 26px
    }
}

.abt-us .img-left-wrap:hover img,
.abt-us .img-right-wrap:hover img {
    opacity: .95
}

.abt-us :focus-visible {
    outline: 3px solid #BF7AAF !important;
    outline-offset: 3px !important;
    border-radius: 5px !important
}

.prm {
    max-width: 100%;
    overflow-x: hidden
}

.prm .pg-wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

@media (max-width: 768px) {
    .prm .pg-wrap {
        padding: 0 16px
    }
}

.prm .grad-txt {
    background: linear-gradient(127deg, #BF7AAF 0%, #D9BAD2 60%, #BF7AAF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.prm .num-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 40px;
    background: #BF7AAF;
    color: #fff;
    font-size: 15px;
    line-height: 1.1;
    font-weight: 600
}

.prm .framed-word {
    display: inline;
    border: 1.5px solid #BF7AAF;
    border-radius: 5px;
    padding: 0 6px;
    color: #BF7AAF
}

.prm .t-blk {
    position: relative;
    padding: 80px 0;
    background: #F9F6F8;
    overflow: hidden
}

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

.prm .t-blk-deco-tl {
    position: absolute;
    top: 24px;
    left: 24px;
    width: 60px;
    height: 60px;
    pointer-events: none
}

.prm .t-blk-deco-br {
    position: absolute;
    bottom: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    pointer-events: none
}

.prm .t-blk-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    position: relative
}

.prm .t-blk-txt {
    flex: 1 1 0;
    min-width: 0
}

.prm .t-blk-img-col {
    flex: 0 0 480px;
    max-width: 480px;
    position: relative;
    border-radius: 16px;
    overflow: hidden
}

.prm .t-blk-img-col img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    filter: brightness(0.88);
    transition: filter .18s ease-out
}

.prm .t-blk-img-col:hover img {
    filter: brightness(1)
}

.prm .t-blk-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #F9F6F8 0%, #f9f6f84d 55%, transparent 100%);
    pointer-events: none
}

.prm .t-eyebrow {
    font-size: 15px;
    line-height: 1.4;
    color: #BF7AAF;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 16px
}

.prm .t-h1 {
    font-size: 68px;
    line-height: 1.1;
    margin-bottom: 16px;
    color: #2a1f27
}

.prm .t-sub {
    font-size: 17px;
    line-height: 1.7;
    color: #4a3844;
    margin-bottom: 40px;
    max-width: 480px
}

.prm .t-link {
    display: inline-block;
    padding: 16px 40px;
    background: #BF7AAF;
    color: #fff;
    font-size: 15px;
    line-height: 1.4;
    border-radius: 26px;
    text-decoration: none;
    box-shadow: -1px 7px 22px 1px #bf7aaf17;
    position: relative;
    overflow: hidden;
    transition: color .15s ease-out, box-shadow .2s ease
}

.prm .t-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #ffffff26;
    transition: height .18s ease-out
}

.prm .t-link:hover::after {
    height: 100%
}

.prm .t-link:hover {
    box-shadow: -1px 10px 40px 1px #bf7aaf24
}

@media (max-width: 1280px) {
    .prm .t-blk-img-col {
        flex: 0 0 380px;
        max-width: 380px
    }

    .prm .t-h1 {
        font-size: 52px
    }
}

@media (max-width: 768px) {
    .prm .t-blk-inner {
        flex-direction: column-reverse
    }

    .prm .t-blk-img-col {
        flex: none;
        max-width: 100%;
        width: 100%
    }

    .prm .t-h1 {
        font-size: 36px
    }

    .prm .t-blk {
        padding: 40px 0
    }

    .prm .t-sub {
        max-width: 100%
    }
}

@media (max-width: 480px) {
    .prm .t-h1 {
        font-size: 26px
    }
}

.prm .div-zz {
    display: block;
    width: 100%;
    line-height: 0
}

.prm .prob-sec {
    padding: 80px 0;
    background: #fff
}

.prm .prob-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start
}

.prm .prob-lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #BF7AAF;
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-bottom: 16px
}

.prm .prob-h2 {
    font-size: 26px;
    line-height: 1.4;
    color: #2a1f27;
    margin-bottom: 16px
}

.prm .prob-body {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3844;
    margin-bottom: 16px
}

.prm .prob-notch-blk {
    border-radius: 16px;
    background: #F9F6F8;
    padding: 40px;
    position: relative;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f
}

.prm .prob-notch {
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: #BF7AAF;
    border-radius: 5px 0 0 5px
}

.prm .prob-stat-row {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px
}

.prm .prob-stat {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.prm .prob-stat-num {
    font-size: 26px;
    line-height: 1.1;
    color: #BF7AAF;
    font-weight: 700;
    min-width: 56px
}

.prm .prob-stat-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3844
}

.prm .prob-img-wrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: -1px 7px 22px 1px #bf7aaf17
}

.prm .prob-img-wrap img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    filter: brightness(0.87);
    transition: filter .2s ease-out
}

.prm .prob-img-wrap:hover img {
    filter: brightness(1)
}

@media (max-width: 768px) {
    .prm .prob-grid {
        grid-template-columns: 1fr
    }

    .prm .prob-sec {
        padding: 40px 0
    }
}

.prm .commit-sec {
    padding: 80px 0;
    background: #F9F6F8;
    position: relative
}

.prm .commit-bg-spot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 400px;
    background: radial-gradient(ellipse at 40% 60%, #bf7aaf1f 0%, #d9bad212 50%, transparent 75%), radial-gradient(ellipse at 70% 30%, #d9bad21a 0%, transparent 60%);
    border-radius: 40px;
    animation: spot-breathe 7s ease-in-out infinite;
    pointer-events: none
}

@keyframes spot-breathe {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: .7
    }

    50% {
        transform: translate(-50%, -50%) scale(1.18);
        opacity: 1
    }
}

.prm .commit-inner {
    position: relative
}

.prm .commit-head-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 40px;
    margin-bottom: 40px
}

.prm .commit-h2 {
    font-size: 26px;
    line-height: 1.4;
    color: #2a1f27;
    flex: 1 1 0
}

.prm .commit-sub {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3844;
    flex: 1 1 0
}

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

.prm .commit-step {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f;
    transition: box-shadow .16s ease-out, backdrop-filter .16s ease-out
}

.prm .commit-step:hover {
    box-shadow: -1px 10px 40px 1px #bf7aaf24;
    backdrop-filter: blur(2px)
}

.prm .commit-step-ttl {
    font-size: 17px;
    line-height: 1.4;
    color: #2a1f27;
    font-weight: 600
}

.prm .commit-step-body {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3844
}

@media (max-width: 1280px) {
    .prm .commit-steps {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 768px) {
    .prm .commit-steps {
        grid-template-columns: 1fr
    }

    .prm .commit-head-row {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start
    }

    .prm .commit-sec {
        padding: 40px 0
    }
}

.prm .ctx-sec {
    padding: 80px 0;
    background: #fff
}

.prm .ctx-layout {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: stretch
}

.prm .ctx-sidebar {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prm .ctx-sidebar-img {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: -1px 7px 22px 1px #bf7aaf17
}

.prm .ctx-sidebar-img img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    filter: brightness(0.86);
    transition: filter .22s ease
}

.prm .ctx-sidebar-img:hover img {
    filter: brightness(1)
}

.prm .ctx-sidebar-card {
    background: #F9F6F8;
    border-radius: 16px;
    padding: 40px;
    flex: 1 1 0;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f
}

.prm .ctx-sidebar-card-ttl {
    font-size: 17px;
    line-height: 1.4;
    color: #2a1f27;
    font-weight: 600;
    margin-bottom: 8px
}

.prm .ctx-sidebar-card-body {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3844
}

.prm .ctx-main {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.prm .ctx-h2 {
    font-size: 26px;
    line-height: 1.4;
    color: #2a1f27;
    margin-bottom: 8px
}

.prm .ctx-body {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3844
}

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

.prm .ctx-list-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    background: #F9F6F8;
    border-radius: 16px;
    padding: 16px
}

.prm .ctx-list-item-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3844
}

.prm .ctx-diamond {
    position: relative;
    align-self: flex-start
}

.prm .ctx-diamond-shape {
    width: 14px;
    height: 14px;
    background: #BF7AAF;
    transform: rotate(45deg);
    border-radius: 2px;
    margin-top: 6px;
    flex-shrink: 0
}

@media (max-width: 768px) {
    .prm .ctx-layout {
        flex-direction: column
    }

    .prm .ctx-sidebar {
        flex: none;
        max-width: 100%;
        width: 100%
    }

    .prm .ctx-sec {
        padding: 40px 0
    }
}

.prm .ready-sec {
    padding: 80px 0;
    background: #F9F6F8;
    position: relative
}

.prm .ready-deco-diamond {
    position: absolute;
    top: 40px;
    right: 80px;
    width: 32px;
    height: 32px;
    background: #bf7aaf2e;
    transform: rotate(45deg);
    border-radius: 5px;
    pointer-events: none
}

.prm .ready-inner {
    position: relative
}

.prm .ready-top {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 40px
}

.prm .ready-h2 {
    font-size: 26px;
    line-height: 1.4;
    color: #2a1f27;
    flex: 1 1 0
}

.prm .ready-intro {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3844;
    flex: 1 1 0
}

.prm .ready-checks {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.prm .ready-chk {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f;
    transition: box-shadow .19s ease-out
}

.prm .ready-chk:hover {
    box-shadow: -1px 7px 22px 1px #bf7aaf17
}

.prm .ready-chk-body {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3844
}

.prm .ready-chk-ttl {
    font-size: 17px;
    line-height: 1.4;
    color: #2a1f27;
    font-weight: 600;
    margin-bottom: 8px
}

@media (max-width: 768px) {
    .prm .ready-checks {
        grid-template-columns: 1fr
    }

    .prm .ready-top {
        flex-direction: column;
        gap: 16px
    }

    .prm .ready-sec {
        padding: 40px 0
    }

    .prm .ready-deco-diamond {
        display: none
    }
}

@media (max-width: 480px) {
    .prm .commit-step {
        padding: 16px
    }

    .prm .prob-notch-blk {
        padding: 16px 16px 16px 24px
    }

    .prm .ready-chk {
        padding: 16px
    }
}

.msn-pg {
    max-width: 100%;
    overflow-x: hidden
}

.msn-pg .pg-wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 16px
}

.msn-pg .diamond-div {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
    overflow: hidden
}

.msn-pg .diamond-div span {
    width: 6px;
    height: 6px;
    background: #BF7AAF;
    transform: rotate(45deg);
    flex-shrink: 0;
    opacity: .5
}

.msn-pg .diamond-div span:nth-child(even) {
    opacity: .25;
    width: 4px;
    height: 4px
}

.msn-pg .grad-text {
    background: linear-gradient(120deg, #BF7AAF 0%, #D9BAD2 60%, #BF7AAF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.msn-pg .accent-line {
    width: 48px;
    height: 2px;
    background: #BF7AAF;
    margin: 8px 0 16px
}

.msn-pg .num-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 40px;
    background: #BF7AAF;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    flex-shrink: 0
}

.msn-pg .framed-word {
    display: inline;
    border: 1.5px solid #BF7AAF;
    border-radius: 5px;
    padding: 0 6px
}

.msn-pg .diamond-row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    justify-content: center;
    padding: 16px 0
}

.msn-pg .diamond-row span {
    width: 5px;
    height: 5px;
    background: #BF7AAF;
    transform: rotate(45deg);
    opacity: .3
}

.msn-pg .diamond-row span.big {
    width: 7px;
    height: 7px;
    opacity: .5
}

.msn-pg .title-blk {
    position: relative;
    padding: 80px 0 40px;
    background: #F9F6F8
}

.msn-pg .title-blk .pg-wrap {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 40px;
    position: relative
}

.msn-pg .title-blk .txt-zone {
    flex: 1 1 55%;
    position: relative;
    z-index: 2;
    padding-bottom: 40px
}

.msn-pg .title-blk .big-quote {
    position: absolute;
    top: -16px;
    left: -24px;
    font-size: 180px;
    line-height: 1.1;
    color: #BF7AAF;
    opacity: .08;
    pointer-events: none;
    user-select: none;
    z-index: 1;
    font-weight: 900
}

.msn-pg .title-blk h1 {
    font-size: 68px;
    line-height: 1.1;
    margin: 0 0 16px;
    position: relative;
    z-index: 2
}

.msn-pg .title-blk .sub-theses {
    font-size: 17px;
    line-height: 1.7;
    color: #3a2a35;
    margin: 0 0 16px;
    position: relative;
    z-index: 2
}

.msn-pg .title-blk .thesis-pair {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    z-index: 2
}

.msn-pg .title-blk .thesis-item {
    font-size: 15px;
    line-height: 1.4;
    color: #5a3d52;
    padding: 8px 16px;
    border-radius: 5px;
    background: #bf7aaf12;
    border-top: 2px solid #D9BAD2
}

.msn-pg .title-blk .img-zone {
    flex: 1 1 40%;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: -1px 7px 22px 1px #bf7aaf17
}

.msn-pg .title-blk .img-zone img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    border-radius: 16px
}

.msn-pg .title-blk .img-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, #f9f6f8d9 0%, #f9f6f800 60%);
    border-radius: 16px;
    pointer-events: none
}

.msn-pg .title-blk .clip-reveal {
    clip-path: inset(0 100% 0 0);
    animation: wipe-in .7s .15s ease-out forwards
}

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

.msn-pg .title-blk .thesis-item:nth-child(1) {
    animation: rise-up .18s .1s ease-out both
}

.msn-pg .title-blk .thesis-item:nth-child(2) {
    animation: rise-up .22s .22s ease-out both
}

.msn-pg .title-blk .thesis-item:nth-child(3) {
    animation: rise-up .26s .34s ease-out both
}

@keyframes rise-up {
    from {
        opacity: 0;
        transform: translateY(18px)
    }

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

.msn-pg .detail-blk {
    position: relative;
    padding: 0
}

.msn-pg .detail-blk .split-bg {
    display: flex;
    flex-direction: row;
    min-height: 420px
}

.msn-pg .detail-blk .split-top {
    flex: 1;
    background: #fff
}

.msn-pg .detail-blk .split-bot {
    flex: 1;
    background: #F9F6F8
}

.msn-pg .detail-blk .over-layer {
    position: absolute;
    inset: 0;
    z-index: 2
}

.msn-pg .detail-blk .dots-tex {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    overflow: hidden
}

.msn-pg .detail-blk .dots-tex::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle, #BF7AAF 1.5px, transparent 1.5px), radial-gradient(circle, #D9BAD2 2.5px, transparent 2.5px), radial-gradient(circle, #BF7AAF 1px, transparent 1px);
    background-size: 60px 60px, 110px 110px, 40px 40px;
    background-position: 10px 10px, 35px 35px, 55px 20px;
    opacity: .07
}

.msn-pg .detail-blk .inner-detail {
    position: relative;
    z-index: 3;
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 16px;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start
}

.msn-pg .detail-blk .left-col {
    flex: 1 1 50%
}

.msn-pg .detail-blk .right-col {
    flex: 1 1 50%;
    padding-top: 8px
}

.msn-pg .detail-blk h2 {
    font-size: 26px;
    line-height: 1.4;
    margin: 0 0 8px
}

.msn-pg .detail-blk .body-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #3a2a35;
    margin: 0 0 16px
}

.msn-pg .detail-blk .val-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.msn-pg .detail-blk .val-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.msn-pg .detail-blk .val-list .v-text {
    font-size: 15px;
    line-height: 1.7;
    color: #3a2a35
}

.msn-pg .detail-blk .v-label {
    font-size: 15px;
    font-weight: 700;
    color: #2a1a25;
    display: block;
    margin-bottom: 4px
}

.msn-pg .detail-blk .bars-blk {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.msn-pg .detail-blk .bar-row {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.msn-pg .detail-blk .bar-label {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-size: 15px;
    color: #3a2a35
}

.msn-pg .detail-blk .bar-track {
    height: 10px;
    background: #D9BAD2;
    border-radius: 5px;
    overflow: hidden
}

.msn-pg .detail-blk .bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #BF7AAF, #D9BAD2);
    border-radius: 5px;
    transition: width .7s ease-out
}

.msn-pg .detail-blk .bar-fill.a1 {
    width: 82%
}

.msn-pg .detail-blk .bar-fill.a2 {
    width: 91%
}

.msn-pg .detail-blk .bar-fill.b1 {
    width: 65%
}

.msn-pg .detail-blk .bar-fill.b2 {
    width: 78%
}

.msn-pg .detail-blk .bars-caption {
    font-size: 15px;
    color: #7a5a72;
    margin-top: 8px;
    line-height: 1.4
}

.msn-pg .vals-blk {
    padding: 80px 0 40px;
    background: #fff;
    position: relative
}

.msn-pg .vals-blk .pg-wrap {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.msn-pg .vals-blk .row-zig {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center
}

.msn-pg .vals-blk .row-zig.rev {
    flex-direction: row-reverse
}

.msn-pg .vals-blk .zig-img {
    flex: 1 1 45%;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: -1px 10px 40px 1px #bf7aaf24;
    position: relative
}

.msn-pg .vals-blk .zig-img img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block
}

.msn-pg .vals-blk .zig-txt {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.msn-pg .vals-blk h3 {
    font-size: 26px;
    line-height: 1.4;
    margin: 0
}

.msn-pg .vals-blk .zig-body {
    font-size: 15px;
    line-height: 1.7;
    color: #3a2a35;
    margin: 0
}

.msn-pg .vals-blk .pts-col {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.msn-pg .vals-blk .pt-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 15px;
    line-height: 1.4;
    color: #3a2a35
}

.msn-pg .vals-blk .abbrv-bg {
    position: absolute;
    top: 40px;
    right: 16px;
    font-size: 120px;
    font-weight: 900;
    color: #BF7AAF;
    opacity: .04;
    pointer-events: none;
    user-select: none;
    line-height: 1.1;
    z-index: 0
}

.msn-pg .vals-blk .zig-txt {
    position: relative;
    z-index: 1
}

@media (max-width: 768px) {
    .msn-pg .title-blk .pg-wrap {
        flex-direction: column
    }

    .msn-pg .title-blk h1 {
        font-size: 40px
    }

    .msn-pg .title-blk .img-zone {
        width: 100%
    }

    .msn-pg .detail-blk .inner-detail {
        flex-direction: column;
        padding: 40px 16px
    }

    .msn-pg .detail-blk .split-bg {
        flex-direction: column
    }

    .msn-pg .vals-blk .row-zig,
    .msn-pg .vals-blk .row-zig.rev {
        flex-direction: column
    }
}

@media (max-width: 480px) {
    .msn-pg .title-blk h1 {
        font-size: 26px
    }

    .msn-pg .title-blk {
        padding: 40px 0 16px
    }

    .msn-pg .vals-blk {
        padding: 40px 0 16px
    }
}

.cont-pg {
    max-width: 1400px;
    margin: 0 auto;
    overflow: hidden
}

.cont-pg .reach-band {
    padding: 80px 40px;
    background: #F9F6F8;
    position: relative
}

.cont-pg .reach-band::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 320px;
    background: repeating-conic-gradient(#bf7aaf12 0deg 2deg, transparent 2deg 12deg);
    border-radius: 40px;
    pointer-events: none
}

.cont-pg .reach-col {
    max-width: 720px;
    margin: 0 auto;
    position: relative
}

.cont-pg .reach-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px
}

.cont-pg .reach-dot {
    width: 8px;
    height: 8px;
    border-radius: 40px;
    background: #BF7AAF;
    display: inline-block
}

.cont-pg .reach-label {
    font-size: 15px;
    line-height: 1.4;
    color: #BF7AAF;
    letter-spacing: .08em;
    text-transform: uppercase
}

.cont-pg .reach-h1 {
    font-size: 68px;
    line-height: 1.1;
    margin: 0 0 16px;
    background: linear-gradient(127deg, #BF7AAF 0%, #8a4a7a 40%, #D9BAD2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.cont-pg .reach-h1 .punct {
    -webkit-text-fill-color: #BF7AAF;
    color: #BF7AAF
}

.cont-pg .reach-sub {
    font-size: 17px;
    line-height: 1.7;
    color: #3d2b38;
    margin: 0 0 40px;
    max-width: 560px
}

.cont-pg .reach-cards {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.cont-pg .r-card {
    flex: 1 1 180px;
    border: 1.5px solid #D9BAD2;
    border-radius: 16px;
    padding: 16px;
    background: #fff;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f;
    transition: box-shadow .15s ease-out, border-color .18s ease
}

.cont-pg .r-card:hover {
    box-shadow: -1px 7px 22px 1px #bf7aaf17;
    border-color: #BF7AAF
}

.cont-pg .r-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 5px;
    background: #F9F6F8;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px
}

.cont-pg .r-card-icon svg {
    width: 18px;
    height: 18px
}

.cont-pg .r-card-lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #BF7AAF;
    margin-bottom: 4px
}

.cont-pg .r-card-val {
    font-size: 15px;
    line-height: 1.4;
    color: #2a1a24;
    font-weight: 600
}

.cont-pg .r-card-val a {
    color: #2a1a24;
    text-decoration: none;
    transition: color .12s ease-out
}

.cont-pg .r-card-val a:hover {
    color: #BF7AAF
}

.cont-pg .form-band {
    padding: 80px 40px;
    background: #fff;
    position: relative
}

.cont-pg .form-band::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #BF7AAF 0%, #D9BAD2 60%, transparent 100%)
}

.cont-pg .form-wrap {
    max-width: 720px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start
}

.cont-pg .form-aside {
    flex: 0 0 220px;
    position: relative
}

.cont-pg .form-aside-line {
    position: absolute;
    top: 0;
    right: -20px;
    bottom: 0;
    width: 1.5px;
    background: linear-gradient(180deg, transparent, #BF7AAF 40%, #D9BAD2 80%, transparent)
}

.cont-pg .form-aside-h {
    font-size: 26px;
    line-height: 1.1;
    margin: 0 0 16px;
    background: linear-gradient(127deg, #BF7AAF 0%, #D9BAD2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.cont-pg .form-aside-p {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3244;
    margin: 0
}

.cont-pg .form-aside-note {
    margin-top: 40px;
    padding: 16px;
    border-radius: 16px;
    background: #F9F6F8;
    border: 1px solid #D9BAD2
}

.cont-pg .form-aside-note p {
    font-size: 15px;
    line-height: 1.4;
    color: #5a3d52;
    margin: 0
}

.cont-pg .form-aside-note strong {
    color: #BF7AAF
}

.cont-pg .form-main {
    flex: 1 1 0;
    min-width: 0
}

.cont-pg .f-group {
    margin-bottom: 16px
}

.cont-pg .f-lbl {
    display: block;
    font-size: 15px;
    line-height: 1.4;
    color: #3d2b38;
    margin-bottom: 8px;
    font-weight: 600
}

.cont-pg .f-inp {
    width: 100%;
    padding: 16px;
    border: 1.5px solid #D9BAD2;
    border-radius: 16px;
    font-size: 17px;
    line-height: 1.4;
    color: #2a1a24;
    background: #F9F6F8;
    box-sizing: border-box;
    outline: none;
    transition: border-color .15s ease-out, box-shadow .18s ease;
    appearance: none
}

.cont-pg .f-inp:focus {
    border-color: #BF7AAF;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f;
    background: #fff
}

.cont-pg .f-inp::placeholder {
    font-style: italic;
    opacity: .55;
    color: #4a3244
}

.cont-pg .f-select {
    width: 100%;
    padding: 16px;
    border: 1.5px solid #D9BAD2;
    border-radius: 16px;
    font-size: 17px;
    line-height: 1.4;
    color: #2a1a24;
    background: #F9F6F8;
    box-sizing: border-box;
    outline: none;
    transition: border-color .15s ease-out, box-shadow .18s ease;
    appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23BF7AAF' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px
}

.cont-pg .f-select:focus {
    border-color: #BF7AAF;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f;
    background-color: #fff
}

.cont-pg .f-check-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px
}

.cont-pg .f-chk {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #BF7AAF;
    cursor: pointer
}

.cont-pg .f-chk-txt {
    font-size: 15px;
    line-height: 1.7;
    color: #4a3244
}

.cont-pg .f-chk-txt a {
    color: #BF7AAF;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .12s ease-out
}

.cont-pg .f-chk-txt a:hover {
    color: #8a4a7a
}

.cont-pg .f-btn {
    display: inline-block;
    padding: 16px 40px;
    border-radius: 26px;
    font-size: 17px;
    line-height: 1.4;
    color: #fff;
    background: #BF7AAF;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .16s ease-out;
    box-shadow: -1px 7px 22px 1px #bf7aaf17
}

.cont-pg .f-btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0;
    background: #8a4a7a;
    transition: height .18s ease-out;
    z-index: 0
}

.cont-pg .f-btn:hover::before {
    height: 100%
}

.cont-pg .f-btn:active {
    box-shadow: inset -1px 3px 4px 1px #bf7aaf24
}

.cont-pg .f-btn span {
    position: relative;
    z-index: 1
}

.cont-pg .f-btn:focus {
    outline: 2px solid #8a4a7a;
    outline-offset: 3px
}

.cont-pg .img-ph {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 16px;
    overflow: hidden;
    margin-top: 40px;
    position: relative;
    box-shadow: -1px 7px 22px 1px #bf7aaf17
}

.cont-pg .img-ph img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.8) brightness(0.97);
    transition: filter .2s ease-out, transform .22s ease
}

.cont-pg .img-ph:hover img {
    filter: saturate(1.1) brightness(1.02);
    transform: scale(1.02)
}

.cont-pg .framed-word {
    display: inline;
    border: 1.5px solid #BF7AAF;
    border-radius: 5px;
    padding: 0 4px
}

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

    70% {
        opacity: 1;
        transform: translateY(-5px)
    }

    85% {
        transform: translateY(3px)
    }

    100% {
        transform: translateY(0)
    }
}

.cont-pg .r-card {
    animation: bounce-in .22s ease-out both
}

.cont-pg .r-card:nth-child(1) {
    animation-delay: .05s
}

.cont-pg .r-card:nth-child(2) {
    animation-delay: .1s
}

.cont-pg .r-card:nth-child(3) {
    animation-delay: .15s
}

@media (max-width: 768px) {
    .cont-pg .reach-h1 {
        font-size: 40px
    }

    .cont-pg .form-wrap {
        flex-direction: column;
        gap: 40px
    }

    .cont-pg .form-aside {
        flex: none;
        width: 100%
    }

    .cont-pg .form-aside-line {
        display: none
    }

    .cont-pg .reach-band,
    .cont-pg .form-band {
        padding: 40px 16px
    }
}

@media (max-width: 480px) {
    .cont-pg .reach-h1 {
        font-size: 26px
    }

    .cont-pg .reach-cards {
        flex-direction: column
    }

    .cont-pg .r-card {
        flex: none;
        width: 100%
    }
}

.success-page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 16px;
    background: #F9F6F8
}

.success-page .success-wrap {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 26px;
    padding: 80px 40px;
    box-shadow: -1px 7px 22px 1px #bf7aaf17;
    text-align: center
}

.success-page .icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: 40px;
    background: #F9F6F8;
    border: 2px solid #D9BAD2;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin: 0 auto 40px
}

.success-page .check-svg {
    display: block
}

.success-page .success-heading {
    font-size: 26px;
    line-height: 1.1;
    margin: 0 0 16px;
    background: linear-gradient(120deg, #BF7AAF 30%, #D9BAD2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.success-page .success-text {
    font-size: 17px;
    line-height: 1.7;
    color: #3a2e38;
    margin: 0 0 40px
}

.success-page .success-link {
    display: inline-block;
    font-size: 15px;
    line-height: 1.4;
    color: #fff;
    background: #BF7AAF;
    border-radius: 16px;
    padding: 16px 40px;
    text-decoration: none;
    border: none;
    position: relative;
    overflow: hidden;
    transition: color .15s ease-out, box-shadow .18s ease;
    box-shadow: -1px 3px 4px 1px #bf7aaf0f
}

.success-page .success-link::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #ffffff26;
    transition: height .14s ease-out;
    border-radius: 16px
}

.success-page .success-link:hover::before {
    height: 100%
}

.success-page .success-link:hover {
    box-shadow: -1px 7px 22px 1px #bf7aaf24
}

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

.success-page .success-link:active {
    box-shadow: inset -1px 3px 4px 1px #bf7aaf2e
}

.success-page .divider-line {
    width: 48px;
    height: 2px;
    background: #D9BAD2;
    border-radius: 5px;
    margin: 40px auto
}

.success-page .contact-note {
    font-size: 15px;
    line-height: 1.4;
    color: #7a6275;
    margin: 0
}

.success-page .contact-note a {
    color: #BF7AAF;
    text-decoration: none;
    border-bottom: 1px solid #D9BAD2;
    transition: border-color .12s ease-out
}

.success-page .contact-note a:hover {
    border-color: #BF7AAF
}

@media (max-width: 480px) {
    .success-page {
        padding: 40px 16px
    }

    .success-page .success-wrap {
        padding: 40px 16px
    }
}