/* ========================
   Homepage base
   ======================== */

.lf-homepage { background:#fff; }

.lf-home-section-head {
    max-width:760px;
    margin:0 auto 3.25rem;
}

.lf-home-section-head__eyebrow,
.lf-home-overview__eyebrow,
.lf-home-final__eyebrow {
    margin-bottom:.8rem;
    font-size:.88rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.lf-home-section-head__eyebrow,
.lf-home-overview__eyebrow {
    color:#3b71ca;
}

.lf-home-final__eyebrow {
    color:rgba(255,255,255,.72);
}

.lf-home-section-head__title,
.lf-home-overview__title,
.lf-home-benefits__title,
.lf-home-final__title,
.lf-home-consultant__title {
    margin:0 0 1.25rem;
    color:#132238;
    font-weight:800;
    line-height:1.12;
}

.lf-home-section-head__title,
.lf-home-overview__title,
.lf-home-benefits__title {
    font-size:clamp(2rem,3.2vw,3rem);
}

.lf-home-final__title {
    font-size:clamp(2rem,3vw,2.8rem);
    color:#fff;
}

.lf-home-consultant__title {
    margin-bottom:.9rem;
    font-size:clamp(2rem,3vw,2.75rem);
    line-height:1.14;
}

.lf-home-overview__text p,
.lf-home-modes__intro,
.lf-home-pricing__intro,
.lf-home-trust__intro,
.lf-home-faq__intro,
.lf-home-consultant__text {
    color:rgba(19,34,56,.72);
}

.lf-home-overview__text p {
    margin-bottom:1rem;
    font-size:1.06rem;
    line-height:1.85;
}

.lf-home-modes__intro,
.lf-home-pricing__intro {
    max-width:760px;
    margin:1rem auto 0;
    font-size:1.02rem;
    line-height:1.75;
}

.lf-home-trust__intro,
.lf-home-faq__intro {
    max-width:720px;
    margin:1rem auto 0;
    font-size:1rem;
    line-height:1.72;
}

.lf-home-consultant__text {
    max-width:42rem;
    margin:0 0 1.35rem;
    font-size:1rem;
    line-height:1.72;
}

/* ========================
   Hero
   ======================== */

.lf-home-hero {
    position:relative;
    min-height:clamp(640px,78vh,860px);
    padding-top:clamp(2rem,5vw,4rem);
    padding-bottom:5.5rem;
}

.lf-home-hero__container,
.lf-home-hero__content,
.lf-home-search-card,
.lf-home-search-form,
.lf-home-search-wrap {
    position:relative;
}

.lf-home-hero__container {
    z-index:1;
    padding-bottom:1rem;
}

.lf-home-hero__row {
    min-height:clamp(560px,68vh,760px);
}

.lf-home-hero__content {
    max-width:720px;
    overflow:visible !important;
}

.lf-home-hero__lead {
    font-size:1.05rem;
    font-weight:600;
    color:rgba(19,34,56,.88);
}

.lf-home-hero__title {
    color:#132238;
    line-height:1.08;
    letter-spacing:-.02em;
    max-width:16ch;
}

.lf-home-hero__subtitle {
    max-width:43rem;
    color:rgba(19,34,56,.88);
    line-height:1.55;
}

.lf-home-hero__subtitle a {
    font-weight:700;
    text-decoration:none;
}

.lf-home-hero__visual {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100%;
}

.lf-home-hero__visual img {
    width:min(100%,440px);
    height:auto;
}

.lf-home-search-card {
    z-index:4000;
    max-width:760px;
    padding:1rem;
    overflow:visible !important;
    border:1px solid rgba(255,255,255,.55);
    border-radius:1.35rem;
    background:rgba(255,255,255,.5);
    backdrop-filter:blur(10px);
    box-shadow:0 16px 40px rgba(17,24,39,.08);
}

.lf-home-search-wrap {
    z-index:5000;
    overflow:visible !important;
}

.lf-home-search-group,
.lf-home-search-card .input-group {
    position:relative;
    z-index:2;
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    border-radius:1rem;
}

.lf-home-search-group .form-control,
.lf-home-search-btn,
.lf-home-advanced-btn {
    min-height:3.35rem;
    box-shadow:none !important;
}

.lf-home-search-group .form-control {
    padding-inline:1rem;
    border-color:rgba(16,24,40,.10);
    border-radius:1rem 0 0 1rem !important;
    background:rgba(255,255,255,.96);
}

.lf-home-search-group .form-control:focus {
    border-color:rgba(59,113,202,.34);
}

.lf-home-search-btn {
    min-width:72px;
    padding-inline:1rem;
    border-left:0 !important;
    border-right:0 !important;
    color:#1c3960;
    background:rgba(255,255,255,.94);
}

.lf-home-advanced-btn {
    padding-inline:1rem;
    border-radius:0 1rem 1rem 0 !important;
    color:#1c3960;
    font-weight:700;
    white-space:nowrap;
    background:rgba(255,255,255,.92);
}

.lf-home-search-btn:hover,
.lf-home-search-btn:focus,
.lf-home-advanced-btn:hover,
.lf-home-advanced-btn:focus {
    color:#132238;
    background:#fff;
}

#lfHintBoxSearchfor,
.lfHintBox {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:6000 !important;
    margin-top:10px;
    overflow-x:hidden;
    overflow-y:auto;
}

.lf-home-proof-grid {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:1rem;
    max-width:760px;
}

.lf-home-proof-item {
    min-height:118px;
    padding:1rem .8rem;
    border:1px solid rgba(255,255,255,.46);
    border-radius:1rem;
    background:rgba(255,255,255,.42);
    backdrop-filter:blur(8px);
    box-shadow:0 8px 24px rgba(17,24,39,.04);
    text-align:center;
}

.lf-home-proof-item__icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:3.5rem;
    height:3.5rem;
    margin:0 auto .7rem;
    border-radius:1rem;
    color:#1c3960;
    background:rgba(59,113,202,.12);
}

.lf-home-proof-item__label {
    font-size:.92rem;
    line-height:1.35;
    font-weight:700;
    color:#132238;
}

/* ========================
   Section spacing
   ======================== */

.lf-home-modes,
.lf-home-trust:first-of-type {
    padding:4.25rem 0 4rem;
    background:#fff;
}

.lf-home-pricing,
.lf-home-trust,
.lf-home-consultant,
.lf-home-faq,
.lf-home-final {
    padding:0 0 5rem;
    background:#fff;
}

/* ========================
   Cards / modes / trust facts
   ======================== */

.lf-home-modes__head,
.lf-home-pricing__head,
.lf-home-trust__head {
    max-width:920px;
    margin:0 auto 2.75rem;
}

.lf-home-modes__grid,
.lf-home-pricing__grid {
    align-items:stretch;
}

.lf-home-mode-card,
.lf-home-price-card {
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    padding:1.5rem 1.35rem 1.35rem;
    border:1px solid rgba(16,24,40,.08);
    border-radius:1.4rem;
    background:#fff;
    box-shadow:0 10px 28px rgba(17,24,39,.05);
}

.lf-home-mode-card {
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.lf-home-mode-card:hover,
.lf-home-trust__logo:hover {
    transform:translateY(-2px);
    border-color:rgba(59,113,202,.18);
    box-shadow:0 18px 40px rgba(17,24,39,.08);
}

.lf-home-mode-card__icon,
.lf-home-price-card__icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:1rem;
    color:#3b71ca;
    background:rgba(59,113,202,.10);
}

.lf-home-mode-card__icon {
    width:4.5rem;
    height:4.5rem;
    margin-bottom:1rem;
    font-size:2.2rem;
}

.lf-home-price-card__icon {
    width:4rem;
    height:4rem;
    margin-bottom:.9rem;
    font-size:1.9rem;
}

.lf-home-mode-card__title,
.lf-home-price-card__plan {
    color:#132238;
    font-weight:800;
    line-height:1.2;
}

.lf-home-mode-card__title {
    margin:0 0 .7rem;
    font-size:1.3rem;
}

.lf-home-price-card__plan {
    font-size:1.28rem;
}

.lf-home-mode-card__text {
    margin:0 0 1.1rem;
    font-size:.98rem;
    line-height:1.65;
    color:rgba(19,34,56,.74);
}

.lf-home-mode-card__chips {
    display:flex;
    flex-wrap:wrap;
    gap:.7rem;
}

.lf-home-mode-chip {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:2.35rem;
    padding:.5rem .9rem;
    border:1px solid rgba(59,113,202,.12);
    border-radius:999px;
    color:#1c3960;
    background:#f4f8fc;
    font-size:.9rem;
    font-weight:700;
    line-height:1.1;
    text-decoration:none;
    transition:background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease;
}

.lf-home-mode-chip:hover {
    color:#132238;
    background:#eef5ff;
    border-color:rgba(59,113,202,.22);
    transform:translateY(-1px);
}

/* ========================
   Pricing
   ======================== */

.lf-home-price-card--pro {
    border-color:rgba(59,113,202,.22);
    box-shadow:0 18px 42px rgba(59,113,202,.12);
}

.lf-home-price-card__badge {
    position:absolute;
    top:1rem;
    right:1rem;
    padding:.38rem .7rem;
    border-radius:999px;
    background:rgba(59,113,202,.10);
    color:#3b71ca;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.03em;
}

.lf-home-price-card__top {
    margin-bottom:1rem;
}

.lf-home-price-card__subtitle {
    margin-top:.4rem;
    font-size:.95rem;
    line-height:1.55;
    color:rgba(19,34,56,.68);
}

.lf-home-price-card__price {
    margin-bottom:1rem;
    color:#132238;
}

.lf-home-price-card__price strong {
    font-size:2rem;
    line-height:1.1;
    font-weight:800;
    color:#132238;
}

.lf-home-price-card__list {
    display:flex;
    flex-direction:column;
    gap:.8rem;
    margin:0 0 1.25rem;
    padding:0;
    list-style:none;
}

.lf-home-price-card__list li {
    display:flex;
    align-items:flex-start;
    gap:.65rem;
    font-size:.96rem;
    line-height:1.55;
    color:rgba(19,34,56,.78);
}

.lf-home-price-card__list i {
    flex:0 0 1rem;
    margin-top:.15rem;
    color:#3b71ca;
}

.lf-home-price-card__cta,
.lf-home-faq__btn,
.lf-home-consultant__cta,
.lf-home-final__btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:2.9rem;
    padding-inline:1.2rem;
    border-radius:999px;
    font-weight:700;
}

.lf-home-final__btn {
    min-height:3rem;
    padding-inline:1.25rem;
}

/* ========================
   Trust logos
   ======================== */

.lf-home-trust__logos {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:1rem;
    align-items:stretch;
}

.lf-home-trust__logo {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:102px;
    padding:1.2rem 1rem;
    border:1px solid rgba(16,24,40,.08);
    border-radius:1.2rem;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,24,39,.04);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.lf-home-trust__logo img {
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:46px;
    object-fit:contain;
    filter:grayscale(100%);
    opacity:.9;
    transition:filter .18s ease, opacity .18s ease, transform .18s ease;
}

.lf-home-trust__logo:hover img {
    filter:grayscale(0);
    opacity:1;
    transform:scale(1.03);
}

/* ========================
   Consultant
   ======================== */

.lf-home-consultant__box {
    padding:2rem 2rem 2rem 2.2rem;
    border:1px solid rgba(59,113,202,.12);
    border-radius:1.6rem;
    background:linear-gradient(135deg,#f4f8ff 0%,#eef5ff 100%);
    box-shadow:0 18px 40px rgba(17,24,39,.06);
}

.lf-home-consultant__actions,
.lf-home-final__actions {
    display:flex;
    flex-wrap:wrap;
    gap:.9rem;
}

.lf-home-consultant__actions {
    align-items:center;
}

.lf-home-final__actions {
    justify-content:center;
}

.lf-home-consultant__phone {
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    min-height:3rem;
    padding:.7rem 1rem;
    border:1px solid rgba(59,113,202,.14);
    border-radius:999px;
    color:#132238;
    background:rgba(255,255,255,.75);
    font-weight:700;
    line-height:1;
    text-decoration:none;
}

.lf-home-consultant__phone:hover {
    color:#132238;
    background:#fff;
}

.lf-home-consultant__program {
    margin-top:1rem;
}

.lf-home-consultant__media {
    display:flex;
    justify-content:center;
}

.lf-home-consultant__media img {
    width:min(100%,280px);
    height:auto;
    border-radius:1.4rem;
    object-fit:cover;
    box-shadow:0 14px 32px rgba(17,24,39,.10);
}

/* ========================
   FAQ
   ======================== */

.lf-home-faq__head {
    max-width:860px;
    margin:0 auto 2rem;
}

.lf-home-faq__wrap {
    max-width:920px;
    margin:0 auto;
}

.lf-home-faq .accordion-item {
    margin-bottom:.85rem;
    overflow:hidden;
    border:1px solid rgba(16,24,40,.08);
    border-radius:1rem !important;
    background:#fff;
    box-shadow:0 8px 24px rgba(17,24,39,.04);
}

.lf-home-faq .accordion-button {
    padding:1rem 1.15rem;
    color:#132238;
    background:#fff;
    font-weight:700;
    box-shadow:none !important;
}

.lf-home-faq .accordion-button:not(.collapsed) {
    color:#132238;
    background:#f8fbff;
}

.lf-home-faq .accordion-button::after {
    margin-left:1rem;
}

.lf-home-faq .accordion-body {
    padding:0 1.15rem 1rem;
    color:rgba(19,34,56,.78);
    line-height:1.7;
}

.lf-home-faq__icon {
    margin-right:.7rem;
    color:#3b71ca;
}

.lf-home-faq__actions {
    margin-top:1.5rem;
    text-align:center;
}

/* ========================
   Final CTA
   ======================== */

.lf-home-final__box {
    padding:2.2rem 2rem;
    border-radius:1.6rem;
    color:#fff;
    text-align:center;
    background:linear-gradient(135deg,#132238 0%,#1c3960 100%);
    box-shadow:0 20px 44px rgba(17,24,39,.14);
}

.lf-home-final__text {
    max-width:760px;
    margin:0 auto 1.5rem;
    color:rgba(255,255,255,.82);
    font-size:1.02rem;
    line-height:1.72;
}

/* ========================
   Responsive
   ======================== */

@media (max-width:1199.98px) {
    .lf-home-proof-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .lf-home-trust__logos { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:991.98px) {
    .lf-home-hero {
        min-height:auto;
        padding-top:2.5rem;
    }

    .lf-home-hero__title { max-width:none; }

    .lf-home-hero__content {
        max-width:100%;
        margin:0 auto;
        text-align:center;
    }

    .lf-home-hero__subtitle,
    .lf-home-search-card {
        margin-left:auto;
        margin-right:auto;
    }

    .lf-home-proof-grid {
        max-width:100%;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .lf-home-modes,
    .lf-home-trust:first-of-type {
        padding-top:4rem;
        padding-bottom:4rem;
    }

    .lf-home-pricing,
    .lf-home-trust,
    .lf-home-consultant,
    .lf-home-faq,
    .lf-home-final {
        padding-bottom:4rem;
    }

    .lf-home-section-head__title,
    .lf-home-overview__title,
    .lf-home-benefits__title {
        font-size:clamp(1.85rem,5vw,2.5rem);
    }

    .lf-home-modes__head,
    .lf-home-pricing__head,
    .lf-home-trust__head {
        margin-bottom:2.25rem;
    }

    .lf-home-consultant__box {
        padding:1.5rem;
    }
}

@media (max-width:767.98px) {
    .lf-home-hero {
        padding-top:1.5rem;
        padding-bottom:4rem;
    }

    .lf-home-hero__lead {
        font-size:.98rem;
    }

    .lf-home-search-card {
        padding:.7rem;
        border-radius:1rem;
    }

    .lf-home-search-group .form-control,
    .lf-home-search-btn,
    .lf-home-advanced-btn {
        min-height:3rem;
    }

    .lf-home-search-btn span {
        display:none !important;
    }

    .lf-home-trust__logos {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .lf-home-trust__logo {
        min-height:96px;
    }

    .lf-home-trust__logo img {
        max-height:38px;
    }
}

@media (max-width:575.98px) {
    .lf-home-hero__title {
        font-size:clamp(2rem,8vw,2.45rem);
    }

    .lf-home-search-group {
        display:grid;
        grid-template-columns:1fr auto auto;
    }

    .lf-home-search-group .form-control {
        min-width:0;
        padding-inline:.85rem;
    }

    .lf-home-search-btn {
        min-width:56px;
        padding-inline:.75rem;
    }

    .lf-home-advanced-btn {
        padding-inline:.8rem;
    }

    .lf-home-advanced-btn .me-2 {
        margin-right:0 !important;
    }

    .lf-home-proof-grid {
        grid-template-columns:1fr;
    }

    .lf-home-proof-item {
        display:flex;
        align-items:center;
        gap:.9rem;
        min-height:auto;
        text-align:left;
    }

    .lf-home-proof-item__icon {
        flex:0 0 3.25rem;
        margin:0;
    }

    .lf-home-overview__text p,
    .lf-home-benefit-item__text,
    .lf-home-consultant__text,
    .lf-home-final__text {
        font-size:.96rem;
        line-height:1.65;
    }

    .lf-home-mode-card,
    .lf-home-price-card {
        padding:1.2rem 1rem 1.1rem;
    }

    .lf-home-mode-card__icon {
        width:4rem;
        height:4rem;
        margin-bottom:.85rem;
        font-size:2rem;
    }

    .lf-home-price-card__icon {
        width:3.6rem;
        height:3.6rem;
        font-size:1.7rem;
    }

    .lf-home-mode-card__title,
    .lf-home-price-card__plan {
        font-size:1.15rem;
    }

    .lf-home-mode-card__text,
    .lf-home-faq .accordion-body {
        font-size:.95rem;
        line-height:1.65;
    }

    .lf-home-mode-chip {
        min-height:2.15rem;
        padding:.45rem .78rem;
        font-size:.84rem;
    }

    .lf-home-benefit-item {
        gap:.8rem;
    }

    .lf-home-benefit-item__icon {
        flex:0 0 2.85rem;
        width:2.85rem;
        height:2.85rem;
    }

    .lf-home-price-card__price strong,
    .lf-home-final__title,
    .lf-home-consultant__title {
        font-size:1.7rem;
    }

    .lf-home-consultant__box,
    .lf-home-final__box {
        padding:1.2rem;
        border-radius:1.2rem;
    }

    .lf-home-consultant__actions,
    .lf-home-final__actions {
        align-items:stretch;
    }

    .lf-home-consultant__cta,
    .lf-home-consultant__phone,
    .lf-home-final__btn {
        width:100%;
        justify-content:center;
    }

    .lf-home-faq .accordion-button {
        padding:.95rem 1rem;
        font-size:.96rem;
    }

    .lf-home-faq .accordion-body {
        padding:0 1rem .95rem;
    }
}

