/* ========================================
   LOCAL FONTS
======================================== */

/* Cinzel - Regular */
@font-face {
    font-family: "Cinzel";
    src: url("../fonts/Cinzel-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Cinzel - SemiBold */
@font-face {
    font-family: "Cinzel";
    src: url("../fonts/Cinzel-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Cinzel - Bold */
@font-face {
    font-family: "Cinzel";
    src: url("../fonts/Cinzel-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* Inter - Regular */
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_18pt-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Inter - Medium */
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_18pt-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Inter - Bold */
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_24pt-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
:root {

    /* Brand */
     --lf-primary: #0D0923;
    --lf-secondary: #36324F;
    --lf-accent: #...;
    --lf-accent-soft: #...;

    /* Background */
    --lf-bg: #ffffff;
    --lf-bg-soft: #...;

    /* Text */
    --lf-heading: #...;
    --lf-text: #...;
    --lf-light: #ffffff;

    /* Typography */
   --lf-font-heading: "Cinzel", serif;
    --lf-font-body: "Inter", sans-serif;

    /* Layout */
    --lf-container: 1240px;
    --lf-gutter: clamp(20px, 4vw, 32px);

    /* Spacing */
    --lf-section-space: clamp(64px, 7vw, 110px);

    /* UI */
    --lf-radius: 0;
    --lf-transition: 250ms ease;
}

/* =========================================================
   GLOBAL LAYOUT / OVERFLOW FIX
========================================================= */

html {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    /*overflow-x: hidden;*/
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
svg,
video,
iframe {
    max-width: 100%;
    height: auto;
}

.lf-container {
    width: min(100% - 40px, 1200px);
    max-width: 1200px;
    margin-inline: auto;
}
a.lf-footer-logo img {
    filter: invert(1);
}
@media (max-width: 767px) {

    .lf-container {
        width: calc(100% - 32px);
        max-width: none;
        margin-inline: auto;
    }

}

/* ========================================
   TOP CONTACT BAR
======================================== */
.lf-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}
.lf-topbar {
    position: sticky;
    top: 0;
    z-index: 1000;

    width: 100%;
    background: var(--lf-primary, #0D0923);
    color: #ffffff;
}

.admin-bar .lf-topbar {
    top: 32px;
}

.lf-topbar-inner {
    min-height: 55px;

    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;

    gap: 32px;
}


/* Topbar Items */

.lf-topbar-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    width: fit-content;

    color: inherit;
    font-family: var(--lf-font-body, "Inter", sans-serif);
    font-size: 15px;
    line-height: 1.3;

    text-decoration: none;
}

.lf-topbar-item:hover {
    color: inherit;
}


/* Address */

.lf-topbar-address {
    justify-self: start;
}


/* Email */

.lf-topbar-email {
    justify-self: center;
}


/* Phone */

.lf-topbar-phone {
    justify-self: end;
    gap: 12px;
}

.lf-topbar-phone strong {
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
}


/* Icons */

.lf-topbar-icon {
    flex: 0 0 auto;

    width: 20px;
    height: 20px;

    color: currentColor;
}

.lf-topbar-phone .lf-topbar-icon {
    width: 21px;
    height: 21px;
}


/* ========================================
   MAIN HEADER
======================================== */

.lf-header {
    position: relative;
    z-index: 10;

    width: 100%;

    background: #ffffff;

    box-shadow: 0 8px 18px rgba(13, 9, 35, 0.06);
}

.lf-header-inner {
    /*min-height: 142px;*/
    padding-top:10px;
    padding-bottom:10px;
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


/* ========================================
   LOGO
======================================== */

.lf-logo {
    flex: 0 1 auto;
}

.lf-logo a {
    display: block;
    text-decoration: none;
}

.lf-logo img,
.lf-logo .custom-logo {
    display: block;

    width: auto;
    height: auto;
    max-width: 250px;
    max-height: 85px;
}

.lf-logo-fallback {
    color: var(--lf-primary, #0D0923);

    font-family: var(--lf-font-heading, "Cinzel", serif);
    font-size: 28px;
}


/* ========================================
   HEADER CTA
======================================== */

.lf-header-cta {
    min-width: 300px;
    min-height: 40px;

    padding: 16px 36px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: var(--lf-secondary, #36324F);
    color: #ffffff;

    font-family: var(--lf-font-heading, "Cinzel", serif);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.2;

    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        transform 200ms ease,
        background-color 200ms ease;
}

.lf-header-cta:hover {
    background: var(--lf-primary, #0D0923);
    color: #ffffff;

    transform: translateY(-2px);
}

.lf-cta-mobile {
    display: none;
}


/* ========================================
   TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-topbar-inner {
        gap: 20px;
    }

    .lf-topbar-item {
        font-size: 14px;
    }

    .lf-header-inner {
        min-height: 125px;
    }

    .lf-logo img,
    .lf-logo .custom-logo {
        max-width: 290px;
    }

    .lf-header-cta {
        min-width: 280px;
    }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    /* WordPress admin bar adjustment */

    .admin-bar .lf-topbar {
        top: 46px;
    }


    /* Topbar */

    .lf-topbar-inner {
        min-height: 60px;

        grid-template-columns: minmax(0, 1fr) auto;

        gap: 22px;
    }

    .lf-topbar-address {
        justify-self: start;
    }

    .lf-topbar-address span {
        max-width: 190px;
    }

    .lf-topbar-email {
        display: none;
    }

    .lf-topbar-phone {
        justify-self: end;
    }

    .lf-topbar-item {
        gap: 10px;

        font-size: clamp(16px, 4.2vw, 20px);
        line-height: 1.3;
    }

    .lf-topbar-phone strong {
        font-size: clamp(23px, 6vw, 32px);
    }

    .lf-topbar-icon {
        width: 24px;
        height: 24px;
    }

    .lf-topbar-phone .lf-topbar-icon {
        width: 25px;
        height: 25px;
    }


    /* Main Header */

    .lf-header-inner {
        min-height: 50px;

        gap: 20px;
    }


    /* Logo */

    .lf-logo {
        flex: 1 1 auto;
        min-width: 0;
    }

    .lf-logo img,
    .lf-logo .custom-logo {
        width: min(100%, 350px);
        max-width: 350px;
        max-height: none;
    }


    /* CTA */

    .lf-header-cta {
        flex: 0 0 auto;

        min-width: 0;
        min-height: 45px;

        padding: 18px 28px;

        font-size: clamp(15px, 3.8vw, 21px);
    }

    .lf-cta-desktop {
        display: none;
    }

    .lf-cta-mobile {
        display: inline;
    }

}


/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 480px) {

    .lf-topbar-inner {
        min-height: 60px;
        gap: 14px;
    }

    .lf-topbar-address span {
        max-width: 145px;
    }

    .lf-topbar-item {
        font-size: 15px;
    }

    .lf-topbar-phone strong {
        font-size: 21px;
    }

    .lf-topbar-icon,
    .lf-topbar-phone .lf-topbar-icon {
        width: 20px;
        height: 20px;
    }

    .lf-header-inner {
        min-height:50px;
        gap: 16px;
    }

    .lf-logo img,
    .lf-logo .custom-logo {
        max-width: 230px;
    }

    .lf-header-cta {
        min-height: 40px;

        padding: 14px 18px;

        font-size: 14px;
    }

}
@media (min-width:1100px)
{
    .mobile-call-now
    {
        display: none !important;
    }
}
@media (max-width:1099px)
{
    .desktop-call-now
    {
        display: none !important;
    }
}

/* ========================================
   HERO
======================================== */

.lf-hero {
    background: #ffffff;
}

.lf-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(420px, 0.9fr);
    align-items: stretch;
}


/* ========================================
   HERO LEFT
======================================== */

.lf-hero-content {
    padding: 28px 40px 48px 0;
}


/* Hero Image */

.lf-hero-image {
    width: 100%;
    overflow: hidden;

    border-radius: 7px;

    box-shadow:
        0 4px 10px rgba(13, 9, 35, 0.16);
}

.lf-hero-image img {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 1.8 / 1;
    object-fit: cover;
}


/* ========================================
   GOOGLE RATING
======================================== */

.lf-google-rating {
    width: fit-content;

    display: flex;
    align-items: center;
    gap: 5px;

    margin-top: 24px;
    padding: 8px 12px;

    background: var(--lf-secondary);
    color: #ffffff;

    border-radius: 3px;

    font-family: var(--lf-font-body);
    font-size: 15px;
    line-height: 1;
}

.lf-google-score {
    margin-right: 2px;
}

.lf-google-stars {
    color: #e2ad3c;
    letter-spacing: 1px;
}

.lf-google-icon {
    margin-inline: 2px;

    font-weight: 700;
    color: #ffffff;
}

.lf-google-text {
    white-space: nowrap;
}


/* ========================================
   HERO TYPOGRAPHY
======================================== */

.lf-hero-title {
    max-width: 720px;

    margin: 18px 0 12px;

    color: var(--lf-secondary);

    font-family: var(--lf-font-heading);
    font-size: clamp(34px, 3vw, 48px);
    font-weight: 700;
    line-height: 1.03;
    letter-spacing: -0.025em;
    text-transform: uppercase;
}

.lf-hero-description {
    max-width: 710px;

    margin: 0;

    color: #272727;

    font-family: var(--lf-font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}

.lf-hero-location {
    margin: 18px 0 0;

    color: var(--lf-secondary);

    font-family: var(--lf-font-heading);
    font-size: clamp(17px, 1.65vw, 17px);
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}


/* ========================================
   HERO FORM
======================================== */

.lf-hero-form {
    background: #f3f1ff;
}

.lf-hero-form-inner {
    height: 100%;

    padding: 38px 30px 38px;
}


/* Notice */

.lf-form-notice {
    margin: 0 0 24px;

    color: #ff3939;

    font-family: var(--lf-font-body);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.12;
    text-transform: none;
}


/* Form Heading */

.lf-form-heading {
    margin-bottom: 20px;
}

.lf-form-heading h2 {
    margin: 0 0 8px;

    color: var(--lf-secondary);

    font-family: var(--lf-font-heading);
    font-size: 23px;
    font-weight: 700;
    line-height: 1.15;
    text-transform: uppercase;
}

.lf-form-heading p {
    margin: 0;

    color: #282828;

    font-family: var(--lf-font-body);
    font-size: 14px;
    line-height: 1.35;
}

.lf-form-heading a {
    color: #ff3939;

    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}


/* ========================================
   FORMINATOR
======================================== */

.lf-forminator-wrap {
    width: 100%;
}


/*
 * Remove Forminator's unnecessary outer spacing.
 */

.lf-forminator-wrap .forminator-ui.forminator-custom-form {
    margin: 0 !important;
}


/* Labels */

.lf-forminator-wrap .forminator-label {
    margin-bottom: 7px !important;

    color: #292929 !important;

    font-family: var(--lf-font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}


/* Required marker */

.lf-forminator-wrap .forminator-required {
    color: #ff3939 !important;
}


/* Inputs */

.lf-forminator-wrap .forminator-input,
.lf-forminator-wrap .forminator-textarea {
    width: 100% !important;

    background: #ffffff !important;
    color: #252525 !important;

    border: 1px solid #c9c9d4 !important;
    border-radius: 2px !important;

    font-family: var(--lf-font-body) !important;
    font-size: 14px !important;

    box-shadow: none !important;
}


/* Input Height */

.lf-forminator-wrap .forminator-input {
    min-height: 48px !important;
    padding: 10px 14px !important;
}


/* Textarea */

.lf-forminator-wrap .forminator-textarea {
    min-height: 125px !important;
    padding: 14px !important;

    resize: vertical;
}


/* Placeholder */

.lf-forminator-wrap .forminator-input::placeholder,
.lf-forminator-wrap .forminator-textarea::placeholder {
    color: #9b9b9f !important;
    opacity: 1;
}


/* Fields spacing */

.lf-forminator-wrap .forminator-row {
    margin-bottom: 17px !important;
}


/* ========================================
   FORMINATOR SUBMIT
   Same visual system as .lf-btn
======================================== */

.lf-forminator-wrap .forminator-button-submit {
    min-height: 58px !important;

    padding: 14px 36px !important;

    background: var(--lf-secondary) !important;
    color: #ffffff !important;

    border: 0 !important;
    border-radius: 2px !important;

    font-family: var(--lf-font-heading) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;

    text-align: center !important;
    text-transform: uppercase !important;

    box-shadow: none !important;

    cursor: pointer;

    transition:
        background-color 200ms ease,
        transform 200ms ease !important;
}

.lf-forminator-wrap .forminator-button-submit:hover {
    background: var(--lf-primary) !important;

    box-shadow: none !important;

    transform: translateY(-2px);
}
span.lf-google-stars img {
    max-width: 100px;
}
span.lf-google-icon img {
    max-width: 25px;
}
/* ========================================
   CREDENTIALS / TRUST BAR
======================================== */

.lf-credentials {
    width: 100%;

    background: var(--lf-secondary);
    color: #ffffff;
}

.lf-credentials-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    align-items: center;

    padding-block: 22px;
}


/* ========================================
   CREDENTIAL ITEM
======================================== */

.lf-credential {
    position: relative;

    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    padding-inline: 26px;
}


/* Dividers */

/*.lf-credential:not(:last-child)::after {*/
/*    content: "";*/

/*    position: absolute;*/

/*    top: 50%;*/
/*    right: 0;*/

/*    width: 1px;*/
/*    height: 66px;*/

/*    background: rgba(255, 255, 255, 0.16);*/

/*    transform: translateY(-50%);*/
/*}*/


/* ========================================
   ICON
======================================== */

.lf-credential-icon {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 62px;
    height: 62px;
}

.lf-credential-icon img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


/* ========================================
   CONTENT
======================================== */

.lf-credential-content {
    min-width: 0;
}

.lf-credential-content h3 {
    margin: 0 0 6px;

    color: #ffffff;

    font-family: var(--lf-font-heading);
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 700;
    line-height: 1.05;

    text-transform: uppercase;
}

.lf-credential-content p {
    margin: 0;

    color: rgba(255, 255, 255, 0.48);

    font-family: var(--lf-font-body);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.25;
}
/* ========================================
   GLOBAL SECTION TITLE
======================================== */

.lf-section-title {
    margin: 0;

    color: var(--lf-primary);

    font-family: var(--lf-font-heading);
    font-size: clamp(32px, 2vw, 40px);
    font-weight: 700;
    line-height: 1.1;

    text-align: center;
    text-transform: uppercase;
}
/* ========================================
   SERVICES
======================================== */

.lf-services {
    overflow: hidden;

    padding-block: 56px 48px;

    background: #ffffff;
}


/* Slider */

.lf-services-slider {
    position: relative;

    margin-top: 48px;
}


/* ========================================
   SERVICE CARD
======================================== */

.lf-service-card {
    height: 100%;

    padding: 18px;

    background: #f4f2ff;
}

.lf-service-image {
    overflow: hidden;

    width: 100%;
}

.lf-service-image img {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 1.38 / 1;

    object-fit: cover;
}


/* Content */

.lf-service-content {
    padding: 20px 8px 18px;

    text-align: center;
}

.lf-service-content h3 {
    margin: 0 0 8px;

    color: var(--lf-primary);

    font-family: var(--lf-font-heading);
    font-size: clamp(18px, 1.7vw, 24px);
    font-weight: 700;
    line-height: 0.98;

    text-transform: uppercase;
}

.lf-service-content p {
    margin: 0;

    color: #aaa8ad;

    font-family: var(--lf-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.15;
}


/* ========================================
   SPLIDE
======================================== */

.lf-services-slider .splide__list {
    align-items: stretch;
}

.lf-services-slider .splide__slide {
    height: auto;
}


/* Remove Splide default arrow appearance */

.lf-services-slider .splide__arrow {
    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--lf-secondary);
    color: #ffffff;

    border: 0;
    border-radius: 50%;

    opacity: 1;

    box-shadow: none;

    transform: translateY(-50%);
}

.lf-services-slider .splide__arrow svg {
    display: none;
}

.lf-services-slider .splide__arrow span {
    display: block;

    font-family: Arial, sans-serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;

    transform: translateY(-1px);
}


/* Arrow positioning */

.lf-services-slider .splide__arrow--prev {
    left: -15px;
}

.lf-services-slider .splide__arrow--next {
    right: -15px;
}


/* Splide adds rotation to previous arrow */

.lf-services-slider .splide__arrow--prev span {
    transform: translateY(-1px);
}


/* No pagination */

.lf-services-slider .splide__pagination {
    display: none;
}


/* ========================================
   CTA
======================================== */

.lf-services-cta {
    display: flex;
    justify-content: center;

    margin-top: 38px;
}
/* ========================================
   TESTIMONIALS
======================================== */

.lf-testimonials {
    position: relative;
    overflow: hidden;

    padding-block: 48px 38px;

    background-image:
        linear-gradient(
            rgba(13, 9, 35, 0.08),
            rgba(13, 9, 35, 0.08)
        ),
        var(--lf-testimonials-bg);

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}


/* Keep content above background */

.lf-testimonials .lf-container {
    position: relative;
    z-index: 1;
}


/* ========================================
   SLIDER
======================================== */

.lf-testimonials-slider {
    position: relative;

    margin-top: 38px;
}


/* Equal height cards */

.lf-testimonials-slider .splide__list {
    align-items: stretch;
}

.lf-testimonials-slider .splide__slide {
    height: auto;
}


/* ========================================
   REVIEW CARD
======================================== */

.lf-review-card {
    height: 100%;
    min-height: 315px;

    padding: 22px 18px;

    background: #ffffff;

    border-radius: 5px;
}


/* ========================================
   AUTHOR
======================================== */

.lf-review-author {
    display: flex;
    align-items: center;

    gap: 10px;
}

.lf-review-avatar {
    flex: 0 0 auto;

    width: 30px;
    height: 30px;

    overflow: hidden;

    border-radius: 50%;
}

.lf-review-avatar img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.lf-review-author strong {
    color: #111111;

    font-family: var(--lf-font-body);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}


/* ========================================
   REVIEW META
======================================== */

.lf-review-meta {
    display: flex;
    align-items: center;

    gap: 7px;

    margin-top: 12px;

    font-family: var(--lf-font-body);
    font-size: 10px;
    line-height: 1;
}

.lf-review-stars {
    color: #e5ad3c;

    font-size: 13px;
    letter-spacing: 1px;
}

.lf-review-meta > span:last-child {
    color: #8e8e8e;
}


/* ========================================
   REVIEW TEXT
======================================== */

.lf-review-text {
    margin: 15px 0 0;

    color: #171717;

    font-family: var(--lf-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.18;
}


/* ========================================
   TESTIMONIAL ARROWS
======================================== */

.lf-testimonials-slider .splide__arrow {
    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--lf-secondary);
    color: #ffffff;

    border: 2px solid #ffffff;
    border-radius: 50%;

    opacity: 1;

    box-shadow: none;
}

.lf-testimonials-slider .splide__arrow svg {
    display: none;
}

.lf-testimonials-slider .splide__arrow span {
    font-family: Arial, sans-serif;
    font-size: 23px;
    line-height: 1;
}


/* Position arrows like Figma */

.lf-testimonials-slider .splide__arrow--prev {
    left: -15px;
}

.lf-testimonials-slider .splide__arrow--next {
    right: -15px;
}


/* Remove pagination */

.lf-testimonials-slider .splide__pagination {
    display: none;
}


/* ========================================
   CTA
======================================== */

.lf-testimonials-cta {
    display: flex;
    justify-content: center;

    margin-top: 52px;
}
/* ========================================
   TESTIMONIALS - TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-testimonials {
        padding-block: 44px 36px;
    }

    .lf-testimonials-slider {
        margin-top: 32px;
    }

    .lf-review-card {
        min-height: 330px;

        padding: 20px 16px;
    }

    .lf-review-text {
        font-size: 13px;
    }

}
/* ========================================
   TESTIMONIALS - MOBILE
======================================== */

@media (max-width: 767px) {

    .lf-testimonials {
        padding-block: 36px 30px;

        background-position: center;
    }


    /* Heading */

    .lf-testimonials .lf-section-title {
        font-size: 29px;
    }


    /* Slider */

    .lf-testimonials-slider {
        margin-top: 26px;
    }


    /* Card */

    .lf-review-card {
        min-height: 380px;

        padding: 22px 18px;

        border-radius: 4px;
    }


    /* Author */

    .lf-review-avatar {
        width: 32px;
        height: 32px;
    }

    .lf-review-author strong {
        font-size: 14px;
    }


    /* Rating */

    .lf-review-meta {
        margin-top: 12px;

        font-size: 10px;
    }

    .lf-review-stars {
        font-size: 13px;
    }


    /* Review */

    .lf-review-text {
        margin-top: 16px;

        font-size: 15px;
        line-height: 1.22;
    }


    /* Arrows */

    .lf-testimonials-slider .splide__arrow {
        width: 32px;
        height: 32px;
    }

    .lf-testimonials-slider .splide__arrow--prev {
        left: -12px;
    }

    .lf-testimonials-slider .splide__arrow--next {
        right: -12px;
    }


    /* CTA */

    .lf-testimonials-cta {
        margin-top: 48px;
    }

}
h2.lf-section-title.lf-section-title--light {
    color: #fff;
}
/* ========================================
   LOCATIONS
======================================== */

.lf-locations {
    overflow: hidden;

    padding-block: 48px 32px;

    background: #ffffff;
}


/* Heading */

.lf-locations .lf-section-title {
    max-width: 1100px;

    margin-inline: auto;
}


/* ========================================
   LOCATIONS SLIDER
======================================== */

.lf-locations-slider {
    position: relative;

    margin-top: 44px;
}


/* Allow all slides to have consistent layout */

.lf-locations-slider .splide__list {
    align-items: flex-start;
}


/* ========================================
   LOCATION CARD
======================================== */

.lf-location-card {
    width: 100%;

    text-align: center;
}


/* Image */

.lf-location-image {
    width: 100%;
    overflow: hidden;
}

.lf-location-image img {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 1.28 / 1;

    object-fit: cover;
}


/* City */

.lf-location-card h3 {
    margin: 18px 0 0;

    color: #111111;

    font-family: var(--lf-font-heading);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.15;
}


/* ========================================
   LOCATION ARROWS
======================================== */

.lf-locations-slider .splide__arrow {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--lf-secondary);
    color: #ffffff;

    border: 2px solid #ffffff;
    border-radius: 50%;

    opacity: 1;

    box-shadow: none;
}


/* Remove Splide SVG */

.lf-locations-slider .splide__arrow svg {
    display: none;
}


/* Our arrow */

.lf-locations-slider .splide__arrow span {
    display: block;

    font-family: Arial, sans-serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1;
}


/* Desktop arrow positions */

.lf-locations-slider .splide__arrow--prev {
    left: -17px;
}

.lf-locations-slider .splide__arrow--next {
    right: -17px;
}


/* Pagination not needed */

.lf-locations-slider .splide__pagination {
    display: none;
}


/* ========================================
   CTA
======================================== */

.lf-locations-cta {
    display: flex;
    justify-content: center;

    margin-top: 38px;
}
/* ========================================
   LOCATIONS - DESKTOP
======================================== */

@media (min-width: 1025px) {

    .lf-locations-slider .splide__arrows {
        display: none;
    }

}
/* ========================================
   LOCATIONS - TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-locations {
        padding-block: 44px 32px;
    }

    .lf-locations-slider {
        margin-top: 38px;
    }

    .lf-location-card h3 {
        margin-top: 15px;

        font-size: 19px;
    }

}
/* ========================================
   LOCATIONS - MOBILE
======================================== */

@media (max-width: 767px) {

    .lf-locations {
        padding-block: 34px 30px;
    }


    /* Heading */

    .lf-locations .lf-section-title {
        max-width: 100%;

        font-size: clamp(31px, 8vw, 42px);
        line-height: 1.08;

        text-align: left;
    }


    /* Slider */

    .lf-locations-slider {
        margin-top: 46px;
    }


    /* Images */

    .lf-location-image img {
        aspect-ratio: 1.27 / 1;
    }


    /* City */

    .lf-location-card h3 {
        margin-top: 13px;

        font-size: 18px;
        line-height: 1.1;

        /*white-space: nowrap;*/
    }


    /* Arrows */

    .lf-locations-slider .splide__arrow {
        width: 42px;
        height: 42px;
    }

    .lf-locations-slider .splide__arrow span {
        font-size: 30px;
    }

    .lf-locations-slider .splide__arrow--prev {
        left: -18px;
    }

    .lf-locations-slider .splide__arrow--next {
        right: -18px;
    }


    /* CTA */

    .lf-locations-cta {
        margin-top: 48px;
    }

}

/* ========================================
   ABOUT / PERSONAL SERVICE
======================================== */

.lf-about {
    overflow: hidden;

    padding-block: 76px;

    background: var(--lf-secondary);
    color: #ffffff;
}


/* ========================================
   LAYOUT
======================================== */

.lf-about-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.82fr);

    align-items: center;

    gap: clamp(60px, 8vw, 120px);
}


/* ========================================
   CONTENT
======================================== */

.lf-about-content {
    min-width: 0;
}


/* Heading */

.lf-about-content h2 {
    margin: 0 0 30px;

    color: #ffffff;

    font-family: var(--lf-font-heading);
    font-size: clamp(30px, 3vw, 43px);
    font-weight: 700;
    line-height: 1.08;

    text-transform: uppercase;
}


/* Copy */

.lf-about-copy {
    max-width: 680px;
}

.lf-about-copy p {
    margin: 0 0 12px;

    color: rgba(255, 255, 255, 0.9);

    font-family: var(--lf-font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.28;
}

.lf-about-copy p:last-child {
    margin-bottom: 0;
}


/* ========================================
   CTA
======================================== */

.lf-about-cta {
    margin-top: 30px;
}


/*
 * Only the background differs from our
 * normal global button.
 *
 * All sizing, typography, hover behaviour,
 * etc. continues to come from .lf-btn.
 */

.lf-about .lf-btn {
    background: #9b97b8;
}


/* ========================================
   IMAGE
======================================== */

.lf-about-visual {
    display: flex;
    align-items: center;
    justify-content: center;
}


/*
 * Creates the subtle lavender offset frame
 * visible in the Figma reference.
 */

.lf-about-image {
    position: relative;

    width: min(100%, 500px);

    margin-right: 12px;
    margin-bottom: 12px;
}

/*.lf-about-image::after {*/
/*    content: "";*/

/*    position: absolute;*/

/*    z-index: 0;*/

/*    top: 12px;*/
/*    left: 12px;*/

/*    width: 100%;*/
/*    height: 100%;*/

/*    background: #8f8ba9;*/
/*}*/


/* Actual portrait */

.lf-about-image img {
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    height: auto;

    /*aspect-ratio: 0.87 / 1;*/

    /*object-fit: cover;*/
}


/* ========================================
   TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-about {
        padding-block: 60px;
    }

    .lf-about-grid {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);

        gap: 50px;
    }

    .lf-about-content h2 {
        margin-bottom: 24px;

        font-size: 31px;
    }

    .lf-about-copy p {
        font-size: 13px;
        line-height: 1.3;
    }

    .lf-about-image {
        width: min(100%, 410px);
    }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    .lf-about {
        padding-block: 32px 38px;
    }


    /*
     * One column.
     */

    .lf-about-grid {
        display: flex;
        flex-direction: column;

        gap: 0;
    }


    /*
     * Image comes FIRST on mobile,
     * matching the Figma.
     */

    .lf-about-visual {
        order: 1;

        width: 100%;
    }

    .lf-about-content {
        order: 2;

        width: 100%;

        margin-top: 26px;

        text-align: center;
    }


    /* Image */

    .lf-about-image {
        width: min(58vw, 290px);

        margin-right: 7px;
        margin-bottom: 7px;
    }

    .lf-about-image::after {
        top: 7px;
        left: 7px;
    }


    /* Heading */

    .lf-about-content h2 {
        margin: 0 auto 22px;

        font-size: clamp(24px, 6.5vw, 31px);
        line-height: 1.08;
    }


    /* Copy */

    .lf-about-copy {
        max-width: 520px;

        margin-inline: auto;
    }

    .lf-about-copy p {
        margin-bottom: 13px;

        font-size: 12px;
        line-height: 1.3;
    }


    /* CTA */

    .lf-about-cta {
        display: flex;
        justify-content: center;

        margin-top: 24px;
    }

}


/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 480px) {

    .lf-about {
        padding-block: 30px 34px;
    }

    .lf-about-image {
        width: min(56vw, 230px);
    }

    .lf-about-content {
        margin-top: 24px;
    }

    .lf-about-content h2 {
        font-size: 23px;
    }

    .lf-about-copy {
        max-width: 330px;
    }

    .lf-about-copy p {
        font-size: 11px;
        line-height: 1.3;
    }

}

/* ========================================
   OUR PROCESS
======================================== */

.lf-process {
    padding-block: 48px 42px;

    background: #ffffff;
}


/* ========================================
   TITLE
======================================== */

.lf-process .lf-section-title {
    margin-bottom: 46px;
}


/* ========================================
   STEPS WRAPPER
======================================== */

.lf-process-steps {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        70px
        minmax(0, 1fr)
        70px
        minmax(0, 1fr);

    align-items: center;

    width: 100%;
}


/* ========================================
   PROCESS CARD
======================================== */

.lf-process-card {
    display: flex;
    flex-direction: column;
    align-items: center;

    min-width: 0;
    min-height: 320px;

    padding: 34px 24px 28px;

    background: #ffffff;

    text-align: center;

    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.13);
}


/* ========================================
   ICON
======================================== */

.lf-process-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;

    height: 72px;

    margin-bottom: 20px;
}

.lf-process-icon {
    display: block;

    width: 62px;
    height: 62px;

    object-fit: contain;
}


/* ========================================
   CARD CONTENT
======================================== */

.lf-process-card-content {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;
}


/* Step Badge */

.lf-process-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 68px;

    padding: 5px 14px;

    margin-bottom: 13px;

    background: var(--lf-secondary);
    color: #ffffff;

    border-radius: 30px;

    font-family: var(--lf-font-heading);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;

    text-transform: uppercase;
}


/* Card Heading */

.lf-process-card h3 {
    margin: 0 0 15px;

    color: var(--lf-secondary);

    font-family: var(--lf-font-heading);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;

    text-transform: uppercase;
}


/* Description */

.lf-process-card p {
    max-width: 300px;

    margin: 0;

    color: #929292;

    font-family: var(--lf-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
}


/* ========================================
   ARROWS
======================================== */

.lf-process-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
}

.lf-process-arrow-desktop {
    display: flex;
    align-items: center;
    justify-content: center;
}

.lf-process-arrow-mobile {
    display: none;
}

.lf-process-arrow svg {
    display: block;

    max-width: 100%;
}


/* ========================================
   CTA
======================================== */

.lf-process-cta {
    display: flex;
    justify-content: center;

    margin-top: 38px;
}


/* ========================================
   TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-process {
        padding-block: 44px 40px;
    }

    .lf-process .lf-section-title {
        margin-bottom: 38px;
    }

    .lf-process-steps {
        grid-template-columns:
            minmax(0, 1fr)
            45px
            minmax(0, 1fr)
            45px
            minmax(0, 1fr);
    }

    .lf-process-card {
        min-height: 310px;

        padding: 28px 16px 24px;
    }

    .lf-process-icon-wrap {
        height: 62px;

        margin-bottom: 17px;
    }

    .lf-process-icon {
        width: 55px;
        height: 55px;
    }

    .lf-process-card h3 {
        font-size: 15px;
    }

    .lf-process-card p {
        font-size: 12px;
    }

    .lf-process-arrow-desktop svg {
        width: 40px;
    }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    .lf-process {
        padding-block: 30px 34px;
    }


    /* Title */

    .lf-process .lf-section-title {
        margin-bottom: 25px;

        font-size: 26px;
    }


    /* Vertical Layout */

    .lf-process-steps {
        display: flex;
        flex-direction: column;

        width: 100%;
    }


    /* ====================================
       MOBILE CARD
       Icon LEFT / Content RIGHT
    ==================================== */

    .lf-process-card {
        display: grid;

        grid-template-columns: 70px minmax(0, 1fr);

        align-items: center;

        width: 100%;
        min-height: 0;

        padding: 20px 22px;

        text-align: left;

        box-shadow:
            0 3px 16px rgba(0, 0, 0, 0.14);
    }


    /* Icon */

    .lf-process-icon-wrap {
        width: 70px;
        height: auto;

        margin: 0;

        padding-right: 16px;
    }

    .lf-process-icon {
        width: 46px;
        height: 46px;
    }


    /* Content */

    .lf-process-card-content {
        align-items: flex-start;

        min-width: 0;
    }


    /* Badge */

    .lf-process-badge {
        min-width: 76px;

        margin-bottom: 8px;

        padding: 5px 13px;

        font-size: 11px;
    }


    /* Heading */

    .lf-process-card h3 {
        margin-bottom: 8px;

        font-size: 13px;
        line-height: 1.15;

        text-align: left;
    }


    /* Paragraph */

    .lf-process-card p {
        max-width: none;

        font-size: 12px;
        line-height: 1.25;

        text-align: left;
    }


    /* ====================================
       MOBILE ARROWS
    ==================================== */

    .lf-process-arrow {
        height: 42px;
    }

    .lf-process-arrow-desktop {
        display: none;
    }

    .lf-process-arrow-mobile {
        display: flex;
        align-items: center;
        justify-content: center;
    }


    /* CTA */

    .lf-process-cta {
        margin-top: 22px;
    }

}


/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 480px) {

    .lf-process .lf-section-title {
        font-size: 24px;
    }

    .lf-process-card {
        grid-template-columns: 64px minmax(0, 1fr);

        padding: 17px 18px;
    }

    .lf-process-icon-wrap {
        width: 64px;

        padding-right: 14px;
    }

    .lf-process-icon {
        width: 42px;
        height: 42px;
    }

    .lf-process-card h3 {
        font-size: 12px;
    }

    .lf-process-card p {
        font-size: 11px;
        line-height: 1.25;
    }

}

/* ========================================
   WHY CHOOSE US
======================================== */

.lf-why-choose {
    padding-block: 25px;

    background: #ffffff;
}


/* ========================================
   GRID
======================================== */

.lf-why-choose-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);

    align-items: center;

    gap: clamp(45px, 6vw, 80px);
}


/* ========================================
   IMAGE
======================================== */

.lf-why-choose-visual {
    min-width: 0;
}

.lf-why-choose-visual img {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 1.16 / 1;

    object-fit: cover;
}


/* ========================================
   CONTENT
======================================== */

.lf-why-choose-content {
    min-width: 0;

    max-width: 650px;
}


/* Heading */

.lf-why-choose-content h2 {
    margin: 0 0 26px;

    color: var(--lf-secondary);

    font-family: var(--lf-font-heading);
    font-size: clamp(29px, 2.7vw, 42px);
    font-weight: 700;
    line-height: 1.12;

    text-transform: uppercase;
}


/* Paragraph */

.lf-why-choose-content p {
    max-width: 620px;

    margin: 0 0 28px;

    color: #191919;

    font-family: var(--lf-font-body);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.28;
}


/*
 * Button uses existing global .lf-btn.
 * No additional button class required.
 */


/* ========================================
   TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-why-choose {
        padding-block: 48px;
    }

    .lf-why-choose-grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);

        gap: 38px;
    }

    .lf-why-choose-content h2 {
        margin-bottom: 20px;

        font-size: 29px;
    }

    .lf-why-choose-content p {
        margin-bottom: 24px;

        font-size: 16px;
        line-height: 1.35;
    }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    .lf-why-choose {
        padding-block: 32px 38px;
    }


    /* Stack image + content */

    .lf-why-choose-grid {
        display: flex;
        flex-direction: column;

        align-items: stretch;

        gap: 28px;
    }


    /* Image */

    .lf-why-choose-visual {
        width: 100%;
    }

    .lf-why-choose-visual img {
        width: 100%;

        aspect-ratio: 1.16 / 1;

        object-fit: cover;
    }


    /* Content */

    .lf-why-choose-content {
        width: 100%;
        max-width: none;
    }


    /* Heading */

    .lf-why-choose-content h2 {
        margin-bottom: 18px;

        font-size: clamp(25px, 7vw, 32px);
        line-height: 1.12;
    }


    /* Paragraph */

    .lf-why-choose-content p {
        max-width: none;

        margin-bottom: 24px;

        font-size: 15px;
        line-height: 1.4;
    }

}


/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 480px) {

    .lf-why-choose {
        padding-block: 28px 34px;
    }

    .lf-why-choose-grid {
        gap: 24px;
    }

    .lf-why-choose-content h2 {
        margin-bottom: 16px;

        font-size: 23px;
        line-height: 1.15;
    }

    .lf-why-choose-content p {
        margin-bottom: 22px;

        font-size: 14px;
        line-height: 1.4;
    }

}

/* ========================================
   FREQUENTLY ASKED QUESTIONS
======================================== */

.lf-faq {
    padding-block: 52px 60px;

    background: #ffffff;
}


/* ========================================
   TITLE
======================================== */

.lf-faq .lf-section-title {
    margin-bottom: 34px;
}


/* ========================================
   FAQ LIST
======================================== */

.lf-faq-list {
    width: 100%;
    max-width: 1100px;

    margin-inline: auto;
}


/* ========================================
   CATEGORY
======================================== */

.lf-faq-category {
    margin: 36px 0 8px;

    color: var(--lf-secondary);

    font-family: var(--lf-font-heading);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;

    text-transform: uppercase;
}


/* ========================================
   FAQ ITEM
======================================== */

.lf-faq-item {
    width: 100%;

    border-bottom: 1px solid #bdbdbd;
}


/* Remove default marker */

.lf-faq-item summary {
    list-style: none;
}

.lf-faq-item summary::-webkit-details-marker {
    display: none;
}


/* ========================================
   QUESTION
======================================== */

.lf-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    width: 100%;

    padding: 22px 2px;

    color: #343434;

    font-family: var(--lf-font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;

    cursor: pointer;
}


/* Keyboard accessibility */

.lf-faq-item summary:focus-visible {
    outline: 2px solid var(--lf-secondary);
    outline-offset: 4px;
}


/* ========================================
   CHEVRON
======================================== */

.lf-faq-icon {
    position: relative;

    flex: 0 0 12px;

    width: 12px;
    height: 12px;

    margin-right: 4px;

    transform: rotate(45deg);

    border-right: 2px solid #343434;
    border-bottom: 2px solid #343434;

    transition: transform 0.2s ease;
}


/*
 * CLOSED
 *
 * Chevron points down.
 */

.lf-faq-item:not([open]) .lf-faq-icon {
    transform: rotate(45deg);
}


/*
 * OPEN
 *
 * Chevron points up.
 */

.lf-faq-item[open] .lf-faq-icon {
    transform: rotate(225deg);
}


/* ========================================
   ANSWER
======================================== */

.lf-faq-answer {
    padding: 0 45px 20px 2px;
}

.lf-faq-answer p {
    max-width: 970px;

    margin: 0 0 12px;

    color: #555555;

    font-family: var(--lf-font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
}

.lf-faq-answer p:last-child {
    margin-bottom: 0;
}


/* ========================================
   HOVER
======================================== */

@media (hover: hover) {

    .lf-faq-item summary:hover {
        color: var(--lf-secondary);
    }

}


/* ========================================
   TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-faq {
        padding-block: 46px 52px;
    }

    .lf-faq .lf-section-title {
        margin-bottom: 28px;
    }

    .lf-faq-list {
        max-width: 900px;
    }

    .lf-faq-category {
        margin-top: 30px;

        font-size: 18px;
    }

    .lf-faq-item summary {
        padding-block: 19px;

        font-size: 15px;
    }

    .lf-faq-answer {
        padding-bottom: 18px;
    }

    .lf-faq-answer p {
        font-size: 14px;
    }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    .lf-faq {
        padding-block: 34px 40px;
    }


    /* Heading */

    .lf-faq .lf-section-title {
        margin-bottom: 24px;

        font-size: clamp(27px, 7vw, 34px);
        line-height: 1.1;
    }


    /* Category */

    .lf-faq-category {
        margin: 30px 0 5px;

        font-size: 17px;
        line-height: 1.2;
    }


    /* Question */

    .lf-faq-item summary {
        gap: 20px;

        padding: 18px 0;

        font-size: 14px;
        line-height: 1.35;
    }


    /* Chevron */

    .lf-faq-icon {
        flex-basis: 10px;

        width: 10px;
        height: 10px;

        margin-right: 3px;
    }


    /* Answer */

    .lf-faq-answer {
        padding: 0 30px 18px 0;
    }

    .lf-faq-answer p {
        font-size: 13px;
        line-height: 1.45;
    }

}


/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 480px) {

    .lf-faq {
        padding-block: 30px 36px;
    }

    .lf-faq .lf-section-title {
        font-size: 25px;
    }

    .lf-faq-category {
        font-size: 16px;
    }

    .lf-faq-item summary {
        padding-block: 16px;

        font-size: 13px;
    }

    .lf-faq-answer {
        padding-right: 22px;
        padding-bottom: 17px;
    }

    .lf-faq-answer p {
        font-size: 12px;
    }

}

/* ========================================
   FOOTER CONTACT SECTION
======================================== */

.lf-footer-contact {
    padding-block: 55px 45px;
    background: #36324f;
    color: #ffffff;
}

.lf-footer-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(480px, 0.95fr);
    align-items: center;
    gap: 70px;
}


/* ========================================
   LEFT CONTENT
======================================== */

.lf-footer-info {
    max-width: 540px;
}

.lf-footer-info h2 {
    margin: 0 0 14px;

    color: #ffffff;

    font-family: var(--lf-font-heading);
    font-size: clamp(32px, 3.2vw, 48px);
    font-weight: 600;
    line-height: 1.08;
}

.lf-footer-intro {
    max-width: 510px;
    margin: 0;

    color: #aaa8b2;

    font-family: var(--lf-font-body);
    font-size: 16px;
    line-height: 1.35;
}


/* ========================================
   CONTACT DETAILS
======================================== */

.lf-footer-details {
    display: flex;
    flex-direction: column;
    gap: 26px;

    margin-top: 48px;
}

.lf-footer-detail {
    display: flex;
    align-items: center;
    gap: 14px;

    width: fit-content;

    color: #ffffff;
    text-decoration: none;

    font-family: var(--lf-font-body);
}

.lf-footer-detail-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    border-radius: 3px;

    background: #9893b5;
}

.lf-footer-detail-icon svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: #0d0923;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lf-footer-detail-content {
    display: flex;
    flex-direction: column;
    gap: 2px;

    font-size: 15px;
    line-height: 1.25;
}

.lf-footer-detail-content small {
    color: #aaa8b2;

    font-size: 12px;
    font-weight: 400;
}

.lf-footer-detail-content strong {
    color: #ffffff;

    font-size: 22px;
    font-weight: 700;
}


/* ========================================
   FORMINATOR CONTAINER
======================================== */

.lf-footer-form {
    width: 100%;

    padding: 28px 30px;

    background: #ffffff;
    color: #222222;
}


/*
 * Remove default Forminator outer margin
 */

.lf-footer-form .forminator-ui {
    margin: 0 !important;
}


/* ========================================
   SITE FOOTER
======================================== */

.lf-site-footer {
    padding-block: 18px;

    background: #0d0923;
    color: #aaa8b2;
}

.lf-site-footer-inner {
    display: flex;
    align-items: center;

    gap: 20px;
}

.lf-footer-logo {
    flex: 0 0 auto;
}

.lf-footer-logo img {
    display: block;

    width: 190px;
    height: auto;

    opacity: 0.5;
}

.lf-site-footer p {
    margin: 0;

    font-family: var(--lf-font-body);
    font-size: 13px;
    line-height: 1.4;
}

.lf-back-top {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    margin-left: auto;

    border: 0;
    border-radius: 4px;

    background: #9997a7;
    color: #0d0923;

    font-size: 22px;
    line-height: 1;

    cursor: pointer;
}


/* ========================================
   MOBILE STICKY CTA
   Hidden on desktop
======================================== */

.lf-mobile-cta {
    display: none;
}


/* ========================================
   TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-footer-contact-grid {
        grid-template-columns: minmax(0, 0.8fr) minmax(420px, 1fr);
        gap: 40px;
    }

    .lf-footer-info h2 {
        font-size: 34px;
    }

    .lf-footer-intro {
        font-size: 14px;
    }

    .lf-footer-details {
        margin-top: 35px;
    }

    .lf-footer-form {
        padding: 25px;
    }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    /*
     * Space for fixed bottom CTA.
     */

    body {
        padding-bottom: 54px;
    }


    /* Contact */

    .lf-footer-contact {
        padding-block: 34px 28px;
    }

    .lf-footer-contact-grid {
        display: flex;
        flex-direction: column;

        gap: 34px;
    }


    /* Information */

    .lf-footer-info {
        width: 100%;
        max-width: none;

        padding-inline: 14px;
    }

    .lf-footer-info h2 {
        max-width: 330px;

        margin-inline: auto;
        margin-bottom: 13px;

        font-size: 27px;
        line-height: 1.05;

        text-align: center;
    }

    .lf-footer-intro {
        max-width: 330px;

        margin-inline: auto;

        font-size: 12px;
        line-height: 1.35;

        text-align: center;
    }


    /* Details */

    .lf-footer-details {
        gap: 14px;

        max-width: 330px;

        margin: 27px auto 0;
    }

    .lf-footer-detail {
        gap: 12px;
    }

    .lf-footer-detail-icon {
        flex-basis: 34px;

        width: 34px;
        height: 34px;
    }

    .lf-footer-detail-icon svg {
        width: 16px;
        height: 16px;
    }

    .lf-footer-detail-content {
        font-size: 12px;
    }

    .lf-footer-detail-content small {
        font-size: 10px;
    }

    .lf-footer-detail-content strong {
        font-size: 18px;
    }


    /* Form */

    .lf-footer-form {
        width: 100%;

        padding: 22px 18px;
    }


    /* Footer */

    .lf-site-footer {
        padding-block: 15px;
    }

    .lf-site-footer-inner {
        gap: 10px;
    }

    .lf-footer-logo img {
        width: 90px;
    }

    .lf-site-footer p {
        font-size: 9px;
        line-height: 1.25;
    }

    .lf-back-top {
        flex: 0 0 28px;

        width: 28px;
        height: 28px;

        font-size: 17px;
    }


    /* ====================================
       MOBILE FIXED BOTTOM CTA
    ==================================== */

    .lf-mobile-cta {
        position: fixed;
        z-index: 99999;

        right: 0;
        bottom: 0;
        left: 0;

        display: grid;
        grid-template-columns: 1fr 1fr;

        height: 54px;

        background: #ffffff;

        box-shadow: 0 -3px 15px rgba(0, 0, 0, 0.12);
    }

    .lf-mobile-cta a {
        display: flex;
        align-items: center;
        justify-content: center;

        gap: 8px;

        height: 54px;

        font-family: var(--lf-font-body);
        font-size: 13px;
        font-weight: 500;

        text-decoration: none;
        text-transform: uppercase;
    }

    .lf-mobile-cta-consult {
        background: #36324f;
        color: #ffffff;
    }

    .lf-mobile-cta-call {
        background: #ffffff;
        color: #36324f;
    }

    .lf-mobile-cta-call svg {
        width: 17px;
        height: 17px;

        fill: none;
        
        stroke-linecap: round;
        stroke-linejoin: round;
    }

}


/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 480px) {

    .lf-footer-contact {
        padding-top: 30px;
    }

    .lf-footer-info {
        padding-inline: 6px;
    }

    .lf-footer-info h2 {
        font-size: 25px;
    }

    .lf-footer-intro {
        font-size: 11px;
    }

    .lf-footer-form {
        padding: 20px 15px;
    }

    .lf-mobile-cta a {
        font-size: 16px;
    }

}
/* ========================================
   FOOTER - FORMINATOR FORM
======================================== */

/* Remove Forminator defaults */
.lf-footer-form .forminator-ui.forminator-custom-form {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--lf-font-body) !important;
}


/* ========================================
   FORM TITLE / INTRO
======================================== */

/*
If your heading and intro are inside Forminator
using an HTML field, these styles will apply.
*/

.lf-footer-form .forminator-ui h2,
.lf-footer-form .forminator-ui h3 {
    margin: 0 0 8px !important;

    color: #36324f !important;

    font-family: var(--lf-font-heading) !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;

    text-align: center !important;
}

.lf-footer-form .forminator-ui .forminator-description,
.lf-footer-form .forminator-ui .forminator-description p {
    color: #222222 !important;

    font-family: var(--lf-font-body) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;

    text-align: center !important;
}


/* ========================================
   ROWS
======================================== */

.lf-footer-form .forminator-row {
    margin-bottom: 16px !important;
}

.lf-footer-form .forminator-row:last-child {
    margin-bottom: 0 !important;
}


/* ========================================
   LABELS
======================================== */

.lf-footer-form .forminator-label {
    display: block !important;

    margin-bottom: 7px !important;

    color: #333333 !important;

    font-family: var(--lf-font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.lf-footer-form .forminator-required {
    color: #ff3b30 !important;
}


/* ========================================
   INPUTS
======================================== */

.lf-footer-form .forminator-input,
.lf-footer-form .forminator-textarea,
.lf-footer-form .forminator-select2 + .forminator-select {
    width: 100% !important;

    border: 1px solid #d1cedd !important;
    border-radius: 3px !important;

    background: #f8f7ff !important;
    color: #222222 !important;

    font-family: var(--lf-font-body) !important;
    font-size: 13px !important;

    box-shadow: none !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease !important;
}


/* Standard inputs */
.lf-footer-form .forminator-input {
    min-height: 48px !important;
    padding: 0 14px !important;
}


/* Textarea */
.lf-footer-form .forminator-textarea {
    min-height: 105px !important;
    padding: 13px 14px !important;

    line-height: 1.35 !important;

    resize: vertical;
}


/* Placeholder */
.lf-footer-form .forminator-input::placeholder,
.lf-footer-form .forminator-textarea::placeholder {
    color: #9a98a4 !important;
    opacity: 1 !important;
}


/* Focus */
.lf-footer-form .forminator-input:focus,
.lf-footer-form .forminator-textarea:focus {
    border-color: #36324f !important;

    outline: none !important;

    box-shadow: 0 0 0 1px #36324f !important;
}


/* ========================================
   SUBMIT BUTTON
======================================== */

.lf-footer-form .forminator-button-submit {
    width: 100% !important;
    min-height: 52px !important;

    padding: 12px 24px !important;

    border: 0 !important;
    border-radius: 3px !important;

    background: #36324f !important;
    color: #ffffff !important;

    font-family: var(--lf-font-heading) !important;
    font-size: 17px !important;
    font-weight: 600 !important;

    text-align: center !important;
    text-transform: uppercase !important;

    box-shadow: 0 5px 14px rgba(13, 9, 35, 0.15) !important;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        background-color 0.2s ease !important;
}

.lf-footer-form .forminator-button-submit:hover {
    background: #0d0923 !important;
    transform: translateY(-1px);
}

.lf-footer-form .forminator-button-submit:active {
    transform: translateY(0);
}


/* ========================================
   ERROR / VALIDATION
======================================== */

.lf-footer-form .forminator-error-message {
    margin-top: 5px !important;

    font-family: var(--lf-font-body) !important;
    font-size: 11px !important;
}

.lf-footer-form .forminator-response-message {
    font-family: var(--lf-font-body) !important;
    font-size: 13px !important;
}


/* ========================================
   HTML FIELD / DISCLAIMER
======================================== */

.lf-footer-form .forminator-field-html,
.lf-footer-form .forminator-field-html p {
    font-family: var(--lf-font-body) !important;
}

.lf-footer-form .forminator-field-html p:last-child {
    margin-bottom: 0;
}


/* ========================================
   TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-footer-form .forminator-ui h2,
    .lf-footer-form .forminator-ui h3 {
        font-size: 23px !important;
    }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    .lf-footer-form .forminator-ui h2,
    .lf-footer-form .forminator-ui h3 {
        font-size: 22px !important;
    }

    .lf-footer-form .forminator-ui .forminator-description,
    .lf-footer-form .forminator-ui .forminator-description p {
        font-size: 11px !important;
    }

    .lf-footer-form .forminator-row {
        margin-bottom: 12px !important;
    }

    .lf-footer-form .forminator-label {
        margin-bottom: 5px !important;

        font-size: 11px !important;
    }

    .lf-footer-form .forminator-input {
        min-height: 40px !important;
        padding-inline: 10px !important;

        font-size: 11px !important;
    }

    .lf-footer-form .forminator-textarea {
        min-height: 90px !important;

        padding: 10px !important;

        font-size: 11px !important;
    }

    .lf-footer-form .forminator-button-submit {
        min-height: 42px !important;

        font-size: 13px !important;
    }

}


/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 480px) {

    .lf-footer-form .forminator-ui h2,
    .lf-footer-form .forminator-ui h3 {
        font-size: 20px !important;
    }

}

/* =========================================================
   CONSULTATION POPUP
========================================================= */

.lf-popup {
    position: fixed;
    inset: 0;
    z-index: 999999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 20px;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    display: none;
    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}


/* Open state */

.lf-popup.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    display: flex;
}


/* Background overlay */

.lf-popup-overlay {
    position: absolute;
    inset: 0;

    background: rgba(0, 0, 0, 0.78);
}


/* Dialog */

.lf-popup-dialog {
    position: relative;
    z-index: 2;

    width: min(100%, 1020px);
    max-height: calc(100vh - 40px);

    overflow-y: auto;
    overscroll-behavior: contain;

    background: #ffffff;
    border-radius: 12px;

    padding: 38px 60px 36px;

    transform: translateY(15px) scale(0.985);

    transition: transform 0.25s ease;

    scrollbar-width: thin;
}


.lf-popup.is-open .lf-popup-dialog {
    transform: translateY(0) scale(1);
}


/* Prevent body scrolling */

body.lf-popup-open {
    overflow: hidden;
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.lf-popup-close {
    position: absolute;

    top: 22px;
    right: 28px;

    width: 42px;
    height: 42px;

    padding: 0;

    border: 2px solid #707070;
    border-radius: 50%;

    background: transparent;

    cursor: pointer;

    transition:
        border-color 0.2s ease,
        transform 0.2s ease;
}


.lf-popup-close:hover {
    border-color: #36324f;
    transform: rotate(4deg);
}


.lf-popup-close span {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 22px;
    height: 2px;

    background: #707070;
}


.lf-popup-close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}


.lf-popup-close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}


/* =========================================================
   CONTENT
========================================================= */

.lf-popup-content {
    width: 100%;
}


/* Notice */

.lf-popup-notice {
    max-width: 760px;

    margin: 0 auto 26px;

    padding: 0 45px;

    color: #ff3b30;

    font-family: var(--lf-font-body);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;

    text-align: center;
}


/* =========================================================
   HEADER
========================================================= */

.lf-popup-header {
    max-width: 700px;

    margin: 0 auto 26px;

    text-align: center;
}


.lf-popup-header h2 {
    margin: 0 0 12px;

    color: #36324f;

    font-family: var(--lf-font-heading);
    font-size: 30px;
    font-weight: 600;
    line-height: 1.15;

    text-transform: uppercase;
}


.lf-popup-header p {
    margin: 0;

    color: #333333;

    font-family: var(--lf-font-body);
    font-size: 17px;
    line-height: 1.35;
}


.lf-popup-header a {
    color: #ff3b30;

    font-weight: 700;
    text-decoration: none;
}


/* =========================================================
   FORMINATOR
========================================================= */

.lf-popup-form {
    max-width: 760px;

    margin: 0 auto;
}


/* Remove unnecessary Forminator outer spacing */

.lf-popup-form .forminator-ui.forminator-custom-form {
    margin: 0 !important;

    font-family: var(--lf-font-body) !important;
}


/* Form rows */

.lf-popup-form .forminator-row {
    margin-bottom: 16px !important;
}


/* Labels */

.lf-popup-form .forminator-label {
    margin-bottom: 7px !important;

    color: #36324f !important;

    font-family: var(--lf-font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}


/* Inputs */

.lf-popup-form .forminator-input,
.lf-popup-form .forminator-textarea {
    width: 100% !important;

    border: 1px solid #d1cedd !important;
    border-radius: 4px !important;

    background: #ffffff !important;

    color: #222222 !important;

    font-family: var(--lf-font-body) !important;

    box-shadow: none !important;
}


.lf-popup-form .forminator-input {
    min-height: 46px !important;

    padding: 0 14px !important;
}


.lf-popup-form .forminator-textarea {
    min-height: 100px !important;

    padding: 12px 14px !important;
}


/* Focus */

.lf-popup-form .forminator-input:focus,
.lf-popup-form .forminator-textarea:focus {
    border-color: #36324f !important;

    outline: none !important;

    box-shadow: 0 0 0 1px #36324f !important;
}


/* =========================================================
   FORMINATOR RADIO / SELECTION BUTTONS
========================================================= */

/*
This helps style selections similar to your Figma.
Depending on your Forminator field configuration,
we may fine-tune the exact selectors afterward.
*/

.lf-popup-form .forminator-radio {
    font-family: var(--lf-font-body) !important;
}


/* =========================================================
   FORMINATOR NEXT / SUBMIT BUTTON
========================================================= */

.lf-popup-form .forminator-button,
.lf-popup-form .forminator-button-next,
.lf-popup-form .forminator-button-submit {
    min-height: 52px !important;

    padding: 12px 45px !important;

    border: 0 !important;
    border-radius: 4px !important;

    background: #36324f !important;
    color: #ffffff !important;

    font-family: var(--lf-font-heading) !important;
    font-size: 19px !important;
    font-weight: 500 !important;

    box-shadow: none !important;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease !important;
}


.lf-popup-form .forminator-button:hover,
.lf-popup-form .forminator-button-next:hover,
.lf-popup-form .forminator-button-submit:hover {
    background: #0d0923 !important;

    transform: translateY(-1px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

    .lf-popup-dialog {
        width: min(100%, 900px);

        padding: 36px 40px;
    }


    .lf-popup-header h2 {
        font-size: 27px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .lf-popup {
        padding: 10px;
    }


    .lf-popup-dialog {
        width: 100%;

        max-height: calc(100dvh - 20px);

        padding: 48px 20px 28px;

        border-radius: 8px;
    }


    .lf-popup-close {
        top: 13px;
        right: 14px;

        width: 34px;
        height: 34px;
    }


    .lf-popup-close span {
        width: 17px;
    }


    .lf-popup-notice {
        margin-bottom: 20px;

        padding: 0;

        font-size: 10px;
        line-height: 1.3;
    }


    .lf-popup-header {
        margin-bottom: 22px;
    }


    .lf-popup-header h2 {
        margin-bottom: 8px;

        font-size: 22px;
    }


    .lf-popup-header p {
        font-size: 13px;
    }


    .lf-popup-form .forminator-label {
        font-size: 11px !important;
    }


    .lf-popup-form .forminator-input {
        min-height: 42px !important;

        font-size: 12px !important;
    }


    .lf-popup-form .forminator-textarea {
        min-height: 85px !important;

        font-size: 12px !important;
    }


    .lf-popup-form .forminator-button,
    .lf-popup-form .forminator-button-next,
    .lf-popup-form .forminator-button-submit {
        min-height: 44px !important;

        padding: 10px 30px !important;

        font-size: 15px !important;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .lf-popup-dialog {
        padding-inline: 15px;
    }


    .lf-popup-header h2 {
        font-size: 20px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .lf-popup,
    .lf-popup-dialog,
    .lf-popup-close,
    .lf-popup-form .forminator-button {
        transition: none !important;
    }

}

/* =========================================================
   POPUP - PRACTICE AREA OPTIONS
   Forminator Radio Field
========================================================= */

/* Field wrapper */
.lf-popup-form #radio-1 .forminator-field {
    display: grid !important;
    grid-template-columns: 1.7fr 0.85fr 0.9fr;
    gap: 16px 14px !important;

    width: 100%;
}


/* ========================================
   QUESTION / TITLE
======================================== */

.lf-popup-form #radio-1 .forminator-label {
    grid-column: 1 / -1;

    display: block !important;

    margin: 0 0 20px !important;

    color: #36324f !important;

    font-family: var(--lf-font-heading) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;

    text-align: center !important;
    text-transform: uppercase;
}


/* ========================================
   RADIO OPTIONS AS BUTTONS
======================================== */

.lf-popup-form #radio-1 .forminator-radio {
    position: relative;

    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100% !important;
    min-width: 0;
    min-height: 58px;

    margin: 0 !important;
    padding: 10px 18px !important;

    border: 1px solid #777777 !important;
    border-radius: 8px !important;

    background: #ffffff !important;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
        pointer-events: all!important;
}


/* ========================================
   HIDE DEFAULT RADIO CIRCLE
======================================== */

.lf-popup-form #radio-1 .forminator-radio-bullet {
    display: none !important;
}


/*
Keep actual input accessible but visually hidden.
Do NOT use display:none on the input.
*/

.lf-popup-form #radio-1 .forminator-radio input[type="radio"] {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    padding: 0 !important;
    margin: -1px !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;

    border: 0 !important;
}


/* ========================================
   OPTION TEXT
======================================== */

.lf-popup-form #radio-1 .forminator-radio-label {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #363636 !important;

    font-family: var(--lf-font-body) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    text-align: center !important;

    pointer-events: none;
}


/* ========================================
   SECOND ROW
======================================== */

/*
Option 4
TRUSTS, WILLS & PROBATE
*/

.lf-popup-form #radio-1 .forminator-radio:nth-of-type(4) {
    grid-column: 1 / 2;
}


/*
Option 5
COMMERCIAL LEASES & RESIDENTIAL LEASES
*/

.lf-popup-form #radio-1 .forminator-radio:nth-of-type(5) {
    grid-column: 2 / 4;
}


/* ========================================
   HOVER
======================================== */

.lf-popup-form #radio-1 .forminator-radio:hover {
    border-color: #36324f !important;

    background: #f7f6fb !important;
}


/* ========================================
   SELECTED
======================================== */

.lf-popup-form #radio-1 .forminator-radio:has(input[type="radio"]:checked) {
    border-color: #36324f !important;

    background: #36324f !important;
}


.lf-popup-form #radio-1
.forminator-radio:has(input[type="radio"]:checked)
.forminator-radio-label {
    color: #ffffff !important;
}


/* ========================================
   KEYBOARD FOCUS
======================================== */

.lf-popup-form #radio-1 .forminator-radio:has(input[type="radio"]:focus-visible) {
    outline: 2px solid #36324f !important;
    outline-offset: 3px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .lf-popup-form #radio-1 .forminator-field {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }


    .lf-popup-form #radio-1 .forminator-radio:nth-of-type(4),
    .lf-popup-form #radio-1 .forminator-radio:nth-of-type(5) {
        grid-column: auto;
    }


    /* Last option full width */
    .lf-popup-form #radio-1 .forminator-radio:nth-of-type(5) {
        grid-column: 1 / -1;
    }


    .lf-popup-form #radio-1 .forminator-radio {
        min-height: 54px;
    }


    .lf-popup-form #radio-1 .forminator-radio-label {
        font-size: 15px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .lf-popup-form #radio-1 .forminator-field {
        grid-template-columns: 1fr;
        gap: 9px !important;
    }


    .lf-popup-form #radio-1 .forminator-label {
        grid-column: 1;

        margin-bottom: 10px !important;

        font-size: 19px !important;
    }


    .lf-popup-form #radio-1 .forminator-radio,
    .lf-popup-form #radio-1 .forminator-radio:nth-of-type(4),
    .lf-popup-form #radio-1 .forminator-radio:nth-of-type(5) {
        grid-column: 1;

        min-height: 46px;

        padding: 8px 12px !important;

        border-radius: 6px !important;
    }


    .lf-popup-form #radio-1 .forminator-radio-label {
        font-size: 13px !important;
    }

}

/* ========================================
   HERO - TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
    }

    .lf-hero-content {
        padding-right: 28px;
    }

    .lf-hero-form-inner {
        padding-inline: 24px;
    }

    .lf-hero-title {
        font-size: 34px;
    }

}

/* ========================================
   HERO - MOBILE
======================================== */

@media (max-width: 767px) {

    .lf-hero .lf-container {
        padding-inline: 20px;
    }

    .lf-hero-grid {
        display: block;
    }


    /* Left */

    .lf-hero-content {
        padding: 22px 0 20px;
    }

    .lf-hero-image {
        border-radius: 4px;
    }

    .lf-hero-image img {
        aspect-ratio: 1.55 / 1;
    }


    /* Rating */

    .lf-google-rating {
        margin: 12px auto 0;

        padding: 6px 9px;

        font-size: 8px;
    }


    /* Title */

    .lf-hero-title {
        max-width: 100%;

        margin: 12px auto 8px;

        font-size: clamp(25px, 7.5vw, 34px);
        line-height: 1.02;

        text-align: center;
    }


    /* Description */

    .lf-hero-description {
        max-width: 95%;

        margin-inline: auto;

        font-size: 12px;
        line-height: 1.18;

        text-align: center;
    }


    /* Location */

    .lf-hero-location {
        max-width: 95%;

        margin: 12px auto 0;

        font-size: 13px;
        line-height: 1.12;

        text-align: center;
    }


    /* Form */

    .lf-hero-form {
        margin-inline: -20px;
    }

    .lf-hero-form-inner {
        padding: 20px 20px 30px;
    }


    /* Notice */

    .lf-form-notice {
        max-width: 94%;

        margin: 0 auto 18px;

        font-size: 10px;
        line-height: 1.1;

        text-align: center;
    }


    /* Form Heading */

    .lf-form-heading {
        margin-bottom: 14px;

        text-align: center;
    }

    .lf-form-heading h2 {
        margin-bottom: 5px;

        font-size: 20px;
    }

    .lf-form-heading p {
        max-width: 95%;

        margin-inline: auto;

        font-size: 11px;
        line-height: 1.2;
    }


    /* Form */

    .lf-forminator-wrap .forminator-label {
        font-size: 11px !important;
    }

    .lf-forminator-wrap .forminator-input {
        min-height: 42px !important;

        padding: 8px 10px !important;

        font-size: 12px !important;
    }

    .lf-forminator-wrap .forminator-textarea {
        min-height: 100px !important;

        padding: 10px !important;

        font-size: 11px !important;
    }

    .lf-forminator-wrap .forminator-row {
        margin-bottom: 12px !important;
    }

    .lf-forminator-wrap .forminator-button-submit {
        width: 100% !important;
        min-height: 48px !important;

        padding: 10px 20px !important;

        font-size: 13px !important;
    }


    /* Disclaimer */

    .lf-form-disclaimer {
        max-width: 92%;

        margin: 16px auto 0;

        font-size: 9px;
        line-height: 1.15;

        text-align: center;
    }

}

/* ========================================
   CREDENTIALS - TABLET
======================================== */

@media (max-width: 1024px) {

    .lf-credential {
        gap: 12px;
        padding-inline: 16px;
    }

    .lf-credential-icon {
        width: 50px;
        height: 50px;
    }

    .lf-credential-content h3 {
        font-size: 21px;
    }

    .lf-credential-content p {
        font-size: 11px;
    }

}

/* ========================================
   CREDENTIALS - MOBILE
======================================== */

@media (max-width: 767px) {

.lf-credential svg {
    display: none;
}
    .lf-credentials .lf-container {
        padding-inline: 16px;
    }

    .lf-credentials-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));

        align-items: start;

        padding-block: 32px;
    }


    /* Items */

    .lf-credential {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;

        gap: 12px;

        padding-inline: 8px;
    }


    /* Remove desktop dividers */

    .lf-credential:not(:last-child)::after {
        display: none;
    }


    /* Icon */

    .lf-credential-icon {
        width: 42px;
        height: 42px;
    }


    /* Heading */

    .lf-credential-content h3 {
        margin-bottom: 8px;

        font-size: clamp(16px, 4.5vw, 22px);
        line-height: 1.05;
    }


    /* Description */

    .lf-credential-content p {
        font-size: clamp(11px, 3.2vw, 15px);
        line-height: 1.35;
    }

}
@media (min-width:1100px)
{
    .lf-credential.last-text-small h3 {
    font-size: 18px;
}
}

/* =========================================================
   THANK YOU PAGE
========================================================= */

.lf-thankyou {
    min-height: calc(100vh - 160px);
    display: flex;
    align-items: center;
    padding: 80px 0;
    background: #f7f6fb;
}

.lf-thankyou-card {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    padding: 65px 70px;
    background: #fff;
    text-align: center;
    box-shadow: 0 10px 40px rgba(13, 9, 35, 0.08);
}

.lf-thankyou-icon {
    width: 76px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    border-radius: 50%;
    background: #36324F;
    color: #fff;
}

.lf-thankyou-icon svg {
    width: 38px;
    height: 38px;
}

.lf-thankyou-label {
    display: block;
    margin-bottom: 10px;
    font-family: var(--lf-font-body);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #77748a;
}

.lf-thankyou h1 {
    max-width: 650px;
    margin: 0 auto 20px;
    font-family: var(--lf-font-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.15;
    color: #36324F;
}

.lf-thankyou-intro {
    max-width: 650px;
    margin: 0 auto;
    font-family: var(--lf-font-body);
    font-size: 17px;
    line-height: 1.65;
    color: #555;
}

.lf-thankyou-divider {
    width: 70px;
    height: 2px;
    margin: 35px auto;
    background: #36324F;
}

.lf-thankyou-next {
    max-width: 620px;
    margin: 0 auto;
}

.lf-thankyou-next h2 {
    margin: 0 0 15px;
    font-family: var(--lf-font-heading);
    font-size: 25px;
    font-weight: 600;
    line-height: 1.3;
    color: #36324F;
}

.lf-thankyou-next p {
    margin: 0 0 12px;
    font-family: var(--lf-font-body);
    font-size: 16px;
    line-height: 1.6;
    color: #555;
}

.lf-thankyou-next a {
    color: #36324F;
    font-weight: 700;
    text-decoration: none;
}

.lf-thankyou-next a:hover {
    text-decoration: underline;
}

.lf-thankyou-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 30px;
}

/*
 * .lf-btn already exists globally.
 * We're deliberately reusing it.
 */

.lf-thankyou-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 28px;
    border: 1px solid #36324F;
    font-family: var(--lf-font-heading);
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    color: #36324F;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.lf-thankyou-call:hover {
    background: #36324F;
    color: #fff;
}

.lf-thankyou-disclaimer {
    max-width: 570px;
    margin: 30px auto 0;
    font-family: var(--lf-font-body);
    font-size: 12px;
    line-height: 1.5;
    color: #888;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .lf-thankyou {
        padding: 60px 0;
    }

    .lf-thankyou-card {
        max-width: 720px;
        padding: 55px 45px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .lf-thankyou {
        min-height: auto;
        padding: 40px 0;
    }

    .lf-thankyou-card {
        padding: 45px 22px;
        box-shadow: 0 6px 25px rgba(13, 9, 35, 0.07);
    }

    .lf-thankyou-icon {
        width: 64px;
        height: 64px;
        margin-bottom: 20px;
    }

    .lf-thankyou-icon svg {
        width: 32px;
        height: 32px;
    }

    .lf-thankyou h1 {
        font-size: 30px;
        line-height: 1.2;
        margin-bottom: 16px;
    }

    .lf-thankyou-intro {
        font-size: 15px;
        line-height: 1.6;
    }

    .lf-thankyou-divider {
        margin: 28px auto;
    }

    .lf-thankyou-next h2 {
        font-size: 21px;
    }

    .lf-thankyou-next p {
        font-size: 14px;
    }

    .lf-thankyou-actions {
        flex-direction: column;
        width: 100%;
        gap: 12px;
        margin-top: 25px;
    }

    .lf-thankyou-actions .lf-btn,
    .lf-thankyou-call {
        width: 100%;
    }

    .lf-thankyou-disclaimer {
        margin-top: 25px;
        font-size: 11px;
    }

}
/* =========================================================
   STICKY CONSULTATION CTA
========================================================= */

.lf-sticky-consult {
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 999;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 72px;
    height: 290px;
    padding: 20px 0;

    background: #d8ae52;
    color: #fff;

    font-family: var(--lf-font-body);
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;

    writing-mode: vertical-rl;
    transform: translateY(-50%) translateX(100%) rotate(180deg);

    opacity: 0;
    visibility: hidden;

    transition:
        transform 0.3s ease,
        opacity 0.3s ease,
        visibility 0.3s ease,
        background-color 0.2s ease;
}

.lf-sticky-consult.is-visible {
    transform: translateY(-50%) translateX(0) rotate(180deg);
    opacity: 1;
    visibility: visible;
}

.lf-sticky-consult:hover {
    background: #c79c42;
    color: #fff;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .lf-sticky-consult {
        width: 60px;
        height: 250px;
        font-size: 17px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .lf-sticky-consult {
        width: 48px;
        height: 215px;
        padding: 15px 0;
        display: none!important;
        font-size: 15px;
        font-weight: 600;
    }

}