/*
Theme Name: Ezy Finance Deals
Theme URI: https://ezyfinancedeals.com.au/
Author: Ezy Finance Deals
Description: Custom responsive WordPress theme for Ezy Finance Deals, built with Bootstrap 5.3.8.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: ezy-finance-deals
License: GPL-2.0-or-later
*/
.site-footer {
    background: #01215A;
}
.eyebrow{
	font-size: 1.2rem;
}
:root {
    --efd-primary: #2E9122;
    --efd-primary-dark: #075342;
	--efd-blue: #01215A;
    --efd-ink: #12231f;
    --efd-soft: #eef7f4;
    --efd-dark: #092c25;
	--bs-link-color-rgb: #01215A;
	--bs-link-hover-color-rgb: #2E9122;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{color:#01215A;}
.footer-bgcolor{background-color:#506da1 !important;}
.color-blue{color:#01215A ;}
.bg-color-blue{background-color:#01215A;}
.soft-blue-bg{background-color:#eef7f4;}
.color-green{color:#2E9122;}
.bg-color-green{background-color:#2E9122;}
.efd-speciality strong, .efd-credential strong{color:#01215A ;}
.btn:hover {
    color: #fff;
    background-color: #01215A;
    border-color: #01215A;
}
.calc-mini{background:#fff; box-shadow: 0 6px 20px rgba(6, 47, 107, 0.08);}
.calc-mini a{    text-decoration: none; color:#01215A; text-align:center;}
.calc-mini span{display:block;color:#01215A;font-size:0.75rem;}
.calculator-panel{background: linear-gradient(135deg, #C8E1D2 0%, #AED1BF 100%);}
/* .calculator-panel{background: linear-gradient(135deg, #d0e6d7 0%, #b9d8c7 100%)}
.calculator-panel{background: #506da1;} */
* {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.poppins-thin {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.poppins-extralight {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.poppins-light {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.poppins-regular {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.poppins-medium {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.poppins-semibold {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.poppins-bold {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.poppins-extrabold {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.poppins-black {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.poppins-thin-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.poppins-extralight-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.poppins-light-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.poppins-regular-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.poppins-medium-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.poppins-semibold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.poppins-bold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.poppins-extrabold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.poppins-black-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  font-style: italic;
}

/* ================================
   TOP HEADER
================================ */

.top-header {
    background: #27343a;
    color: #fff;
    font-size: 14px;
    padding: 8px 0;
}

.top-header a {
    color: #fff;
    text-decoration: none;
    transition: opacity .2s ease;
}

.top-header a:hover {
    opacity: .75;
}

.top-header-social a {
    font-size: 15px;
}

.top-header-contact a {
    font-size: 13px;
}

.top-header-contact i {
    font-size: 14px;
}


/* ================================
   MOBILE
================================ */

@media (max-width: 767.98px) {

    .top-header {
        padding: 7px 0;
    }

    .top-header-contact {
        gap: 12px !important;
    }

    .top-header-contact a {
        font-size: 0;
    }

    .top-header-contact a i {
        font-size: 16px;
        margin: 0 !important;
    }

    .top-header-social {
        gap: 12px !important;
    }

}

/* Homepage template variations */
.home-template-2 .btn-primary,
.home-template-3 .btn-primary { border-radius: .75rem; }
.home-template-2 .card,
.home-template-3 .card { border-radius: 1rem; }
.home-template-2 .display-3,
.home-template-3 .display-4 { letter-spacing: -0.03em; }
.home-template-3 .card { transition: transform .2s ease, box-shadow .2s ease; }
.home-template-3 .card:hover { transform: translateY(-4px); box-shadow: 0 .75rem 2rem rgba(0,0,0,.08) !important; }

/*custom code */
/* ==========================================
   INTEREST RATE SECTION
   ========================================== */

.interest-rate-section {
    background: #dceff0;
}

.rate-card {
    background: #ffffff;
    padding: 1.25rem 1.5rem;
    border-radius: 1.5rem;
    color: #01215A;
    height: 100%;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rate-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

.rate-card-primary {
    border-bottom-right-radius: 0;
}

.rate-card-secondary {
    border-bottom-left-radius: 0;
}

.rate-label {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.rate-value {
    font-size: 2.25rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.rate-period {
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: normal;
}

.rate-updated {
    font-size: 0.75rem;
    line-height: 1rem;
    color: var(--efd-text);
}

.rate-updated strong {
    font-weight: 600;
}

.rate-info {
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--efd-primary);
    cursor: pointer;
    font-size: 0.9rem;
}

.rate-info:hover {
    color: var(--efd-secondary);
}

.interest-rate-content {
    max-width: 550px;
}

.rate-disclaimer {
    color: #667575;
    font-size: 0.875rem;
    line-height: 1.5;
}

.rate-disclaimer strong {
    color: var(--efd-text);
}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 767.98px) {

    .rate-value {
        font-size: 2.75rem;
    }

    .rate-period {
        font-size: 1.25rem;
    }

    .rate-card {
        padding: 1.15rem 1.25rem;
    }

    .interest-rate-content {
        max-width: none;
    }

}

/* ==========================================
   LENDER PARTNERS / COMPARE SECTION
   ========================================== */

.lender-section {
    background: #ffffff;
}

.lender-copy {
    max-width: 510px;
}

.lender-link {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: #01215A;
    font-weight: 700;
    text-decoration: none;
    transition: gap .2s ease, color .2s ease;
}

.lender-link:hover {
    color: var(--efd-primary);
    gap: .9rem;
}

.lender-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem 1rem;
    align-items: center;
}

.lender-grid-hidden {
    margin-top: .85rem;
}

.lender-logo {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .65rem .45rem;
    text-align: center;
    color: #27343a;
    background: #fff;
    border: 1px solid transparent;
    border-radius: .75rem;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.lender-logo span {
    display: inline-block;
    font-size: .95rem;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -.02em;
}

.lender-logo:hover {
    transform: translateY(-2px);
    background: #fafcfc;
    border-color: #e7eeee;
}

/* Brand-like typography treatments until official lender SVG/PNG assets are supplied. */
.lender-mortgage-choice span { font-size: .78rem; color: #007b86; }
.lender-ignite span { color: #e65b8a; font-size: 1.15rem; font-weight: 800; }
.lender-commbank span { color: #111; font-weight: 800; }
.lender-anz span { color: #0873d1; font-size: 1.35rem; font-weight: 900; }
.lender-westpac span { color: #d92945; font-weight: 900; }
.lender-stgeorge span { color: #333; }
.lender-nab span { color: #222; background: #f4d31b; padding: .2rem .45rem; border-radius: .15rem; }
.lender-hsbc span { color: #333; font-family: Georgia, serif; font-weight: 500; }
.lender-macquarie span { color: #333; font-size: .78rem; text-transform: uppercase; }
.lender-bom span { color: #303030; font-size: .78rem; }
.lender-banksa span { color: #173d73; font-size: .8rem; }
.lender-great-southern span { color: #087b92; font-size: .72rem; }
.lender-bankwest span { color: #222; background: #f2a900; padding: .3rem .5rem; border-radius: .2rem; }
.lender-me span { color: #222; font-size: 1.1rem; }
.lender-bendigo span { color: #a6294f; font-size: .78rem; }
.lender-australian-unity span { color: #333; font-size: .76rem; }
.lender-suncorp span { color: #333; font-size: .72rem; }
.lender-ing span { color: #ef6a22; font-size: 1.05rem; }
.lender-ubank span { color: #16b87f; font-size: 1.15rem; }
.lender-firstmac span { color: #333; font-size: 1.05rem; }
.lender-qudos span { color: #6f5bd3; font-size: 1rem; }
.lender-bank-australia span { color: #333; font-size: .76rem; }
.lender-resimac span { color: #45546a; font-size: 1rem; }



@media (max-width: 991.98px) {
    .lender-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
	.m-text-center{text-align:center !important;}

    .lender-logo {
        min-height: 52px;
    }

    .lender-logo span {
        font-size: .78rem;
    }
}


/* Uploaded lender logos */
.lender-logo-image {
    display: block;
    width: auto;
    max-width: 125px;
    height: 38px;
    object-fit: contain;
    object-position: center;
}

.lender-logo-fallback {
    display: inline-block;
    font-size: .9rem;
    line-height: 1.1;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 575.98px) {
    .lender-logo-image {
        max-width: 105px;
        height: 32px;
    }
}


/* Stage 1 multi-lender uploader */
.lender-logo-image {
    display: block;
    width: auto;
    max-width: 125px;
    height: 52px;
    object-fit: contain;
    object-position: center;
}

.lender-logo-fallback {
    display: inline-block;
    font-size: .9rem;
    line-height: 1.1;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 575.98px) {
    .lender-logo-image {
        max-width: 105px;
        height: 32px;
    }
}

/*  Forms */
body form.fluent_form_1 .ff-btn-submit:not(.ff_btn_no_style){background-color: var(--efd-primary);}
.ff-default .ff_btn_style:focus, .ff-default .ff_btn_style:hover{background-color:#01215A !important;}
/* =========================================
   NEWSLETTER SECTION
========================================= */

.newsletter-section {
    background: #506da1;
    padding: 80px 20px !important;
}

.newsletter-content {
    max-width: 900px;
}

.newsletter-section .eyebrow {
    display: inline-block;
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.newsletter-section h2 {
    color: #ffffff;
    margin-bottom: 18px;
}

.newsletter-description {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.7;
}


/* =========================================
   FLUENT FORM
========================================= */

.newsletter-form-wrapper {
    max-width: 720px;
    margin: 30px auto 0;
}


/*
 * Fluent Forms may add its own margins
 */

.newsletter-form-wrapper .ff-el-group {
    margin-bottom: 0;
}


/*
 * Put email + button on same row
 */

.newsletter-form-wrapper .ff-el-input--content {
    width: 100%;
}

#fluentform_2_success {
    max-width: 720px;
    margin: 30px auto 0 !important;
    padding: 18px 24px !important;

    background: rgba(201, 168, 93, 0.12) !important;
    border: 1px solid rgba(201, 168, 93, 0.45) !important;
    border-radius: 8px !important;

    color: #ffffff !important;

    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;

    text-align: center;
}

/* Email input */

.newsletter-form-wrapper input[type="email"] {
    height: 54px !important;
    width: 100% !important;

    padding: 0 22px !important;

    background: #ffffff !important;
    color: #26332f !important;

    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 8px !important;

    font-size: 15px;
}

.newsletter-form-wrapper input[type="email"]::placeholder {
    color: #78827f;
    opacity: 1;
}


/* Submit button */

.newsletter-form-wrapper button[type="submit"] {
    height: 54px !important;

    min-width: 170px;

    padding: 0 28px !important;

    border: 0 !important;
    border-radius: 8px !important;

    background: #2E9122 !important;
    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 600 !important;

    transition:
        background-color .2s ease,
        transform .2s ease;
}

.newsletter-form-wrapper button[type="submit"]:hover {
    background: #2E9122 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
	border:1px solid #fff !important;
}


/* =========================================
   REMOVE FLUENT FORM DEFAULT STYLING
========================================= */

.newsletter-form-wrapper .ff-t-container {
    padding: 0 !important;
}

.newsletter-form-wrapper .ff-btn-submit {
    box-shadow: none !important;
}
.newsletter-form-wrapper .fluentform .ff-el-is-error .text-danger {
    font-size: 12px;
    margin-top: 4px;
    position: absolute;
}

/* =========================================
   DISCLAIMER
========================================= */

.newsletter-disclaimer {
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 13px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575.98px) {
	 #fluentform_2_success {
        margin-top: 25px !important;
        padding: 15px 18px !important;
        font-size: 14px;
    }
    .newsletter-section {
        padding: 60px 15px !important;
    }

    .newsletter-content {
        max-width: 100%;
    }

    .newsletter-section h2 {
        font-size: 30px;
    }

    .newsletter-description {
        font-size: 15px;
    }

    .newsletter-form-wrapper {
        margin-top: 25px;
    }

    .newsletter-form-wrapper input[type="email"] {
        height: 52px !important;
    }

    .newsletter-form-wrapper button[type="submit"] {
        width: 100%;
        height: 52px !important;
        margin-top: 10px;
    }
}
/* =========================================
   MORTGAGE CALCULATOR  STARTS
========================================= */

.calc-section {
    background: #f5f6f3;
    padding: 80px 0;
}

.calc-section .wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}


/* Section heading */

.calc-section .section-head {
    max-width: 760px;
    margin: 0 auto 45px;
    text-align: center;
}

.calc-section .eyebrow {
    display: inline-block;
    color: #01215A;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.calc-section .section-head h2 {
    color: #2E9122;
    font-weight: 700;
    margin-bottom: 15px;
}

.calc-section .section-head .lede {
    color: #68736f;
    line-height: 1.7;
    margin-bottom: 0;
}


/* =========================================
   CALCULATOR CARD
========================================= */

.calc-card {
    display: grid;
    grid-template-columns: 1.1fr .9fr;

    background: #ffffff;

    border: 1px solid #e3e7e4;
    border-radius: 24px;

    overflow: hidden;

    box-shadow: 0 15px 45px rgba(0, 0, 0, .08);
}


/* =========================================
   INPUT AREA
========================================= */

.calc-inputs {
    padding: 45px;
    background: #ffffff;
}

.calc-inputs .field {
    margin-bottom: 28px;
}

.calc-inputs .field:last-child {
    margin-bottom: 0;
}


/* Labels */

.calc-inputs .field label {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 10px;

    color: #26332f;

    font-size: 14px;
    font-weight: 700;
}

.calc-inputs .field label .val {
    color: #01215A;
    font-weight: 700;
}


/* Number input */

.calc-inputs .numrow {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 12px;
}

.calc-inputs .numrow .prefix {
    color: #68736f;
    font-size: 15px;
    font-weight: 600;
}

.calc-inputs input[type="number"] {
    width: 100%;
    height: 48px;

    padding: 0 14px;

    background: #f8f9f7;

    border: 1px solid #dfe4e1;
    border-radius: 10px;

    color: #26332f;

    font-size: 16px;
    font-weight: 600;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.calc-inputs input[type="number"]:focus {
    border-color: #01215A;
    box-shadow: 0 0 0 3px rgba(201, 168, 93, .15);
}


/* Range slider */

.calc-inputs input[type="range"] {
    width: 100%;

    height: 5px;

    margin: 0;

    accent-color: #01215A;

    cursor: pointer;
}


/* =========================================
   RESULTS AREA
========================================= */

.calc-results {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding: 45px;

    background: #01215A;
    color: #ffffff;
}

.result-main {
    margin-bottom: 32px;
}

.result-main .label {
    margin: 0 0 10px;

    color: #2E9122;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.result-main .amt {
    color: #ffffff;

    font-size: clamp(2.2rem, 4vw, 3rem);
    font-weight: 700;

    line-height: 1.1;
}

.result-main .amt span {
    margin-left: 7px;

    color: rgba(255, 255, 255, .55);

    font-size: 15px;
    font-weight: 500;
}


/* Result grid */

.result-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 22px;

    margin-bottom: 35px;
}

.result-item {
    padding-top: 14px;

    border-top: 1px solid rgba(255, 255, 255, .16);
}

.result-item .label {
    margin: 0 0 7px;

    color: rgba(255, 255, 255, .55);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: 1px;
    text-transform: uppercase;
}

.result-item .num {
    margin: 0;

    color: #ffffff;

    font-size: 17px;
    font-weight: 600;
}


/* =========================================
   CTA
========================================= */

.calc-results .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 52px;

    padding: 12px 20px;

    border: 0;
    border-radius: 26px;

    background: #2E9122;
    color: #ffffff;

    font-size: 15px;
    font-weight: 700;

    text-decoration: none;

    transition:
        background-color .2s ease,
        transform .2s ease;
}

.calc-results .btn:hover {
    background: #01215A;
    color: #ffffff;
	transform: translateY(-1px);
	border: 1px solid #fff;
}


/* =========================================
   DISCLAIMER
========================================= */

.calc-disclaimer {
    margin: 28px 0 0;

    color: rgba(255, 255, 255, .52);

    font-size: 12px;
    line-height: 1.6;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 860px) {

    .calc-card {
        grid-template-columns: 1fr;
    }

    .calc-inputs,
    .calc-results {
        padding: 40px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575.98px) {

    .calc-section {
        padding: 60px 0;
    }

    .calc-section .wrap {
        padding: 0 15px;
    }

    .calc-section .section-head {
        margin-bottom: 30px;
    }

    .calc-section .section-head h2 {
        font-size: 30px;
    }

    .calc-section .section-head .lede {
        font-size: 15px;
    }

    .calc-card {
        border-radius: 18px;
    }

    .calc-inputs,
    .calc-results {
        padding: 28px 22px;
    }

    .calc-inputs .field {
        margin-bottom: 24px;
    }

    .calc-results .amt {
        font-size: 2.2rem;
    }

    .result-grid {
        gap: 18px 14px;
    }

    .result-item .num {
        font-size: 15px;
    }
}
/* =========================================
   MORTGAGE CALCULATOR  ENDS
========================================= */

/* ==========================================
   ABOUT US PAGE  starts
   ========================================== */

.efd-about-page {
    overflow: hidden;
}

.efd-about-hero {
    position: relative;
    padding: 7rem 0 5rem;
    background:
        radial-gradient(circle at 82% 18%, rgba(207, 239, 231, .85) 0, rgba(207, 239, 231, 0) 32%),
        linear-gradient(135deg, #f6fbf9 0%, #ffffff 70%);
}

.efd-about-hero h1 {
    max-width: 760px;
    letter-spacing: -.045em;
}

.efd-about-hero h1 span {
    color: var(--efd-primary);
}

.efd-about-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.efd-about-hero-points > div {
    display: flex;
    flex-direction: column;
    max-width: 180px;
}

.efd-about-hero-points strong {
    color: var(--efd-primary);
    font-size: 1.65rem;
    line-height: 1.1;
}

.efd-about-hero-points span {
    margin-top: .35rem;
    color: #687873;
    font-size: .86rem;
    line-height: 1.4;
}

.efd-about-hero-card {
    position: relative;
    min-height: 450px;
    padding: 2.5rem;
    overflow: hidden;
    border-radius: 2rem;
/*     background: linear-gradient(145deg, var(--efd-dark), var(--efd-primary)); */
	background-color:#506da1;
    color: #fff;
    box-shadow: 0 2rem 4rem rgba(9, 44, 37, .18);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.efd-about-hero-card h2{color:#fff;}

.efd-about-hero-orbit {
    position: absolute;
    width: 330px;
    height: 330px;
    right: -110px;
    top: -100px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    box-shadow:
        0 0 0 45px rgba(255,255,255,.035),
        0 0 0 90px rgba(255,255,255,.025);
}

.efd-about-hero-mark {
    position: absolute;
    top: 2.5rem;
    left: 2.5rem;
    width: 74px;
    height: 74px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.18);
    font-size: 2rem;
    font-weight: 800;
}

.efd-about-hero-card-label {
    color: rgba(255,255,255,.62);
    font-size: .78rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: .75rem;
}


.efd-about-hero-card h2 {
    max-width: 420px;
    font-size: 2rem;
    line-height: 1.15;
    letter-spacing: -.03em;
}

.efd-about-hero-card p {
    max-width: 430px;
    color: rgba(255,255,255,.72);
}

.efd-about-hero-checks {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin-top: 1rem;
    color: rgba(255,255,255,.9);
    font-size: .92rem;
}

.efd-about-purpose {
    background: #fff;
}

.efd-value-card {
    height: 100%;
    padding: 1.5rem;
    border: 1px solid #e4ece8;
    border-radius: 1.25rem;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.efd-value-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1rem 2.5rem rgba(18,35,31,.07);
}

.efd-value-number {
    display: inline-flex;
    margin-bottom: 1rem;
    color: var(--efd-primary);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.efd-value-card h3 {
    font-size: 1.1rem;
    margin-bottom: .5rem;
}

.efd-value-card p {
    color: #697974;
    margin: 0;
    font-size: .92rem;
}

.efd-about-person {
    background: var(--efd-soft);
}

.efd-person-card {
    min-height: 430px;
    border-radius: 2rem;
    
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.efd-person-avatar {
    width: 130px;
    height: 130px;
    margin-bottom: auto;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    font-size: 2.25rem;
    font-weight: 800;
}

.efd-person-name {
    font-size: 2rem;
    font-weight: 800;
}

.efd-person-role {
    color: rgba(255,255,255,.72);
    margin-top: .35rem;
}

.efd-person-badge {
    display: inline-flex;
    align-self: flex-start;
    margin-top: 1.25rem;
    padding: .45rem .75rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.efd-speciality {
    height: 100%;
    padding: 1rem;
    border: 1px solid #e0e9e5;
    border-radius: 1rem;
    background: #fff;
}

.efd-speciality strong,
.efd-speciality span {
    display: block;
}

.efd-speciality strong {
    font-size: .9rem;
}

.efd-speciality span {
    margin-top: .35rem;
    color: #697974;
    font-size: .8rem;
    line-height: 1.45;
}

.efd-about-who {
    background: #fff;
}

.efd-credentials {
    display: grid;
    gap: .85rem;
}

.efd-credential {
    display: flex;
    gap: 1rem;
    padding: 1.15rem;
    border: 1px solid #e2eae6;
    border-radius: 1rem;
    background: #fff;
}

.efd-credential-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--efd-soft);
    color: var(--efd-primary);
    font-weight: 800;
}

.efd-credential strong {
    display: block;
    margin-bottom: .15rem;
}

.efd-credential p {
    margin: 0;
    color: #697974;
    font-size: .86rem;
}

.efd-about-process {
    background: #f8fbfa;
}

.efd-process-timeline {
    max-width: 920px;
    margin: 0 auto;
    position: relative;
}

.efd-process-step {
    position: relative;
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 1.5rem;
    padding: 1.5rem 0 1.5rem 0;
}

.efd-process-step:not(:last-child) {
    border-bottom: 1px solid #e1eae6;
}

.efd-process-number {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--efd-primary);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 .5rem 1.25rem rgba(11,107,85,.16);
}

.efd-process-step h3 {
    margin: .15rem 0 .4rem;
    font-size: 1.15rem;
}

.efd-process-step p {
    margin: 0;
    color: #687873;
}

.efd-about-cta {
    padding: 5rem 0;
/*     background: linear-gradient(135deg, var(--efd-dark), var(--efd-primary)); */
	background-color:#506da1;
}

@media (max-width: 991.98px) {
    .efd-about-hero {
        padding: 5rem 0 4rem;
    }

    .efd-about-hero-card {
        min-height: 390px;
    }

    .efd-about-person .row {
        align-items: stretch !important;
    }
}

@media (max-width: 575.98px) {
    .efd-about-hero {
        padding: 4rem 0 3rem;
    }

    .efd-about-hero-points {
        gap: 1.25rem;
    }

    .efd-about-hero-card,
    .efd-person-card {
        border-radius: 1.5rem;
        padding: 1.75rem;
    }

    .efd-about-hero-card {
        min-height: 390px;
    }

    .efd-about-hero-mark {
        top: 1.75rem;
        left: 1.75rem;
    }

    .efd-process-step {
        grid-template-columns: 52px 1fr;
        gap: 1rem;
    }

    .efd-process-number {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        font-size: .8rem;
    }
}
/* ==========================================
   ABOUT US PAGE  Ends
   ========================================== */
/* ==========================================
   LOCATION PAGE
   ========================================== */
.efd-location-page {
  overflow: hidden;
}
.efd-location-hero {
  padding: 7rem 0 5rem;
  background:
    radial-gradient(
      circle at 82% 15%,
      rgba(206, 237, 228, 0.9) 0,
      rgba(206, 237, 228, 0) 34%
    ),
    linear-gradient(135deg, #f6fbf9 0%, #fff 72%);
}
.efd-location-hero h1 {
  max-width: 760px;
  letter-spacing: -0.045em;
}
.efd-location-hero h1 span {
  color: var(--efd-primary);
}
.efd-location-hero-card {
  position: relative;
  min-height: 430px;
  padding: 2.5rem;
  border-radius: 2rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
  background: linear-gradient(135deg, #d0e6d7 0%, #b9d8c7 100%);
  box-shadow: 0 2rem 4rem rgba(9, 44, 37, 0.16);
}
.efd-location-map-shape {
  position: absolute;
  width: 360px;
  height: 360px;
  top: -90px;
  right: -100px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 48% 52% 45% 55%;
  transform: rotate(18deg);
}
.efd-location-map-shape:before,
.efd-location-map-shape:after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
}
.efd-location-map-shape:before {
  inset: 35px;
}
.efd-location-map-shape:after {
  inset: 75px;
}
.efd-map-dot {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.08);
}
.dot-one {
  left: 105px;
  top: 135px;
}
.dot-two {
  right: 92px;
  top: 105px;
}
.dot-three {
  right: 145px;
  bottom: 85px;
}
.efd-location-card-label {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.efd-location-hero-card h2 {
  position: relative;
  max-width: 420px;
  margin: 0.75rem 0 0.65rem;
  font-size: 2rem;
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.efd-location-hero-card p {
  position: relative;
  max-width: 430px;
  color: rgba(255, 255, 255, 0.72);
}
.efd-location-card-points {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.8rem;
  font-size: 0.9rem;
}
.efd-location-intro,
.efd-location-why {
  background: #fff;
}
.efd-location-list,
.efd-location-services,
.efd-location-faq {
  background: #f8fbfa;
}
.efd-location-card {
  position: relative;
  padding: 1.7rem;
  border: 1px solid #e1eae6;
  border-radius: 1.35rem;
  background: #fff;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.efd-location-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 1.25rem 2.5rem rgba(18, 35, 31, 0.07);
}
.efd-location-card-number {
  color: var(--efd-primary);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.efd-location-tag {
  display: block;
  margin-top: 0.75rem;
  color: #81908b;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.efd-location-card h3 {
  margin: 0.55rem 0 0.7rem;
  font-size: 1.3rem;
  letter-spacing: -0.02em;
}
.efd-location-card p {
  color: #687873;
  font-size: 0.9rem;
  line-height: 1.65;
}
.efd-location-arrow {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  margin-top: 0.4rem;
  color: var(--efd-primary);
  font-weight: 700;
  text-decoration: none;
}
.efd-location-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  padding: 1.1rem 1.3rem;
  border: 1px solid #dfe9e5;
  border-radius: 1rem;
  background: #fff;
  color: #687873;
  font-size: 0.9rem;
}
.efd-location-note strong {
  color: var(--efd-dark);
}
.efd-location-note a {
  margin-left: auto;
  color: var(--efd-primary);
  font-weight: 700;
  text-decoration: none;
}
.efd-location-feature {
  height: 100%;
  padding: 1.4rem;
  border: 1px solid #e2ebe7;
  border-radius: 1.15rem;
  background: #fff;
}
.efd-location-feature > span {
  display: inline-flex;
  color: var(--efd-primary);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.efd-location-feature h3 {
  margin: 0.65rem 0 0.45rem;
  font-size: 1.05rem;
}
.efd-location-feature p {
  margin: 0;
  color: #687873;
  font-size: 0.86rem;
  line-height: 1.55;
}
.efd-location-service {
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem;
  border: 1px solid #e1eae6;
  border-radius: 1.15rem;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease;
}
.efd-location-service:hover {
  transform: translateY(-3px);
  border-color: rgba(11, 107, 85, 0.35);
}
.efd-location-service h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
}
.efd-location-service p {
  margin: 0;
  color: #687873;
  font-size: 0.84rem;
  line-height: 1.55;
}
.efd-location-service > span {
  flex: 0 0 auto;
  color: var(--efd-primary);
  font-size: 1.2rem;
  font-weight: 700;
}
.efd-location-process {
  background: #fff;
}
.efd-location-process-list {
  border-top: 1px solid #dfe8e4;
}
.efd-location-process-item {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 1.25rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid #dfe8e4;
}
.efd-location-process-item > span {
  color: var(--efd-primary);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.efd-location-process-item h3 {
  margin: 0 0 0.3rem;
  font-size: 1.05rem;
}
.efd-location-process-item p {
  margin: 0;
  color: #687873;
  font-size: 0.88rem;
  line-height: 1.55;
}
.efd-faq-accordion {
  max-width: 900px;
}
.efd-faq-accordion .accordion-item {
  margin-bottom: 0.7rem;
  border: 1px solid #e0e9e5;
  border-radius: 1rem !important;
  overflow: hidden;
  background: #fff;
}
.efd-faq-accordion .accordion-button {
  padding: 1.2rem 1.3rem;
  color: var(--efd-dark);
  font-weight: 700;
  background: #fff;
  box-shadow: none;
}
.efd-faq-accordion .accordion-button:not(.collapsed) {
  color: var(--efd-primary);
  background: #fff;
}
.efd-faq-accordion .accordion-body {
  padding: 0 1.3rem 1.3rem;
  color: #687873;
  line-height: 1.65;
}
.efd-location-cta {
  padding: 5rem 0;
  background: #506da1;
}
@media (max-width: 991.98px) {
  .efd-location-hero {
    padding: 5rem 0 4rem;
  }
  .efd-location-hero-card {
    min-height: 390px;
  }
}
@media (max-width: 575.98px) {
  .efd-location-hero {
    padding: 4rem 0 3rem;
  }
  .efd-location-hero-card {
    padding: 1.75rem;
    min-height: 390px;
    border-radius: 1.5rem;
  }
  .efd-location-note a {
    width: 100%;
    margin-left: 0;
  }
  .efd-location-process-item {
    grid-template-columns: 45px 1fr;
    gap: 0.8rem;
  }
}
/* ==========================================
   CONTACT US PAGE
   ========================================== */

.efd-contact-page {
    overflow: hidden;
}

.efd-contact-hero {
    position: relative;
    padding: 6.5rem 0 5.5rem;
    background:
        radial-gradient(circle at 12% 12%, rgba(207, 239, 231, .72) 0, rgba(207, 239, 231, 0) 32%),
        linear-gradient(135deg, #f7fbfa 0%, #ffffff 72%);
}

.efd-contact-hero h1 {
    max-width: 720px;
    letter-spacing: -.045em;
}

.efd-contact-hero h1 span {
    color: var(--efd-primary);
}

.efd-contact-quick-points {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem 1.35rem;
    color: #65756f;
    font-size: .88rem;
}

.efd-contact-quick-points span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.efd-contact-quick-points i {
    color: var(--efd-primary);
}

.efd-contact-form-card {
    position: relative;
    padding: 2.25rem;
    border: 1px solid rgba(11, 107, 85, .11);
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 2rem 4.5rem rgba(9, 44, 37, .12);
}

.efd-contact-form-heading {
    margin-bottom: 1.5rem;
}

.efd-contact-form-label,
.efd-contact-connect-label {
    display: inline-block;
    color: var(--efd-primary);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.efd-contact-form-heading h2 {
    margin: .55rem 0 .45rem;
    font-size: 1.85rem;
    font-weight: 700;
    letter-spacing: -.025em;
}

.efd-contact-form-heading p {
    margin: 0;
    color: #697974;
}

.efd-contact-form-wrap .ff-el-group {
    margin-bottom: 1rem;
}

.efd-contact-form-wrap .ff-el-input--label label {
    margin-bottom: .4rem;
    color: #26332f;
    font-size: .84rem;
    font-weight: 600;
}

.efd-contact-form-wrap input:not([type="checkbox"]):not([type="radio"]),
.efd-contact-form-wrap select,
.efd-contact-form-wrap textarea {
    width: 100% !important;
    min-height: 52px !important;
    padding: .8rem 1rem !important;
    border: 1px solid #dce6e2 !important;
    border-radius: .8rem !important;
    background: #fbfdfc !important;
    color: #26332f !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.efd-contact-form-wrap textarea {
    min-height: 125px !important;
}

.efd-contact-form-wrap input:focus,
.efd-contact-form-wrap select:focus,
.efd-contact-form-wrap textarea:focus {
    border-color: rgba(11, 107, 85, .6) !important;
    background: #fff !important;
    box-shadow: 0 0 0 .2rem rgba(11, 107, 85, .08) !important;
}

.efd-contact-form-wrap .ff-btn-submit {
    min-height: 52px;
    padding: .75rem 1.35rem !important;
    border: 0 !important;
    border-radius: .8rem !important;
    background: var(--efd-primary) !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    transition: transform .2s ease, background-color .2s ease;
}

.efd-contact-form-wrap .ff-btn-submit:hover {
    background: #01215A !important;
    transform: translateY(-1px);
}

.efd-contact-form-wrap .text-danger {
    font-size: .76rem;
}

.efd-contact-details {
    background: #fff;
}

.efd-contact-info-card {
    display: flex;
    height: 100%;
    min-height: 245px;
    flex-direction: column;
    padding: 1.5rem;
    border: 1px solid #e1eae6;
    border-radius: 1.35rem;
    background: #fff;
    color: var(--efd-ink);
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.efd-contact-info-card:hover {
    color: var(--efd-ink);
    transform: translateY(-4px);
    border-color: rgba(11, 107, 85, .28);
    box-shadow: 0 1rem 2.5rem rgba(18, 35, 31, .07);
}

.efd-contact-info-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    border-radius: 14px;
    background: var(--efd-soft);
    color: var(--efd-primary);
    font-size: 1.15rem;
}

.efd-contact-info-label {
    margin-bottom: .5rem;
    color: #7a8984;
    font-size: .71rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.efd-contact-info-card strong {
    display: block;
    color: #26332f;
    font-size: .98rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.efd-contact-info-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: auto;
    padding-top: 1rem;
    color: var(--efd-primary);
    font-size: .82rem;
    font-weight: 700;
}

.efd-contact-connect {
    padding-top: 0;
    background: #fff;
}

.efd-contact-connect-card {
    padding: 2.5rem 3rem;
    border-radius: 1.75rem;
    background: linear-gradient(135deg, var(--efd-dark), var(--efd-primary));
    color: #fff;
    box-shadow: 0 1.5rem 3.5rem rgba(9, 44, 37, .14);
}

.efd-contact-connect-label {
    color: rgba(255, 255, 255, .62);
}

.efd-contact-connect-card h2 {
    margin-top: .65rem;
    font-size: 1.85rem;
    font-weight: 700;
    letter-spacing: -.025em;
}

.efd-contact-connect-card p {
    max-width: 700px;
    color: rgba(255, 255, 255, .72);
}

.efd-contact-socials {
    display: flex;
    gap: .8rem;
}

.efd-contact-socials a {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 16px;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    font-size: 1.1rem;
    transition: transform .2s ease, background-color .2s ease;
}

.efd-contact-socials a:hover {
    color: #fff;
    background: rgba(255, 255, 255, .18);
    transform: translateY(-2px);
}

@media (max-width: 991.98px) {
    .efd-contact-hero {
        padding: 5rem 0 4.5rem;
    }

    .efd-contact-connect-card {
        padding: 2.25rem;
    }
}

@media (max-width: 575.98px) {
    .efd-contact-hero {
        padding: 4rem 0 3.5rem;
    }

    .efd-contact-form-card {
        padding: 1.4rem;
        border-radius: 1.4rem;
    }

    .efd-contact-form-heading h2,
    .efd-contact-connect-card h2 {
        font-size: 1.55rem;
    }

    .efd-contact-quick-points {
        flex-direction: column;
        gap: .65rem;
    }

    .efd-contact-info-card {
        min-height: 220px;
    }

    .efd-contact-connect-card {
        padding: 1.75rem;
        border-radius: 1.4rem;
    }
}

/* ==========================================
   CONTACT US PAGE ENDS
   ========================================== */
/* Shared building blocks */
.efd-service-page { overflow: hidden; }
.efd-service-page .eyebrow,
.efd-section-heading .eyebrow {
    color: var(--efd-service-primary);
    font-size: 1.2rem !important;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.efd-service-page .btn-primary {
/*     background: var(--efd-service-primary);
    border-color: var(--efd-service-primary); */
}
.efd-service-page .btn-primary:hover {
/*     background: var(--efd-service-dark);
    border-color: var(--efd-service-dark); */
}
.efd-service-page .service-card {
    height: 100%;
    padding: 1.75rem;
    background: #fff;
    border: 1px solid var(--efd-service-border);
    border-radius: var(--efd-service-radius);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.efd-service-page .service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1rem 2.5rem rgba(18,35,31,.07);
    border-color: rgba(11,107,85,.2);
}
.efd-service-page .service-icon {
    width: 50px; height: 50px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 14px; background: var(--efd-service-soft); color: var(--efd-service-primary); font-size: 1.35rem;
}
.efd-service-page .service-form input,
.efd-service-page .service-form select,
.efd-service-page .service-form textarea {
    border-radius: .75rem !important; min-height: 48px; border-color: #dfe8e4 !important;
}
.efd-service-page .service-form button[type=submit],
.efd-service-page .service-form .ff-btn-submit { width: 100%; border-radius: 999px !important; min-height: 50px; }

/* ==========================================================
   FIRST HOME BUYER LANDING PAGE
========================================================== */
.efd-fhb-page { overflow:hidden; }
.efd-fhb-page .btn-primary {
/*     background: var(--efd-service-primary);
    border-color: var(--efd-service-primary); */
}
.efd-fhb-hero { position:relative; min-height:760px; display:flex; align-items:center; background:var(--efd-dark); }
.efd-fhb-hero-image { position:absolute; inset:0; background-size:cover; background-position:center; }
.efd-fhb-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,31,26,.94) 0%,rgba(6,31,26,.78) 45%,rgba(6,31,26,.35) 100%); }
.efd-fhb-hero-copy { max-width:760px; padding:3rem 0; }
.efd-fhb-hero h1 { letter-spacing:-.04em; line-height:1.02; }
.efd-fhb-hero h1 span { color:#b9e5d5; }
.efd-fhb-hero-copy .lead { max-width:680px; color:rgba(255,255,255,.88)!important; }
.efd-fhb-hero-points { color:rgba(255,255,255,.82); font-size:.9rem; }
.efd-fhb-hero-points i { color:#b9e5d5; margin-right:.3rem; }
.efd-fhb-form-card { position:relative; background:#fff; border-radius:1.5rem; padding:2rem; border:1px solid rgba(255,255,255,.25); }
.efd-fhb-form-card .ff-el-group { margin-bottom:1rem; }
.efd-fhb-form-card .form-control,.efd-fhb-form-card .form-select,.efd-fhb-form-card input,.efd-fhb-form-card select,.efd-fhb-form-card textarea { border-radius:.75rem!important; min-height:48px; border-color:#dfe8e4!important; }
.efd-fhb-form-card button[type=submit],.efd-fhb-form-card .ff-btn-submit { width:100%; border-radius:999px!important; min-height:50px; }
.efd-fhb-form-trust { display:flex; align-items:center; gap:.55rem; margin-top:1rem; font-size:.78rem; color:#71807b; }
.efd-fhb-form-trust i { color:var(--efd-primary); font-size:1rem; }
.efd-fhb-highlight-card { background:var(--efd-soft); border:1px solid rgba(11,107,85,.08); border-radius:1.5rem; padding:2.5rem; }
.efd-fhb-highlight-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; border-radius:16px; background:#fff; color:var(--efd-primary); font-size:1.65rem; margin-bottom:1.5rem; box-shadow:0 .5rem 1.5rem rgba(18,35,31,.05); }
.efd-fhb-feature,.efd-fhb-info-card,.efd-fhb-support-card,.efd-fhb-process-card { background:#fff; border:1px solid #e5ece9; border-radius:1.25rem; padding:1.75rem; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.efd-fhb-feature:hover,.efd-fhb-info-card:hover,.efd-fhb-support-card:hover,.efd-fhb-process-card:hover { transform:translateY(-4px); box-shadow:0 1rem 2.5rem rgba(18,35,31,.07); border-color:rgba(11,107,85,.2); }
.efd-fhb-info-card { position:relative; height:100%; }
.efd-fhb-number { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 .7rem; border-radius:50%; background:var(--efd-soft); color:var(--efd-primary); font-size:.8rem; font-weight:800; }
.efd-fhb-dark-section { background: linear-gradient(135deg, #d0e6d7 0%, #b9d8c7 100%); }
/* .efd-fhb-dark-section .eyebrow {color:#fff !important;} */
/* .efd-eyebrow , .efd-calculator-eyebrow {font-size: 1.2rem;} */
.efd-fhb-dark-section .text-white{color:#01215A !important;}
.text-black-50{color:#12231f !important;}
.efd-location-card-points span{color:#12231f !important;}
.efd-fhb-dark-card { padding:2.25rem; border:1px solid rgba(255,255,255,.14); border-radius:1.5rem; background:rgba(255,255,255,1); }
.font-76{font-size:.76rem !important;}
.efd-fhb-dark-card > i { color:#2E9122; font-size:2rem; }
.efd-fhb-support-icon { width:50px; height:50px; display:inline-flex; align-items:center; justify-content:center; border-radius:14px; background:var(--efd-soft); color:var(--efd-primary); font-size:1.35rem; }
.efd-fhb-disclaimer { background:var(--efd-soft); color:#48615a; border:0; border-radius:1rem; padding:1rem 1.25rem; }
.efd-fhb-cost-list { background:#fff; border:1px solid #e3ebe7; border-radius:1.5rem; overflow:hidden; }
.efd-fhb-cost-list > div { display:flex; gap:1rem; align-items:flex-start; padding:1.25rem 1.5rem; border-bottom:1px solid #e8eeeb; }
.efd-fhb-cost-list > div:last-child { border-bottom:0; }
.efd-fhb-cost-list i { width:42px; height:42px; flex:0 0 42px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:var(--efd-soft); color:var(--efd-primary); }
.efd-fhb-cost-list span { display:flex; flex-direction:column; gap:.2rem; }
.efd-fhb-cost-list strong { color:var(--efd-ink); }
.efd-fhb-cost-list small { color:#71807b; }
.efd-fhb-process-card { height:100%; }
.efd-fhb-process-card .efd-fhb-number { background:var(--efd-primary); color:#fff; }
.efd-fhb-feature-section { background:linear-gradient(180deg,#fff 0,#f7fbfa 100%); }
.efd-fhb-mini { display:flex; gap:1rem; align-items:flex-start; height:100%; background:#fff; border:1px solid #e3ebe7; border-radius:1rem; padding:1.25rem; }
.efd-fhb-mini > i { color:var(--efd-primary); font-size:1.35rem; }
.efd-fhb-mini div { display:flex; flex-direction:column; gap:.25rem; }
.efd-fhb-mini span { color:#71807b; font-size:.9rem; }
.efd-fhb-reasons { border-top:1px solid #e4ebe8; }
.efd-fhb-reasons > div { display:flex; gap:1rem; padding:1.15rem 0; border-bottom:1px solid #e4ebe8; }
.efd-fhb-reasons i { display:flex; width:34px; height:34px; flex:0 0 34px; align-items:center; justify-content:center; border-radius:50%; background:var(--efd-soft); color:var(--efd-primary); }
.efd-fhb-reasons span { display:flex; flex-direction:column; gap:.2rem; }
.efd-fhb-reasons small { color:#71807b; }
.efd-fhb-faq { max-width:900px; }
.efd-fhb-final-cta { padding:5rem 0; 
/* 	background:linear-gradient(135deg,var(--efd-dark),var(--efd-primary)); */
	background-color:#506da1;
}
.efd-fhb-page .review{background: rgba(255,255,255,1) !important;}
@media(max-width:991.98px){
  .efd-fhb-hero { min-height:0; }
  .efd-fhb-hero-overlay { background:linear-gradient(180deg,rgba(6,31,26,.88),rgba(6,31,26,.72)); }
  .efd-fhb-hero-copy { padding:2rem 0 1rem; }
}
@media(max-width:575.98px){
  .efd-fhb-form-card,.efd-fhb-highlight-card { padding:1.35rem; border-radius:1.1rem; }
  .efd-fhb-hero h1 { font-size:2.55rem; }
  .efd-fhb-hero-points { flex-direction:column; gap:.6rem!important; }
  .efd-fhb-final-cta { padding:4rem 0; }
}


/* ==========================================
   CONSTRUCTION LOAN PAGE
========================================== */
.efd-construction-page { overflow: hidden; }
.efd-construction-hero { position: relative; min-height: 760px; display: flex; align-items: center; padding: 100px 0; background-image: var(--construction-bg); background-size: cover; background-position: center; }
.efd-construction-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,32,26,.92) 0%, rgba(5,32,26,.72) 48%, rgba(5,32,26,.38) 100%); }
.efd-construction-hero .eyebrow { letter-spacing: .12em; font-size: .78rem; font-weight: 700; }
.efd-construction-hero-points { display: flex; flex-wrap: wrap; gap: 12px 22px; color: #fff; font-size: .92rem; }
.efd-construction-form-card { background: #fff; border-radius: 1.5rem; padding: 2rem; box-shadow: 0 25px 70px rgba(0,0,0,.22); }
.efd-construction-form-card h2 { color: #01215A; font-weight: 700; margin: .35rem 0 .5rem; }
.efd-construction-form-card p { color: #66716d; }
.efd-form-kicker { color: var(--efd-primary); font-size: 1.2rem !important; font-weight: 800; letter-spacing: .1em; }
.efd-construction-intro { background: #fff; }
.efd-section-heading { max-width: 760px; }
.efd-section-heading .eyebrow, .efd-construction-page .eyebrow { color: var(--efd-primary); font-size: .76rem; font-weight: 800; letter-spacing: .1em; }
.efd-construction-hero .eyebrow { color: #fff; }
.efd-construction-highlight { background: #e8f4f1; border-radius: 1.5rem; padding: 2.5rem; position: relative; }
.efd-highlight-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--efd-primary); color: #fff; font-weight: 700; margin-bottom: 1.5rem; }
.efd-construction-highlight h3, .efd-construction-card h3, .efd-use-card h3, .efd-requirement-card h3 { font-weight: 700; color: var(--efd-primary); }
.efd-mini-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 1.5rem; font-size: .92rem; }
.efd-construction-card, .efd-use-card, .efd-requirement-card { height: 100%; padding: 1.75rem; background: #fff; border: 1px solid rgba(11,107,85,.10); border-radius: 1.25rem; box-shadow: 0 10px 30px rgba(0,0,0,.04); }
.efd-construction-card > span { display: inline-flex; margin-bottom: 1rem; font-size: .78rem; font-weight: 800; color: var(--efd-primary); }
.efd-construction-card p, .efd-use-card p, .efd-requirement-card p { color: #68746f; margin-bottom: 0; line-height: 1.7; }
.efd-construction-process { background: #f8fbfa; }
.efd-service-process-line {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 3rem;
}

.efd-service-process-step {
    background: #fff;
    border-radius: 1.25rem;
    padding: 1.75rem;
    border: 1px solid rgba(11, 107, 85, .08);
    min-width: 0;
    width: 100%;
}

.efd-service-process-step strong {
    display: block;
    width: 100%;
    color: var(--efd-primary);
    font-size: 1.6rem;
    line-height: 1.2;
    margin-bottom: .75rem;
}

.efd-service-process-step h3 {
    display: block;
    width: 100%;
    max-width: none;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 .75rem;
}

.efd-service-process-step p {
    display: block;
    width: 100%;
    max-width: none;
    color: #68746f;
    margin: 0;
    line-height: 1.65;
}
.efd-stage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.efd-stage-grid > div { background: #fff; border-radius: 1rem; padding: 1.25rem; border: 1px solid rgba(11,107,85,.08); }
.efd-stage-grid span { display: block; color: var(--efd-primary); font-weight: 800; font-size: .75rem; margin-bottom: .5rem; }
.efd-stage-grid strong { display: block; margin-bottom: .35rem; }
.efd-stage-grid p { color: #68746f; margin: 0; font-size: .9rem; }
.efd-documents-section { background: #e8f4f1; }
.efd-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.efd-cost-list { display: grid; gap: .8rem; }
.efd-cost-list > div { background: #fff; border-radius: 1rem; padding: 1.15rem 1.25rem; display: flex; flex-direction: column; gap: .25rem; }
.efd-cost-list strong { color: var(--efd-primary); }
.efd-cost-list span { color: #68746f; font-size: .92rem; }
.efd-benefit-list { display: grid; gap: 1rem; margin-top: 1.75rem; }
.efd-benefit-list > div { display: flex; flex-direction: column; gap: .2rem; padding-left: 1.1rem; border-left: 3px solid var(--efd-primary); }
.efd-benefit-list strong { color: var(--efd-primary); }
.efd-benefit-list span { color: #68746f; }
.efd-quote-card { background: #506da1 !important; color: #fff; border-radius: 1.5rem; padding: 3rem; position: relative; overflow: hidden; }
.efd-quote-mark { font-size: 5rem; line-height: .7; opacity: .22; position: absolute; right: 25px; top: 25px; }
.efd-quote-card h3 { font-size: 2rem; color:#fff !important;
    line-height: 1.15;
    letter-spacing: -.03em; position: relative; }
.efd-quote-card p { color: rgba(255,255,255,.78); line-height: 1.75; position: relative; }
.efd-construction-faq .accordion-item { border: 0; margin-bottom: .75rem; border-radius: 1rem; overflow: hidden; }
.efd-construction-faq .accordion-button { font-weight: 700;  padding: 1.25rem 1.4rem; box-shadow: none; }
.efd-construction-faq .accordion-button:not(.collapsed) { background: #e8f4f1; color: var(--efd-primary); }
.efd-construction-faq .accordion-body { color: #68746f; line-height: 1.75; background: #fff; }
.efd-construction-final { background: #506da1; }
.efd-construction-final .eyebrow { color: #fff; }
.efd-construction-page .review{background: rgba(255,255,255,1) !important;}

@media (max-width: 991.98px) {
    .efd-construction-hero { min-height: auto; padding: 80px 0; }
    .efd-construction-hero-overlay { background: rgba(5,32,26,.72); }
    .efd-service-process-line { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) {
    .efd-construction-hero { padding: 55px 0; }
    .efd-construction-form-card { padding: 1.25rem; border-radius: 1rem; margin-top: 1rem; }
    .efd-mini-list, .efd-stage-grid, .efd-checklist, .efd-service-process-line { grid-template-columns: 1fr; }
    .efd-quote-card { padding: 2rem; }
    .efd-quote-card h3 { font-size: 1.55rem; }
}
/* ==========================================
   CREDIT IMPAIRED LOAN SERVICE PAGE
   ========================================== */
.efd-credit-page {
    overflow: hidden;
}

.efd-credit-hero {
    position: relative;
    min-height: 760px;
    display: flex;
    align-items: center;
    padding: 100px 0;
    background-image: var(--credit-bg);
    background-size: cover;
    background-position: center;
}

.efd-credit-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(5, 32, 26, .92) 0%,
        rgba(5, 32, 26, .72) 48%,
        rgba(5, 32, 26, .38) 100%
    );
}

.efd-credit-hero .eyebrow {
    color: #fff;
    letter-spacing: .12em;
    font-size: .78rem;
    font-weight: 700;
}

.efd-credit-hero h1 {
    max-width: 780px;
}

.efd-credit-hero p.lead {
    max-width: 720px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .86);
}

.efd-credit-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    color: #fff;
    font-size: .92rem;
}

.efd-credit-form-card {
    background: #fff;
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .22);
}

.efd-credit-form-card h2 {
    color: var(--efd-primary);
    font-weight: 700;
    margin: .35rem 0 .5rem;
}

.efd-credit-form-card p {
    color: #66716d;
}

.efd-form-kicker {
    color: var(--efd-primary);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.efd-credit-intro {
    background: #fff;
}

.efd-section-heading {
    max-width: 760px;
}

.efd-section-heading .eyebrow,
.efd-credit-page .eyebrow {
    color: var(--efd-primary);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.efd-credit-hero .eyebrow,
.efd-credit-final .eyebrow {
    color: #fff;
}

.efd-credit-highlight {
    background: #e8f4f1;
    border-radius: 1.5rem;
    padding: 2.5rem;
    position: relative;
}

.efd-highlight-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--efd-primary);
    color: #fff;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.efd-credit-highlight h3,
.efd-credit-card h3,
.efd-use-card h3,
.efd-requirement-card h3 {
    font-weight: 700;
/*     color: var(--efd-primary); */
}

.efd-mini-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 1.5rem;
    font-size: .92rem;
}

.efd-credit-card,
.efd-use-card,
.efd-requirement-card {
    height: 100%;
    padding: 1.75rem;
    background: #fff;
    border: 1px solid rgba(11, 107, 85, .10);
    border-radius: 1.25rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .04);
}

.efd-credit-card > span {
    display: inline-flex;
    margin-bottom: 1rem;
    font-size: .78rem;
    font-weight: 800;
    color: var(--efd-primary);
}

.efd-credit-card p,
.efd-use-card p,
.efd-requirement-card p {
    color: #68746f;
    margin-bottom: 0;
    line-height: 1.7;
}

.efd-credit-process {
    background: #f8fbfa;
}

.efd-service-process-line {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 3rem;
}

.efd-service-process-step {
    background: #fff;
    border-radius: 1.25rem;
    padding: 1.75rem;
    border: 1px solid rgba(11, 107, 85, .08);
    min-width: 0;
    width: 100%;
}

.efd-service-process-step strong {
    display: block;
    width: 100%;
    color: var(--efd-primary);
    font-size: 1.6rem;
    line-height: 1.2;
    margin-bottom: .75rem;
}

.efd-service-process-step h3 {
    display: block;
    width: 100%;
    max-width: none;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 .75rem;
}

.efd-service-process-step p {
    display: block;
    width: 100%;
    max-width: none;
    color: #68746f;
    margin: 0;
    line-height: 1.65;
}

.efd-documents-section {
    background: #e8f4f1;
}

.efd-checklist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}




.efd-benefit-list {
    display: grid;
    gap: 1rem;
    margin-top: 1.75rem;
}

.efd-benefit-list > div {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding-left: 1.1rem;
    border-left: 3px solid var(--efd-primary);
}

.efd-benefit-list strong {
    color: var(--efd-primary);
}

.efd-benefit-list span {
    color: #68746f;
}

.efd-quote-card {
    background: var(--efd-primary);
    color: #fff;
    border-radius: 1.5rem;
    padding: 3rem;
    position: relative;
    overflow: hidden;
}

.efd-quote-mark {
    font-size: 5rem;
    line-height: .7;
    opacity: .22;
    position: absolute;
    right: 25px;
    top: 25px;
}

.efd-quote-card h3 {
    font-size: 2rem;
    font-weight: 700;
    position: relative;
}

.efd-quote-card p {
    color: rgba(255, 255, 255, .78);
    line-height: 1.75;
    position: relative;
}

.efd-credit-faq .accordion-item {
    border: 0;
    margin-bottom: .75rem;
    border-radius: 1rem;
    overflow: hidden;
}

.efd-credit-faq .accordion-button {
    font-weight: 700;
/*     color: var(--efd-primary); */
    padding: 1.25rem 1.4rem;
    box-shadow: none;
}

.efd-credit-faq .accordion-button:not(.collapsed) {
    background: #e8f4f1;
    color: var(--efd-primary);
}

.efd-credit-faq .accordion-body {
    color: #68746f;
    line-height: 1.75;
    background: #fff;
}

.efd-credit-final {
    background: #506da1;
}

.efd-credit-page .review {
    background: rgba(255, 255, 255, 1) !important;
}

@media (max-width: 991.98px) {
    .efd-credit-hero {
        min-height: auto;
        padding: 80px 0;
    }

    .efd-credit-hero-overlay {
        background: rgba(5, 32, 26, .72);
    }

    .efd-service-process-line {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767.98px) {
    .efd-credit-hero {
        padding: 55px 0;
    }

    .efd-credit-form-card {
        padding: 1.25rem;
        border-radius: 1rem;
        margin-top: 1rem;
    }

    .efd-mini-list,
    .efd-checklist,
    .efd-service-process-line {
        grid-template-columns: 1fr;
    }

    .efd-quote-card {
        padding: 2rem;
    }

    .efd-quote-card h3 {
        font-size: 1.55rem;
    }
}
/* ==========================================
   SMSF LOAN SERVICE PAGE
   ========================================== */

.efd-smsf-page {
    overflow: hidden;
}

.efd-smsf-hero {
    position: relative;
    min-height: 760px;
    display: flex;
    align-items: center;
    padding: 100px 0;
    background-image: var(--smsf-bg);
    background-size: cover;
    background-position: center;
}

.efd-smsf-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(5, 32, 26, .92) 0%,
        rgba(5, 32, 26, .72) 48%,
        rgba(5, 32, 26, .38) 100%
    );
}

.efd-smsf-hero .eyebrow {
    color: #fff;
    letter-spacing: .12em;
    font-size: .78rem;
    font-weight: 700;
}

.efd-smsf-hero h1 {
    max-width: 780px;
}

.efd-smsf-hero p.lead {
    max-width: 720px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .86);
}

.efd-smsf-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    color: #fff;
    font-size: .92rem;
}

.efd-smsf-form-card {
    background: #fff;
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .22);
}

.efd-smsf-form-card h2 {
    color: #01215A;
    font-weight: 700;
    margin: .35rem 0 .5rem;
}

.efd-smsf-form-card p {
    color: #66716d;
}

.efd-form-kicker {
    color: var(--efd-primary);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.efd-smsf-intro {
    background: #fff;
}

.efd-section-heading {
    max-width: 760px;
}

.efd-section-heading .eyebrow,
.efd-smsf-page .eyebrow {
    color: var(--efd-primary);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.efd-smsf-hero .eyebrow,
.efd-smsf-final .eyebrow {
    color: #fff;
}
.efd-smsf-page .section-padding {
    padding: 4rem 0;
}
.efd-smsf-highlight {
    background: #e8f4f1;
    border-radius: 1.5rem;
    padding: 2.5rem;
    position: relative;
}

.efd-highlight-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--efd-primary);
    color: #fff;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.efd-smsf-highlight h3,
.efd-smsf-card h3,
.efd-use-card h3,
.efd-requirement-card h3 {
    font-weight: 700;
    color: #01215A;
}

.efd-mini-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 1.5rem;
    font-size: .92rem;
}

.efd-smsf-card,
.efd-use-card,
.efd-requirement-card {
    height: 100%;
    padding: 1.75rem;
    background: #fff;
    border: 1px solid rgba(11, 107, 85, .10);
    border-radius: 1.25rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .04);
}

.efd-smsf-card > span {
    display: inline-flex;
    margin-bottom: 1rem;
    font-size: .78rem;
    font-weight: 800;
    color: var(--efd-primary);
}

.efd-smsf-card p,
.efd-use-card p,
.efd-requirement-card p {
    color: #68746f;
    margin-bottom: 0;
    line-height: 1.7;
}

.efd-smsf-process {
    background: #f8fbfa;
}

.efd-service-process-line {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 3rem;
}

.efd-service-process-step {
    background: #fff;
    border-radius: 1.25rem;
    padding: 1.75rem;
    border: 1px solid rgba(11, 107, 85, .08);
    min-width: 0;
    width: 100%;
}

.efd-service-process-step strong {
    display: block;
    width: 100%;
    color: var(--efd-primary);
    font-size: 1.6rem;
    line-height: 1.2;
    margin-bottom: .75rem;
}

.efd-service-process-step h3 {
    display: block;
    width: 100%;
    max-width: none;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 .75rem;
}

.efd-service-process-step p {
    display: block;
    width: 100%;
    max-width: none;
    color: #68746f;
    margin: 0;
    line-height: 1.65;
}

.efd-documents-section {
    background: #e8f4f1;
}

.efd-checklist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}



.efd-advice-list {
    display: grid;
    gap: 1rem;
}

.efd-advice-list > div {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: 1.15rem 1.25rem;
    background: #fff;
    border-radius: 1rem;
    border: 1px solid rgba(11, 107, 85, .08);
}

.efd-advice-list strong {
    color: var(--efd-primary);
}

.efd-advice-list span {
    color: #68746f;
    line-height: 1.65;
}

.efd-benefit-list {
    display: grid;
    gap: 1rem;
    margin-top: 1.75rem;
}

.efd-benefit-list > div {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding-left: 1.1rem;
    border-left: 3px solid var(--efd-primary);
}

.efd-benefit-list strong {
    color: var(--efd-primary);
}

.efd-benefit-list span {
    color: #68746f;
}

.efd-quote-card {
    background: var(--efd-primary);
    color: #fff;
    border-radius: 1.5rem;
    padding: 3rem;
    position: relative;
    overflow: hidden;
}

.efd-quote-mark {
    font-size: 5rem;
    line-height: .7;
    opacity: .22;
    position: absolute;
    right: 25px;
    top: 25px;
}

.efd-quote-card h3 {
    font-size: 2rem;
    font-weight: 700;
    position: relative;
}

.efd-quote-card p {
    color: rgba(255, 255, 255, .78);
    line-height: 1.75;
    position: relative;
}

.efd-smsf-faq .accordion-item {
    border: 0;
    margin-bottom: .75rem;
    border-radius: 1rem;
    overflow: hidden;
}

.efd-smsf-faq .accordion-button {
    font-weight: 700;
    padding: 1.25rem 1.4rem;
    box-shadow: none;
}

.efd-smsf-faq .accordion-button:not(.collapsed) {
    background: #e8f4f1;
    color: var(--efd-primary);
}

.efd-smsf-faq .accordion-body {
    color: #68746f;
    line-height: 1.75;
    background: #fff;
}

.efd-smsf-final {
    background: #506da1;
}

.efd-smsf-page .review {
    background: rgba(255, 255, 255, 1) !important;
}

@media (max-width: 991.98px) {
    .efd-smsf-hero {
        min-height: auto;
        padding: 80px 0;
    }

    .efd-smsf-hero-overlay {
        background: rgba(5, 32, 26, .72);
    }

    .efd-service-process-line {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767.98px) {
    .efd-smsf-hero {
        padding: 55px 0;
    }

    .efd-smsf-form-card {
        padding: 1.25rem;
        border-radius: 1rem;
        margin-top: 1rem;
    }

    .efd-mini-list,
    .efd-checklist,
    .efd-service-process-line {
        grid-template-columns: 1fr;
    }

    .efd-quote-card {
        padding: 2rem;
    }

    .efd-quote-card h3 {
        font-size: 1.55rem;
    }
}
/* ==========================================
   Buying LOAN SERVICE PAGE
   ========================================== */
.efd-buying-page { overflow: hidden; }
.efd-buying-hero { position: relative; min-height: 760px; display: flex; align-items: center; padding: 100px 0; background-image: var(--buying-bg); background-size: cover; background-position: center; }
.efd-buying-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,32,26,.92) 0%, rgba(5,32,26,.72) 48%, rgba(5,32,26,.38) 100%); }
.efd-buying-hero .eyebrow { color: #fff; letter-spacing: .12em; font-size: .78rem; font-weight: 700; }
.efd-buying-hero-points { display: flex; flex-wrap: wrap; gap: 12px 22px; color: #fff; font-size: .92rem; }
.efd-buying-form-card { background: #fff; border-radius: 1.5rem; padding: 2rem; box-shadow: 0 25px 70px rgba(0,0,0,.22); }
.efd-buying-form-card h2 { color: #01215A; font-weight: 700; margin: .35rem 0 .5rem; }
.efd-buying-form-card p { color: #66716d; }
.efd-form-kicker { color: var(--efd-primary); font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.efd-buying-intro { background: #fff; }
.efd-section-heading { max-width: 760px; }
.efd-section-heading .eyebrow, .efd-buying-page .eyebrow { color: var(--efd-primary); font-size: .76rem; font-weight: 800; letter-spacing: .1em; }
.efd-buying-hero .eyebrow { color: #fff; }
.efd-buying-highlight { background: #e8f4f1; border-radius: 1.5rem; padding: 2.5rem; position: relative; }
.efd-highlight-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--efd-primary); color: #fff; font-weight: 700; margin-bottom: 1.5rem; }
.efd-buying-highlight h3, .efd-buying-card h3 { font-weight: 700; color: var(--efd-primary); }
.efd-mini-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 1.5rem; font-size: .92rem; }
.efd-mini-list-single { margin-top: 1.25rem; }
.efd-buying-card { height: 100%; padding: 1.75rem; background: #fff; border: 1px solid rgba(11,107,85,.10); border-radius: 1.25rem; box-shadow: 0 10px 30px rgba(0,0,0,.04); }
.efd-buying-card > span { display: inline-flex; margin-bottom: 1rem; font-size: .78rem; font-weight: 800; color: var(--efd-primary); }
.efd-buying-card p { color: #68746f; margin-bottom: 0; line-height: 1.7; }
.efd-service-process-line { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 3rem; }
.efd-service-process-step { background: #fff; border-radius: 1.25rem; padding: 1.75rem; border: 1px solid rgba(11,107,85,.08); min-width: 0; width: 100%; }
.efd-service-process-step strong { display: block; width: 100%; color: var(--efd-primary); font-size: 1.6rem; line-height: 1.2; margin-bottom: .75rem; }
.efd-service-process-step h3 { display: block; width: 100%; max-width: none; font-size: 1.15rem; font-weight: 700; margin: 0 0 .75rem; }
.efd-service-process-step p { display: block; width: 100%; max-width: none; color: #68746f; margin: 0; line-height: 1.65; }
.efd-stage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.efd-stage-grid > div { background: #fff; border-radius: 1rem; padding: 1.25rem; border: 1px solid rgba(11,107,85,.08); }
.efd-stage-grid span { display: block; color: var(--efd-primary); font-weight: 800; font-size: .75rem; margin-bottom: .5rem; }
.efd-stage-grid strong { display: block; margin-bottom: .35rem; }
.efd-stage-grid p { color: #68746f; margin: 0; font-size: .9rem; }
.efd-documents-section { background: #e8f4f1; }
.efd-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.efd-benefit-list { display: grid; gap: 1rem; margin-top: 1.75rem; }
.efd-benefit-list > div { display: flex; flex-direction: column; gap: .2rem; padding-left: 1.1rem; border-left: 3px solid var(--efd-primary); }
.efd-benefit-list strong { color: var(--efd-primary); }
.efd-benefit-list span { color: #68746f; }
.efd-quote-card { background: var(--efd-primary); color: #fff; border-radius: 1.5rem; padding: 3rem; position: relative; overflow: hidden; }
.efd-quote-mark { font-size: 5rem; line-height: .7; opacity: .22; position: absolute; right: 25px; top: 25px; }
.efd-quote-card h3 { font-size: 2rem; font-weight: 700; position: relative; }
.efd-quote-card p { color: rgba(255,255,255,.78); line-height: 1.75; position: relative; }
.efd-buying-faq .accordion-item { border: 0; margin-bottom: .75rem; border-radius: 1rem; overflow: hidden; }
.efd-buying-faq .accordion-button { font-weight: 700;  padding: 1.25rem 1.4rem; box-shadow: none; }
.efd-buying-faq .accordion-button:not(.collapsed) { background: #e8f4f1; color: var(--efd-primary); }
.efd-buying-faq .accordion-body { color: #68746f; line-height: 1.75; background: #fff; }
.efd-buying-final { background: #506da1; }
.efd-buying-final .eyebrow { color: #fff; }
.efd-buying-page .review { background: rgba(255,255,255,1) !important; }
@media (max-width: 991.98px) {
    .efd-buying-hero { min-height: auto; padding: 80px 0; }
    .efd-buying-hero-overlay { background: rgba(5,32,26,.72); }
    .efd-service-process-line { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) {
    .efd-buying-hero { padding: 55px 0; }
    .efd-buying-form-card { padding: 1.25rem; border-radius: 1rem; margin-top: 1rem; }
    .efd-mini-list, .efd-stage-grid, .efd-checklist, .efd-service-process-line { grid-template-columns: 1fr; }
    .efd-quote-card { padding: 2rem; }
    .efd-quote-card h3 { font-size: 1.55rem; }
}
/* ==========================================
   Investment and Refinancing LOAN SERVICE PAGE
   ========================================== */
.efd-investment-page { overflow: hidden; }
.efd-investment-hero { position: relative; min-height: 760px; display:flex; align-items:center; padding:100px 0; background-image:var(--investment-bg); background-size:cover; background-position:center; }
.efd-investment-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(5,32,26,.92) 0%, rgba(5,32,26,.72) 48%, rgba(5,32,26,.38) 100%); }
.efd-investment-hero .eyebrow { color:#fff; letter-spacing:.12em; font-size:.78rem; font-weight:700; }
.efd-investment-hero-points { display:flex; flex-wrap:wrap; gap:12px 22px; color:#fff; font-size:.92rem; }
.efd-investment-form-card { background:#fff; border-radius:1.5rem; padding:2rem; box-shadow:0 25px 70px rgba(0,0,0,.22); }
.efd-investment-form-card h2 { font-weight:700; margin:.35rem 0 .5rem; }
.efd-investment-form-card p { color:#66716d; }
.efd-form-kicker { color:var(--efd-primary); font-size:.75rem; font-weight:800; letter-spacing:.1em; }
.efd-investment-intro { background:#fff; }
.efd-section-heading { max-width:760px; }
.efd-section-heading .eyebrow, .efd-investment-page .eyebrow { color:var(--efd-primary); font-size:.76rem; font-weight:800; letter-spacing:.1em; }
.efd-investment-hero .eyebrow { color:#fff; }
.efd-investment-highlight { background:#e8f4f1; border-radius:1.5rem; padding:2.5rem; position:relative; }
.efd-highlight-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--efd-primary); color:#fff; font-weight:700; margin-bottom:1.5rem; }
.efd-investment-highlight h3,.efd-investment-card h3,.efd-use-card h3,.efd-requirement-card h3,.efd-document-card h3 { font-weight:700;
/* 	color:var(--efd-primary);  */
	color:#01215A;
}
.efd-mini-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:1.5rem; font-size:.92rem; }
.efd-investment-card,.efd-use-card,.efd-requirement-card { height:100%; padding:1.75rem; background:#fff; border:1px solid rgba(11,107,85,.10); border-radius:1.25rem; box-shadow:0 10px 30px rgba(0,0,0,.04); }
.efd-investment-card > span,.efd-use-card > span,.efd-requirement-card > span { display:inline-flex; margin-bottom:1rem; font-size:1.2rem; font-weight:800; color:var(--efd-primary); }
.efd-investment-card p,.efd-use-card p,.efd-requirement-card p { color:#68746f; margin-bottom:0; line-height:1.7; }
.efd-investment-strategies { background:#fff; }
.efd-investment-quote-card { background:linear-gradient(135deg, #d0e6d7 0%, #b9d8c7 100%); color:#fff; border-radius:1.5rem; padding:2.5rem; }
/*.efd-investment-quote-card .eyebrow { color:#fff; }*/
.efd-investment-quote-card h2 { font-weight:700; }
.efd-investment-quote-card p { color:var(--efd-ink); line-height:1.75; }
.efd-investment-process { background:#f8fbfa; }
.efd-service-process-line { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:3rem; }
.efd-service-process-step { background:#fff; border-radius:1.25rem; padding:1.75rem; border:1px solid rgba(11,107,85,.08); min-width:0; width:100%; }
.efd-service-process-step strong { display:block; width:100%; color:var(--efd-primary); font-size:1.6rem; line-height:1.2; margin-bottom:.75rem; }
.efd-service-process-step h3 { display:block; width:100%; max-width:none; font-size:1.15rem; font-weight:700; margin:0 0 .75rem; }
.efd-service-process-step p { display:block; width:100%; max-width:none; color:#68746f; margin:0; line-height:1.65; }
.efd-documents-section { background:#e8f4f1; }
.efd-checklist { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.efd-checklist div { background:#fff; border-radius:.85rem; padding:10px !important; font-size:.92rem; }
.efd-benefit-list { display:grid; gap:1rem; margin-top:1.75rem; }
.efd-benefit-list > div { display:flex; flex-direction:column; gap:.2rem; padding-left:1.1rem; border-left:3px solid var(--efd-primary); }
.efd-benefit-list strong { color:var(--efd-primary); }
.efd-benefit-list span { color:#68746f; }
.efd-document-card { background:#fff; border-radius:1.5rem; padding:2rem; box-shadow:0 10px 30px rgba(0,0,0,.05); }
.efd-quote-card { background:var(--efd-primary); color:#fff; border-radius:1.5rem; padding:3rem; position:relative; overflow:hidden; }
.efd-quote-mark { font-size:5rem; line-height:.7; opacity:.22; position:absolute; right:25px; top:25px; }
.efd-quote-card h3 { font-size:2rem; font-weight:700; position:relative; }
.efd-quote-card p { color:rgba(255,255,255,.78); line-height:1.75; position:relative; }
.efd-investment-faq .accordion-item { border:0; margin-bottom:.75rem; border-radius:1rem; overflow:hidden; }
.efd-investment-faq .accordion-button { font-weight:700;  padding:1.25rem 1.4rem; box-shadow:none; }
.efd-investment-faq .accordion-button:not(.collapsed) { background:#e8f4f1; color:var(--efd-primary); }
.efd-investment-faq .accordion-body { color:#68746f; line-height:1.75; background:#fff; }
.efd-investment-final { background:#506da1; }
.efd-investment-final .eyebrow { color:#fff; }
.efd-investment-page .review { background:rgba(255,255,255,1)!important; }
@media (max-width:991.98px){ .efd-investment-hero{min-height:auto;padding:80px 0}.efd-investment-hero-overlay{background:rgba(5,32,26,.72)}.efd-service-process-line{grid-template-columns:1fr 1fr} }
@media (max-width:767.98px){ .efd-investment-hero{padding:55px 0}.efd-investment-form-card{padding:1.25rem;border-radius:1rem;margin-top:1rem}.efd-mini-list,.efd-checklist,.efd-service-process-line{grid-template-columns:1fr}.efd-quote-card{padding:2rem}.efd-quote-card h3{font-size:1.55rem}.efd-investment-highlight{padding:1.75rem} }


/* Ezy Finance Deals - Calculator pages */
.efd-calculators-page {
    background: #fff;
}
.VisiCalcClass {
  background:url(/staticAssets/calculators/load.gif) 50% 15% no-repeat;
}
.efd-calculator-hero {
    position: relative;
    padding: 6.5rem 0 5rem;
/*     background: linear-gradient(135deg, var(--efd-primary, #2E9122) 0%, #084838 100%); */
	background: linear-gradient(135deg, #d0e6d7 0%, #b9d8c7 100%);	
    color: #fff;
    overflow: hidden;
}

/* .efd-calculator-hero::after {
    content: '';
    position: absolute;
    width: 420px;
    height: 420px;
    right: -150px;
    top: -180px;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
} */

.efd-calculator-eyebrow,
.efd-calculator-kicker {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.efd-calculator-eyebrow {
    color: var(--efd-primary);
    margin-bottom: .85rem;
}

.efd-calculator-hero h1 {
    position: relative;
    z-index: 1;
    font-weight: 700;
    margin: 0 0 1rem;
}

.efd-calculator-hero p {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
    color: var(--efd-ink);
    line-height: 1.75;
    font-size: 1.05rem;
}

.efd-calculator-section {
    padding: 5rem 0 6rem;
}

.efd-section-heading {
    max-width: 760px;
}

.efd-section-heading .eyebrow {
    color: var(--efd-primary, #2E9122);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.efd-section-heading h2 {
/*     color: var(--efd-primary, #2E9122); */
    font-weight: 700;
    margin: .5rem 0 .75rem;
}

.efd-section-heading p {
    color: #68746f;
    margin-bottom: 0;
}

.efd-calculator-tile {
    display: flex;
    gap: 1.25rem;
    height: 100%;
    padding: 1.75rem;
    background: #fff;
    border: 1px solid rgba(11,107,85,.1);
    border-radius: 1.25rem;
    box-shadow: 0 10px 30px rgba(0,0,0,.04);
    color: inherit;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.efd-calculator-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(0,0,0,.08);
    border-color: rgba(11,107,85,.2);
}

.efd-calculator-tile-icon {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #e8f4f1;
    color: var(--efd-primary, #2E9122);
    font-size: 1.25rem;
}

.efd-calculator-tile-content {
    min-width: 0;
}

.efd-calculator-tile h3 {
    color: #01215A;
    font-size: 1.08rem;
    line-height: 1.35;
    font-weight: 700;
    margin: .15rem 0 .55rem;
}

.efd-calculator-tile p {
    color: #68746f;
    font-size: .91rem;
    line-height: 1.65;
    margin: 0 0 1rem;
}

.efd-calculator-link {
    color: #01215A;
    font-size: .88rem;
    font-weight: 800;
}

.efd-calculator-link i {
    margin-left: .25rem;
    transition: transform .2s ease;
}

.efd-calculator-tile:hover .efd-calculator-link i {
    transform: translateX(4px);
}

.efd-calculator-new {
    display: inline-flex;
    margin-bottom: .4rem;
    padding: .2rem .55rem;
    border-radius: 999px;
    background: #e8f4f1;
    color: var(--efd-primary, #2E9122);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.efd-calculator-note {
    margin-top: 4rem;
    padding: 2.5rem;
    border-radius: 1.5rem;
    background: #e8f4f1;
    text-align: center;
}

.efd-calculator-note h3 {
    color: var(--efd-primary, #2E9122);
    font-weight: 700;
    margin-bottom: .65rem;
}

.efd-calculator-note p {
    max-width: 760px;
    margin: 0 auto 1.5rem;
    color: #68746f;
    line-height: 1.7;
}

.efd-calculator-back {
    margin-bottom: 1.25rem;
}

.efd-calculator-back a {
    color: var(--efd-primary, #2E9122);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 700;
}

.efd-calculator-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(11,107,85,.1);
    border-radius: 1.5rem;
    box-shadow: 0 15px 45px rgba(0,0,0,.06);
}

.efd-calculator-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 2rem;
    border-bottom: 1px solid rgba(11,107,85,.08);
}

.efd-calculator-kicker {
    color: var(--efd-primary, #2E9122);
    font-size: .68rem;
}

.efd-calculator-card-header h2 {
    margin: .3rem 0 0;
    color: var(--efd-primary, #2E9122);
    font-size: 1.35rem;
    font-weight: 700;
}

.efd-calculator-badge {
    flex: 0 0 auto;
    padding: .45rem .75rem;
    border-radius: 999px;
    background: #e8f4f1;
    color: var(--efd-primary, #2E9122);
    font-size: .72rem;
    font-weight: 800;
}

.efd-calculator-frame-wrap {
    width: 100%;
    overflow-x: auto;
    background: #fff;
}

.VisiCalcClass {
    display: block;
    width: 100%;
    min-width: 640px;
    min-height: 800px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

/* Desktop heights supplied by the MFAA / VisionAbacus calculator integration. */
#Loan_Repayment_Calculator { min-height: 750px !important; }
#Borrowing_Power_Calculator { min-height: 750px !important; }
#Budget_Planner { min-height: 2850px !important; }
#Compound_Interest_Calculator { min-height: 850px !important; }
#Credit_Card_Calculator { min-height: 900px !important; }
#How_Long_to_Repay_Calculator { min-height: 750px !important; }
#Interest_Only_Mortgage_Calculator { min-height: 750px !important; }
#Saving_Calculator { min-height: 600px !important; }
#Split_Loan_Calculator { min-height: 800px !important; }
#Property_Selling_Cost_Calculator { min-height: 700px !important; }
#Reverse_Mortgage_Calculator { min-height: 1100px !important; }
#Stamp_Duty_Calculator { min-height: 800px !important; }
#Income_Gross_Up_Calculator { min-height: 900px !important; }
#RentVsBuyCalculator { min-height: 1100px !important; }
#Mortgage_Switching_Calculator { min-height: 1100px !important; }

.efd-calculator-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin-top: 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: 1rem;
    background: #f8fbfa;
    color: #68746f;
}

.efd-calculator-disclaimer i {
    color: var(--efd-primary, #2E9122);
    margin-top: .15rem;
}

.efd-calculator-disclaimer p {
    margin: 0;
    font-size: .84rem;
    line-height: 1.65;
}

@media (max-width: 767.98px) {
    .efd-calculator-hero {
        padding: 4.5rem 0 3.75rem;
    }

    .efd-calculator-hero h1 {
        font-size: 2rem;
    }

    .efd-calculator-section {
        padding: 3.5rem 0 4rem;
    }

    .efd-calculator-tile {
        padding: 1.35rem;
    }

    .efd-calculator-note {
        margin-top: 2.5rem;
        padding: 2rem 1.25rem;
    }

    .efd-calculator-card-header {
        align-items: flex-start;
        flex-direction: column;
        padding: 1.25rem;
    }

    .efd-calculator-frame-wrap {
        overflow-x: hidden;
    }

    .VisiCalcClass {
        min-width: 100%;
        min-height: 1250px;
    }

    #Loan_Repayment_Calculator { min-height: 1250px !important; }
    #Borrowing_Power_Calculator { min-height: 1800px !important; }
    #Budget_Planner { min-height: 5000px !important; }
    #Comparison_Rate_Calculator { min-height: 1450px !important; }
    #Compound_Interest_Calculator { min-height: 1200px !important; }
    #Credit_Card_Calculator { min-height: 1500px !important; }
    #Extra_Repayment_Calculator { min-height: 1450px !important; }
    #Home_Loan_Offset_Calculator { min-height: 1400px !important; }
    #How_Long_to_Repay_Calculator { min-height: 1250px !important; }
    #Interest_Only_Mortgage_Calculator { min-height: 1450px !important; }
    #Saving_Calculator { min-height: 1250px !important; }
    #Introductory_Rate_Loan_Calculator { min-height: 1400px !important; }
    #Lump_Sum_Repayment_Calculator { min-height: 1450px !important; }
    #Split_Loan_Calculator { min-height: 1550px !important; }
    #Loan_Comparison_Calculator { min-height: 1800px !important; }
    #Property_Buying_Cost_Calculator { min-height: 1850px !important; }
    #Property_Selling_Cost_Calculator { min-height: 1650px !important; }
    #Reverse_Mortgage_Calculator { min-height: 1900px !important; }
    #Stamp_Duty_Calculator { min-height: 1250px !important; }
    #Income_Gross_Up_Calculator { min-height: 1700px !important; }
    #RentVsBuyCalculator { min-height: 1900px !important; }
    #Mortgage_Switching_Calculator { min-height: 1900px !important; }

    .efd-calculator-disclaimer {
        font-size: .82rem;
    }
}
/* ==========================================================
   LEGAL / COMPLIANCE PAGES
   ========================================================== */
.efd-legal-page {
    background: #f7faf9;
}

.efd-legal-hero {
    position: relative;
    padding: 110px 0 95px;
    background: linear-gradient(135deg, #eaf7f1 0%, #d7eee5 52%, #c5e5d8 100%);
    overflow: hidden;
}

.efd-legal-hero::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: rgba(6, 76, 61, .12);
}

.efd-legal-hero h1 {
    color: #17352d;
    letter-spacing: -0.035em;
}

.efd-legal-hero .lead {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    color: #53665f;
}

.efd-legal-content {
    padding-top: 70px;
    padding-bottom: 90px;
}

.efd-legal-card {
    background: #fff;
    border: 1px solid rgba(6, 76, 61, .10);
    border-radius: 22px;
    padding: clamp(28px, 5vw, 58px);
    box-shadow: 0 18px 55px rgba(17, 56, 45, .07);
}

.efd-legal-card section + section {
    margin-top: 42px;
    padding-top: 42px;
    border-top: 1px solid #e8efec;
}

.efd-legal-card h2 {
    margin: 0 0 18px;
    color: #17352d;
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    line-height: 1.25;
    font-weight: 700;
}

.efd-legal-card h3 {
    margin: 28px 0 12px;
    color: #24584a;
    font-size: 1.12rem;
    font-weight: 600;
}

.efd-legal-card p,
.efd-legal-card li {
    color: #586a64;
    line-height: 1.8;
}

.efd-legal-card p:last-child {
    margin-bottom: 0;
}

.efd-legal-card ul {
    padding-left: 1.25rem;
    margin-bottom: 1rem;
}

.efd-legal-card li + li {
    margin-top: 8px;
}

.efd-legal-card a {
    color: #176c57;
    font-weight: 500;
    text-decoration: none;
}

.efd-legal-card a:hover {
    color: #064c3d;
    text-decoration: underline;
}

.efd-legal-intro {
    padding: 24px 26px;
    margin-bottom: 42px;
    border-left: 4px solid #2e9122;
    border-radius: 0 14px 14px 0;
    background: #f1f8f5;
}

.efd-legal-intro p {
    margin: 0;
    color: #34554b;
    font-size: 1.05rem;
}

.efd-legal-table-wrap {
    overflow-x: auto;
    border: 1px solid #e4ece8;
    border-radius: 14px;
}

.efd-legal-table {
    min-width: 620px;
}

.efd-legal-table th,
.efd-legal-table td {
    padding: 15px 18px;
    border-color: #e8efec;
}

.efd-legal-table th {
    width: 36%;
    color: #29483f;
    font-weight: 600;
    background: #f7faf9;
}

.efd-legal-table td {
    color: #596b65;
}

.efd-lender-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.efd-lender-list span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 8px 15px;
    border: 1px solid #d9e9e2;
    border-radius: 999px;
    background: #f4faf7;
    color: #24584a;
    font-size: .92rem;
    font-weight: 500;
}

.efd-contact-box {
    padding: 22px 24px;
    border: 1px solid #dceae4;
    border-radius: 14px;
    background: #f7fbf9;
}

.efd-contact-box p + p {
    margin-top: 8px;
}

.efd-legal-agreement {
    background: #fbfcfc;
}

.efd-signature-box {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 150px;
    padding: 22px;
    border: 1px dashed #b9ccc4;
    border-radius: 14px;
    background: #fff;
}

.efd-signature-box strong {
    color: #17352d;
}

.efd-signature-box span {
    color: #687a74;
    font-size: .92rem;
}

.efd-legal-version {
    margin-top: 34px;
    color: #8a9994 !important;
    font-size: .82rem;
}

.efd-disclaimer-card {
    text-align: center;
    padding-top: 52px;
    padding-bottom: 52px;
}

.efd-disclaimer-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin-bottom: 25px;
    border-radius: 50%;
    background: #e6f4ee;
    color: #176c57;
    font-size: 30px;
}

.efd-disclaimer-lead {
    color: #17352d !important;
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 600;
    line-height: 1.65 !important;
}

.efd-disclaimer-notice {
    margin-top: 34px;
    padding: 20px 24px;
    border: 1px solid #d7e9e1;
    border-radius: 14px;
    background: #f1f8f5;
    text-align: left;
}

.efd-disclaimer-notice p {
    color: #34554b;
    line-height: 1.7;
}

@media (max-width: 767.98px) {
    .efd-legal-hero {
        padding: 78px 0 68px;
    }

    .efd-legal-content {
        padding-top: 42px;
        padding-bottom: 60px;
    }

    .efd-legal-card {
        border-radius: 16px;
        padding: 24px 20px;
    }

    .efd-legal-card section + section {
        margin-top: 32px;
        padding-top: 32px;
    }

    .efd-legal-intro {
        padding: 19px 18px;
        margin-bottom: 32px;
    }

    .efd-legal-table {
        min-width: 560px;
    }

    .efd-signature-box {
        min-height: 135px;
    }
}
/* =========================================================
   BLOG / SEARCH
   ========================================================= */

.efd-blog-page {
    background: #fff;
}

/* Hero */

.efd-blog-hero {
    position: relative;
    padding: 90px 0 80px;
    background: linear-gradient(135deg, #d0e6d7 0%, #b9d8c7 100%);
    overflow: hidden;
}

.efd-blog-hero h1 {
    margin: 14px 0 18px;
    font-size: clamp(2.25rem, 5vw, 4rem);
    line-height: 1.1;
    font-weight: 700;
    color: var(--efd-blue);
}

.efd-blog-hero p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--efd-text);
    font-size: 1.05rem;
    line-height: 1.8;
}

.efd-eyebrow {
    display: inline-block;
    color: var(--efd-primary);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}


/* Article card */

.efd-blog-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .07);
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .05);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.efd-blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, .09);
}


/* Featured image */

.efd-blog-card-image {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--efd-soft);
}

.efd-blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.efd-blog-card:hover .efd-blog-card-image img {
    transform: scale(1.04);
}


/* Card body */

.efd-blog-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 28px;
}


/* Meta */

.efd-blog-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 14px;
    color: #6c757d;
    font-size: .78rem;
}

.efd-blog-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.efd-blog-meta i {
    color: var(--efd-primary);
}


/* Title */

.efd-blog-card-title {
    margin: 0 0 14px;
    font-size: 1.35rem;
    line-height: 1.35;
    font-weight: 700;
}

.efd-blog-card-title a {
    color: var(--efd-dark);
    text-decoration: none;
    transition: color .2s ease;
}

.efd-blog-card-title a:hover {
    color: var(--efd-primary);
}


/* Excerpt */

.efd-blog-card-excerpt {
    margin-bottom: 22px;
    color: #6c757d;
    line-height: 1.7;
}


/* Read more */

.efd-blog-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: var(--efd-primary);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
}

.efd-blog-read-more i {
    transition: transform .2s ease;
}

.efd-blog-read-more:hover {
    color: var(--efd-dark);
}

.efd-blog-read-more:hover i {
    transform: translateX(4px);
}


/* Empty state */

.efd-blog-empty {
    max-width: 650px;
    margin: 0 auto;
    padding: 70px 20px;
}

.efd-blog-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin: 0 auto 25px;
    border-radius: 50%;
    background: var(--efd-soft);
    color: var(--efd-primary);
    font-size: 1.8rem;
}

.efd-blog-empty h2 {
    margin-bottom: 10px;
    color: var(--efd-dark);
    font-weight: 700;
}

.efd-blog-empty p {
    margin-bottom: 25px;
    color: #6c757d;
}


/* Pagination */

.efd-blog-pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.efd-blog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 8px;
    color: var(--efd-dark);
    background: #fff;
    text-decoration: none;
    font-size: .9rem;
    transition: all .2s ease;
}

.efd-blog-pagination .page-numbers:hover,
.efd-blog-pagination .page-numbers.current {
    border-color: var(--efd-primary);
    background: var(--efd-primary);
    color: #fff;
}


/* Mobile */

@media (max-width: 767.98px) {

    .efd-blog-hero {
        padding: 65px 0 55px;
    }

    .efd-blog-hero h1 {
        font-size: 2.25rem;
    }

    .efd-blog-card-body {
        padding: 22px;
    }

    .efd-blog-card-title {
        font-size: 1.2rem;
    }

}
/* =========================================================
   SINGLE BLOG POST
   ========================================================= */

.efd-single-post {
    background: #fff;
}


/* Hero */

.efd-single-hero {
    padding: 90px 0 75px;
    background: linear-gradient(
        135deg,
        #f3faf5 0%,
        #e5f3eb 100%
    );
}

.efd-single-hero h1 {
    max-width: 900px;
    margin: 14px 0 20px;
    color: var(--efd-blue);
    font-size: clamp(2.2rem, 5vw, 3rem);
    line-height: 1.12;
    font-weight: 700;
}


/* Meta */

.efd-single-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    color: #6c757d;
    font-size: .9rem;
}

.efd-single-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.efd-single-meta i {
    color: var(--efd-primary);
}


/* Content */

.efd-single-content {
    padding-top: 70px;
}


/* Featured image */

.efd-single-featured-image {
    width: 100%;
    margin-bottom: 45px;
    overflow: hidden;
    border-radius: 20px;
    background: var(--efd-soft);
}

.efd-single-featured-image img {
    display: block;
    width: 100%;
    height: auto;
}


/* Article */

.efd-single-article {
    color: #343a40;
}

.efd-single-article .entry-content {
    font-size: 1.05rem;
    line-height: 1.85;
}

.efd-single-article .entry-content p {
    margin-bottom: 1.4rem;
}

.efd-single-article .entry-content h2,
.efd-single-article .entry-content h3,
.efd-single-article .entry-content h4 {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    color: var(--efd-blue);
    font-weight: 700;
}

.efd-single-article .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}

.efd-single-article .entry-content a {
    color: var(--efd-primary);
}


/* Navigation */

.efd-single-navigation {
    margin-top: 60px;
    padding-top: 35px;
    border-top: 1px solid rgba(0, 0, 0, .08);
}

.efd-post-navigation {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%;
    padding: 22px;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 14px;
    color: var(--efd-dark);
    text-decoration: none;
    transition: all .25s ease;
}

.efd-post-navigation:hover {
    border-color: var(--efd-primary);
    transform: translateY(-2px);
}

.efd-post-navigation span {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--efd-primary);
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.efd-post-navigation strong {
    font-size: 1rem;
    line-height: 1.4;
}

.efd-post-navigation-next {
    text-align: right;
}

.efd-post-navigation-next span {
    justify-content: flex-end;
}


/* Mobile */

@media (max-width: 767.98px) {

    .efd-single-hero {
        padding: 60px 0 50px;
    }

    .efd-single-hero h1 {
        font-size: 2.25rem;
    }

    .efd-single-content {
        padding-top: 45px;
    }

    .efd-single-featured-image {
        margin-bottom: 30px;
        border-radius: 14px;
    }

    .efd-single-article .entry-content {
        font-size: 1rem;
    }

    .efd-post-navigation-next {
        text-align: left;
    }

    .efd-post-navigation-next span {
        justify-content: flex-start;
    }

}

