/* ═══════════════════════════════════════════════════
   HOME WELCOME / HERO — Mind & Soul Premium Organic UI
   Scoped only to .welcome.welcome--home
   Flexbox only / No CSS Grid / No clamp()
   ═══════════════════════════════════════════════════ */

   .welcome.welcome--home {
    --ms-primary: #4f9283;
    --ms-primary-dark: #347d68;
    --ms-primary-soft: rgba(79, 146, 131, 0.12);
    --ms-primary-softer: rgba(79, 146, 131, 0.07);

    --ms-purple: #6E4FB3;
    --ms-purple-dark: #5A3D96;
    --ms-purple-soft: rgba(110, 79, 179, 0.10);

    --ms-text: #243632;
    --ms-muted: #63736f;
    --ms-bg: #f7fbf9;
    --ms-white: #ffffff;
    --ms-line: rgba(79, 146, 131, 0.18);

    --ms-radius-small: 12px;
    --ms-radius-medium: 20px;
    --ms-radius-large: 32px;

    --ms-transition: 280ms ease;
    --ms-ease: cubic-bezier(.22, 1, .36, 1);

    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(79, 146, 131, 0.12) 0, rgba(79, 146, 131, 0) 280px),
        radial-gradient(circle at 88% 46%, rgba(110, 79, 179, 0.08) 0, rgba(110, 79, 179, 0) 260px),
        linear-gradient(180deg, #ffffff 0%, var(--ms-bg) 100%);
    color: var(--ms-text);
    margin-top: 140px;
}

/* Soft atmospheric layer */

.welcome.welcome--home::before,
.welcome.welcome--home::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.welcome.welcome--home::before {
    width: 420px;
    height: 420px;
    right: -180px;
    top: 42%;
    border-radius: 50%;
    background: rgba(79, 146, 131, 0.08);
    transform: translateY(-50%);
}

.welcome.welcome--home::after {
    width: 320px;
    height: 320px;
    left: -150px;
    bottom: 90px;
    border-radius: 50%;
    background: rgba(110, 79, 179, 0.055);
}

/* Hero slider */

.welcome.welcome--home .slider {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 760px;
    overflow: hidden;
    background: #eef7f4;
}

.welcome.welcome--home .slider .outer,
.welcome.welcome--home .slider .inner {
    width: 100%;
    height: 100%;
}

.welcome.welcome--home .slider .inner {
    display: flex;
    flex-wrap: nowrap;
    transition: transform 520ms var(--ms-ease);
    will-change: transform;
}

.welcome.welcome--home .slider .inner .card,
.welcome.welcome--home .welcome__slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* Hero image */

.welcome.welcome--home .slider .inner .card .card-image,
.welcome.welcome--home .welcome__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.welcome.welcome--home .slider .card-image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(17, 42, 36, 0.68) 0%, rgba(17, 42, 36, 0.38) 42%, rgba(17, 42, 36, 0.14) 100%),
        linear-gradient(180deg, rgba(20, 40, 35, 0.10) 0%, rgba(20, 40, 35, 0.42) 100%);
}

.welcome.welcome--home .slider .card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        radial-gradient(circle at 28% 48%, rgba(79, 146, 131, 0.20) 0, rgba(79, 146, 131, 0) 360px),
        radial-gradient(circle at 82% 22%, rgba(110, 79, 179, 0.12) 0, rgba(110, 79, 179, 0) 300px);
    mix-blend-mode: soft-light;
}

.welcome.welcome--home .slider .inner .card .card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
    transform: scale(1.035);
    transition: transform 9000ms var(--ms-ease);
}

.welcome.welcome--home .slider:hover .card-image img {
    transform: scale(1.065);
}

/* Hero content */

.welcome.welcome--home .slider .inner .card .card-info,
.welcome.welcome--home .welcome__content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1180px;
    height: 100%;
    margin: 0 auto;
    padding: 160px 40px 118px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
}

.welcome.welcome--home .welcome__quote {
    max-width: 760px;
    animation: msWelcomeFadeUp 760ms var(--ms-ease) both;
}

.welcome.welcome--home .slider .inner .card .card-info .description {
    display: block;
    max-width: 760px;
    margin: 0 0 34px;
    color: rgba(255, 255, 255, 0.96);
    font-family: 'RobotoSlab-Light', Georgia, serif;
    font-size: 42px;
    line-height: 1.32;
    letter-spacing: 0.01em;
    font-style: italic;
    text-shadow: 0 16px 38px rgba(12, 30, 25, 0.24);
}

.welcome.welcome--home .slider .inner .card .card-info .description .italic,
.welcome.welcome--home .slider .inner .card .card-info .description .itelic {
    display: inline-flex;
    align-items: center;
    margin-top: 20px;
    color: rgba(255, 255, 255, 0.78);
    font-family: 'RobotoSlab-Medium', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.18em;
    font-style: normal;
    text-transform: uppercase;
}

.welcome.welcome--home .slider .inner .card .card-info .description .italic::before,
.welcome.welcome--home .slider .inner .card .card-info .description .itelic::before {
    content: "";
    width: 42px;
    height: 1px;
    margin-right: 14px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
}

/* CTA group */

.welcome.welcome--home .slider .inner .card .card-info .btn-group,
.welcome.welcome--home .welcome__actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 14px;
    animation: msWelcomeFadeUp 760ms var(--ms-ease) 140ms both;
}

.welcome.welcome--home .slider .inner .card .card-info .btn-group a {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    border-radius: 999px;
    font-family: 'RobotoSlab-Bold', Georgia, serif;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition:
        transform var(--ms-transition),
        box-shadow var(--ms-transition),
        color var(--ms-transition),
        background var(--ms-transition),
        border-color var(--ms-transition);
}

.welcome.welcome--home .slider .inner .card .card-info .btn-group .book-btn {
    position: relative;
    z-index: 1;
    padding: 17px 32px;
    color: #ffffff;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    box-shadow: 0 18px 42px rgba(26, 86, 71, 0.28);
    overflow: hidden;
}

.welcome.welcome--home .slider .inner .card .card-info .btn-group .book-btn::after {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 54%);
    opacity: 0.72;
}

.welcome.welcome--home .slider .inner .card .card-info .btn-group .book-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 54px rgba(26, 86, 71, 0.34);
}

.welcome.welcome--home .slider .inner .card .card-info .btn-group .book-btn:active {
    transform: translateY(-1px);
}

.welcome.welcome--home .slider .inner .card .card-info .btn-group .about-btn {
    padding: 16px 28px;
    color: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.welcome.welcome--home .slider .inner .card .card-info .btn-group .about-btn:hover {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.58);
    background: rgba(255, 255, 255, 0.14);
    transform: translateY(-2px);
}

/* Slider arrows */

.welcome.welcome--home .slider > .navigation:not(.dots) {
    position: absolute;
    z-index: 5;
    left: 32px;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}

.welcome.welcome--home .slider > .navigation:not(.dots) .chevron-wrapper {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition:
        transform var(--ms-transition),
        background var(--ms-transition),
        border-color var(--ms-transition);
}

.welcome.welcome--home .slider > .navigation:not(.dots) .chevron-wrapper:hover {
    transform: scale(1.06);
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.42);
}

.welcome.welcome--home .slider > .navigation:not(.dots) .chevron-wrapper .chevron {
    width: 9px;
    height: 9px;
    border-right: 2px solid rgba(255, 255, 255, 0.96);
    border-bottom: 2px solid rgba(255, 255, 255, 0.96);
    transform: rotate(-45deg);
    margin-left: -3px;
}

.welcome.welcome--home .slider > .navigation:not(.dots) .chevron-wrapper:first-child .chevron {
    transform: rotate(135deg);
    margin-left: 3px;
}

/* Slider dots */

.welcome.welcome--home .slider > .navigation.dots {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: 34px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.welcome.welcome--home .slider > .navigation.dots .chevron {
    width: 8px;
    height: 8px;
    display: block;
    border-radius: 50%;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.38);
    transition:
        transform var(--ms-transition),
        background var(--ms-transition);
}

.welcome.welcome--home .slider > .navigation.dots .chevron:first-child,
.welcome.welcome--home .slider > .navigation.dots .chevron.active {
    background: #ffffff;
    transform: scale(1.35);
}

.welcome.welcome--home .slider > .navigation.dots .chevron:hover {
    background: rgba(255, 255, 255, 0.72);
}

/* Single slide navigation hidden */

.welcome.welcome--home .slider.welcome-slider-single > .navigation,
.welcome.welcome--home .slider.welcome-slider-single > .navigation.dots {
    display: none;
}

/* Support / programs section */

.welcome.welcome--home .wrapper.box-container,
.welcome.welcome--home .welcome__support {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 74px 40px 86px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: transparent;
}

.welcome.welcome--home .wrapper.box-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 40px;
    right: 40px;
    height: 1px;
    background: linear-gradient(90deg, rgba(79, 146, 131, 0), rgba(79, 146, 131, 0.24), rgba(110, 79, 179, 0.14), rgba(79, 146, 131, 0));
}

.welcome.welcome--home .wrapper.box-container .box.how-can,
.welcome.welcome--home .welcome__support-inner {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 70px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.welcome.welcome--home .wrapper.box-container .box.how-can .info,
.welcome.welcome--home .welcome__support-copy {
    flex: 1 1 46%;
    max-width: 520px;
    margin: 0;
    padding: 0;
}

.welcome.welcome--home .wrapper.box-container .box.how-can h3,
.welcome.welcome--home .welcome__support-title {
    margin: 0;
    color: var(--ms-text);
    font-family: 'RobotoSlab-Medium', Georgia, serif;
    font-size: 31px;
    line-height: 1.28;
    letter-spacing: 0.01em;
    font-weight: 500;
}

.welcome.welcome--home .wrapper.box-container .box.how-can h3::after,
.welcome.welcome--home .welcome__support-title::after {
    content: "";
    display: block;
    width: 58px;
    height: 3px;
    margin-top: 20px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
}

.welcome.welcome--home .wrapper.box-container .box.how-can p,
.welcome.welcome--home .welcome__support-text {
    max-width: 470px;
    margin: 22px 0 0;
    color: var(--ms-muted);
    font-family: 'RobotoSlab-Regular', Georgia, serif;
    font-size: 16px;
    line-height: 1.78;
    letter-spacing: 0.01em;
}

.welcome.welcome--home .welcome__support-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-top: 28px;
    color: var(--ms-primary-dark);
    font-family: 'RobotoSlab-Bold', Georgia, serif;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition:
        color var(--ms-transition),
        transform var(--ms-transition);
}

.welcome.welcome--home .welcome__support-cta::after {
    content: "";
    width: 34px;
    height: 1px;
    margin-left: 12px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    transition:
        width var(--ms-transition),
        background var(--ms-transition);
}

.welcome.welcome--home .welcome__support-cta:hover {
    color: var(--ms-purple-dark);
    transform: translateX(2px);
}

.welcome.welcome--home .welcome__support-cta:hover::after {
    width: 46px;
    background: linear-gradient(135deg, #6E4FB3 0%, #5A3D96 100%);
}

/* Program list as natural editorial rows, not cards */

.welcome.welcome--home .wrapper.box-container .box.how-can ul,
.welcome.welcome--home .welcome__program-list {
    flex: 1 1 48%;
    width: auto;
    max-width: 560px;
    margin: 6px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.welcome.welcome--home .wrapper.box-container .box.how-can ul li,
.welcome.welcome--home .welcome__program-list li {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

.welcome.welcome--home .wrapper.box-container .box.how-can ul li:not(:last-child),
.welcome.welcome--home .welcome__program-list li:not(:last-child) {
    border-bottom: 1px solid var(--ms-line);
}

.welcome.welcome--home .wrapper.box-container .box.how-can ul li a,
.welcome.welcome--home .welcome__program-list li a {
    position: relative;
    width: 100%;
    min-height: 68px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 0;
    color: var(--ms-text);
    text-decoration: none;
    transition:
        transform var(--ms-transition),
        color var(--ms-transition);
}

.welcome.welcome--home .wrapper.box-container .box.how-can ul li a::after,
.welcome.welcome--home .welcome__program-list li a::after {
    content: "";
    width: 34px;
    height: 34px;
    margin-left: auto;
    flex: 0 0 34px;
    border-radius: 50%;
    background:
        linear-gradient(135deg, rgba(79, 154, 130, 0.13) 0%, rgba(52, 125, 104, 0.10) 100%);
    opacity: 0.9;
    transition:
        transform var(--ms-transition),
        background var(--ms-transition);
}

.welcome.welcome--home .wrapper.box-container .box.how-can ul li a:hover,
.welcome.welcome--home .welcome__program-list li a:hover {
    color: var(--ms-primary-dark);
    transform: translateX(6px);
}

.welcome.welcome--home .wrapper.box-container .box.how-can ul li a:hover::after,
.welcome.welcome--home .welcome__program-list li a:hover::after {
    transform: scale(1.08);
    background:
        linear-gradient(135deg, rgba(110, 79, 179, 0.13) 0%, rgba(90, 61, 150, 0.10) 100%);
}

.welcome.welcome--home .wrapper.box-container .box.how-can ul li .tick,
.welcome.welcome--home .welcome__program-list li .tick {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    font-size: 13px;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(52, 125, 104, 0.18);
}

.welcome.welcome--home .wrapper.box-container .box.how-can ul li .text,
.welcome.welcome--home .welcome__program-list li .text {
    color: inherit;
    font-family: 'RobotoSlab-Regular', Georgia, serif;
    font-size: 16px;
    line-height: 1.45;
    letter-spacing: 0.01em;
}

/* Focus states */

.welcome.welcome--home a:focus-visible,
.welcome.welcome--home .chevron-wrapper:focus-visible,
.welcome.welcome--home .navigation.dots .chevron:focus-visible {
    outline: 3px solid rgba(79, 146, 131, 0.48);
    outline-offset: 4px;
}

.welcome.welcome--home .slider .card-info .btn-group a:focus-visible {
    outline-color: rgba(255, 255, 255, 0.9);
}

.welcome.welcome--home .navigation.dots .chevron:focus-visible,
.welcome.welcome--home .chevron-wrapper:focus-visible {
    border-radius: 50%;
}

/* Animation */

@keyframes msWelcomeFadeUp {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

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

/* Responsive */

@media (max-width: 1199px) {
    .welcome.welcome--home .slider {
        height: 700px;
    }

    .welcome.welcome--home .slider .inner .card .card-info,
    .welcome.welcome--home .welcome__content {
        max-width: 1040px;
        padding: 140px 34px 106px;
    }

    .welcome.welcome--home .slider .inner .card .card-info .description {
        max-width: 700px;
        font-size: 38px;
    }

    .welcome.welcome--home .wrapper.box-container,
    .welcome.welcome--home .welcome__support {
        max-width: 1040px;
        padding: 68px 34px 78px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can,
    .welcome.welcome--home .welcome__support-inner {
        gap: 52px;
    }
}

@media (max-width: 991px) {
    .welcome.welcome--home .slider {
        height: 640px;
    }

    .welcome.welcome--home .slider .card-image::before {
        background:
            linear-gradient(90deg, rgba(17, 42, 36, 0.72) 0%, rgba(17, 42, 36, 0.44) 55%, rgba(17, 42, 36, 0.22) 100%),
            linear-gradient(180deg, rgba(20, 40, 35, 0.10) 0%, rgba(20, 40, 35, 0.48) 100%);
    }

    .welcome.welcome--home .slider .inner .card .card-info,
    .welcome.welcome--home .welcome__content {
        padding: 120px 28px 92px;
    }

    .welcome.welcome--home .slider .inner .card .card-info .description {
        max-width: 640px;
        font-size: 34px;
        line-height: 1.36;
    }

    .welcome.welcome--home .slider > .navigation:not(.dots) {
        left: 22px;
        right: 22px;
    }

    .welcome.welcome--home .wrapper.box-container,
    .welcome.welcome--home .welcome__support {
        padding: 62px 28px 72px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can,
    .welcome.welcome--home .welcome__support-inner {
        flex-direction: column;
        gap: 40px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can .info,
    .welcome.welcome--home .welcome__support-copy {
        max-width: 680px;
        flex: 1 1 auto;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can ul,
    .welcome.welcome--home .welcome__program-list {
        width: 100%;
        max-width: none;
        flex: 1 1 auto;
        margin-top: 0;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can h3,
    .welcome.welcome--home .welcome__support-title {
        font-size: 29px;
    }
}

@media (max-width: 767px) {
    .welcome.welcome--home .slider {
        height: 610px;
    }

    .welcome.welcome--home .slider .inner .card .card-image img {
        object-position: center center;
    }

    .welcome.welcome--home .slider .card-image::before {
        background:
            linear-gradient(180deg, rgba(18, 41, 36, 0.28) 0%, rgba(18, 41, 36, 0.70) 100%),
            linear-gradient(90deg, rgba(18, 41, 36, 0.52) 0%, rgba(18, 41, 36, 0.24) 100%);
    }

    .welcome.welcome--home .slider .inner .card .card-info,
    .welcome.welcome--home .welcome__content {
        align-items: center;
        justify-content: flex-end;
        text-align: center;
        padding: 110px 22px 78px;
    }

    .welcome.welcome--home .welcome__quote {
        max-width: 100%;
    }

    .welcome.welcome--home .slider .inner .card .card-info .description {
        max-width: 560px;
        margin-bottom: 28px;
        font-size: 29px;
        line-height: 1.42;
    }

    .welcome.welcome--home .slider .inner .card .card-info .description .italic,
    .welcome.welcome--home .slider .inner .card .card-info .description .itelic {
        justify-content: center;
        font-size: 12px;
        letter-spacing: 0.15em;
    }

    .welcome.welcome--home .slider .inner .card .card-info .description .italic::before,
    .welcome.welcome--home .slider .inner .card .card-info .description .itelic::before {
        width: 32px;
    }

    .welcome.welcome--home .slider .inner .card .card-info .btn-group,
    .welcome.welcome--home .welcome__actions {
        width: 100%;
        max-width: 360px;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        gap: 12px;
    }

    .welcome.welcome--home .slider .inner .card .card-info .btn-group a {
        width: 100%;
        min-height: 54px;
        padding: 17px 22px;
    }

    .welcome.welcome--home .slider > .navigation:not(.dots) {
        display: none;
    }

    .welcome.welcome--home .slider > .navigation.dots {
        bottom: 24px;
    }

    .welcome.welcome--home .wrapper.box-container,
    .welcome.welcome--home .welcome__support {
        padding: 54px 22px 64px;
    }

    .welcome.welcome--home .wrapper.box-container::before {
        left: 22px;
        right: 22px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can,
    .welcome.welcome--home .welcome__support-inner {
        gap: 34px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can h3,
    .welcome.welcome--home .welcome__support-title {
        font-size: 26px;
        line-height: 1.34;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can p,
    .welcome.welcome--home .welcome__support-text {
        font-size: 15px;
        line-height: 1.76;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can ul li a,
    .welcome.welcome--home .welcome__program-list li a {
        min-height: 66px;
        padding: 17px 0;
        gap: 14px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can ul li .text,
    .welcome.welcome--home .welcome__program-list li .text {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .welcome.welcome--home .slider {
        height: 560px;
    }

    .welcome.welcome--home .slider .inner .card .card-info,
    .welcome.welcome--home .welcome__content {
        padding: 96px 18px 70px;
    }

    .welcome.welcome--home .slider .inner .card .card-info .description {
        font-size: 25px;
        line-height: 1.45;
    }

    .welcome.welcome--home .slider .inner .card .card-info .description .italic,
    .welcome.welcome--home .slider .inner .card .card-info .description .itelic {
        margin-top: 16px;
        font-size: 11px;
    }

    .welcome.welcome--home .slider .inner .card .card-info .btn-group a {
        font-size: 11px;
        letter-spacing: 0.12em;
    }

    .welcome.welcome--home .wrapper.box-container,
    .welcome.welcome--home .welcome__support {
        padding: 48px 18px 58px;
    }

    .welcome.welcome--home .wrapper.box-container::before {
        left: 18px;
        right: 18px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can h3,
    .welcome.welcome--home .welcome__support-title {
        font-size: 24px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can h3::after,
    .welcome.welcome--home .welcome__support-title::after {
        margin-top: 16px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can ul li a::after,
    .welcome.welcome--home .welcome__program-list li a::after {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
    }
}

@media (max-width: 380px) {
    .welcome.welcome--home .slider {
        height: 530px;
    }

    .welcome.welcome--home .slider .inner .card .card-info,
    .welcome.welcome--home .welcome__content {
        padding-left: 16px;
        padding-right: 16px;
    }

    .welcome.welcome--home .slider .inner .card .card-info .description {
        font-size: 22px;
    }

    .welcome.welcome--home .wrapper.box-container,
    .welcome.welcome--home .welcome__support {
        padding-left: 16px;
        padding-right: 16px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can h3,
    .welcome.welcome--home .welcome__support-title {
        font-size: 22px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can ul li a,
    .welcome.welcome--home .welcome__program-list li a {
        gap: 12px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can ul li .tick,
    .welcome.welcome--home .welcome__program-list li .tick {
        width: 26px;
        height: 26px;
        flex-basis: 26px;
    }

    .welcome.welcome--home .wrapper.box-container .box.how-can ul li .text,
    .welcome.welcome--home .welcome__program-list li .text {
        font-size: 14px;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .welcome.welcome--home,
    .welcome.welcome--home *,
    .welcome.welcome--home *::before,
    .welcome.welcome--home *::after {
        animation: none;
        transition: none;
        scroll-behavior: auto;
    }

    .welcome.welcome--home .slider .inner .card .card-image img {
        transform: none;
    }
}

.about-btn {
    z-index: 12;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    white-space: nowrap;
    font-size: 0.6875rem;
    font-family: 'RobotoSlab-Bold', sans-serif;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    line-height: 1;
    padding: 1rem 2.25rem;
    border-radius: var(--welcome-radius-pill);
    transition: background-color 0.28s var(--welcome-ease),
                color 0.28s ease,
                border-color 0.28s ease,
                transform 0.28s var(--welcome-ease);
}

.needs-therapy .sub-heading .dot {
    background-color: #ffffff;
}

.needs-therapy .sub-heading .line {
    background-color: #fff;
}


.needs-therapy .sub-heading .text {
    color: #fff;
}

.box.call-cons .tel .icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #66d26b;
    margin-right: 18px;
}


.needs-therapy .sub-heading .dot {
    background-color: #ffffff;
}

.needs-therapy .sub-heading .line {
    background-color: #fff;
}

.the-process .sub-heading .line,
.the-process .sub-heading .dot {
    background-color: #66d26b;
}

.needs-therapy .sub-heading .text {
    color: #fff;
}

.introduce .card .sub-heading .text,
.consultation-prices .sub-heading .text,
.blog .sub-heading .text {
    color: #6e4fb3;
}

.consultation-prices .sub-heading {
    justify-content: center;
}


.the-process .sub-heading .text {
    color: #66d26b;
}

.critics-container .contact-form form [type="submit"] {
    z-index: 11;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
    font-size: 0.6875rem;
    font-family: 'RobotoSlab-Bold', sans-serif;
    letter-spacing: 0.2em;
    line-height: 1;
    padding: 0.9375rem 1.75rem;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: linear-gradient(135deg, #2d9d85 0%, #248f78 100%);
    color: #fff;
    border: none;
    box-shadow: 0 4px 20px rgba(45, 157, 133, 0.3);
    transition: transform 0.25s var(--oa-ease),
                box-shadow 0.25s var(--oa-ease);
    margin-right: 0.75rem;
    height: auto;
    width: auto;
    min-height: 0;
    min-width: 0;
    max-height: none;
    max-width: none;
}

.needs-therapy {
    background-color: #1f1f1f;
}

.needs-therapy .card-info,
.needs-therapy .card-image {
    width: 50%;
    flex: 0 0 50%;
}

.needs-therapy .card-info {
    padding-top: 40px;
    padding-right: 9vw;
    padding-bottom: 40px;
    padding-left: 10vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.needs-therapy .card-info .title {
    margin-top: 20px;
    margin-bottom: 30px;
    font-size: 33px;
    line-height: 1.2;
    color: #fff;
    letter-spacing: .5px;
}

.needs-therapy .card-info .description {
    font-size: 16px;
    color: rgba(255, 255, 255, .75);
    letter-spacing: .5px;
    line-height: 1.4;
    margin-bottom: 50px;
}

.needs-therapy .card-info .process-bars .item label {
    font-size: 16px;
    line-height: 1.2;
    color: #fff;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    display: block;
}

.needs-therapy .card-info .process-bars .item:not(:last-child) {
    margin-bottom: 40px;
}

.needs-therapy .card-info .process-bars .item .bars {
    position: relative;
    width: 100%;
    height: 2px;
    border-radius: 5px;
    background-color: rgba(255, 255, 255, .2);
}

.needs-therapy .card-info .process-bars .item .bars .percentage-num {
    position: absolute;
    top: -22px;
    left: 20%;
    font-size: 15px;
    color: #fff;
    font-style: italic;
}

.needs-therapy .card-info .process-bars .item .bars .strong {
    width: 0;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}

.needs-therapy .card-image .img {
    aspect-ratio: 1.58;
}

.needs-therapy .card-image .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CONSULTATION PRICES — MindSoul Premium Therapy Pricing Section
   Scoped only to .consultation-prices
   Flexbox only / No CSS Grid / No clamp()
   ═══════════════════════════════════════════════════════════════════════════ */

   .consultation-prices {
    --ms-primary: #4f9283;
    --ms-primary-dark: #347d68;
    --ms-primary-light: #4f9a82;
    --ms-primary-soft: rgba(79, 146, 131, 0.12);
    --ms-primary-softer: rgba(79, 146, 131, 0.07);

    --ms-purple: #6E4FB3;
    --ms-purple-dark: #5A3D96;
    --ms-purple-soft: rgba(110, 79, 179, 0.10);

    --ms-text: #243632;
    --ms-muted: #63736f;
    --ms-bg: #f7fbf9;
    --ms-white: #ffffff;
    --ms-line: rgba(79, 146, 131, 0.18);

    --ms-radius-small: 12px;
    --ms-radius-medium: 20px;
    --ms-radius-large: 32px;

    --ms-transition-fast: 180ms ease;
    --ms-transition: 280ms cubic-bezier(.22, 1, .36, 1);
    --ms-transition-slow: 520ms cubic-bezier(.22, 1, .36, 1);

    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 108px 0 104px;
    color: var(--ms-text);
    background:
        radial-gradient(circle at 10% 12%, rgba(79, 146, 131, 0.13), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(110, 79, 179, 0.08), transparent 28%),
        radial-gradient(circle at 48% 92%, rgba(79, 154, 130, 0.08), transparent 32%),
        linear-gradient(180deg, #f7fbf9 0%, #ffffff 58%, #f8fbfa 100%);
    border-top: 0;
}

.consultation-prices::before,
.consultation-prices::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
}

.consultation-prices::before {
    top: 86px;
    left: 5%;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background:
        linear-gradient(135deg, rgba(79, 154, 130, 0.14) 0%, rgba(52, 125, 104, 0.04) 100%);
    opacity: 0.72;
    animation: msPricesSoftFloat 11s ease-in-out infinite alternate;
}

.consultation-prices::after {
    right: 6%;
    bottom: 96px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background:
        linear-gradient(135deg, rgba(110, 79, 179, 0.08) 0%, rgba(79, 146, 131, 0.05) 100%);
    opacity: 0.62;
    animation: msPricesSoftFloatReverse 13s ease-in-out infinite alternate;
}

.consultation-prices .wrapper {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 28px;
    padding-right: 28px;
}

/* Header */

.consultation-prices .sub-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0 auto 18px;
    animation: msPricesFadeUp 700ms cubic-bezier(.22, 1, .36, 1) both;
}

.consultation-prices .sub-heading .dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    box-shadow: 0 0 0 7px rgba(79, 146, 131, 0.10);
}

.consultation-prices .sub-heading .line {
    width: 48px;
    height: 1px;
    flex: 0 0 48px;
    background: linear-gradient(90deg, rgba(79, 146, 131, 0.9) 0%, rgba(79, 146, 131, 0) 100%);
}

.consultation-prices .sub-heading .text {
    color: var(--ms-primary-dark);
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.consultation-prices .wrapper > .title {
    max-width: 820px;
    margin: 0 auto 58px;
    color: var(--ms-text);
    font-size: 34px;
    line-height: 1.28;
    font-weight: 500;
    letter-spacing: -0.025em;
    text-align: center;
    animation: msPricesFadeUp 780ms cubic-bezier(.22, 1, .36, 1) 90ms both;
}

.consultation-prices .wrapper > .title::after {
    content: "";
    display: block;
    width: 82px;
    height: 2px;
    margin: 28px auto 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    opacity: 0.76;
}

/* Main pricing flow */

.consultation-prices .wrapper .card-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 1040px;
    margin: 0 auto;
    border-top: 1px solid var(--ms-line);
    border-bottom: 1px solid var(--ms-line);
    animation: msPricesFadeUp 820ms cubic-bezier(.22, 1, .36, 1) 170ms both;
}

.consultation-prices .wrapper .card-wrapper::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 112px;
    height: 1px;
    background: linear-gradient(90deg, var(--ms-purple) 0%, rgba(110, 79, 179, 0) 100%);
    opacity: 0.58;
}

.consultation-prices .wrapper .card {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 44px;
    width: 100%;
    padding: 34px 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    transition:
        transform 280ms cubic-bezier(.22, 1, .36, 1),
        opacity 280ms cubic-bezier(.22, 1, .36, 1),
        color 220ms ease,
        background 280ms ease,
        border-color 220ms ease,
        box-shadow 280ms ease;
}

.consultation-prices .wrapper .card:not(:last-child) {
    border-bottom: 1px solid rgba(79, 146, 131, 0.14);
}

.consultation-prices .wrapper .card::before {
    content: "";
    position: absolute;
    top: 24px;
    bottom: 24px;
    left: -22px;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, #4f9a82 0%, #347d68 100%);
    opacity: 0;
    transform: scaleY(0.72);
    transform-origin: center;
    transition:
        opacity 280ms cubic-bezier(.22, 1, .36, 1),
        transform 280ms cubic-bezier(.22, 1, .36, 1);
}

.consultation-prices .wrapper .card:hover {
    transform: translateX(4px);
}

.consultation-prices .wrapper .card:hover::before {
    opacity: 1;
    transform: scaleY(1);
}

/* Service title */

.consultation-prices .wrapper .card .title-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex: 1 1 30%;
    min-width: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.consultation-prices .wrapper .card .title-wrapper .title {
    margin: 0;
    color: var(--ms-text);
    font-size: 21px;
    line-height: 1.34;
    font-weight: 500;
    letter-spacing: -0.015em;
}

.consultation-prices .wrapper .card .title-wrapper .title a {
    position: relative;
    display: inline;
    color: inherit;
    text-decoration: none;
    background-image: linear-gradient(90deg, rgba(79, 146, 131, 0.38), rgba(110, 79, 179, 0.22));
    background-repeat: no-repeat;
    background-size: 0 1px;
    background-position: 0 100%;
    transition:
        transform 280ms cubic-bezier(.22, 1, .36, 1),
        opacity 280ms cubic-bezier(.22, 1, .36, 1),
        color 220ms ease,
        background-size 280ms cubic-bezier(.22, 1, .36, 1);
}

.consultation-prices .wrapper .card .title-wrapper .title a:hover {
    color: var(--ms-primary-dark);
    background-size: 100% 1px;
}

.consultation-prices .wrapper .card .title-wrapper .title a:focus-visible {
    outline: 3px solid rgba(79, 146, 131, 0.34);
    outline-offset: 5px;
    border-radius: 8px;
}

/* Info area */

.consultation-prices .wrapper .card .info {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex: 1 1 66%;
    gap: 28px;
    min-width: 0;
    padding: 0;
}

.consultation-prices .wrapper .card .info .price {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    flex: 0 0 106px;
    margin: 0;
    color: var(--ms-primary-dark);
    font-size: 42px;
    line-height: 0.95;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.consultation-prices .wrapper .card .info .price .num {
    color: var(--ms-primary-dark);
}

.consultation-prices .wrapper .card .info .price .symbol {
    margin-left: 3px;
    color: var(--ms-primary);
    font-size: 22px;
    line-height: 1;
    font-weight: 600;
    opacity: 0.9;
}

.consultation-prices .wrapper .card .info .price-info {
    flex: 0 0 132px;
    margin-top: 4px;
    color: var(--ms-muted);
    font-size: 13px;
    line-height: 1.55;
    font-weight: 500;
    letter-spacing: 0.025em;
}

.consultation-prices .wrapper .card .info ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    flex: 1 1 auto;
    gap: 10px 22px;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
}

.consultation-prices .wrapper .card .info ul li {
    position: relative;
    flex: 1 1 210px;
    min-width: 0;
    padding-left: 22px;
    color: var(--ms-muted);
    font-size: 15px;
    line-height: 1.55;
    letter-spacing: 0.005em;
}

.consultation-prices .wrapper .card .info ul li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    box-shadow: 0 0 0 5px rgba(79, 146, 131, 0.10);
    transform: translateY(-50%);
}

.consultation-prices .wrapper .card .info ul li::after {
    display: none;
}

.consultation-prices .wrapper .card .info ul li:not(:last-child) {
    margin-bottom: 0;
}

/* Optional active state, in case the CMS adds .active later */

.consultation-prices .wrapper .card.active::before {
    opacity: 1;
    background: linear-gradient(180deg, #6E4FB3 0%, #5A3D96 100%);
    transform: scaleY(1);
}

.consultation-prices .wrapper .card.active .title-wrapper .title,
.consultation-prices .wrapper .card.active .title-wrapper .title a {
    color: var(--ms-purple-dark);
}

.consultation-prices .wrapper .card.active .info .price,
.consultation-prices .wrapper .card.active .info .price .num {
    color: var(--ms-purple-dark);
}

.consultation-prices .wrapper .card.active .info .price .symbol {
    color: var(--ms-purple);
}

/* Bottom CTA text */

.consultation-prices .session-txt {
    max-width: 780px;
    margin: 52px auto 0;
    padding-top: 26px;
    border-top: 1px solid rgba(79, 146, 131, 0.15);
    color: var(--ms-muted);
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
    animation: msPricesFadeUp 820ms cubic-bezier(.22, 1, .36, 1) 260ms both;
}

.consultation-prices .session-txt p {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin: 0;
}

.consultation-prices .session-txt a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 12px 26px rgba(52, 125, 104, 0.18);
    transition:
        transform 280ms cubic-bezier(.22, 1, .36, 1),
        opacity 280ms cubic-bezier(.22, 1, .36, 1),
        color 220ms ease,
        background 280ms ease,
        border-color 220ms ease,
        box-shadow 280ms ease;
}

.consultation-prices .session-txt a:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(52, 125, 104, 0.24);
}

.consultation-prices .session-txt a:focus-visible {
    outline: 3px solid rgba(79, 146, 131, 0.35);
    outline-offset: 4px;
}

/* Animations */

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

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

@keyframes msPricesSoftFloat {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        transform: translate3d(18px, 12px, 0) scale(1.04);
    }
}

@keyframes msPricesSoftFloatReverse {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        transform: translate3d(-16px, -10px, 0) scale(1.03);
    }
}

/* Responsive */

@media (max-width: 1180px) {
    .consultation-prices {
        padding: 96px 0 92px;
    }

    .consultation-prices .wrapper {
        max-width: 1040px;
    }

    .consultation-prices .wrapper .card {
        gap: 34px;
    }

    .consultation-prices .wrapper .card .info {
        gap: 22px;
    }

    .consultation-prices .wrapper .card .info ul li {
        flex-basis: 190px;
    }
}

@media (max-width: 991px) {
    .consultation-prices {
        padding: 84px 0 82px;
    }

    .consultation-prices .wrapper {
        padding-left: 24px;
        padding-right: 24px;
    }

    .consultation-prices .wrapper > .title {
        max-width: 720px;
        margin-bottom: 46px;
        font-size: 29px;
        line-height: 1.32;
    }

    .consultation-prices .wrapper .card {
        flex-direction: column;
        gap: 22px;
        padding: 32px 0;
    }

    .consultation-prices .wrapper .card::before {
        left: -14px;
    }

    .consultation-prices .wrapper .card:hover {
        transform: translateX(0);
    }

    .consultation-prices .wrapper .card .title-wrapper {
        flex: 1 1 auto;
        width: 100%;
    }

    .consultation-prices .wrapper .card .info {
        width: 100%;
        justify-content: flex-start;
        gap: 24px;
    }

    .consultation-prices .wrapper .card .info .price {
        flex-basis: 96px;
        font-size: 39px;
    }

    .consultation-prices .wrapper .card .info .price-info {
        flex-basis: 126px;
    }
}

@media (max-width: 767px) {
    .consultation-prices {
        padding: 72px 0 72px;
    }

    .consultation-prices::before {
        top: 42px;
        left: -46px;
        width: 160px;
        height: 160px;
    }

    .consultation-prices::after {
        right: -72px;
        bottom: 48px;
        width: 220px;
        height: 220px;
    }

    .consultation-prices .wrapper {
        padding-left: 20px;
        padding-right: 20px;
    }

    .consultation-prices .sub-heading {
        justify-content: flex-start;
        margin-bottom: 16px;
    }

    .consultation-prices .sub-heading .line {
        width: 38px;
        flex-basis: 38px;
    }

    .consultation-prices .sub-heading .text {
        font-size: 11px;
        letter-spacing: 0.15em;
    }

    .consultation-prices .wrapper > .title {
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 36px;
        font-size: 25px;
        line-height: 1.36;
        text-align: left;
    }

    .consultation-prices .wrapper > .title::after {
        margin-left: 0;
        margin-right: 0;
        width: 68px;
    }

    .consultation-prices .wrapper .card-wrapper {
        max-width: none;
    }

    .consultation-prices .wrapper .card {
        padding: 28px 0;
    }

    .consultation-prices .wrapper .card .title-wrapper .title {
        font-size: 20px;
        line-height: 1.35;
    }

    .consultation-prices .wrapper .card .info {
        flex-wrap: wrap;
        gap: 14px 20px;
    }

    .consultation-prices .wrapper .card .info .price {
        flex: 0 0 auto;
        min-width: 90px;
        font-size: 38px;
    }

    .consultation-prices .wrapper .card .info .price-info {
        flex: 1 1 180px;
        margin-top: 5px;
    }

    .consultation-prices .wrapper .card .info ul {
        flex: 1 1 100%;
        width: 100%;
        margin-top: 8px;
        gap: 9px;
    }

    .consultation-prices .wrapper .card .info ul li {
        flex: 1 1 100%;
        font-size: 15px;
    }

    .consultation-prices .session-txt {
        margin-top: 38px;
        padding-top: 24px;
        font-size: 15px;
        text-align: left;
    }

    .consultation-prices .session-txt p {
        justify-content: flex-start;
    }

    .consultation-prices .session-txt a {
        width: 100%;
        min-height: 48px;
    }
}

@media (max-width: 480px) {
    .consultation-prices {
        padding: 64px 0 64px;
    }

    .consultation-prices .wrapper {
        padding-left: 18px;
        padding-right: 18px;
    }

    .consultation-prices .wrapper > .title {
        font-size: 23px;
    }

    .consultation-prices .wrapper .card {
        padding: 26px 0;
    }

    .consultation-prices .wrapper .card::before {
        left: -10px;
        width: 2px;
    }

    .consultation-prices .wrapper .card .title-wrapper .title {
        font-size: 19px;
    }

    .consultation-prices .wrapper .card .info .price {
        font-size: 36px;
    }

    .consultation-prices .wrapper .card .info .price .symbol {
        font-size: 20px;
    }
}

@media (max-width: 380px) {
    .consultation-prices {
        padding: 56px 0 58px;
    }

    .consultation-prices .wrapper {
        padding-left: 16px;
        padding-right: 16px;
    }

    .consultation-prices .wrapper > .title {
        font-size: 21px;
        line-height: 1.38;
    }

    .consultation-prices .sub-heading .line {
        width: 30px;
        flex-basis: 30px;
    }

    .consultation-prices .sub-heading .text {
        font-size: 10px;
        letter-spacing: 0.13em;
    }

    .consultation-prices .wrapper .card .title-wrapper .title {
        font-size: 18px;
    }

    .consultation-prices .wrapper .card .info .price {
        font-size: 34px;
    }

    .consultation-prices .wrapper .card .info ul li {
        font-size: 14px;
        line-height: 1.55;
    }

    .consultation-prices .session-txt {
        font-size: 14px;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .consultation-prices,
    .consultation-prices *,
    .consultation-prices *::before,
    .consultation-prices *::after {
        animation: none;
        transition: none;
        scroll-behavior: auto;
    }
}

/* ==========================================================================
   CONSULTATION PRICES — No Cards / Premium Flow Override
   Put this AFTER the existing consultation-prices CSS
   ========================================================================== */

   .consultation-prices .inner.card-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 1040px;
    margin: 0 auto;
    background: transparent;
    border-top: 1px solid rgba(79, 146, 131, 0.18);
    border-bottom: 1px solid rgba(79, 146, 131, 0.18);
    border-radius: 0;
    box-shadow: none;
}

.consultation-prices .inner.card-wrapper > .card,
.consultation-prices .inner.card-wrapper > .card.flex,
.consultation-prices .inner.card-wrapper > .card.flex.col {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 42px;
    width: 100%;
    min-height: 0;
    height: auto;
    padding: 32px 0;
    margin: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.consultation-prices .inner.card-wrapper > .card:not(:last-child) {
    border-bottom: 1px solid rgba(79, 146, 131, 0.14);
}

.consultation-prices .inner.card-wrapper > .card::before,
.consultation-prices .inner.card-wrapper > .card::after {
    display: none;
}

.consultation-prices .card .title-wrapper,
.consultation-prices .card.flex.col .title-wrapper {
    display: flex;
    flex: 1 1 30%;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.consultation-prices .card .title-wrapper .title {
    margin: 0;
    color: #243632;
    font-size: 21px;
    line-height: 1.34;
    font-weight: 500;
    letter-spacing: -0.015em;
}

.consultation-prices .card .title-wrapper .title a {
    color: inherit;
    text-decoration: none;
    transition:
        color 220ms ease,
        opacity 220ms ease;
}

.consultation-prices .card .title-wrapper .title a:hover {
    color: #347d68;
}

.consultation-prices .card .info {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-end;
    flex: 1 1 66%;
    gap: 28px;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.consultation-prices .card .info .price {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    flex: 0 0 104px;
    margin: 0;
    color: #347d68;
    font-size: 42px;
    line-height: 0.95;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.consultation-prices .card .info .price .num {
    color: #347d68;
}

.consultation-prices .card .info .price .symbol {
    margin-left: 3px;
    color: #4f9283;
    font-size: 22px;
    line-height: 1;
    font-weight: 600;
}

.consultation-prices .card .info .price-info {
    flex: 0 0 132px;
    margin: 4px 0 0;
    color: #63736f;
    font-size: 13px;
    line-height: 1.55;
    font-weight: 500;
}

.consultation-prices .card .info ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    flex: 1 1 auto;
    gap: 10px 24px;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.consultation-prices .card .info ul li {
    position: relative;
    flex: 1 1 220px;
    min-width: 0;
    margin: 0;
    padding-left: 22px;
    color: #63736f;
    font-size: 15px;
    line-height: 1.55;
    letter-spacing: 0.005em;
}

.consultation-prices .card .info ul li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    box-shadow: 0 0 0 5px rgba(79, 146, 131, 0.10);
    transform: translateY(-50%);
}

/* Mobile */

@media (max-width: 991px) {
    .consultation-prices .inner.card-wrapper > .card,
    .consultation-prices .inner.card-wrapper > .card.flex,
    .consultation-prices .inner.card-wrapper > .card.flex.col {
        flex-direction: column;
        gap: 20px;
        padding: 30px 0;
    }

    .consultation-prices .card .title-wrapper,
    .consultation-prices .card.flex.col .title-wrapper {
        flex: 1 1 auto;
        width: 100%;
    }

    .consultation-prices .card .info {
        width: 100%;
        justify-content: flex-start;
        gap: 24px;
    }
}

@media (max-width: 767px) {
    .consultation-prices .inner.card-wrapper > .card,
    .consultation-prices .inner.card-wrapper > .card.flex,
    .consultation-prices .inner.card-wrapper > .card.flex.col {
        padding: 28px 0;
    }

    .consultation-prices .card .title-wrapper .title {
        font-size: 20px;
    }

    .consultation-prices .card .info {
        flex-wrap: wrap;
        gap: 14px 20px;
    }

    .consultation-prices .card .info .price {
        flex: 0 0 auto;
        min-width: 90px;
        font-size: 38px;
    }

    .consultation-prices .card .info .price-info {
        flex: 1 1 180px;
        margin-top: 5px;
    }

    .consultation-prices .card .info ul {
        flex: 1 1 100%;
        width: 100%;
        margin-top: 8px;
        gap: 9px;
    }

    .consultation-prices .card .info ul li {
        flex: 1 1 100%;
        font-size: 15px;
    }
}

@media (max-width: 380px) {
    .consultation-prices .card .title-wrapper .title {
        font-size: 18px;
    }

    .consultation-prices .card .info .price {
        font-size: 34px;
    }

    .consultation-prices .card .info ul li {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .consultation-prices,
    .consultation-prices *,
    .consultation-prices *::before,
    .consultation-prices *::after {
        animation: none;
        transition: none;
        scroll-behavior: auto;
    }
}

/* ==========================================================================
   Mind & Soul — Program Offerings
   Premium therapeutic services section
   Scoped, Flexbox only, no clamp()
   ========================================================================== */

   .program-offerings {
    --ms-primary: #4f9283;
    --ms-primary-dark: #347d68;
    --ms-primary-soft: rgba(79, 146, 131, 0.12);
    --ms-primary-softer: rgba(79, 146, 131, 0.07);
  
    --ms-purple: #6E4FB3;
    --ms-purple-dark: #5A3D96;
    --ms-purple-soft: rgba(110, 79, 179, 0.10);
  
    --ms-text: #243632;
    --ms-muted: #63736f;
    --ms-bg: #f7fbf9;
    --ms-white: #ffffff;
    --ms-line: rgba(79, 146, 131, 0.18);
  
    --ms-radius-small: 12px;
    --ms-radius-medium: 20px;
    --ms-radius-large: 32px;
  
    --ms-transition: 280ms ease;
    --ms-ease: cubic-bezier(.22, 1, .36, 1);
  
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 108px 0 86px;
    background:
      radial-gradient(circle at 12% 8%, rgba(79, 146, 131, 0.13) 0, rgba(79, 146, 131, 0) 34%),
      radial-gradient(circle at 88% 18%, rgba(110, 79, 179, 0.08) 0, rgba(110, 79, 179, 0) 32%),
      linear-gradient(180deg, #ffffff 0%, var(--ms-bg) 46%, #ffffff 100%);
    color: var(--ms-text);
  }
  
  .program-offerings::before,
  .program-offerings::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    border-radius: 999px;
    opacity: 0.72;
    transform: translate3d(0, 0, 0);
  }
  
  .program-offerings::before {
    width: 420px;
    height: 420px;
    left: -180px;
    top: 130px;
    background: radial-gradient(circle, rgba(79, 154, 130, 0.16) 0%, rgba(79, 154, 130, 0) 68%);
    animation: programOfferingsSoftFloat 14s var(--ms-ease) infinite alternate;
  }
  
  .program-offerings::after {
    width: 360px;
    height: 360px;
    right: -150px;
    bottom: 40px;
    background: radial-gradient(circle, rgba(110, 79, 179, 0.12) 0%, rgba(110, 79, 179, 0) 68%);
    animation: programOfferingsSoftFloatReverse 16s var(--ms-ease) infinite alternate;
  }
  
  .program-offerings .wrapper,
  .program-offerings .program-offerings__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 28px;
    padding-right: 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .program-offerings .sub-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 18px;
    animation: programOfferingsReveal 720ms var(--ms-ease) both;
  }
  
  .program-offerings .sub-heading .dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    box-shadow: 0 0 0 7px rgba(79, 146, 131, 0.10);
  }
  
  .program-offerings .sub-heading .line {
    width: 42px;
    height: 1px;
    flex: 0 0 42px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    opacity: 0.78;
  }
  
  .program-offerings .sub-heading .text {
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ms-primary-dark);
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  
  .program-offerings .wrapper > .title,
  .program-offerings .program-offerings__title {
    max-width: 860px;
    margin: 0 auto 64px;
    text-align: center;
    font-size: 42px;
    line-height: 1.18;
    font-weight: 600;
    letter-spacing: -0.035em;
    color: var(--ms-text);
    animation: programOfferingsReveal 820ms var(--ms-ease) 80ms both;
  }
  
  .program-offerings .wrapper > .title::after,
  .program-offerings .program-offerings__title::after {
    content: "";
    display: block;
    width: 82px;
    height: 3px;
    margin: 24px auto 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    opacity: 0.78;
  }
  
  .program-offerings .card-wrapper,
  .program-offerings .program-offerings__list {
    width: 100%;
    max-width: 1080px;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0 auto;
  }
  
  .program-offerings .card-wrapper .card,
  .program-offerings .program-offerings__item {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 58px;
    padding: 42px 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    animation: programOfferingsReveal 820ms var(--ms-ease) both;
  }
  
  .program-offerings .card-wrapper .card:nth-child(1) {
    animation-delay: 120ms;
  }
  
  .program-offerings .card-wrapper .card:nth-child(2) {
    animation-delay: 210ms;
  }
  
  .program-offerings .card-wrapper .card:nth-child(3) {
    animation-delay: 300ms;
  }
  
  .program-offerings .card-wrapper .card + .card,
  .program-offerings .program-offerings__item + .program-offerings__item {
    border-top: 1px solid var(--ms-line);
  }
  
  .program-offerings .card-wrapper .card:nth-child(even),
  .program-offerings .program-offerings__item:nth-child(even) {
    flex-direction: row-reverse;
  }
  
  .program-offerings .card-image,
  .program-offerings .program-offerings__media {
    position: relative;
    flex: 0 0 38%;
    max-width: 420px;
    min-height: 248px;
    overflow: hidden;
    border-radius: 38px 16px 38px 16px;
    background:
      linear-gradient(135deg, rgba(79, 146, 131, 0.12), rgba(110, 79, 179, 0.08)),
      #eef7f4;
    box-shadow: 0 18px 44px rgba(36, 54, 50, 0.10);
    transform: translate3d(0, 0, 0);
  }
  
  .program-offerings .card-wrapper .card:nth-child(even) .card-image,
  .program-offerings .program-offerings__item:nth-child(even) .program-offerings__media {
    border-radius: 16px 38px 16px 38px;
  }
  
  .program-offerings .card-image::after,
  .program-offerings .program-offerings__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(36, 54, 50, 0.14) 100%),
      radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.24) 0, rgba(255, 255, 255, 0) 34%);
    opacity: 0.72;
    transition: opacity var(--ms-transition);
  }
  
  .program-offerings .card-image a,
  .program-offerings .program-offerings__media-link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
  }
  
  .program-offerings .card-image picture,
  .program-offerings .card-image img,
  .program-offerings .program-offerings__media picture,
  .program-offerings .program-offerings__media img {
    display: block;
    width: 100%;
    height: 100%;
  }
  
  .program-offerings .card-image img,
  .program-offerings .program-offerings__media img,
  .program-offerings .wrapper .card-wrapper .card .card-image > img {
    min-height: 248px;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition: transform 700ms var(--ms-ease), filter 700ms var(--ms-ease);
  }
  
  .program-offerings .card-wrapper .card:hover .card-image img,
  .program-offerings .program-offerings__item:hover .program-offerings__media img {
    transform: scale(1.045);
    filter: saturate(1.02);
  }
  
  .program-offerings .card-info,
  .program-offerings .program-offerings__content {
    flex: 1 1 54%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 8px 0;
    background: transparent;
    color: var(--ms-text);
  }
  
  .program-offerings .card-info a,
  .program-offerings .program-offerings__content a {
    color: inherit;
    text-decoration: none;
  }
  
  .program-offerings .card-info > a,
  .program-offerings .program-offerings__title-link,
  .program-offerings .program-offerings__description-link {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 100%;
  }
  
  .program-offerings .card-info .title,
  .program-offerings .program-offerings__content .title {
    margin: 0 0 17px;
    max-width: 620px;
    font-size: 29px;
    line-height: 1.22;
    font-weight: 600;
    letter-spacing: -0.025em;
    color: var(--ms-text);
    transition: color var(--ms-transition), transform var(--ms-transition);
  }
  
  .program-offerings .card-wrapper .card:hover .card-info .title,
  .program-offerings .program-offerings__item:hover .program-offerings__content .title {
    color: var(--ms-primary-dark);
    transform: translateX(4px);
  }
  
  .program-offerings .card-wrapper .card:hover .card-info .title::before,
  .program-offerings .program-offerings__item:hover .program-offerings__content .title::before {
    width: 64px;
    opacity: 0.62;
  }
  
  .program-offerings .card-info .description,
  .program-offerings .program-offerings__content .description {
    max-width: 660px;
    margin: 0 0 28px;
    font-size: 17px;
    line-height: 1.82;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--ms-muted);
  }
  
  .program-offerings .program-offerings__cta,
  .program-offerings .card-info > a.mt-auto {
    display: inline-flex;
    align-items: center;
    width: auto;
    margin-top: 2px;
    color: var(--ms-primary-dark);
    text-decoration: none;
  }
  
  .program-offerings .service-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 13px;
    min-height: 48px;
    padding: 4px 4px 4px 0;
    border-radius: 999px;
    color: var(--ms-primary-dark);
  }
  
  .program-offerings .service-link .link-text {
    position: relative;
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: var(--ms-primary-dark);
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  
  .program-offerings .service-link .link-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    opacity: 0.55;
    transform: scaleX(0.62);
    transform-origin: left center;
    transition:
      transform var(--ms-transition),
      opacity var(--ms-transition);
  }
  
  .program-offerings .service-link .service__arrow {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    box-shadow: 0 12px 28px rgba(79, 146, 131, 0.24);
    transition:
      transform var(--ms-transition),
      box-shadow var(--ms-transition),
      background var(--ms-transition);
  }
  
  .program-offerings .service-link .service__arrow svg {
    width: 14px;
    height: 14px;
    display: block;
    fill: var(--ms-white);
    transform: translateX(0);
    transition: transform var(--ms-transition);
  }
  
  .program-offerings .program-offerings__cta:hover .service-link .link-text::after,
  .program-offerings .card-info > a.mt-auto:hover .service-link .link-text::after {
    opacity: 0.9;
    transform: scaleX(1);
  }
  
  .program-offerings .program-offerings__cta:hover .service__arrow,
  .program-offerings .card-info > a.mt-auto:hover .service__arrow {
    transform: translateX(5px);
    box-shadow: 0 16px 34px rgba(79, 146, 131, 0.30);
  }
  
  .program-offerings .program-offerings__cta:hover .service__arrow svg,
  .program-offerings .card-info > a.mt-auto:hover .service__arrow svg {
    transform: translateX(2px);
  }
  
  .program-offerings a:focus-visible,
  .program-offerings .program-offerings__cta:focus-visible {
    outline: 3px solid rgba(79, 146, 131, 0.35);
    outline-offset: 5px;
    border-radius: var(--ms-radius-small);
  }
  
  .program-offerings .program-offerings__cta:focus-visible {
    border-radius: 999px;
  }
  
  @keyframes programOfferingsReveal {
    from {
      opacity: 0;
      transform: translate3d(0, 22px, 0);
    }
  
    to {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }
  
  @keyframes programOfferingsSoftFloat {
    from {
      transform: translate3d(0, 0, 0);
    }
  
    to {
      transform: translate3d(28px, 18px, 0);
    }
  }
  
  @keyframes programOfferingsSoftFloatReverse {
    from {
      transform: translate3d(0, 0, 0);
    }
  
    to {
      transform: translate3d(-24px, -18px, 0);
    }
  }
  
  @media (max-width: 1199px) {
    .program-offerings {
      padding-top: 92px;
      padding-bottom: 78px;
    }
  
    .program-offerings .wrapper,
    .program-offerings .program-offerings__inner {
      max-width: 1040px;
    }
  
    .program-offerings .wrapper > .title,
    .program-offerings .program-offerings__title {
      font-size: 38px;
      margin-bottom: 56px;
    }
  
    .program-offerings .card-wrapper .card,
    .program-offerings .program-offerings__item {
      gap: 44px;
    }
  
    .program-offerings .card-image,
    .program-offerings .program-offerings__media {
      flex-basis: 40%;
      max-width: 390px;
    }
  }
  
  @media (max-width: 991px) {
    .program-offerings {
      padding-top: 78px;
      padding-bottom: 68px;
    }
  
    .program-offerings .wrapper,
    .program-offerings .program-offerings__inner {
      padding-left: 24px;
      padding-right: 24px;
    }
  
    .program-offerings .wrapper > .title,
    .program-offerings .program-offerings__title {
      max-width: 720px;
      font-size: 34px;
      line-height: 1.22;
      margin-bottom: 42px;
    }
  
    .program-offerings .card-wrapper .card,
    .program-offerings .program-offerings__item,
    .program-offerings .card-wrapper .card:nth-child(even),
    .program-offerings .program-offerings__item:nth-child(even) {
      flex-direction: column;
      align-items: flex-start;
      gap: 26px;
      padding: 38px 0;
    }
  
    .program-offerings .card-image,
    .program-offerings .program-offerings__media {
      width: 100%;
      max-width: 100%;
      flex: 0 0 auto;
      min-height: 300px;
      border-radius: 30px 14px 30px 14px;
    }
  
    .program-offerings .card-wrapper .card:nth-child(even) .card-image,
    .program-offerings .program-offerings__item:nth-child(even) .program-offerings__media {
      border-radius: 30px 14px 30px 14px;
    }
  
    .program-offerings .card-image img,
    .program-offerings .program-offerings__media img,
    .program-offerings .wrapper .card-wrapper .card .card-image > img {
      min-height: 300px;
    }
  
    .program-offerings .card-info,
    .program-offerings .program-offerings__content {
      width: 100%;
      flex-basis: auto;
      padding: 0;
    }
  
    .program-offerings .card-info .title,
    .program-offerings .program-offerings__content .title {
      font-size: 27px;
    }
  
    .program-offerings .card-info .description,
    .program-offerings .program-offerings__content .description {
      max-width: 100%;
      font-size: 16px;
      line-height: 1.78;
    }
  }
  
  @media (max-width: 767px) {
    .program-offerings {
      padding-top: 64px;
      padding-bottom: 58px;
    }
  
    .program-offerings::before {
      width: 300px;
      height: 300px;
      left: -160px;
      top: 120px;
    }
  
    .program-offerings::after {
      width: 280px;
      height: 280px;
      right: -160px;
      bottom: 80px;
    }
  
    .program-offerings .wrapper,
    .program-offerings .program-offerings__inner {
      padding-left: 20px;
      padding-right: 20px;
    }
  
    .program-offerings .sub-heading {
      margin-bottom: 14px;
    }
  
    .program-offerings .sub-heading .line {
      width: 34px;
      flex-basis: 34px;
    }
  
    .program-offerings .sub-heading .text {
      font-size: 12px;
      letter-spacing: 0.13em;
    }
  
    .program-offerings .wrapper > .title,
    .program-offerings .program-offerings__title {
      font-size: 30px;
      line-height: 1.25;
      letter-spacing: -0.025em;
      margin-bottom: 30px;
    }
  
    .program-offerings .wrapper > .title::after,
    .program-offerings .program-offerings__title::after {
      width: 64px;
      margin-top: 20px;
    }
  
    .program-offerings .card-wrapper .card,
    .program-offerings .program-offerings__item,
    .program-offerings .card-wrapper .card:nth-child(even),
    .program-offerings .program-offerings__item:nth-child(even) {
      gap: 22px;
      padding: 32px 0;
    }
  
    .program-offerings .card-image,
    .program-offerings .program-offerings__media {
      min-height: 232px;
      border-radius: 24px 12px 24px 12px;
    }
  
    .program-offerings .card-wrapper .card:nth-child(even) .card-image,
    .program-offerings .program-offerings__item:nth-child(even) .program-offerings__media {
      border-radius: 24px 12px 24px 12px;
    }
  
    .program-offerings .card-image img,
    .program-offerings .program-offerings__media img,
    .program-offerings .wrapper .card-wrapper .card .card-image > img {
      min-height: 232px;
    }
  
    .program-offerings .card-info .title,
    .program-offerings .program-offerings__content .title {
      font-size: 24px;
      line-height: 1.26;
      margin-bottom: 14px;
    }
  
    .program-offerings .card-info .title::before,
    .program-offerings .program-offerings__content .title::before {
      width: 38px;
      margin-bottom: 14px;
    }
  
    .program-offerings .card-info .description,
    .program-offerings .program-offerings__content .description {
      font-size: 15.5px;
      line-height: 1.72;
      margin-bottom: 24px;
    }
  
    .program-offerings .service-link {
      min-height: 50px;
      gap: 12px;
    }
  
    .program-offerings .service-link .link-text {
      font-size: 12px;
      letter-spacing: 0.105em;
    }
  
    .program-offerings .service-link .service__arrow {
      width: 40px;
      height: 40px;
      flex-basis: 40px;
    }
  }
  
  @media (max-width: 480px) {
    .program-offerings {
      padding-top: 56px;
      padding-bottom: 50px;
    }
  
    .program-offerings .wrapper,
    .program-offerings .program-offerings__inner {
      padding-left: 18px;
      padding-right: 18px;
    }
  
    .program-offerings .wrapper > .title,
    .program-offerings .program-offerings__title {
      font-size: 28px;
    }
  
    .program-offerings .card-wrapper .card,
    .program-offerings .program-offerings__item,
    .program-offerings .card-wrapper .card:nth-child(even),
    .program-offerings .program-offerings__item:nth-child(even) {
      padding: 28px 0;
    }
  
    .program-offerings .card-image,
    .program-offerings .program-offerings__media {
      min-height: 210px;
    }
  
    .program-offerings .card-image img,
    .program-offerings .program-offerings__media img,
    .program-offerings .wrapper .card-wrapper .card .card-image > img {
      min-height: 210px;
    }
  
    .program-offerings .card-info .title,
    .program-offerings .program-offerings__content .title {
      font-size: 22px;
    }
  
    .program-offerings .card-info .description,
    .program-offerings .program-offerings__content .description {
      font-size: 15px;
      line-height: 1.68;
    }
  }
  
  @media (max-width: 380px) {
    .program-offerings {
      padding-top: 50px;
      padding-bottom: 44px;
    }
  
    .program-offerings .wrapper,
    .program-offerings .program-offerings__inner {
      padding-left: 16px;
      padding-right: 16px;
    }
  
    .program-offerings .wrapper > .title,
    .program-offerings .program-offerings__title {
      font-size: 26px;
    }
  
    .program-offerings .card-image,
    .program-offerings .program-offerings__media {
      min-height: 190px;
    }
  
    .program-offerings .card-image img,
    .program-offerings .program-offerings__media img,
    .program-offerings .wrapper .card-wrapper .card .card-image > img {
      min-height: 190px;
    }
  
    .program-offerings .service-link {
      width: 100%;
      justify-content: space-between;
    }
  
    .program-offerings .service-link .link-text {
      font-size: 11.5px;
      letter-spacing: 0.08em;
    }
  }
  
  @media (prefers-reduced-motion: reduce) {
    .program-offerings,
    .program-offerings *,
    .program-offerings *::before,
    .program-offerings *::after {
      animation: none;
      transition: none;
      scroll-behavior: auto;
    }
  }

  .program-offerings .program-offerings__footer {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 46px;
    padding: 0 12px;
    animation: programOfferingsReveal 820ms var(--ms-ease) 380ms both;
  }
  
  .program-offerings .program-offerings__all-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 56px;
    max-width: 100%;
    padding: 0 30px 0 32px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    color: var(--ms-white);
    text-decoration: none;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0.01em;
    border: 1px solid rgba(255, 255, 255, 0.24);
    box-shadow: 0 10px 24px rgba(52, 125, 104, 0.20);
    overflow: hidden;
    transform: translate3d(0, 0, 0);
    transition: transform var(--ms-transition), opacity var(--ms-transition);
  }
  
  .program-offerings .program-offerings__all-button::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
      125deg,
      rgba(255, 255, 255, 0.22) 0%,
      rgba(255, 255, 255, 0) 42%
    );
    opacity: 0.78;
    pointer-events: none;
    transition: opacity var(--ms-transition);
  }
  
  .program-offerings .program-offerings__all-button::after {
    content: "";
    position: absolute;
    width: 62px;
    height: 62px;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 999px;
    background: radial-gradient(circle, rgba(110, 79, 179, 0.26) 0%, rgba(110, 79, 179, 0) 72%);
    opacity: 0.45;
    pointer-events: none;
    transition: transform var(--ms-transition), opacity var(--ms-transition);
  }
  
  .program-offerings .program-offerings__all-button span {
    position: relative;
    z-index: 1;
  }
  
  .program-offerings .program-offerings__all-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.17);
    transition: transform var(--ms-transition), opacity var(--ms-transition);
  }
  
  .program-offerings .program-offerings__all-icon svg {
    width: 16px;
    height: 16px;
    display: block;
    fill: #ffffff;
    opacity: 0.95;
    transition: transform var(--ms-transition), opacity var(--ms-transition);
  }

  .program-offerings .program-offerings__all-icon svg path {
    fill: currentColor;
  }
  
  .program-offerings .program-offerings__all-button:hover {
    transform: translateY(-2px);
    opacity: 0.96;
  }
  
  .program-offerings .program-offerings__all-button:hover::before {
    opacity: 0.92;
  }

  .program-offerings .program-offerings__all-button:hover::after {
    transform: translateY(-50%) scale(1.1);
    opacity: 0.62;
  }
  
  .program-offerings .program-offerings__all-button:hover .program-offerings__all-icon {
    transform: translateX(2px);
    opacity: 0.95;
  }
  
  .program-offerings .program-offerings__all-button:hover .program-offerings__all-icon svg {
    transform: translateX(2px);
    opacity: 1;
  }
  
  .program-offerings .program-offerings__all-button:focus-visible {
    outline: none;
    box-shadow:
      0 0 0 3px rgba(255, 255, 255, 0.95),
      0 0 0 6px rgba(52, 125, 104, 0.38);
  }
  
  @media (max-width: 767px) {
    .program-offerings .program-offerings__footer {
      margin-top: 34px;
      padding: 0 10px;
    }
  
    .program-offerings .program-offerings__all-button {
      min-height: 54px;
      width: auto;
      padding: 0 22px 0 25px;
      font-size: 14px;
    }
  
    .program-offerings .program-offerings__all-icon {
      width: 32px;
      height: 32px;
      flex-basis: 32px;
    }
  }
  
  @media (max-width: 380px) {
    .program-offerings .program-offerings__footer {
      padding: 0 8px;
    }

    .program-offerings .program-offerings__all-button {
      width: 100%;
      justify-content: space-between;
      min-height: 52px;
      padding-left: 18px;
      padding-right: 14px;
      gap: 10px;
    }

    .program-offerings .program-offerings__all-icon {
      width: 30px;
      height: 30px;
      flex-basis: 30px;
    }
  }

/* ==========================================================================
   MY PRACTICE SECTION — Premium Organic Therapy Design
   Scoped only to .my-practice-outer
   ========================================================================== */

   .my-practice-outer {
    --mp-bg: #f7f2ec;
    --mp-bg-warm: #fbf8f4;
    --mp-bg-soft: #efe7dc;

    --mp-text: #2f2a26;
    --mp-text-soft: #5f574f;
    --mp-muted: #766c62;

    --mp-accent: #9b7b5f;
    --mp-accent-deep: #765c47;
    --mp-sage: #7f9585;
    --mp-sage-soft: rgba(127, 149, 133, 0.14);
    --mp-accent-soft: rgba(155, 123, 95, 0.14);

    --mp-line: rgba(47, 42, 38, 0.12);
    --mp-line-soft: rgba(47, 42, 38, 0.075);

    --mp-max-width: 1680px;
    --mp-section-space: clamp(4.5rem, 9vw, 8.5rem);
    --mp-content-gap: clamp(2.5rem, 6vw, 6rem);
    --mp-item-gap: clamp(1.35rem, 2vw, 2rem);

    --mp-radius-pill: 999px;
    --mp-ease: cubic-bezier(.22, 1, .36, 1);
    --mp-duration: 720ms;

    position: relative;
    isolation: isolate;
    color: var(--mp-text);
}

/* Main section canvas */
.my-practice-outer .my-practice {
    position: relative;
    overflow: hidden;
    border: 0;
    padding: var(--mp-section-space) 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(155, 123, 95, 0.16) 0%, rgba(155, 123, 95, 0) 32%),
        radial-gradient(circle at 86% 12%, rgba(127, 149, 133, 0.16) 0%, rgba(127, 149, 133, 0) 34%),
        linear-gradient(145deg, var(--mp-bg-warm) 0%, var(--mp-bg) 48%, var(--mp-bg-soft) 100%);
}

.my-practice-outer .my-practice::before {
    content: "";
    position: absolute;
    inset: -20% -10%;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 22% 70%, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0) 34%),
        radial-gradient(circle at 70% 42%, rgba(155, 123, 95, 0.08) 0%, rgba(155, 123, 95, 0) 30%);
    transform: translate3d(0, 0, 0);
    animation: mpBackgroundDrift 18s var(--mp-ease) infinite alternate;
}

.my-practice-outer .my-practice::after {
    content: "";
    position: absolute;
    left: clamp(1rem, 4vw, 4rem);
    right: clamp(1rem, 4vw, 4rem);
    bottom: 0;
    height: 1px;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(47, 42, 38, 0.12) 20%,
        rgba(47, 42, 38, 0.08) 70%,
        transparent 100%
    );
}

/* Inner width */
.my-practice-outer .my-practice .wrapper {
    position: relative;
    z-index: 2;
    width: min(calc(100% - clamp(2rem, 6vw, 5rem)), var(--mp-max-width));
    max-width: var(--mp-max-width);
    margin-inline: auto;
}

/* Layout */
.my-practice-outer .my-practice .top-area {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: var(--mp-content-gap);
}

/* Left content */
.my-practice-outer .my-practice .top-area .left-side {
    width: auto;
    flex: initial;
    margin: 0;
    padding: 0;
    max-width: 620px;
}

.my-practice-outer .my-practice .top-area .left-side .sub-heading {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 clamp(1rem, 2vw, 1.35rem);
}

.my-practice-outer .my-practice .top-area .left-side .sub-heading .dot {
    width: 0.45rem;
    height: 0.45rem;
    flex: 0 0 0.45rem;
    border-radius: 50%;
    background: var(--mp-accent);
}

.my-practice-outer .my-practice .top-area .left-side .sub-heading .line {
    width: clamp(2rem, 4vw, 3.25rem);
    height: 1px;
    background: linear-gradient(90deg, var(--mp-accent), rgba(155, 123, 95, 0.18));
}

.my-practice-outer .my-practice .top-area .left-side .sub-heading .text {
    color: var(--mp-accent-deep);
    font-family: 'RobotoSlab-Medium', Georgia, serif;
    font-size: clamp(0.7rem, 0.8vw, 0.78rem);
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.my-practice-outer .my-practice .top-area .left-side .title {
    max-width: 17ch;
    margin: 0;
    color: var(--mp-text);
    font-family: 'RobotoSlab-Medium', Georgia, serif;
    font-size: clamp(2rem, 4.3vw, 3.85rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.my-practice-outer .my-practice .top-area .left-side .sub-title {
    position: relative;
    max-width: 60ch;
    margin: clamp(1.35rem, 2.4vw, 2rem) 0 0;
    padding-left: clamp(1rem, 2vw, 1.35rem);
    color: var(--mp-text-soft);
    font-size: clamp(0.98rem, 1.1vw, 1.08rem);
    line-height: 1.85;
    letter-spacing: 0.005em;
}

.my-practice-outer .my-practice .top-area .left-side .sub-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35em;
    bottom: 0.35em;
    width: 1px;
    background: linear-gradient(
        180deg,
        rgba(155, 123, 95, 0.48),
        rgba(155, 123, 95, 0.08)
    );
}

/* CTA */
.my-practice-outer .my-practice .top-area .left-side .pr-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: auto;
    min-height: 3.25rem;
    max-width: max-content;
    margin: clamp(1.55rem, 3vw, 2.35rem) 0 0;
    padding: 0.95rem 1.65rem;
    border: 0;
    border-radius: var(--mp-radius-pill);
    background:
        linear-gradient(135deg, rgba(155, 123, 95, 0.98), rgba(118, 92, 71, 0.98));
    color: #fff;
    font-family: 'RobotoSlab-Bold', Georgia, serif;
    font-size: clamp(0.72rem, 0.78vw, 0.82rem);
    line-height: 1.15;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(118, 92, 71, 0.18);
    transform: translate3d(0, 0, 0);
    transition:
        transform 260ms var(--mp-ease),
        box-shadow 260ms var(--mp-ease),
        background 260ms var(--mp-ease);
}

.my-practice-outer .my-practice .top-area .left-side .pr-btn::after {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
    opacity: 0.86;
    transition: transform 260ms var(--mp-ease);
}

.my-practice-outer .my-practice .top-area .left-side .pr-btn .text {
    color: inherit;
}

.my-practice-outer .my-practice .top-area .left-side .pr-btn:hover {
    transform: translate3d(0, -2px, 0);
    box-shadow: 0 16px 34px rgba(118, 92, 71, 0.24);
}

.my-practice-outer .my-practice .top-area .left-side .pr-btn:hover::after {
    transform: translateX(3px) rotate(45deg);
}

.my-practice-outer .my-practice .top-area .left-side .pr-btn:active {
    transform: translate3d(0, 0, 0);
}

.my-practice-outer .my-practice .top-area .left-side .pr-btn:focus-visible {
    outline: 2px solid rgba(118, 92, 71, 0.68);
    outline-offset: 5px;
}

/* Right side — organic list, not boxed cards */
.my-practice-outer .my-practice .top-area .right-side {
    position: relative;
    width: auto;
    flex: initial;
    margin: 0;
    min-width: 0;
    padding-left: clamp(1.25rem, 3vw, 2.5rem);
}

.my-practice-outer .my-practice .top-area .right-side::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3%;
    bottom: 3%;
    width: 1px;
    background: linear-gradient(
        180deg,
        transparent,
        rgba(47, 42, 38, 0.13) 18%,
        rgba(47, 42, 38, 0.09) 74%,
        transparent
    );
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 2.75rem) clamp(1.5rem, 3.2vw, 3.25rem);
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: clamp(0.95rem, 1.5vw, 1.2rem);
    width: auto;
    min-width: 0;
    flex: initial;
    padding: clamp(1.15rem, 2vw, 1.55rem) 0 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: translate3d(0, 0, 0);
    transition:
        transform 260ms var(--mp-ease),
        opacity 260ms var(--mp-ease);
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(47, 42, 38, 0.16),
        rgba(47, 42, 38, 0.05) 70%,
        transparent
    );
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(even) {
    transform: translate3d(0, clamp(0.65rem, 1.4vw, 1.1rem), 0);
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:hover {
    transform: translate3d(0.25rem, 0, 0);
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(even):hover {
    transform: translate3d(0.25rem, clamp(0.65rem, 1.4vw, 1.1rem), 0);
}

/* Icon as calm visual marker, not a card */
.my-practice-outer .my-practice .top-area .right-side .card .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(2.25rem, 3vw, 2.8rem);
    height: clamp(2.25rem, 3vw, 2.8rem);
    flex: 0 0 clamp(2.25rem, 3vw, 2.8rem);
    margin: 0;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.18)),
        var(--mp-sage-soft);
    box-shadow: inset 0 0 0 1px rgba(127, 149, 133, 0.18);
    transition:
        background 260ms var(--mp-ease),
        transform 260ms var(--mp-ease);
}

.my-practice-outer .my-practice .top-area .right-side .card:hover .icon {
    transform: scale(1.04);
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.2)),
        var(--mp-accent-soft);
}

.my-practice-outer .my-practice .top-area .right-side .card .icon img {
    display: block;
    width: clamp(1rem, 1.35vw, 1.2rem);
    height: auto;
    max-height: 1.2rem;
    object-fit: contain;
    opacity: 0.78;
    filter:
        brightness(0)
        saturate(100%)
        invert(45%)
        sepia(15%)
        saturate(806%)
        hue-rotate(343deg)
        brightness(91%)
        contrast(85%);
}

.my-practice-outer .my-practice .top-area .right-side .card .info {
    width: auto;
    flex: initial;
    min-width: 0;
}

.my-practice-outer .my-practice .top-area .right-side .card .info .title {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--mp-text);
    font-family: 'RobotoSlab-Medium', Georgia, serif;
    font-size: clamp(1.05rem, 1.25vw, 1.25rem);
    line-height: 1.28;
    letter-spacing: -0.015em;
}

.my-practice-outer .my-practice .top-area .right-side .card .info .sub-title {
    margin: 0.65rem 0 0;
    color: var(--mp-muted);
    font-size: clamp(0.9rem, 0.98vw, 0.98rem);
    line-height: 1.72;
    letter-spacing: 0.003em;
}

.my-practice-outer .my-practice .top-area .right-side .card .info .sub-title p {
    margin: 0;
}

.my-practice-outer .my-practice .top-area .right-side .card .info .sub-title p + p {
    margin-top: 0.75em;
}

/* Entrance animations */
.my-practice-outer .my-practice .top-area .left-side .sub-heading,
.my-practice-outer .my-practice .top-area .left-side .title,
.my-practice-outer .my-practice .top-area .left-side .sub-title,
.my-practice-outer .my-practice .top-area .left-side .pr-btn,
.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card {
    animation: mpFadeUp var(--mp-duration) var(--mp-ease) both;
}

.my-practice-outer .my-practice .top-area .left-side .sub-heading {
    animation-delay: 80ms;
}

.my-practice-outer .my-practice .top-area .left-side .title {
    animation-delay: 160ms;
}

.my-practice-outer .my-practice .top-area .left-side .sub-title {
    animation-delay: 240ms;
}

.my-practice-outer .my-practice .top-area .left-side .pr-btn {
    animation-delay: 320ms;
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(1) {
    animation-delay: 180ms;
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(2) {
    animation-delay: 260ms;
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(3) {
    animation-delay: 340ms;
}

.my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(4) {
    animation-delay: 420ms;
}

/* Tablet */
@media (max-width: 1100px) {
    .my-practice-outer .my-practice .top-area {
        grid-template-columns: 1fr;
        gap: clamp(2.75rem, 6vw, 4.5rem);
    }

    .my-practice-outer .my-practice .top-area .left-side {
        max-width: 760px;
    }

    .my-practice-outer .my-practice .top-area .left-side .title {
        max-width: 22ch;
    }

    .my-practice-outer .my-practice .top-area .right-side {
        padding-left: 0;
    }

    .my-practice-outer .my-practice .top-area .right-side::before {
        display: none;
    }
}

/* Mobile */
@media (max-width: 720px) {
    .my-practice-outer .my-practice {
        padding: clamp(3.5rem, 14vw, 5.25rem) 0;
    }

    .my-practice-outer .my-practice .wrapper {
        width: min(calc(100% - 2rem), var(--mp-max-width));
    }

    .my-practice-outer .my-practice .top-area {
        gap: 2.4rem;
    }

    .my-practice-outer .my-practice .top-area .left-side .title {
        max-width: none;
        font-size: clamp(1.9rem, 9vw, 2.75rem);
    }

    .my-practice-outer .my-practice .top-area .left-side .sub-title {
        padding-left: 1rem;
        line-height: 1.75;
    }

    .my-practice-outer .my-practice .top-area .left-side .pr-btn {
        width: 100%;
        max-width: none;
        min-height: 3.35rem;
        padding-inline: 1.25rem;
    }

    .my-practice-outer .my-practice .top-area .right-side .card-wrapper {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card,
    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(even),
    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:hover,
    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(even):hover {
        transform: none;
    }
}

/* Small mobile */
@media (max-width: 380px) {
    .my-practice-outer .my-practice .wrapper {
        width: min(calc(100% - 1.4rem), var(--mp-max-width));
    }

    .my-practice-outer .my-practice .top-area .left-side .sub-heading .text {
        letter-spacing: 0.12em;
        font-size: 0.68rem;
    }

    .my-practice-outer .my-practice .top-area .left-side .sub-heading .line {
        width: 1.7rem;
    }

    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }

    .my-practice-outer .my-practice .top-area .right-side .card .icon {
        width: 2.35rem;
        height: 2.35rem;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .my-practice-outer .my-practice::before,
    .my-practice-outer .my-practice .top-area .left-side .sub-heading,
    .my-practice-outer .my-practice .top-area .left-side .title,
    .my-practice-outer .my-practice .top-area .left-side .sub-title,
    .my-practice-outer .my-practice .top-area .left-side .pr-btn,
    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card {
        animation: none;
    }

    .my-practice-outer .my-practice .top-area .left-side .pr-btn,
    .my-practice-outer .my-practice .top-area .left-side .pr-btn::after,
    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card,
    .my-practice-outer .my-practice .top-area .right-side .card .icon {
        transition: none;
    }

    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card,
    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(even),
    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:hover,
    .my-practice-outer .my-practice .top-area .right-side .card-wrapper .card:nth-child(even):hover,
    .my-practice-outer .my-practice .top-area .left-side .pr-btn:hover {
        transform: none;
    }
}

/* Keyframes */
@keyframes mpFadeUp {
    from {
        opacity: 0;
        transform: translate3d(0, 1.15rem, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes mpBackgroundDrift {
    from {
        transform: translate3d(-1.2%, -0.8%, 0) scale(1);
    }

    to {
        transform: translate3d(1.2%, 0.8%, 0) scale(1.025);
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   THE PROCESS — Mind & Soul Premium Organic Therapy Section
   Scoped CSS only for .the-process
   Flexbox only — no CSS Grid — no clamp()
   ═══════════════════════════════════════════════════════════════════════════ */

   .the-process {
    --ms-primary: #4f9283;
    --ms-primary-dark: #347d68;
    --ms-primary-light: #4f9a82;
    --ms-primary-soft: rgba(79, 146, 131, 0.12);
    --ms-primary-softer: rgba(79, 146, 131, 0.07);
  
    --ms-purple: #6E4FB3;
    --ms-purple-dark: #5A3D96;
    --ms-purple-soft: rgba(110, 79, 179, 0.10);
  
    --ms-text: #243632;
    --ms-muted: #63736f;
    --ms-bg: #f7fbf9;
    --ms-white: #ffffff;
    --ms-line: rgba(79, 146, 131, 0.18);
  
    --ms-radius-small: 12px;
    --ms-radius-medium: 20px;
    --ms-radius-large: 32px;
  
    --ms-transition-fast: 180ms ease;
    --ms-transition: 280ms cubic-bezier(.22, 1, .36, 1);
    --ms-transition-slow: 520ms cubic-bezier(.22, 1, .36, 1);
  
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 112px 0 118px;
    color: var(--ms-text);
    background:
      radial-gradient(circle at 12% 16%, rgba(79, 146, 131, 0.13), transparent 31%),
      radial-gradient(circle at 88% 18%, rgba(110, 79, 179, 0.08), transparent 28%),
      radial-gradient(circle at 74% 88%, rgba(79, 154, 130, 0.09), transparent 32%),
      linear-gradient(180deg, #f7fbf9 0%, #ffffff 58%, #f8fbfa 100%);
  }
  
  .the-process::before,
  .the-process::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    border-radius: 999px;
  }
  
  .the-process::before {
    width: 420px;
    height: 420px;
    left: -170px;
    bottom: 5%;
    background: rgba(79, 146, 131, 0.08);
    transform: rotate(-12deg);
    animation: msProcessAura 16s cubic-bezier(.22, 1, .36, 1) infinite alternate;
  }
  
  .the-process::after {
    width: 320px;
    height: 320px;
    right: -120px;
    top: 12%;
    background: rgba(110, 79, 179, 0.065);
    transform: rotate(8deg);
    animation: msProcessAura 18s cubic-bezier(.22, 1, .36, 1) infinite alternate-reverse;
  }
  
  .the-process .wrapper {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    width: 92%;
    margin: 0 auto;
  }
  
  .the-process .card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 72px;
    width: 100%;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    padding: 0;
  }
  
  .the-process .card-image {
    position: relative;
    flex: 0 1 43%;
    width: 43%;
    min-width: 0;
    overflow: visible;
    animation: msProcessFadeUp 780ms cubic-bezier(.22, 1, .36, 1) both;
  }
  
  .the-process .card-image::before {
    content: "";
    position: absolute;
    inset: 26px -24px -24px 26px;
    z-index: -1;
    border-radius: 46% 54% 50% 50% / 54% 46% 54% 46%;
    background:
      linear-gradient(135deg, rgba(79, 154, 130, 0.18) 0%, rgba(52, 125, 104, 0.08) 100%);
    opacity: 0.9;
    transform: rotate(-3deg);
    transition:
      transform var(--ms-transition-slow),
      opacity var(--ms-transition);
  }
  
  .the-process .card-image::after {
    content: "";
    position: absolute;
    width: 86px;
    height: 86px;
    right: 10px;
    bottom: 24px;
    border-radius: 50%;
    background:
      linear-gradient(135deg, rgba(110, 79, 179, 0.18) 0%, rgba(90, 61, 150, 0.08) 100%);
    opacity: 0.9;
    pointer-events: none;
    transition:
      transform var(--ms-transition-slow),
      opacity var(--ms-transition);
  }
  
  .the-process .card-image picture {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 48% 52% 42% 58% / 52% 44% 56% 48%;
    background: var(--ms-primary-softer);
  }
  
  .the-process .card-image img {
    display: block;
    width: 100%;
    height: 560px;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition:
      transform 900ms cubic-bezier(.22, 1, .36, 1),
      opacity var(--ms-transition);
  }
  
  .the-process .card-image:hover::before {
    transform: rotate(0deg) translate3d(4px, -4px, 0);
    opacity: 1;
  }
  
  .the-process .card-image:hover::after {
    transform: translate3d(-6px, -8px, 0);
    opacity: 1;
  }
  
  .the-process .card-image:hover img {
    transform: scale(1.045);
  }
  
  .the-process .card-info {
    flex: 1 1 52%;
    width: auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    margin: 0;
    animation: msProcessFadeUp 860ms cubic-bezier(.22, 1, .36, 1) 90ms both;
  }
  
  .the-process .sub-heading {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin: 0 0 18px;
  }
  
  .the-process .sub-heading .dot {
    display: inline-flex;
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    box-shadow: 0 0 0 7px rgba(79, 146, 131, 0.10);
  }
  
  .the-process .sub-heading .line {
    display: inline-flex;
    width: 42px;
    height: 1px;
    flex: 0 0 42px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    opacity: 0.75;
  }
  
  .the-process .sub-heading .text {
    display: inline-flex;
    color: var(--ms-primary-dark);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  
  .the-process .card-info > .title {
    max-width: 720px;
    margin: 0;
    color: var(--ms-text);
    font-size: 48px;
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -0.035em;
  }
  
  .the-process .card-info > .title::after {
    content: "";
    display: block;
    width: 74px;
    height: 3px;
    margin-top: 24px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    opacity: 0.9;
  }
  
  .the-process .card-info > .subtitle {
    max-width: 660px;
    margin: 28px 0 0;
    color: var(--ms-muted);
    font-size: 18px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: 0.005em;
  }
  
  .the-process .list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 690px;
    margin: 44px 0 0;
    padding: 0;
    list-style: none;
  }
  
  .the-process .list::before {
    content: "";
    position: absolute;
    left: 31px;
    top: 18px;
    bottom: 18px;
    width: 1px;
    background: linear-gradient(
      180deg,
      rgba(79, 146, 131, 0),
      rgba(79, 146, 131, 0.25),
      rgba(110, 79, 179, 0.16),
      rgba(79, 146, 131, 0)
    );
  }
  
  .the-process .list .item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 0 0 30px;
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: translateY(0);
    transition:
      transform var(--ms-transition),
      opacity var(--ms-transition);
  }
  
  .the-process .list .item:last-child {
    padding-bottom: 0;
  }
  
  .the-process .list .item::after {
    content: "";
    position: absolute;
    left: 78px;
    right: 0;
    bottom: 15px;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(79, 146, 131, 0.18),
      rgba(79, 146, 131, 0.04),
      rgba(79, 146, 131, 0)
    );
  }
  
  .the-process .list .item:last-child::after {
    display: none;
  }
  
  .the-process .list .item:hover {
    transform: translateY(-2px);
  }
  
  .the-process .list .item .icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background:
      radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.54)),
      linear-gradient(135deg, rgba(79, 146, 131, 0.14) 0%, rgba(79, 146, 131, 0.04) 100%);
    box-shadow:
      0 12px 28px rgba(52, 125, 104, 0.10),
      inset 0 0 0 1px rgba(79, 146, 131, 0.12);
    transition:
      transform var(--ms-transition),
      box-shadow var(--ms-transition),
      background var(--ms-transition);
  }
  
  .the-process .list .item .icon::after {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    border: 1px solid rgba(79, 146, 131, 0.10);
    opacity: 0;
    transform: scale(0.92);
    transition:
      transform var(--ms-transition),
      opacity var(--ms-transition);
  }
  
  .the-process .list .item:hover .icon {
    transform: translateY(-2px);
    box-shadow:
      0 16px 34px rgba(52, 125, 104, 0.14),
      inset 0 0 0 1px rgba(79, 146, 131, 0.16);
  }
  
  .the-process .list .item:hover .icon::after {
    opacity: 1;
    transform: scale(1);
  }
  
  .the-process .list .item .icon picture {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  
  .the-process .list .item .icon img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
    transition:
      transform var(--ms-transition),
      opacity var(--ms-transition);
  }
  
  .the-process .list .item:hover .icon img {
    transform: scale(1.05);
  }
  
  .the-process .list .item .info {
    flex: 1 1 auto;
    min-width: 0;
    padding-top: 3px;
  }
  
  .the-process .list .item .info .title {
    margin: 0;
    color: var(--ms-text);
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    transition:
      color var(--ms-transition-fast),
      opacity var(--ms-transition-fast);
  }
  
  .the-process .list .item:hover .info .title {
    color: var(--ms-primary-dark);
  }
  
  .the-process .list .item .info .sub-title {
    max-width: 560px;
    margin: 9px 0 0;
    color: var(--ms-muted);
    font-size: 15.5px;
    line-height: 1.72;
    font-weight: 400;
  }
  
  .the-process a,
  .the-process button {
    transition:
      transform 280ms cubic-bezier(.22, 1, .36, 1),
      opacity 280ms cubic-bezier(.22, 1, .36, 1),
      color 220ms ease,
      background 280ms ease,
      border-color 220ms ease,
      box-shadow 280ms ease;
  }
  
  .the-process a:focus-visible,
  .the-process button:focus-visible {
    outline: 3px solid rgba(79, 146, 131, 0.35);
    outline-offset: 4px;
  }
  
  @keyframes msProcessFadeUp {
    from {
      opacity: 0;
      transform: translateY(18px);
    }
  
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @keyframes msProcessAura {
    from {
      transform: translate3d(0, 0, 0) rotate(-8deg);
    }
  
    to {
      transform: translate3d(18px, -14px, 0) rotate(4deg);
    }
  }
  
  /* Laptop */
  @media (max-width: 1199px) {
    .the-process {
      padding: 96px 0 104px;
    }
  
    .the-process .card {
      gap: 56px;
    }
  
    .the-process .card-info > .title {
      font-size: 42px;
    }
  
    .the-process .card-image img {
      height: 500px;
    }
  }
  
  /* Tablet */
  @media (max-width: 991px) {
    .the-process {
      padding: 86px 0 92px;
    }
  
    .the-process .card {
      flex-direction: column;
      align-items: flex-start;
      gap: 54px;
    }
  
    .the-process .card-image {
      flex: 0 1 auto;
      width: 100%;
      max-width: 620px;
    }
  
    .the-process .card-image img {
      height: 460px;
    }
  
    .the-process .card-info {
      width: 100%;
    }
  
    .the-process .card-info > .title {
      max-width: 760px;
      font-size: 38px;
    }
  
    .the-process .card-info > .subtitle {
      max-width: 720px;
      font-size: 17px;
    }
  
    .the-process .list {
      max-width: 760px;
    }
  }
  
  /* Mobile */
  @media (max-width: 767px) {
    .the-process {
      padding: 72px 0 78px;
    }
  
    .the-process .wrapper {
      width: 90%;
    }
  
    .the-process .card {
      gap: 42px;
    }
  
    .the-process .card-image::before {
      inset: 18px -12px -16px 18px;
    }
  
    .the-process .card-image::after {
      width: 64px;
      height: 64px;
      right: 4px;
      bottom: 16px;
    }
  
    .the-process .card-image picture {
      border-radius: 34px;
    }
  
    .the-process .card-image img {
      height: 360px;
    }
  
    .the-process .sub-heading {
      margin-bottom: 16px;
    }
  
    .the-process .sub-heading .line {
      width: 34px;
      flex-basis: 34px;
    }
  
    .the-process .sub-heading .text {
      font-size: 12px;
      letter-spacing: 0.12em;
    }
  
    .the-process .card-info > .title {
      font-size: 31px;
      line-height: 1.18;
    }
  
    .the-process .card-info > .title::after {
      width: 62px;
      margin-top: 20px;
    }
  
    .the-process .card-info > .subtitle {
      margin-top: 22px;
      font-size: 16px;
      line-height: 1.72;
    }
  
    .the-process .list {
      margin-top: 34px;
    }
  
    .the-process .list::before {
      left: 26px;
    }
  
    .the-process .list .item {
      gap: 18px;
      padding-bottom: 28px;
    }
  
    .the-process .list .item::after {
      left: 68px;
      bottom: 14px;
    }
  
    .the-process .list .item .icon {
      flex-basis: 54px;
      width: 54px;
      height: 54px;
    }
  
    .the-process .list .item .icon img {
      width: 28px;
      height: 28px;
    }
  
    .the-process .list .item .info .title {
      font-size: 14.5px;
      line-height: 1.4;
      letter-spacing: 0.055em;
    }
  
    .the-process .list .item .info .sub-title {
      font-size: 15px;
      line-height: 1.68;
    }
  }
  
  /* Small mobile */
  @media (max-width: 480px) {
    .the-process {
      padding: 64px 0 70px;
    }
  
    .the-process .wrapper {
      width: 88%;
    }
  
    .the-process .card {
      gap: 36px;
    }
  
    .the-process .card-image img {
      height: 310px;
    }
  
    .the-process .card-info > .title {
      font-size: 29px;
    }
  
    .the-process .card-info > .subtitle {
      font-size: 15.5px;
    }
  
    .the-process .list .item {
      gap: 15px;
    }
  
    .the-process .list .item .icon {
      flex-basis: 50px;
      width: 50px;
      height: 50px;
    }
  
    .the-process .list::before {
      left: 24px;
    }
  
    .the-process .list .item::after {
      left: 62px;
    }
  }
  
  /* Extra small mobile */
  @media (max-width: 380px) {
    .the-process {
      padding: 56px 0 62px;
    }
  
    .the-process .card-image img {
      height: 280px;
    }
  
    .the-process .card-info > .title {
      font-size: 28px;
    }
  
    .the-process .card-info > .subtitle {
      font-size: 15px;
    }
  
    .the-process .list {
      margin-top: 30px;
    }
  
    .the-process .list .item {
      align-items: flex-start;
      gap: 14px;
    }
  
    .the-process .list .item .icon {
      flex-basis: 46px;
      width: 46px;
      height: 46px;
    }
  
    .the-process .list .item .icon img {
      width: 25px;
      height: 25px;
    }
  
    .the-process .list::before {
      left: 22px;
    }
  
    .the-process .list .item::after {
      left: 58px;
    }
  
    .the-process .list .item .info .title {
      font-size: 14px;
    }
  
    .the-process .list .item .info .sub-title {
      font-size: 14.5px;
    }
  }
  
  /* Motion safety */
  @media (prefers-reduced-motion: reduce) {
    .the-process,
    .the-process *,
    .the-process *::before,
    .the-process *::after {
      animation: none;
      transition: none;
      scroll-behavior: auto;
    }
  }

  .the-process .card-image {
    max-width: 520px;
  }
  
  .the-process .card-image picture {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 26px;
    background: var(--ms-primary-softer);
  }
  
  .the-process .card-image img {
    display: block;
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    filter: saturate(0.9) contrast(0.96) brightness(1.03);
    transition:
      transform 900ms cubic-bezier(.22, 1, .36, 1),
      opacity 280ms cubic-bezier(.22, 1, .36, 1);
  }
  
  .the-process .card-image::before {
    content: "";
    position: absolute;
    inset: 24px -18px -18px 24px;
    z-index: -1;
    border-radius: 28px;
    background:
      linear-gradient(135deg, rgba(79, 154, 130, 0.14) 0%, rgba(52, 125, 104, 0.06) 100%);
    opacity: 0.9;
    transform: rotate(-2deg);
    transition:
      transform 520ms cubic-bezier(.22, 1, .36, 1),
      opacity 280ms cubic-bezier(.22, 1, .36, 1);
  }
  
  .the-process .card-image::after {
    content: "";
    position: absolute;
    width: 76px;
    height: 76px;
    right: -18px;
    bottom: 38px;
    border-radius: 22px;
    background:
      linear-gradient(135deg, rgba(110, 79, 179, 0.14) 0%, rgba(90, 61, 150, 0.06) 100%);
    opacity: 0.65;
    pointer-events: none;
    transform: rotate(8deg);
    transition:
      transform 520ms cubic-bezier(.22, 1, .36, 1),
      opacity 280ms cubic-bezier(.22, 1, .36, 1);
  }
  
  .the-process .card-image:hover::before {
    transform: rotate(0deg) translate3d(4px, -4px, 0);
    opacity: 1;
  }
  
  .the-process .card-image:hover::after {
    transform: rotate(4deg) translate3d(-5px, -6px, 0);
    opacity: 0.78;
  }
  
  .the-process .card-image:hover img {
    transform: scale(1.04);
  }
  
  @media (max-width: 991px) {
    .the-process .card-image {
      max-width: 560px;
    }
  
    .the-process .card-image img {
      height: 440px;
    }
  }
  
  @media (max-width: 767px) {
    .the-process .card-image {
      max-width: 100%;
    }
  
    .the-process .card-image picture {
      border-radius: 22px;
    }
  
    .the-process .card-image img {
      height: 350px;
    }
  
    .the-process .card-image::before {
      inset: 18px -10px -14px 16px;
      border-radius: 24px;
    }
  
    .the-process .card-image::after {
      width: 58px;
      height: 58px;
      right: -6px;
      bottom: 20px;
      border-radius: 18px;
    }
  }
  
  @media (max-width: 380px) {
    .the-process .card-image img {
      height: 280px;
    }
  }

  /* ==========================================================================
   MindSoul — Latest Blog Section
   Premium organic editorial layout for psychologist / therapy brand
   Scoped only to: section.blog
   Flexbox only — no CSS Grid — no clamp()
   ========================================================================== */

section.blog {
    --ms-primary: #4f9283;
    --ms-primary-dark: #347d68;
    --ms-primary-light: #4f9a82;
    --ms-primary-soft: rgba(79, 146, 131, 0.12);
    --ms-primary-softer: rgba(79, 146, 131, 0.07);
  
    --ms-purple: #6E4FB3;
    --ms-purple-dark: #5A3D96;
    --ms-purple-soft: rgba(110, 79, 179, 0.10);
  
    --ms-text: #243632;
    --ms-muted: #63736f;
    --ms-bg: #f7fbf9;
    --ms-white: #ffffff;
    --ms-line: rgba(79, 146, 131, 0.18);
  
    --ms-radius-small: 12px;
    --ms-radius-medium: 20px;
    --ms-radius-large: 32px;
  
    --ms-transition-fast: 180ms ease;
    --ms-transition: 280ms cubic-bezier(.22, 1, .36, 1);
    --ms-transition-slow: 520ms cubic-bezier(.22, 1, .36, 1);
  
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 112px 0 104px;
    color: var(--ms-text);
    background:
      radial-gradient(circle at 12% 14%, rgba(79, 146, 131, 0.13), transparent 28%),
      radial-gradient(circle at 88% 18%, rgba(110, 79, 179, 0.08), transparent 26%),
      radial-gradient(circle at 50% 100%, rgba(79, 146, 131, 0.08), transparent 34%),
      linear-gradient(180deg, #f7fbf9 0%, #ffffff 72%, #f8fbfa 100%);
  }
  
  section.blog::before,
  section.blog::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    border-radius: 999px;
    opacity: 0.72;
  }
  
  section.blog::before {
    width: 420px;
    height: 420px;
    right: -180px;
    top: 130px;
    background: radial-gradient(circle, rgba(79, 146, 131, 0.12), transparent 68%);
    animation: msBlogAura 9s cubic-bezier(.22, 1, .36, 1) infinite alternate;
  }
  
  section.blog::after {
    width: 340px;
    height: 340px;
    left: -150px;
    bottom: 60px;
    background: radial-gradient(circle, rgba(110, 79, 179, 0.08), transparent 70%);
    animation: msBlogAura 11s cubic-bezier(.22, 1, .36, 1) infinite alternate-reverse;
  }
  
  section.blog .wrapper {
    position: relative;
    z-index: 1;
    width: calc(100% - 48px);
    max-width: 1220px;
    margin: 0 auto;
  }
  
  /* Header eyebrow */
  
  section.blog .sub-heading {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    margin: 0 0 22px;
    animation: msBlogFadeUp 680ms cubic-bezier(.22, 1, .36, 1) both;
  }
  
  section.blog .sub-heading .dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    box-shadow: 0 0 0 7px rgba(79, 146, 131, 0.10);
  }
  
  section.blog .sub-heading .line {
    width: 52px;
    height: 1px;
    flex: 0 0 52px;
    margin: 0 14px;
    background: linear-gradient(90deg, rgba(79, 146, 131, 0.50), rgba(79, 146, 131, 0));
  }
  
  section.blog .sub-heading .text {
    color: var(--ms-primary-dark);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }
  
  /* Title area */
  
  section.blog .title-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 56px;
    flex-wrap: nowrap;
    margin: 0 0 66px;
    animation: msBlogFadeUp 760ms cubic-bezier(.22, 1, .36, 1) 80ms both;
  }
  
  section.blog .title-wrapper > .title {
    flex: 1 1 62%;
    max-width: 760px;
    margin: 0;
    color: var(--ms-text);
    font-size: 44px;
    line-height: 1.14;
    font-weight: 700;
    letter-spacing: -0.035em;
  }
  
  section.blog .title-wrapper .sub-title {
    position: relative;
    flex: 1 1 34%;
    max-width: 420px;
    margin: 8px 0 0;
    padding: 0 0 0 24px;
    color: var(--ms-muted);
    font-size: 17px;
    line-height: 1.78;
    font-weight: 400;
  }
  
  section.blog .title-wrapper .sub-title::before {
    content: "";
    position: absolute;
    top: 7px;
    bottom: 7px;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, #4f9a82 0%, #347d68 62%, rgba(110, 79, 179, 0.55) 100%);
  }
  
  /* Articles composition */
  
  section.blog .card-wrapper {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 34px;
    flex-wrap: nowrap;
    position: relative;
  }
  
  section.blog .card-wrapper .card {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    padding: 0 0 26px;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
    animation: msBlogFadeUp 760ms cubic-bezier(.22, 1, .36, 1) both;
  }
  
  section.blog .card-wrapper .card:nth-child(1) {
    animation-delay: 140ms;
  }
  
  section.blog .card-wrapper .card:nth-child(2) {
    animation-delay: 220ms;
  }
  
  section.blog .card-wrapper .card:nth-child(3) {
    animation-delay: 300ms;
  }
  
  section.blog .card-wrapper .card:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 42px;
    right: -17px;
    bottom: 16px;
    width: 1px;
    background: linear-gradient(
      180deg,
      rgba(79, 146, 131, 0),
      rgba(79, 146, 131, 0.20),
      rgba(110, 79, 179, 0.10),
      rgba(79, 146, 131, 0)
    );
  }
  
  /* Article image */
  
  section.blog .card-wrapper .card .card-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1.18 / 1;
    overflow: hidden;
    border-radius: 32px 32px 18px 32px;
    background:
      linear-gradient(135deg, rgba(79, 146, 131, 0.12), rgba(110, 79, 179, 0.08)),
      #edf6f3;
    transform: translateZ(0);
  }
  
  section.blog .card-wrapper .card .card-image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(36, 54, 50, 0) 48%, rgba(36, 54, 50, 0.12) 100%),
      radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.22), transparent 36%);
    opacity: 0.88;
    transition: opacity var(--ms-transition);
  }
  
  section.blog .card-wrapper .card .card-image a,
  section.blog .card-wrapper .card .card-image picture,
  section.blog .card-wrapper .card .card-image img {
    display: block;
    width: 100%;
    height: 100%;
  }
  
  section.blog .card-wrapper .card .card-image img {
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition:
      transform 700ms cubic-bezier(.22, 1, .36, 1),
      opacity 280ms cubic-bezier(.22, 1, .36, 1);
  }
  
  section.blog .card-wrapper .card:hover .card-image img {
    transform: scale(1.045);
  }
  
  section.blog .card-wrapper .card:hover .card-image::before {
    opacity: 0.62;
  }
  
  /* Article content */
  
  section.blog .card-wrapper .card .card-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    flex: 1 1 auto;
    margin: 24px 0 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  
  section.blog .card-wrapper .card .read-min {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    margin: 0 0 14px;
    padding: 0 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(79, 154, 130, 0.13) 0%, rgba(110, 79, 179, 0.08) 100%);
    color: var(--ms-primary-dark);
  }
  
  section.blog .card-wrapper .card .read-min .text {
    color: inherit;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }
  
  section.blog .card-wrapper .card .card-info > .title {
    margin: 0;
    color: var(--ms-text);
    font-size: 23px;
    line-height: 1.28;
    font-weight: 700;
    letter-spacing: -0.018em;
  }
  
  section.blog .card-wrapper .card .card-info > .title a {
    color: inherit;
    text-decoration: none;
    background-image: linear-gradient(90deg, var(--ms-primary-dark), var(--ms-primary-dark));
    background-repeat: no-repeat;
    background-size: 0 2px;
    background-position: 0 100%;
    transition:
      color 220ms ease,
      background-size 280ms cubic-bezier(.22, 1, .36, 1),
      opacity 280ms cubic-bezier(.22, 1, .36, 1);
  }
  
  section.blog .card-wrapper .card .card-info > .title a:hover {
    color: var(--ms-primary-dark);
    background-size: 100% 2px;
  }
  
  section.blog .card-wrapper .card .excerpt {
    max-width: 36em;
    margin: 15px 0 0;
    color: var(--ms-muted);
    font-size: 15.5px;
    line-height: 1.72;
    font-weight: 400;
  }
  
  section.blog .card-wrapper .card .author {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    margin: 20px 0 0;
    color: rgba(36, 54, 50, 0.66);
  }
  
  section.blog .card-wrapper .card .author::before {
    content: "";
    width: 26px;
    height: 1px;
    flex: 0 0 26px;
    background: linear-gradient(90deg, rgba(79, 146, 131, 0.42), rgba(79, 146, 131, 0));
  }
  
  section.blog .card-wrapper .card .author .time {
    color: inherit;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.03em;
  }
  
  /* Bottom quote / CTA */
  
  section.blog .quote {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 64px 0 0;
    text-align: center;
    margin-inline: auto;
    animation: msBlogFadeUp 760ms cubic-bezier(.22, 1, .36, 1) 360ms both;
  }
  
  section.blog .quote p {
    position: relative;
    max-width: 760px;
    margin: 0;
    padding: 30px 0 0;
    color: var(--ms-muted);
    font-size: 17px;
    line-height: 1.75;
  }
  
  section.blog .quote p::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 112px;
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(
      90deg,
      rgba(79, 146, 131, 0),
      rgba(79, 146, 131, 0.38),
      rgba(110, 79, 179, 0.18),
      rgba(79, 146, 131, 0)
    );
  }
  
  section.blog .quote a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin: 0 4px;
    padding: 0 18px;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 12px 26px rgba(52, 125, 104, 0.18);
    transition:
      transform 280ms cubic-bezier(.22, 1, .36, 1),
      opacity 280ms cubic-bezier(.22, 1, .36, 1),
      color 220ms ease,
      background 280ms ease,
      border-color 220ms ease,
      box-shadow 280ms ease;
  }
  
  section.blog .quote a:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(52, 125, 104, 0.24);
  }
  
  section.blog .quote a:active {
    transform: translateY(0);
  }
  
  /* Global interactive states inside this section */
  
  section.blog a {
    transition:
      transform 280ms cubic-bezier(.22, 1, .36, 1),
      opacity 280ms cubic-bezier(.22, 1, .36, 1),
      color 220ms ease,
      background 280ms ease,
      border-color 220ms ease,
      box-shadow 280ms ease;
  }
  
  section.blog a:focus-visible,
  section.blog button:focus-visible {
    outline: 3px solid rgba(79, 146, 131, 0.35);
    outline-offset: 4px;
    border-radius: 12px;
  }
  
  /* Animations */
  
  @keyframes msBlogFadeUp {
    from {
      opacity: 0;
      transform: translateY(18px);
    }
  
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @keyframes msBlogAura {
    from {
      opacity: 0.48;
      transform: translate3d(0, 0, 0) scale(1);
    }
  
    to {
      opacity: 0.78;
      transform: translate3d(0, -18px, 0) scale(1.05);
    }
  }
  
  /* Responsive */
  
  @media (max-width: 1180px) {
    section.blog {
      padding: 104px 0 96px;
    }
  
    section.blog .title-wrapper {
      gap: 42px;
      margin-bottom: 58px;
    }
  
    section.blog .title-wrapper > .title {
      font-size: 40px;
    }
  
    section.blog .card-wrapper {
      gap: 28px;
    }
  
    section.blog .card-wrapper .card:not(:last-child)::after {
      right: -14px;
    }
  
    section.blog .card-wrapper .card .card-info > .title {
      font-size: 21px;
    }
  }
  
  @media (max-width: 991px) {
    section.blog {
      padding: 92px 0 86px;
    }
  
    section.blog .wrapper {
      width: calc(100% - 44px);
    }
  
    section.blog .title-wrapper {
      flex-direction: column;
      align-items: flex-start;
      gap: 26px;
      margin-bottom: 50px;
    }
  
    section.blog .title-wrapper > .title,
    section.blog .title-wrapper .sub-title {
      flex: 1 1 auto;
      max-width: 760px;
    }
  
    section.blog .title-wrapper > .title {
      font-size: 38px;
    }
  
    section.blog .title-wrapper .sub-title {
      margin-top: 0;
      font-size: 16.5px;
    }
  
    section.blog .card-wrapper {
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
      gap: 34px;
    }
  
    section.blog .card-wrapper .card {
      flex-direction: row;
      align-items: center;
      gap: 30px;
      padding: 0 0 34px;
      border-bottom: 1px solid rgba(79, 146, 131, 0.16);
    }
  
    section.blog .card-wrapper .card:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }
  
    section.blog .card-wrapper .card:not(:last-child)::after {
      display: none;
    }
  
    section.blog .card-wrapper .card .card-image {
      flex: 0 0 42%;
      width: 42%;
      aspect-ratio: 4 / 3;
      border-radius: 28px 28px 16px 28px;
    }
  
    section.blog .card-wrapper .card .card-info {
      flex: 1 1 auto;
      margin-top: 0;
    }
  
    section.blog .card-wrapper .card .excerpt {
      max-width: 44em;
    }
  }
  
  @media (max-width: 767px) {
    section.blog {
      padding: 76px 0 74px;
    }
  
    section.blog .wrapper {
      width: calc(100% - 36px);
    }
  
    section.blog .sub-heading {
      margin-bottom: 18px;
    }
  
    section.blog .sub-heading .line {
      width: 42px;
      flex-basis: 42px;
      margin: 0 12px;
    }
  
    section.blog .sub-heading .text {
      font-size: 11px;
      letter-spacing: 0.15em;
    }
  
    section.blog .title-wrapper {
      gap: 22px;
      margin-bottom: 42px;
    }
  
    section.blog .title-wrapper > .title {
      font-size: 31px;
      line-height: 1.18;
    }
  
    section.blog .title-wrapper .sub-title {
      padding-left: 18px;
      font-size: 15.5px;
      line-height: 1.72;
    }
  
    section.blog .card-wrapper {
      gap: 38px;
    }
  
    section.blog .card-wrapper .card {
      flex-direction: column;
      align-items: flex-start;
      gap: 0;
      padding-bottom: 38px;
    }
  
    section.blog .card-wrapper .card .card-image {
      flex: 1 1 auto;
      width: 100%;
      aspect-ratio: 1.28 / 1;
      border-radius: 26px 26px 16px 26px;
    }
  
    section.blog .card-wrapper .card .card-info {
      margin-top: 22px;
    }
  
    section.blog .card-wrapper .card .card-info > .title {
      font-size: 21px;
      line-height: 1.32;
    }
  
    section.blog .card-wrapper .card .excerpt {
      font-size: 15px;
      line-height: 1.68;
    }
  
    section.blog .quote {
      margin-top: 48px;
    }
  
    section.blog .quote p {
      padding-top: 26px;
      font-size: 15.5px;
      line-height: 1.72;
    }
  
    section.blog .quote a {
      min-height: 44px;
      margin-top: 8px;
      padding: 0 18px;
    }
  }
  
  @media (max-width: 480px) {
    section.blog {
      padding: 68px 0 66px;
    }
  
    section.blog .title-wrapper > .title {
      font-size: 29px;
    }
  
    section.blog .card-wrapper .card .card-image {
      aspect-ratio: 1.12 / 1;
    }
  
    section.blog .quote a {
      width: 100%;
      max-width: 280px;
    }
  }
  
  @media (max-width: 380px) {
    section.blog {
      padding: 56px 0 58px;
    }
  
    section.blog .wrapper {
      width: calc(100% - 30px);
    }
  
    section.blog .title-wrapper > .title {
      font-size: 28px;
    }
  
    section.blog .title-wrapper .sub-title {
      font-size: 15px;
    }
  
    section.blog .card-wrapper .card .card-info > .title {
      font-size: 20px;
    }
  
    section.blog .card-wrapper .card .excerpt {
      font-size: 14.5px;
    }
  }
  
  /* Reduced motion */
  
  @media (prefers-reduced-motion: reduce) {
    section.blog,
    section.blog *,
    section.blog *::before,
    section.blog *::after {
      animation: none;
      transition: none;
      scroll-behavior: auto;
    }
  }

  /* ═══════════════════════════════════════════════════
   BLOG QUOTE / MICRO CTA — MindSoul Premium Redesign
   Scoped, Flexbox-only, no Grid, no clamp()
   ═══════════════════════════════════════════════════ */

.blog .blog-quote {
    --ms-primary: #4f9283;
    --ms-primary-dark: #347d68;
    --ms-primary-light: #4f9a82;
    --ms-primary-soft: rgba(79, 146, 131, 0.12);
    --ms-primary-softer: rgba(79, 146, 131, 0.07);

    --ms-purple: #6E4FB3;
    --ms-purple-dark: #5A3D96;
    --ms-purple-soft: rgba(110, 79, 179, 0.10);

    --ms-text: #243632;
    --ms-muted: #63736f;
    --ms-bg: #f7fbf9;
    --ms-white: #ffffff;
    --ms-line: rgba(79, 146, 131, 0.18);

    --ms-radius-small: 12px;
    --ms-radius-medium: 20px;
    --ms-radius-large: 32px;

    --ms-transition-fast: 180ms ease;
    --ms-transition: 280ms cubic-bezier(.22, 1, .36, 1);
    --ms-transition-slow: 520ms cubic-bezier(.22, 1, .36, 1);

    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 760px;
    margin: 72px auto 0;
    padding: 34px 42px;
    overflow: hidden;
    text-align: center;
    color: var(--ms-muted);
    isolation: isolate;
    animation: msBlogQuoteFadeUp 720ms cubic-bezier(.22, 1, .36, 1) both;
}

.blog .blog-quote::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    border-radius: var(--ms-radius-large);
    background:
        radial-gradient(circle at 14% 18%, rgba(79, 146, 131, 0.13), transparent 32%),
        radial-gradient(circle at 86% 20%, rgba(110, 79, 179, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(247, 251, 249, 0.88) 0%, rgba(255, 255, 255, 0.72) 100%);
    opacity: 0.95;
}

.blog .blog-quote::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: -1;
    width: 72%;
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(79, 146, 131, 0.26) 28%,
        rgba(110, 79, 179, 0.16) 50%,
        rgba(79, 146, 131, 0.26) 72%,
        transparent 100%
    );
}

.blog .blog-quote p {
    position: relative;
    max-width: 620px;
    margin: 0;
    font-family: 'RobotoSlab-Light', Georgia, serif;
    font-size: 17px;
    line-height: 1.75;
    letter-spacing: 0.01em;
    color: var(--ms-muted);
}

.blog .blog-quote p::before {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin: 0 auto 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f9a82 0%, #347d68 100%);
    opacity: 0.82;
}

.blog .blog-quote a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ms-primary-dark);
    font-family: 'RobotoSlab-Medium', Georgia, serif;
    font-weight: 500;
    text-decoration: none;
    transition:
        transform 280ms cubic-bezier(.22, 1, .36, 1),
        opacity 280ms cubic-bezier(.22, 1, .36, 1),
        color 220ms ease,
        background 280ms ease,
        border-color 220ms ease,
        box-shadow 280ms ease;
}

.blog .blog-quote a:hover {
    color: var(--ms-purple-dark);
    transform: translateY(-1px);
}

.blog .blog-quote a:hover::after {
    opacity: 0.78;
    transform: scaleX(1);
    background: linear-gradient(135deg, #6E4FB3 0%, #5A3D96 100%);
}

.blog .blog-quote a:focus-visible {
    outline: 3px solid rgba(79, 146, 131, 0.35);
    outline-offset: 5px;
    border-radius: 8px;
}

.blog .blog-quote a:active {
    transform: translateY(0);
}

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

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

/* Tablet */
@media (max-width: 991px) {
    .blog .blog-quote {
        max-width: 680px;
        margin-top: 58px;
        padding: 30px 34px;
    }

    .blog .blog-quote p {
        font-size: 16px;
        line-height: 1.7;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .blog .blog-quote {
        align-items: flex-start;
        justify-content: flex-start;
        max-width: 100%;
        margin-top: 48px;
        padding: 28px 24px;
        text-align: left;
    }

    .blog .blog-quote p {
        max-width: 100%;
        font-size: 15.5px;
        line-height: 1.72;
    }

    .blog .blog-quote p::before {
        margin-right: auto;
        margin-left: 0;
        margin-bottom: 16px;
    }

    .blog .blog-quote a {
        min-height: 34px;
    }
}

/* Small mobile */
@media (max-width: 380px) {
    .blog .blog-quote {
        margin-top: 40px;
        padding: 24px 18px;
    }

    .blog .blog-quote p {
        font-size: 15px;
        line-height: 1.68;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .blog .blog-quote,
    .blog .blog-quote *,
    .blog .blog-quote *::before,
    .blog .blog-quote *::after {
        animation: none;
        transition: none;
        scroll-behavior: auto;
    }
}
  
