/* ============================================================
   SERVICES
============================================================ */

.lavServices {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    padding:
        clamp(120px, 12vw, 190px)
        clamp(28px, 3vw, 48px)
        clamp(72px, 7vw, 110px);

    background:
        linear-gradient(
            180deg,
            #fffdfd 0%,
            #fbf8fc 44%,
            #f5eff7 100%
        );

    color: #322a36;
}


/* ============================================================
   AMBIENT BACKGROUND
============================================================ */

.lavServicesGlow {
    position: absolute;
    z-index: -3;

    border-radius: 50%;

    pointer-events: none;
}


.lavServicesGlowOne {
    top: -280px;
    right: -240px;

    width: 680px;
    height: 680px;

    background:
        radial-gradient(
            circle,
            rgba(179, 145, 197, 0.18) 0%,
            rgba(179, 145, 197, 0.07) 43%,
            transparent 72%
        );

    filter: blur(10px);
}


.lavServicesGlowTwo {
    left: -260px;
    bottom: -310px;

    width: 720px;
    height: 720px;

    background:
        radial-gradient(
            circle,
            rgba(162, 190, 168, 0.19) 0%,
            rgba(162, 190, 168, 0.07) 42%,
            transparent 72%
        );

    filter: blur(12px);
}


.lavServicesTexture {
    position: absolute;
    inset: 0;
    z-index: -2;

    opacity: 0.42;

    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(100, 77, 112, 0.024) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(100, 77, 112, 0.024) 1px,
            transparent 1px
        );

    background-size:
        42px
        42px;

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent,
            #000 13%,
            #000 86%,
            transparent
        );

    mask-image:
        linear-gradient(
            to bottom,
            transparent,
            #000 13%,
            #000 86%,
            transparent
        );
}


/* ============================================================
   HEADER
============================================================ */

.lavServicesHeader {
    position: relative;
    z-index: 2;

    margin-bottom:
        clamp(34px, 4vw, 54px);
}


.lavServicesEyebrow {
    display: inline-flex;
    align-items: center;

    gap: 13px;

    margin-bottom: 25px;
}


.lavServicesEyebrow > span {
    position: relative;

    width: 44px;
    height: 1px;

    background:
        rgba(112, 82, 127, 0.42);
}


.lavServicesEyebrow > span::after {
    content: "";

    position: absolute;

    top: 50%;
    right: 0;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #8c689b;

    box-shadow:
        0 0 0 5px rgba(140, 104, 155, 0.1),
        0 0 18px rgba(140, 104, 155, 0.24);

    transform:
        translateY(-50%);
}


.lavServicesEyebrow small {
    color: #7c6682;

    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.3;

    letter-spacing: 0.2em;
    text-transform: uppercase;
}


.lavServicesHeadingGrid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(280px, 0.52fr);

    gap:
        clamp(40px, 7vw, 110px);

    align-items: end;
}


.lavServicesHeader h2 {
    max-width: 780px;

    margin: 0;

    color: #392f3e;

    font-family:
        var(
            --lav-font-display,
            "Cormorant Garamond",
            Georgia,
            serif
        );

    font-size:
        clamp(
            3.4rem,
            5.8vw,
            6.7rem
        );

    font-weight: 500;
    line-height: 0.94;

    letter-spacing: -0.05em;

    text-wrap: balance;
}


.lavServicesHeader h2 span {
    display: block;

    margin-top: 8px;

    color: #8d6a99;

    font-style: italic;
}


.lavServicesIntro {
    max-width: 430px;

    margin: 0 0 9px;

    color: #726677;

    font-size:
        clamp(
            1rem,
            1.3vw,
            1.18rem
        );

    line-height: 1.75;
}


/* ============================================================
   GRID
============================================================ */

.lavServicesGrid {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        clamp(20px, 2.4vw, 34px);

    align-items: stretch;
}


/* ============================================================
   SERVICE CARD
============================================================ */

.lavServiceCard {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex;
    flex-direction: column;

    min-height:
        clamp(520px, 43vw, 610px);

    padding:
        clamp(28px, 3vw, 42px);

    border:
        1px solid
        rgba(101, 76, 113, 0.11);

    border-radius:
        clamp(28px, 2.6vw, 38px);

    background:
        linear-gradient(
            150deg,
            rgba(255, 255, 255, 0.94) 0%,
            rgba(251, 247, 252, 0.9) 100%
        );

    box-shadow:
        0 28px 75px rgba(75, 55, 85, 0.09),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);

    transform:
        translateY(0);

    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.4s ease,
        box-shadow 0.45s ease,
        background-color 0.4s ease;
}


.lavServiceCard::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: -2;

    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(185, 156, 199, 0.12),
            transparent 31%
        );

    opacity: 0;

    transition:
        opacity 0.45s ease;
}


.lavServiceCard::after {
    content: "";

    position: absolute;

    right: -95px;
    bottom: -105px;
    z-index: -1;

    width: 240px;
    height: 240px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(169, 139, 185, 0.13),
            transparent 69%
        );

    transform:
        scale(0.82);

    opacity: 0.5;

    transition:
        transform 0.6s ease,
        opacity 0.45s ease;
}


.lavServiceCard:hover {
    transform:
        translateY(-10px);

    border-color:
        rgba(113, 83, 127, 0.22);

    box-shadow:
        0 38px 95px rgba(69, 50, 80, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.96);
}


.lavServiceCard:hover::before {
    opacity: 1;
}


.lavServiceCard:hover::after {
    opacity: 0.9;

    transform:
        scale(1.12);
}


/* ============================================================
   CARD NUMBER
============================================================ */

.lavServiceCardNumber {
    position: absolute;

    top: 27px;
    right: 30px;

    color:
        rgba(94, 69, 106, 0.13);

    font-family:
        var(
            --lav-font-display,
            "Cormorant Garamond",
            Georgia,
            serif
        );

    font-size:
        clamp(
            3.4rem,
            4.4vw,
            5.2rem
        );

    font-weight: 500;
    line-height: 1;

    letter-spacing: -0.06em;

    transition:
        color 0.4s ease,
        transform 0.5s ease;
}


.lavServiceCard:hover
.lavServiceCardNumber {
    color:
        rgba(94, 69, 106, 0.2);

    transform:
        translateY(-3px);
}


/* ============================================================
   ICON
============================================================ */

.lavServiceCardIcon {
    position: relative;

    display: grid;

    flex:
        0
        0
        68px;

    width: 68px;
    height: 68px;

    place-items: center;

    margin-bottom:
        clamp(48px, 5vw, 74px);

    border:
        1px solid
        rgba(110, 83, 122, 0.14);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94),
            rgba(239, 231, 243, 0.8)
        );

    color: #795b85;

    box-shadow:
        0 15px 34px rgba(71, 53, 80, 0.09),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);

    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.4s ease,
        box-shadow 0.4s ease;
}


.lavServiceCardIcon::after {
    content: "";

    position: absolute;
    inset: 8px;

    border:
        1px solid
        rgba(123, 93, 136, 0.08);

    border-radius: 16px;

    pointer-events: none;
}


.lavServiceCardIcon svg {
    display: block;

    width: auto;
    height: auto;
}


.lavServiceCard:hover
.lavServiceCardIcon {
    color: #664b71;

    transform:
        translateY(-5px)
        rotate(-2deg);

    box-shadow:
        0 21px 43px rgba(71, 53, 80, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
}


/* ============================================================
   CARD CONTENT
============================================================ */

.lavServiceCardContent {
    position: relative;
    z-index: 2;
}


.lavServiceCardType {
    margin:
        0
        0
        16px;

    color: #907c95;

    font-size: 0.69rem;
    font-weight: 700;
    line-height: 1.4;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}


.lavServiceCard h3 {
    max-width: 340px;

    margin: 0;

    color: #3f3544;

    font-family:
        var(
            --lav-font-display,
            "Cormorant Garamond",
            Georgia,
            serif
        );

    font-size:
        clamp(
            2rem,
            2.65vw,
            3.1rem
        );

    font-weight: 600;
    line-height: 0.98;

    letter-spacing: -0.035em;

    text-wrap: balance;
}


.lavServiceCardDescription {
    max-width: 355px;

    margin:
        25px
        0
        0;

    color: #766a7a;

    font-size:
        clamp(
            0.95rem,
            1vw,
            1.02rem
        );

    line-height: 1.74;
}


/* ============================================================
   CARD FOOTER
============================================================ */

.lavServiceCardFooter {
    position: relative;
    z-index: 2;

    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;

    gap: 18px;

    margin-top: auto;
    padding-top:
        clamp(34px, 4vw, 50px);

    border-top:
        1px solid
        rgba(99, 75, 110, 0.1);
}


/* ============================================================
   PRICE
============================================================ */

.lavServicePrice {
    display: grid;

    grid-template-columns:
        auto
        auto;

    align-items: start;
}


.lavServicePrice > span {
    margin:
        7px
        4px
        0
        0;

    color: #7c6087;

    font-family:
        var(
            --lav-font-display,
            "Cormorant Garamond",
            Georgia,
            serif
        );

    font-size: 0.62rem;
    font-weight: 600;
    line-height: 1;
}
.lavServicePrice strong {
    color: #4a3b50;

    font-family:
        var(
            --lav-font-display,
            "Cormorant Garamond",
            Georgia,
            serif
        );

    font-size:
        clamp(
            2.2rem,
            3.2vw,
            3.4rem
        );

    font-weight: 500;
    line-height: 0.88;

    letter-spacing: -0.04em;
}


.lavServicePrice small {
    grid-column:
        1
        / -1;

    margin-top: 11px;

    color: #8a7b8e;

    font-size: 0.67rem;
    font-weight: 700;
    line-height: 1.4;

    letter-spacing: 0.11em;
    text-transform: uppercase;
}


.lavServicePaymentNote {
    max-width: 126px;

    margin: 0;

    color: #817485;

    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.5;

    text-align: right;
}


/* ============================================================
   CARD VARIATIONS
============================================================ */

.lavServiceCardIndividual {
    background:
        linear-gradient(
            152deg,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(249, 245, 251, 0.91) 100%
        );
}


.lavServiceCardCouples {
    background:
        linear-gradient(
            152deg,
            rgba(255, 255, 255, 0.95) 0%,
            rgba(246, 248, 244, 0.92) 100%
        );
}


.lavServiceCardCouples::after {
    background:
        radial-gradient(
            circle,
            rgba(147, 176, 152, 0.16),
            transparent 69%
        );
}


.lavServiceCardCouples
.lavServiceCardIcon {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94),
            rgba(229, 238, 229, 0.85)
        );

    color: #68816d;
}


.lavServiceCardCouples:hover
.lavServiceCardIcon {
    color: #536d58;
}


/* ============================================================
   CONSULTATION CARD
============================================================ */

.lavServiceCardConsultation {
    border-color:
        rgba(117, 83, 131, 0.16);

    background:
        linear-gradient(
            150deg,
            #6a5076 0%,
            #80608d 56%,
            #92729e 100%
        );

    color: #ffffff;

    box-shadow:
        0 34px 85px rgba(75, 53, 86, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
}


.lavServiceCardConsultation::before {
    background:
        radial-gradient(
            circle at 84% 11%,
            rgba(255, 255, 255, 0.19),
            transparent 33%
        );

    opacity: 1;
}


.lavServiceCardConsultation::after {
    right: -70px;
    bottom: -80px;

    width: 270px;
    height: 270px;

    background:
        radial-gradient(
            circle,
            rgba(218, 199, 225, 0.24),
            transparent 70%
        );

    opacity: 0.78;
}


.lavServiceCardConsultation:hover {
    border-color:
        rgba(255, 255, 255, 0.22);

    box-shadow:
        0 44px 105px rgba(68, 46, 79, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.19);
}


.lavServiceCardAccent {
    position: absolute;

    top: -72px;
    left: -54px;
    z-index: -1;

    width: 190px;
    height: 190px;

    border:
        1px solid
        rgba(255, 255, 255, 0.12);

    border-radius: 50%;

    box-shadow:
        0 0 0 28px rgba(255, 255, 255, 0.025),
        0 0 0 57px rgba(255, 255, 255, 0.018);

    pointer-events: none;
}


.lavServiceCardConsultation
.lavServiceCardNumber {
    color:
        rgba(255, 255, 255, 0.13);
}


.lavServiceCardConsultation:hover
.lavServiceCardNumber {
    color:
        rgba(255, 255, 255, 0.2);
}


.lavServiceCardConsultation
.lavServiceCardIcon {
    border-color:
        rgba(255, 255, 255, 0.18);

    background:
        rgba(255, 255, 255, 0.11);

    color: #ffffff;

    box-shadow:
        0 18px 38px rgba(40, 25, 48, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);

    -webkit-backdrop-filter:
        blur(14px);

    backdrop-filter:
        blur(14px);
}


.lavServiceCardConsultation
.lavServiceCardIcon::after {
    border-color:
        rgba(255, 255, 255, 0.08);
}


.lavServiceCardConsultation:hover
.lavServiceCardIcon {
    color: #ffffff;

    box-shadow:
        0 22px 45px rgba(40, 25, 48, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}


.lavServiceCardConsultation
.lavServiceCardType {
    color:
        rgba(255, 255, 255, 0.7);
}


.lavServiceCardConsultation h3 {
    color: #ffffff;
}


.lavServiceCardConsultation
.lavServiceCardDescription {
    color:
        rgba(255, 255, 255, 0.78);
}


.lavServiceCardConsultation
.lavServiceCardFooter {
    border-top-color:
        rgba(255, 255, 255, 0.14);
}


/* ============================================================
   CONSULTATION PRICE
============================================================ */

.lavServiceConsultationPrice {
    display: grid;
}


.lavServiceConsultationPrice strong {
    color: #ffffff;

    font-family:
        var(
            --lav-font-display,
            "Cormorant Garamond",
            Georgia,
            serif
        );

    font-size:
        clamp(
            3.1rem,
            4.1vw,
            4.4rem
        );

    font-weight: 500;
    line-height: 0.85;

    letter-spacing: -0.05em;
}


.lavServiceConsultationPrice small {
    margin-top: 13px;

    color:
        rgba(255, 255, 255, 0.66);

    font-size: 0.66rem;
    font-weight: 700;
    line-height: 1.4;

    letter-spacing: 0.1em;
    text-transform: uppercase;
}


/* ============================================================
   CONSULTATION LINK
============================================================ */

.lavServiceConsultationLink {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 11px;

    min-height: 48px;

    padding:
        0
        18px;

    border:
        1px solid
        rgba(255, 255, 255, 0.22);

    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.12);

    color: #ffffff;

    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;

    text-decoration: none;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14);

    -webkit-backdrop-filter:
        blur(12px);

    backdrop-filter:
        blur(12px);

    transition:
        transform 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}


.lavServiceConsultationLink svg {
    flex: 0 0 auto;

    transition:
        transform 0.35s ease;
}


.lavServiceConsultationLink:hover,
.lavServiceConsultationLink:focus-visible {
    transform:
        translateY(-3px);

    border-color:
        rgba(255, 255, 255, 0.4);

    background:
        rgba(255, 255, 255, 0.19);

    box-shadow:
        0 15px 32px rgba(42, 26, 50, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}


.lavServiceConsultationLink:hover svg,
.lavServiceConsultationLink:focus-visible svg {
    transform:
        translateX(4px);
}


.lavServiceConsultationLink:focus-visible {
    outline:
        3px solid
        rgba(255, 255, 255, 0.3);

    outline-offset: 4px;
}


/* ============================================================
   ACTIVE ANIMATIONS
============================================================ */

[data-services].is-active
.lavServiceCardIndividual {
    animation:
        lavServiceCardFloatOne
        8s
        ease-in-out
        infinite;
}


[data-services].is-active
.lavServiceCardCouples {
    animation:
        lavServiceCardFloatTwo
        9s
        ease-in-out
        infinite;
}


[data-services].is-active
.lavServiceCardConsultation {
    animation:
        lavServiceCardFloatThree
        8.5s
        ease-in-out
        infinite;
}


[data-services].is-active
.lavServicesGlowOne {
    animation:
        lavServicesGlowDriftOne
        13s
        ease-in-out
        infinite;
}


[data-services].is-active
.lavServicesGlowTwo {
    animation:
        lavServicesGlowDriftTwo
        15s
        ease-in-out
        infinite;
}


/* ============================================================
   KEYFRAMES
============================================================ */

@keyframes lavServiceCardFloatOne {

    0%,
    100% {
        transform:
            translateY(0);
    }

    50% {
        transform:
            translateY(-6px);
    }

}


@keyframes lavServiceCardFloatTwo {

    0%,
    100% {
        transform:
            translateY(0);
    }

    50% {
        transform:
            translateY(-8px);
    }

}


@keyframes lavServiceCardFloatThree {

    0%,
    100% {
        transform:
            translateY(0);
    }

    50% {
        transform:
            translateY(-7px);
    }

}


@keyframes lavServicesGlowDriftOne {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    50% {
        transform:
            translate3d(
                -34px,
                25px,
                0
            );
    }

}


@keyframes lavServicesGlowDriftTwo {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    50% {
        transform:
            translate3d(
                36px,
                -23px,
                0
            );
    }

}


/* ============================================================
   1200PX
============================================================ */

@media (max-width: 1200px) {

    .lavServicesGrid {
        gap: 22px;
    }


    .lavServiceCard {
        min-height: 570px;

        padding:
            32px
            28px;
    }


    .lavServiceCardNumber {
        right: 24px;
    }


    .lavServiceCard h3 {
        font-size:
            clamp(
                1.9rem,
                2.5vw,
                2.65rem
            );
    }


    .lavServiceCardFooter {
        align-items: flex-start;
        flex-direction: column;
    }


    .lavServicePaymentNote {
        max-width: none;

        text-align: left;
    }


    .lavServiceConsultationLink {
        width: 100%;
    }

}


/* ============================================================
   992PX
============================================================ */

@media (max-width: 992px) {

    .lavServicesHeadingGrid {
        grid-template-columns: 1fr;

        gap: 28px;
    }


    .lavServicesIntro {
        max-width: 600px;

        margin: 0;
    }


    .lavServicesGrid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .lavServiceCard {
        min-height: 560px;
    }


    .lavServiceCardConsultation {
        grid-column:
            1
            / -1;

        min-height: 480px;
    }


    .lavServiceCardConsultation
    .lavServiceCardDescription {
        max-width: 590px;
    }


    .lavServiceCardConsultation
    .lavServiceCardFooter {
        flex-direction: row;
        align-items: flex-end;
    }


    .lavServiceCardConsultation
    .lavServiceConsultationLink {
        width: auto;
    }

}


/* ============================================================
   768PX
============================================================ */

@media (max-width: 768px) {

    .lavServices {
        padding:
            90px
            0
            82px;
    }


    .lavServicesHeader {
        margin-bottom: 48px;
    }


    .lavServicesHeader h2 {
        font-size:
            clamp(
                3rem,
                12vw,
                5rem
            );
    }


    .lavServicesGrid {
        grid-template-columns: 1fr;

        gap: 24px;
    }


    .lavServiceCard,
    .lavServiceCardConsultation {
        grid-column: auto;

        min-height: 510px;
    }


    .lavServiceCardIcon {
        margin-bottom: 48px;
    }


    .lavServiceCardFooter,
    .lavServiceCardConsultation
    .lavServiceCardFooter {
        flex-direction: row;
        align-items: flex-end;
    }


    .lavServiceConsultationLink,
    .lavServiceCardConsultation
    .lavServiceConsultationLink {
        width: auto;
    }


}


/* ============================================================
   560PX
============================================================ */

@media (max-width: 560px) {

    .lavServices {
        padding:
            78px
            0
            72px;
    }


    .lavServicesHeader h2 {
        font-size:
            clamp(
                2.85rem,
                14vw,
                4.25rem
            );
    }


    .lavServiceCard,
    .lavServiceCardConsultation {
        min-height: auto;

        padding:
            28px
            23px;

        border-radius: 27px;
    }


    .lavServiceCardNumber {
        top: 22px;
        right: 21px;

        font-size: 3.45rem;
    }


    .lavServiceCardIcon {
        width: 61px;
        height: 61px;

        flex-basis: 61px;

        margin-bottom: 42px;

        border-radius: 19px;
    }


    .lavServiceCard h3 {
        max-width: 290px;

        font-size:
            clamp(
                2rem,
                10vw,
                2.75rem
            );
    }


    .lavServiceCardDescription {
        margin-top: 21px;
    }


    .lavServiceCardFooter,
    .lavServiceCardConsultation
    .lavServiceCardFooter {
        align-items: stretch;
        flex-direction: column;

        margin-top: 42px;
        padding-top: 30px;
    }


    .lavServicePaymentNote {
        font-size: 0.74rem;
    }


    .lavServiceConsultationLink,
    .lavServiceCardConsultation
    .lavServiceConsultationLink {
        width: 100%;
    }


}


/* ============================================================
   HOVER CAPABILITY
============================================================ */

@media (hover: none) {

    .lavServiceCard:hover {
        transform: none;
    }


    .lavServiceCard:hover
    .lavServiceCardIcon {
        transform: none;
    }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion: reduce) {

    .lavServiceCard,
    .lavServiceCardIcon,
    .lavServiceCardNumber,
    .lavServiceCard::before,
    .lavServiceCard::after,
    .lavServiceConsultationLink,
    .lavServiceConsultationLink svg,
    .lavServicesGlow {
        animation: none !important;
        transition: none !important;
    }


    .lavServiceCard:hover,
    .lavServiceCard:hover
    .lavServiceCardIcon,
    .lavServiceConsultationLink:hover {
        transform: none;
    }

}
/* =====================================================
   INSURANCE / PAYMENT NOTE
===================================================== */

.lavServicesNote {
    position: relative;
    z-index: 2;

    overflow: hidden;

    display: flex;
    align-items: flex-start;

    gap: 1.75rem;

    width:
        min(
            100%,
            1080px
        );

    margin:
        0
        auto
        clamp(46px, 5vw, 72px);

    padding:
        2.5rem
        2.75rem;

    border:
        1px solid
        rgba(151, 108, 170, 0.16);

    border-radius: 30px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.92),
            rgba(247, 242, 251, 0.95)
        );

    box-shadow:
        0 24px 60px
        rgba(66, 38, 81, 0.08);
}


.lavServicesNote::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at top right,
            rgba(173, 123, 193, 0.1),
            transparent 55%
        );

    pointer-events: none;
}


.lavServicesNoteAccent {
    position: relative;
    z-index: 1;

    flex:
        0
        0
        6px;

    align-self: stretch;

    border-radius: 999px;

    background:
        linear-gradient(
            to bottom,
            #b07ac6,
            #8b5ea7
        );
}


.lavServicesNoteContent {
    position: relative;
    z-index: 1;

    flex: 1;

    min-width: 0;
}


.lavServicesNoteContent h3 {
    margin:
        0
        0
        0.9rem;

    color: var(--lav-primary);

    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.2;
}


.lavServicesNoteContent > p {
    margin: 0;

    color: var(--lav-text);

    font-size: 1rem;
    font-weight: 400;
    line-height: 1.8;

    text-align: left;
}


.lavServicesNoteContent strong {
    color: var(--lav-primary);

    font-weight: 700;
}


/* =====================================================
   INSURANCE LIST
===================================================== */

.lavServicesInsuranceList {
    display: flex;
    flex-wrap: wrap;

    gap: 0.9rem;

    margin:
        1.75rem
        0;

    padding: 0;

    list-style: none;
}


.lavServicesInsuranceList li {
    position: relative;

    display: inline-flex;
    align-items: center;

    gap: 0.65rem;

    padding:
        0.8rem
        1.15rem;

    border:
        1px solid
        rgba(151, 108, 170, 0.18);

    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.88);

    color: var(--lav-primary);

    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


.lavServicesInsuranceList li::before {
    content: "";

    flex:
        0
        0
        10px;

    width: 10px;
    height: 10px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #9d6db8,
            #6ea48f
        );

    box-shadow:
        0 0 12px
        rgba(157, 109, 184, 0.35);
}


.lavServicesInsuranceList li:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(151, 108, 170, 0.35);

    box-shadow:
        0 10px 24px
        rgba(90, 60, 110, 0.12);
}


/* =====================================================
   DISCLAIMER
===================================================== */

.lavServicesInsuranceDisclaimer {
    margin-top:
        0.5rem
        !important;

    padding-top: 1.25rem;

    border-top:
        1px solid
        rgba(151, 108, 170, 0.12);

    color:
        var(--lav-text-light);

    font-size:
        0.95rem
        !important;

    font-weight:
        400
        !important;

    line-height:
        1.7
        !important;

    text-align:
        left
        !important;
}


/* =====================================================
   INSURANCE RESPONSIVE
===================================================== */

@media (max-width: 768px) {

    .lavServicesNote {
        flex-direction: column;

        gap: 1.5rem;

        margin-bottom:
            clamp(38px, 7vw, 52px);

        padding: 2rem;

        border-radius: 26px;
    }


    .lavServicesNoteAccent {
        width: 100%;
        height: 5px;

        flex: none;
    }


    .lavServicesInsuranceList {
        gap: 0.75rem;
    }


    .lavServicesInsuranceList li {
        width: 100%;

        justify-content: flex-start;
    }

}


@media (max-width: 560px) {

    .lavServicesNote {
        gap: 1.25rem;

        margin-bottom: 36px;

        padding:
            1.65rem
            1.4rem;

        border-radius: 23px;
    }


    .lavServicesNoteContent h3 {
        font-size: 1.3rem;
    }


    .lavServicesNoteContent > p {
        font-size: 0.95rem;
        line-height: 1.72;
    }


    .lavServicesInsuranceList {
        margin:
            1.4rem
            0;
    }

}