/* Leesa landing layout. The theme owns fonts, headings, buttons, forms,
   containers, spacing utilities, icons, focus rings and reduced motion. */
.leesa-page { color:var(--color-primary-light); font-size:1rem; }
.leesa-page .skip-link:not(:focus) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.leesa-page .skip-link:focus { display:block; padding:var(--space-3); }
.ls-page section { scroll-margin-top:var(--space-5); }
.ls-hero { position:relative; isolation:isolate; overflow:hidden; padding-block:calc(var(--space-11) + 100px) var(--space-11); background:radial-gradient(circle at 8% 12%,rgba(194,223,147,.72),transparent 31%),linear-gradient(118deg,var(--bg-soft) 0%,var(--color-white) 67%,#edf8f7 100%); }
.ls-hero::before { content:""; position:absolute; width:360px; height:360px; right:-180px; top:120px; z-index:-1; border:64px solid rgba(194,223,147,.27); border-radius:50%; pointer-events:none; }
.ls-hero-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.ls-portrait-stage { position:relative; isolation:isolate; padding:24px 12px 18px; }
.ls-portrait-stage::before { content:""; position:absolute; inset:32px 8px 4px; z-index:-1; border:1px solid var(--border-color); border-radius:var(--radius-xl); background:var(--color-white); transform:rotate(-4deg); box-shadow:var(--shadow-md); }
.ls-hero-orbit { position:absolute; top:0; right:0; width:150px; height:150px; border:22px solid var(--color-accent); border-radius:50%; z-index:-1; box-shadow:inset 5px 5px 12px rgba(6,50,50,.15); }
.ls-hero-cube { position:absolute; bottom:48px; left:0; z-index:1; width:78px; height:78px; display:grid; place-items:center; border-radius:20px; background:linear-gradient(140deg,var(--color-white),var(--color-lime-light)); color:var(--color-primary); font-size:30px; border-bottom:6px solid var(--color-lime); box-shadow:0 14px 24px rgba(3,33,33,.2),inset 0 1px 0 white; transform:rotate(-9deg); }
.ls-portrait { background:linear-gradient(140deg,var(--color-primary-light),var(--color-primary-dark)); box-shadow:var(--shadow-lg); border:1px solid var(--border-color-dark); }
.ls-portrait img { width:100%; height:100%; max-height:630px; object-fit:cover; object-position:top; }
.ls-hero-copy { position:relative; padding:clamp(8px,2vw,28px); }
.ls-hero-copy h1 { max-width:720px; margin-bottom:var(--space-5); letter-spacing:-.035em; }
.ls-hero-location { display:flex; align-items:center; gap:var(--space-2); }
.ls-hero-location i { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:50%; background:var(--color-lime-light); }
.ls-identity { padding:var(--space-5); margin-block:var(--space-6); border:1px solid var(--border-color); border-left:4px solid var(--color-accent); border-radius:0 var(--radius-md) var(--radius-md) 0; background:var(--color-white); }
.ls-section-heading { margin-bottom:var(--space-8); display:flex; align-items:center; gap:var(--space-6); }
.ls-section-heading::after { content:""; height:1px; flex:1; background:linear-gradient(90deg,var(--border-color),transparent); }
.ls-standard-heading { max-width:1100px; margin:0 auto var(--space-7); }
.ls-standard-heading .section-kicker { margin-bottom:var(--space-3); }
.ls-standard-heading .section-title { margin-bottom:var(--space-4) !important; }
.ls-section-intro { max-width:700px; margin:0; color:var(--text-secondary); font-size:var(--font-size-md); line-height:var(--line-height-body); }
.ls-card { position:relative; padding:var(--space-8); box-shadow:0 5px 0 var(--bg-soft); transition:border-color var(--transition-fast),box-shadow var(--transition-fast); }
.ls-service { display:flex; flex-direction:column; align-items:flex-start; }
.ls-service::after { content:""; position:absolute; top:24px; right:24px; width:44px; height:44px; border-top:3px solid var(--color-lime); border-right:3px solid var(--color-lime); border-radius:0 14px 0 0; pointer-events:none; }
.ls-service .btn { margin-top:auto; }
.ls-icon { display:inline-grid; place-items:center; width:60px; height:60px; flex:0 0 60px; border-radius:var(--radius-md); background:linear-gradient(145deg,var(--bg-soft),var(--color-lime-light)); color:var(--color-primary); font-size:var(--font-size-xl); border-bottom:4px solid var(--color-lime); box-shadow:0 6px 12px rgba(6,50,50,.07),inset 0 1px 0 white; }
.ls-checklist { display:grid; gap:var(--space-4); margin-bottom:var(--space-7); }
.ls-checklist li { display:flex; align-items:flex-start; gap:var(--space-3); }
.ls-checklist i { margin-top:7px; color:var(--color-primary); }
.ls-recognition { padding-block:var(--space-8); background:linear-gradient(100deg,var(--bg-light),var(--color-white)); }
.ls-calculator-section { position:relative; overflow:hidden; padding-block:64px; background:linear-gradient(145deg,#eef9f8,var(--bg-soft)); }
.ls-calculator-section::before { content:""; position:absolute; width:420px; height:420px; right:-280px; bottom:-220px; border:64px solid rgba(194,223,147,.3); border-radius:50%; pointer-events:none; }
.ls-calculator-section .ls-standard-heading,.ls-calculator-section .ls-calculator,.ls-calculator-note { position:relative; z-index:1; }
.ls-calculator.loan-calculator-shell { max-width:1100px; padding:clamp(18px,2.4vw,30px); border-top:5px solid var(--color-primary); }
.ls-calculator-note { max-width:1100px; display:flex; align-items:flex-start; gap:var(--space-3); margin:var(--space-5) auto 0; padding:var(--space-4) var(--space-5); border:1px solid rgba(184,111,0,.2); border-radius:var(--radius-md); background:#fff8e9; color:#714c0c; }
.ls-calculator-note span { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:50%; background:var(--color-accent); color:var(--color-primary-dark); }
.ls-calculator-note p { margin:0; font-size:var(--font-size-sm); line-height:var(--line-height-body); }
.ls-programs { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; }
.ls-program { display:flex; min-height:100%; flex-direction:column; border-top:4px solid var(--color-lime); }
.ls-program:nth-child(2),.ls-program:nth-child(3) { background:linear-gradient(145deg,var(--color-white),#f3f7ed); }
.ls-program h3 { margin-bottom:var(--space-4); }
.ls-video-section { position:relative; overflow:hidden; background:radial-gradient(circle at 6% 90%,rgba(194,223,147,.18),transparent 25%),linear-gradient(125deg,var(--color-primary-dark),var(--color-primary)); }
.ls-video-section::after { content:""; position:absolute; width:320px; height:320px; right:-190px; top:-180px; border:56px solid rgba(255,255,255,.06); border-radius:50%; pointer-events:none; }
.ls-video-layout { grid-template-columns:minmax(0,.38fr) minmax(0,.62fr); gap:clamp(36px,6vw,82px); }
.ls-video-copy { position:relative; z-index:1; }
.ls-video-copy .ls-standard-heading { margin:0 0 var(--space-6); }
#page main .ls-video-copy .section-title,#page main .ls-video-copy .section-title strong { color:var(--color-white) !important; }
.ls-video-copy .section-kicker { color:var(--color-accent); }
.ls-video-copy .ls-section-intro { color:#dceaea; }
.ls-video { position:relative; z-index:1; aspect-ratio:16/9; background:var(--color-primary-dark); border:1px solid rgba(255,255,255,.16); box-shadow:0 12px 0 rgba(255,255,255,.06),0 28px 60px rgba(0,0,0,.28); }
.ls-video-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.ls-video-placeholder p { max-width:540px; }
.ls-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.ls-video-link { min-height:48px; padding:0 var(--space-5); border:1px solid rgba(255,255,255,.35); border-radius:999px; color:var(--color-white); font-weight:var(--font-semibold); }
.ls-reviews { background:var(--bg-light); }
.ls-review { display:flex; flex-direction:column; background:var(--color-white); border:1px solid var(--border-color); box-shadow:var(--shadow-sm); }
.ls-review:nth-child(even) { background:linear-gradient(145deg,var(--color-white),var(--bg-soft)); }
.ls-review > i { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--color-lime-light); font-size:var(--font-size-xl); }
.ls-review blockquote { margin:var(--space-5) 0 var(--space-6); padding:0; border:0; flex:1; font-size:inherit; line-height:inherit; color:inherit; }
.ls-review figcaption { display:flex; align-items:center; gap:var(--space-4); padding-top:var(--space-5); border-top:1px solid var(--border-color); color:var(--color-primary); }
.ls-review-avatar { display:grid; place-items:center; flex:0 0 48px; height:48px; border-radius:50%; background:var(--color-primary); color:var(--color-white); font-weight:var(--font-semibold); }
.ls-final-section { padding-block:var(--space-10); background:var(--bg-light); }
.ls-final { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:var(--space-9); padding:var(--space-10); background:linear-gradient(125deg,var(--color-primary-light),#0f6b65); color:var(--color-white); border:1px solid rgba(255,255,255,.18); border-top:6px solid var(--color-accent); box-shadow:0 24px 60px rgba(3,33,33,.18); }
#page main section.ls-final-section .ls-final .section-title,#page main section.ls-final-section .ls-final .section-title strong { color:var(--color-white) !important; }
.ls-final a:not(.btn) { color:var(--color-white); }
.ls-final-kicker { display:inline-flex; align-items:center; gap:var(--space-2); margin-bottom:var(--space-4); color:var(--color-lime-light); font-weight:var(--font-semibold); }
.ls-final-action { padding:var(--space-7); border:1px solid rgba(255,255,255,.2); border-radius:var(--radius-lg); background:rgba(255,255,255,.1); box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
.ls-final-action > p:first-child { display:flex; align-items:flex-start; gap:var(--space-2); }
.ls-final-action .btn { width:100%; justify-content:center; }
.ls-final::before,.ls-final::after { content:""; position:absolute; width:180px; height:180px; border:24px solid rgba(255,255,255,.12); border-radius:50%; z-index:-1; pointer-events:none; }
.ls-final::before { left:-100px; top:-90px; }
.ls-final::after { right:-110px; bottom:-100px; }
.ls-card:focus-within { border-color:var(--color-primary-light); box-shadow:var(--shadow-sm); }
@media(hover:hover) {
  .ls-card:hover { border-color:var(--color-primary-light); box-shadow:var(--shadow-sm); }
  .ls-video-link:hover { color:var(--color-lime-light); text-decoration:underline; text-underline-offset:4px; }
}
@media(max-width:991px) {
  .ls-final { grid-template-columns:1fr; padding:var(--space-8); }
  .ls-video-layout { grid-template-columns:1fr; }
  .ls-video-copy { max-width:720px; }
  .ls-hero-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:var(--space-7); }
  .ls-card { padding:var(--space-7); }
  .ls-programs { grid-template-columns:1fr; }
}
@media(max-width:767px) {
  .ls-hero { padding-block:calc(var(--space-8) + 100px) var(--space-8); }
  .ls-hero-grid { grid-template-columns:1fr; }
  .ls-hero-copy { grid-row:1; }
  .ls-portrait-stage { max-width:450px; width:100%; margin-inline:auto; }
  .ls-hero-orbit { width:110px; height:110px; border-width:16px; }
  .ls-hero-cube { width:64px; height:64px; font-size:24px; }
  .ls-service::after { width:28px; height:28px; right:16px; top:16px; }
  .ls-section-heading::after { display:none; }
  .ls-portrait { width:100%; max-width:450px; margin-inline:auto; }
  .ls-portrait img { max-height:480px; object-fit:contain; }
  .ls-card,.ls-final { padding:var(--space-5); }
  .ls-calculator-note { padding:var(--space-4); }
  .ls-calculator-section { padding-block:52px; }
}
.leesa-page.inner-page-standard .site-header:not(.is-sticky) { background:var(--color-white); border-bottom-color:var(--border-color); }
.leesa-page.inner-page-standard .site-header:not(.is-sticky) :is(.header-nav a,.header-phone,.header-search) { color:var(--color-primary); }
.leesa-page.inner-page-standard .site-header:not(.is-sticky) .menu-toggle span { background:var(--color-primary); }
.ls-lender-logo { display:block; width:140px; height:84px; object-fit:contain; object-position:left center; }
.ls-awards { display:grid; grid-template-columns:1.2fr repeat(3,1fr); align-items:center; gap:var(--space-7); }
.ls-awards img { justify-self:center; width:100%; max-width:190px; height:160px; object-fit:contain; padding:var(--space-3); }
.ls-awards img + img { border-left:1px solid var(--border-color); }
.ls-final a:not(.btn) { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:767px) {
 .ls-awards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); }
 .ls-awards h2 { grid-column:1/-1; text-align:center; margin-bottom:var(--space-4); }
 .ls-awards img { height:120px; padding:var(--space-2); }
}



.loan-calculator-page {
    background: #f4f8f7
}

.calculator-section {
    position: relative;
    overflow: hidden;
    padding: 95px 0 110px
}

.calculator-section:before {
    width: 420px;
    height: 420px;
    position: absolute;
    top: 90px;
    right: -300px;
    border: 70px solid rgba(216, 239, 182, .42);
    border-radius: 50%;
    content: "";
    pointer-events: none
}

.calculator-intro {
    max-width: 800px;
    margin: 0 auto 34px;
    text-align: center
}

.calculator-intro .section-kicker {
    justify-content: center
}

.calculator-intro .section-title {
    margin-bottom: 16px
}

.calculator-intro>p:last-child {
    max-width: 680px;
    margin: 0 auto;
    color: #587679;
    font-size: 1rem;
    line-height: 1.75
}

.calculator-benefits {
    max-width: 900px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 auto 34px
}

.calculator-benefits>div {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid #d8e6e3;
    border-radius: 14px;
    background: rgba(255, 255, 255, .82);
    color: #315d5f;
    font-size: .82rem;
    font-weight: 800
}

.calculator-benefits i {
    color: #b86f00
}

.loan-calculator-shell {
    max-width: 1050px;
    position: relative;
    z-index: 1;
    margin: 0 auto;
    padding: clamp(24px, 4vw, 48px);
    border: 1px solid rgba(6, 50, 50, .1);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 24px 65px rgba(3, 33, 33, .12)
}

.calculator-card-heading {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-bottom: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid #dce8e5
}

.calculator-card-icon {
    width: 54px;
    height: 54px;
    display: grid;
    flex: 0 0 54px;
    place-items: center;
    border-radius: 15px;
    background: #d8efb6;
    color: #063232;
    font-size: 1.2rem
}

.calculator-card-heading p {
    margin: 0 0 4px;
    color: #a96500;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase
}

.calculator-card-heading h2 {
    margin: 0;
    color: #063232;
    font-size: clamp(1.35rem, 2.5vw, 1.85rem);
    line-height: 1.25
}

.calculator-plugin {
    min-width: 0
}

.calculator-plugin :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
    max-width: 100%;
    min-height: 50px;
    padding: 10px 14px;
    border: 1px solid #cbded9 !important;
    border-radius: 10px !important;
    background: #fff;
    color: #063232;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    outline: 0;
    box-shadow: none
}

.calculator-plugin :is(input, select, textarea):focus {
    border-color: #0b5653 !important;
    box-shadow: 0 0 0 4px rgba(11, 86, 83, .1) !important
}

.calculator-plugin :is(button, input[type=submit], .button, .btn) {
    min-height: 48px;
    padding: 11px 22px;
    border: 0;
    border-radius: 999px;
    background: #063232;
    color: #fff;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s, transform .2s
}

.calculator-plugin :is(button, input[type=submit], .button, .btn):hover {
    background: #0b5653;
    transform: translateY(-1px)
}

.calculator-plugin table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #dce8e5;
    border-radius: 12px
}

.calculator-plugin th,
.calculator-plugin td {
    padding: 12px;
    border-bottom: 1px solid #e3ecea;
    text-align: left
}

.calculator-plugin th {
    background: #edf7f4;
    color: #063232
}

.calculator-plugin img,
.calculator-plugin svg,
.calculator-plugin canvas {
    max-width: 100%;
    height: auto
}

.calculator-plugin>* {
    max-width: 100%
}

.calculator-unavailable {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 20px;
    border-radius: 13px;
    background: #fff5df;
    color: #714c0c
}

.calculator-unavailable p {
    margin: 0
}
.ultimate-loan-mortgage-calculator > .ulmc-main-title {
    display: none !important;
}



.ulmc-wrapper {
    margin-bottom: 0 !important;
}

.ultimate-loan-mortgage-calculator .ulmc-result{
	background-color: #063232 !important;
}

.ultimate-loan-mortgage-calculator .ulmc-settings {
    background-color: #ecf8f8  !important;
}
.calculator-disclaimer {
    max-width: 920px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 24px auto 0;
    color: #688285;
    font-size: .78rem;
    line-height: 1.65;
    text-align: center
}

.calculator-disclaimer i {
    margin-top: 4px;
    color: #b86f00
}

@media(max-width:767px) {
    .calculator-section {
        padding: 68px 0 80px
    }

    .calculator-intro {
        margin-bottom: 26px;
        text-align: left
    }

    .calculator-intro .section-kicker {
        justify-content: flex-start
    }

    .calculator-benefits {
        grid-template-columns: 1fr;
        gap: 8px
    }

    .calculator-benefits>div {
        justify-content: flex-start
    }

    .loan-calculator-shell {
        padding: 22px 16px;
        border-radius: 19px
    }

    .calculator-card-heading {
        align-items: flex-start;
        margin-bottom: 22px
    }

    .calculator-card-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px
    }

    .calculator-plugin {
        overflow-x: auto
    }

    .calculator-plugin :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
        width: 100%
    }

    .calculator-plugin :is(button, input[type=submit], .button, .btn) {
        width: 100%;
        justify-content: center
    }

    .calculator-disclaimer {
        text-align: left
    }
}

@media(max-width:380px) {
    .calculator-card-heading {
        gap: 11px
    }

    .calculator-card-heading h2 {
        font-size: 1.2rem
    }
}
