:root{
  --green:#125d7e;
  --green-dark:#0d465f;
  --green-soft:#edf3f6;
  --charcoal:#1c2730;
  --ink:#17212a;
  --muted:#74808b;
  --line:#d7dee3;
  --surface:#ffffff;
  --page:#f7f8f9;
  --warm:#f6f3eb;
  --shadow:0 18px 50px rgba(18,58,78,.10);
  --radius-lg:22px;
  --radius-md:14px;
  --gold:#f6be43;
  --slate:#74808b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Manrope",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.container{width:min(1480px,94%);margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-inner{min-height:78px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand-mark{
  width:46px;
  height:46px;
  border-radius:12px;
  background:
    linear-gradient(145deg,
      #125d7e 0 37%,
      #ffffff 37% 42%,
      #74808b 42% 67%,
      #ffffff 67% 72%,
      #f6be43 72% 100%);
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:800;
  letter-spacing:-.04em;
  text-shadow:0 1px 3px rgba(0,0,0,.35);
  box-shadow:0 10px 24px rgba(18,93,126,.22)
}
.brand-copy strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:27px;line-height:.95;letter-spacing:.03em}
.brand-copy small{display:block;font-size:10px;letter-spacing:.24em;margin-top:2px}
.main-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}
.main-nav a{position:relative}
.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--green);transition:.2s}
.main-nav a:hover:after{right:0}
.header-actions{display:flex;align-items:center;gap:20px}
.header-phone{font-size:14px;font-weight:800}
.menu-toggle{display:none;border:0;background:transparent;font-size:26px;cursor:pointer}
.button{border:0;border-radius:10px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer;transition:.2s}
.button:hover{transform:translateY(-1px)}
.button-primary{background:var(--green);color:#fff;box-shadow:0 8px 18px rgba(18,93,126,.18)}
.button-primary:hover{background:var(--green-dark)}
.button-secondary{background:#fff;border:1px solid var(--green);color:var(--green)}
.button-full{width:100%}
.hero{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.90) 31%,rgba(255,255,255,.34) 55%,rgba(255,255,255,.08) 76%),url("/assets/images/hero-latino-family.jpg") center 42%/cover no-repeat;border-bottom:1px solid var(--line)}
.hero-grid{min-height:510px;display:grid;grid-template-columns:1.28fr .92fr;gap:50px;align-items:center;padding:40px 0}
.eyebrow{margin:0 0 12px;color:var(--green);font-size:11px;line-height:1.4;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
h1,h2,.card-heading h2,.section-heading h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:.005em}
h1{margin:0 0 20px;font-size:clamp(46px,5vw,74px);line-height:.96;max-width:700px}
h1 span,.section-heading h2 span{color:var(--green)}
.hero-text{max-width:630px;margin:0;color:#38453d;font-size:16px}
.benefit-list{display:grid;gap:10px;margin:24px 0}
.benefit-list span:before{content:"✓";display:inline-grid;place-items:center;width:21px;height:21px;margin-right:10px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;font-weight:800}
.hero-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.hero-phone{display:inline-block;margin-top:18px;color:#526058;font-size:13px}
.hero-phone strong{color:var(--green)}
.preapproval-card{background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow)}
.card-heading h2{margin:0;font-size:31px;line-height:1.1}
.card-heading p{margin:5px 0 20px;color:var(--muted);font-size:13px}
.form-grid,.calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid label,.calculator-fields label{display:grid;gap:6px;font-size:11px;font-weight:800}
input,select{width:100%;height:45px;border:1px solid #ccd7d0;border-radius:9px;padding:0 12px;background:#fff;color:var(--ink);outline:none}
input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(18,93,126,.10)}
.contact-methods{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:15px 0;font-size:11px}
.contact-methods input{width:auto;height:auto}
.privacy-note{margin-bottom:12px;padding:12px;background:var(--green-soft);border-radius:9px;color:#415048;font-size:12px}
.trust-strip{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.trust-grid div{padding:18px 14px;text-align:center;border-right:1px solid var(--line)}
.trust-grid strong,.trust-grid span{display:block}
.trust-grid strong{font-size:14px}
.trust-grid span{font-size:11px;color:var(--muted)}
.calculator-section{padding:48px 0;background:var(--page)}
.calculator-faq-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:22px;align-items:start}
.calculator-card,.faq-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:0 10px 30px rgba(18,58,78,.06)}
.section-heading h2{margin:0;font-size:34px;line-height:1.1}
.section-heading p:last-child{margin:6px 0 0;color:var(--muted);font-size:13px}
.section-heading.compact{margin-bottom:20px}
.section-heading.centered{text-align:center;margin-bottom:28px}
.calculator-content{display:grid;grid-template-columns:1.18fr .82fr;gap:18px}
.calculator-form-card,.payment-card{border-radius:var(--radius-md)}
.calculator-form-card{padding:18px;border:1px solid var(--line);background:#fff}
.loan-term-block{margin-top:17px}
.loan-term-block>span{display:block;margin-bottom:9px;font-size:11px;font-weight:800}
.term-buttons{display:flex;gap:8px;flex-wrap:wrap}
.term{border:1px solid #cbd6cf;background:#fff;border-radius:999px;padding:9px 15px;font-size:12px;font-weight:800;cursor:pointer}
.term.active{background:var(--green);color:#fff;border-color:var(--green)}
.calculator-accordion{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.calculator-accordion summary{padding:14px 15px;cursor:pointer;list-style:none;font-size:13px;font-weight:800}
.calculator-accordion summary:after{content:"⌄";float:right;color:var(--green)}
.accordion-grid{padding:0 15px 15px}
.calculator-actions{display:flex;gap:10px;margin-top:14px}
.payment-card{padding:22px;background:var(--warm);display:flex;flex-direction:column;justify-content:center}
.payment-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.payment-total{margin:4px 0 18px;font-family:"DM Serif Display",Georgia,serif;font-size:43px;line-height:1}
.payment-total small{font-family:"Manrope",Arial,sans-serif;font-size:13px;font-weight:800}
.payment-breakdown{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center}
.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(#125d7e 0 78%,#74808b 78% 89%,#9fb1bb 89% 97%,#f6be43 97% 100%);display:grid;place-items:center}
.donut:after{content:attr(data-value);width:90px;height:90px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;text-align:center}
.breakdown-list{display:grid;gap:9px;font-size:11px}
.breakdown-list div{display:flex;justify-content:space-between;gap:12px}
.payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.payment-summary div{padding:13px;background:#fff;border-radius:10px;text-align:center}
.payment-summary span,.payment-summary strong{display:block}
.payment-summary span{font-size:11px;color:var(--muted)}
.payment-summary strong{font-size:20px;color:var(--green)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{padding:17px 4px;list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:800}
.faq-list summary:before{counter-increment:faq;content:counter(faq);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:11px}
.faq-list summary:after{content:"⌄";margin-left:auto;color:var(--green)}
.faq-list{counter-reset:faq}
.faq-list p{margin:0;padding:0 38px 17px;color:var(--muted);font-size:12px}
.loan-section{padding:48px 0;background:#fff}
.loan-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.loan-grid article{min-height:184px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.2s}
.loan-grid article:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.loan-icon{font-size:30px;color:var(--green)}
.loan-grid h3{margin:12px 0 6px;font-size:14px}
.loan-grid p{margin:0;color:var(--muted);font-size:11px}
.about-section{padding:28px 0;background:var(--green-soft);border-top:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.about-grid div{padding:17px 18px;border-left:3px solid var(--green);background:#fff;border-radius:10px}
.about-grid strong,.about-grid span{display:block}
.about-grid strong{color:var(--green-dark);font-size:14px}
.about-grid span{margin-top:4px;color:var(--muted);font-size:11px}
.site-footer{padding:44px 0 20px;background:linear-gradient(145deg,#102b3a,#173d52);color:#eef4f0}
.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:30px}
.footer-brand{color:#fff;margin-bottom:14px}
.site-footer h3{margin:0 0 12px;font-size:13px}
.site-footer a,.site-footer p{display:block;margin:7px 0;color:#becbc3;font-size:11px}
.footer-license{font-weight:800}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#9faaa4;font-size:10px}
@media(max-width:1150px){
  .main-nav{display:none;position:absolute;top:78px;left:3%;right:3%;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}
  .main-nav.open{display:flex}
  .menu-toggle{display:block}
  .hero-grid,.calculator-faq-grid,.calculator-content{grid-template-columns:1fr}
  .loan-grid{grid-template-columns:repeat(3,1fr)}
  .trust-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}
}
@media(max-width:720px){
  .header-phone,.header-actions .button{display:none}
  .hero-grid{padding:28px 0}
  .hero{background-position:63% center}
  .form-grid,.calculator-fields,.payment-summary{grid-template-columns:1fr}
  .payment-breakdown{grid-template-columns:1fr;justify-items:center}
  .loan-grid,.about-grid,.footer-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .calculator-actions{flex-direction:column}
}


/* Blue, gray and gold brand refinements */
.eyebrow{color:var(--gold)}
.main-nav a:after{background:var(--gold)}
.button-primary{background:var(--green)}
.button-primary:hover{background:var(--green-dark)}
.button-secondary:hover{background:var(--green-soft)}
.trust-grid div:first-child strong{color:var(--gold)}
.benefit-list span::before{background:var(--green)}
.loan-grid article{border-top:3px solid transparent}
.loan-grid article:hover{border-top-color:var(--gold)}
.loan-icon{color:var(--green)}
.about-grid div{border-left-color:var(--gold)}
.payment-summary strong{color:var(--green)}
.faq-list summary:before{background:var(--green)}
.faq-list details[open] summary{color:var(--green-dark)}
.calculator-card,.faq-card,.preapproval-card{border-color:#d2dbe1}


/* Redesigned mortgage calculator: four cards inside one main card */
.calculator-section{
  padding:48px 0;
  background:var(--page);
}
.mortgage-calculator-shell{
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 12px 34px rgba(18,58,78,.06);
}
.calculator-title-row{
  margin-bottom:22px;
}
.calculator-title-row h2{
  margin:0;
  color:#102c43;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:38px;
  line-height:1.08;
  font-weight:400;
}
.calculator-title-row>p:last-child{
  margin:7px 0 0;
  color:var(--muted);
  font-size:14px;
}
.calculator-dashboard{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.calculator-panel{
  padding:20px;
  background:#fff;
  border:1px solid #d7e0e6;
  border-radius:15px;
  box-shadow:0 5px 16px rgba(18,58,78,.025);
}
.panel-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
}
.step-number{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  border-radius:7px;
  color:#fff;
  background:linear-gradient(145deg,#125d7e,#087ca8);
  font-size:14px;
  font-weight:800;
  box-shadow:0 7px 14px rgba(18,93,126,.16);
}
.panel-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 44px;
  border:1px solid #cddae2;
  border-radius:50%;
  color:#125d7e;
  background:#fff;
  font-size:23px;
}
.panel-header strong,
.panel-header small{
  display:block;
}
.panel-header strong{
  color:#12293d;
  font-size:16px;
  line-height:1.2;
}
.panel-header small{
  margin-top:3px;
  color:#74808b;
  font-size:11px;
}
.calculator-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}
.calculator-fields label{
  display:grid;
  gap:7px;
  color:#112538;
  font-size:11px;
  font-weight:800;
}
.calculator-fields input,
.calculator-fields select{
  height:46px;
  border-color:#cbd7df;
  font-weight:600;
}
.top-right-stack{
  display:grid;
  gap:16px;
}
.loan-terms-card{
  min-height:0;
}
.loan-term-block{
  margin-top:0;
}
.loan-term-block>span{
  display:block;
  margin-bottom:9px;
  font-size:11px;
  font-weight:800;
}
.term-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.term{
  min-width:82px;
  padding:10px 14px;
  border:1px solid #cbd7df;
  border-radius:999px;
  background:#fff;
  color:#12293d;
  font-size:11px;
  font-weight:800;
}
.term.active{
  border-color:#125d7e;
  background:linear-gradient(145deg,#125d7e,#087ca8);
  color:#fff;
}
.calculator-accordion{
  margin-top:12px;
  border:1px solid #d3dee5;
  border-radius:9px;
  background:#fff;
}
.calculator-accordion summary{
  padding:13px 15px;
  list-style:none;
  cursor:pointer;
  color:#13283b;
  font-size:12px;
  font-weight:800;
}
.calculator-accordion summary:after{
  content:"⌄";
  float:right;
  color:#125d7e;
}
.accordion-grid{
  padding:0 14px 14px;
}
.calculator-actions{
  display:flex;
  gap:10px;
  margin-top:14px;
}
.calculator-actions .button-primary{
  min-width:180px;
}
.monthly-total-card{
  min-height:150px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid #eee9df;
  border-radius:14px;
  background:linear-gradient(120deg,#f7f4ed,#fffdf8);
}
.monthly-total-card>span{
  color:#66727c;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.monthly-total-card div{
  margin-top:5px;
  color:#102a41;
  font-family:"DM Serif Display",Georgia,serif;
  line-height:1;
}
.monthly-total-card strong{
  font-size:45px;
  font-weight:400;
}
.monthly-total-card small{
  margin-left:4px;
  font-family:"Manrope",Arial,sans-serif;
  font-size:12px;
  font-weight:800;
}
.payment-breakdown-card,
.closing-cost-card{
  min-height:270px;
}
.payment-breakdown{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:26px;
  align-items:center;
}
.donut{
  width:172px;
  height:172px;
  border-radius:50%;
  background:conic-gradient(#125d7e 0 79%,#74808b 79% 90%,#a9b9c3 90% 97%,#f6be43 97% 100%);
  display:grid;
  place-items:center;
}
.donut:after{
  content:attr(data-value);
  width:108px;
  height:108px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#112b41;
  font-size:13px;
  font-weight:800;
  text-align:center;
}
.breakdown-list{
  display:grid;
  gap:13px;
  font-size:12px;
}
.breakdown-list div{
  display:flex;
  justify-content:space-between;
  gap:14px;
}
.breakdown-list span{
  display:flex;
  align-items:center;
  color:#53616c;
}
.breakdown-list strong{
  color:#112538;
}
.legend{
  width:11px;
  height:11px;
  display:inline-block;
  margin-right:8px;
  border-radius:50%;
}
.legend-blue{background:#125d7e}
.legend-gray{background:#74808b}
.legend-light{background:#a9b9c3}
.legend-gold{background:#f6be43}
.legend-navy{background:#183f5b}
.closing-cost-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:stretch;
}
.cost-tile{
  min-height:145px;
  padding:24px;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-radius:12px;
}
.upfront-tile{
  background:linear-gradient(130deg,#f4f8fb,#edf5fa);
}
.cash-tile{
  background:linear-gradient(130deg,#fffdf8,#fbf3df);
}
.cost-tile span{
  color:#5c6872;
  font-size:12px;
}
.cost-tile strong{
  margin-top:10px;
  color:#125d7e;
  font-size:28px;
}
.cost-tile b{
  position:absolute;
  right:20px;
  bottom:22px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#125d7e;
  background:rgba(18,93,126,.08);
  font-size:27px;
}
.cash-tile b{
  color:#e9a800;
  background:rgba(246,190,67,.16);
}
.standalone-faq{
  margin-top:22px;
}
@media(max-width:1050px){
  .calculator-dashboard{
    grid-template-columns:1fr;
  }
}
@media(max-width:720px){
  .mortgage-calculator-shell{
    padding:18px;
  }
  .calculator-fields,
  .closing-cost-grid{
    grid-template-columns:1fr;
  }
  .payment-breakdown{
    grid-template-columns:1fr;
    justify-items:center;
  }
  .calculator-actions{
    flex-direction:column;
  }
  .calculator-actions .button-primary{
    min-width:0;
  }
  .monthly-total-card strong{
    font-size:39px;
  }
}


/* Application spam protection and email-verification flow */
.honeypot-wrap{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  left:-10000px!important;
}
.form-message{
  min-height:20px;
  margin-top:10px;
  font-size:12px;
  font-weight:700;
}
.form-message.is-error{color:#a32020}
.form-message.is-success{color:#125d7e}
.verification-stage{
  margin-top:16px;
  padding:18px;
  border:1px solid #d4e0e6;
  border-radius:12px;
  background:#f4f8fa;
}
.verification-stage[hidden]{display:none}
.verification-stage-heading{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:14px;
}
.verification-stage-heading strong,
.verification-stage-heading small{
  display:block;
}
.verification-stage-heading strong{
  color:#17364b;
  font-size:16px;
}
.verification-stage-heading small{
  margin-top:2px;
  color:#697983;
  font-size:11px;
}
.verification-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#125d7e;
  font-size:19px;
}
.verification-code-label{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:800;
}
.verification-code-input{
  margin-bottom:12px;
  text-align:center;
  font-size:23px;
  font-weight:800;
  letter-spacing:.35em;
}
.preapproval-card.is-verifying .form-grid,
.preapproval-card.is-verifying .contact-methods,
.preapproval-card.is-verifying .privacy-note,
.preapproval-card.is-verifying #sendVerificationButton{
  opacity:.45;
  pointer-events:none;
}


/* TEMPORARY TEST MODE — visible honeypot field */
.honeypot-test-field{
  margin:0 0 14px;
  padding:13px;
  border:2px dashed #f6be43;
  border-radius:10px;
  background:#fff9e8;
}
.honeypot-test-field label{
  display:block;
  color:#17364b;
  font-size:12px;
  font-weight:800;
}
.honeypot-test-field small{
  display:block;
  margin:3px 0 9px;
  color:#80600d;
  font-size:10px;
  font-weight:700;
}
.honeypot-test-field input{
  background:#fff;
}


/* Pre-approval currency fields */
.currency-input{
  position:relative;
  display:block;
  width:100%;
}
.currency-input>span{
  position:absolute;
  left:13px;
  top:50%;
  z-index:2;
  transform:translateY(-50%);
  color:#667884;
  font-size:14px;
  font-weight:800;
  pointer-events:none;
}
.currency-input>input{
  width:100%;
  padding-left:31px!important;
  background:#fff!important;
  color:var(--ink)!important;
  cursor:text!important;
  pointer-events:auto!important;
  opacity:1!important;
  -webkit-text-fill-color:var(--ink);
}
.currency-input>input:focus{
  background:#fff!important;
}


/* Production honeypot — hidden visually but still present in the HTML */
.honeypot-field{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.honeypot-field input{
  width:1px!important;
  height:1px!important;
  padding:0!important;
  border:0!important;
}


/* Updated family-oriented hero background */
@media(max-width:720px){
  .hero{
    background-position:58% center;
  }
}


/* FINAL HERO SIZE FIX
   Keeps the same family image, but displays it smaller and less zoomed. */
.hero.hero-family{
  background-color:#f7f5ef!important;
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.96) 27%,
      rgba(255,255,255,.72) 43%,
      rgba(255,255,255,.28) 62%,
      rgba(255,255,255,.08) 82%
    ),
    url("/assets/images/hero-latino-family.jpg")!important;
  background-repeat:no-repeat!important;
  background-position:center, 57% center!important;
  background-size:100% 100%, auto 82%!important;
}

@media(max-width:1200px){
  .hero.hero-family{
    background-position:center, 54% center!important;
    background-size:100% 100%, auto 72%!important;
  }
}

@media(max-width:720px){
  .hero.hero-family{
    background-position:center, 54% 12%!important;
    background-size:100% 100%, auto 48%!important;
  }
}


/* EXTRA-SMALL HERO IMAGE FIX
   The family photo is intentionally reduced further so it does not dominate
   the headline or pre-approval form. */
.hero.hero-family{
  background-color:#f7f5ef!important;
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.98) 31%,
      rgba(255,255,255,.82) 47%,
      rgba(255,255,255,.42) 66%,
      rgba(255,255,255,.15) 86%
    ),
    url("/assets/images/hero-latino-family.jpg")!important;
  background-repeat:no-repeat!important;
  background-position:center, 58% center!important;
  background-size:100% 100%, auto 56%!important;
}

@media(max-width:1200px){
  .hero.hero-family{
    background-position:center, 56% center!important;
    background-size:100% 100%, auto 50%!important;
  }
}

@media(max-width:720px){
  .hero.hero-family{
    background-position:center, 58% 16%!important;
    background-size:100% 100%, auto 36%!important;
  }
}


/* NEW FAMILY-IN-FRONT-OF-HOME HERO IMAGE */
.hero.hero-family{
  background-color:#f7f5ef!important;
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.97) 26%,
      rgba(255,255,255,.82) 43%,
      rgba(255,255,255,.36) 61%,
      rgba(255,255,255,.08) 82%
    ),
    url("/assets/images/hero-family-home.jpg")!important;
  background-repeat:no-repeat!important;
  background-position:center, center center!important;
  background-size:100% 100%, cover!important;
}

@media(max-width:1200px){
  .hero.hero-family{
    background-position:center, 56% center!important;
    background-size:100% 100%, cover!important;
  }
}

@media(max-width:720px){
  .hero.hero-family{
    background-position:center, 64% center!important;
    background-size:100% 100%, cover!important;
  }
}


/* Exact uploaded Premier Asset Lending logo */
.brand-logo-link{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  margin-right:auto;
  line-height:0;
}
.site-logo{
  display:block;
  width:238px;
  height:auto;
  max-height:62px;
  object-fit:contain;
}
.footer-logo-link{
  display:inline-flex;
  margin:0 0 16px;
  padding:7px 10px;
  border-radius:8px;
  background:#fff;
}
.footer-logo{
  width:220px;
  max-height:none;
}
@media(max-width:720px){
  .site-logo{
    width:190px;
    max-height:53px;
  }
  .footer-logo{
    width:205px;
  }
}


/* =========================================================
   BLOCK 1 — GREEN, WHITE & BLACK COLOR SYSTEM
   Header, hero, pre-approval form and trust strip only.
   ========================================================= */
:root{
  --green:#0b6b3a;
  --green-dark:#064725;
  --green-light:#eaf5ee;
  --black:#101513;
  --black-soft:#1b2420;
  --white:#ffffff;
  --muted:#66716b;
  --line:#d8e1dc;
}

/* Header */
.site-header{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid #d8e1dc!important;
}
.main-nav a{
  color:#101513!important;
}
.main-nav a:hover{
  color:#0b6b3a!important;
}
.main-nav a:after{
  background:#0b6b3a!important;
}
.header-phone{
  color:#101513!important;
}
.menu-toggle{
  color:#101513!important;
}

/* Primary and secondary actions */
.button-primary{
  background:#0b6b3a!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(11,107,58,.20)!important;
}
.button-primary:hover{
  background:#064725!important;
}
.button-secondary{
  background:#fff!important;
  border-color:#0b6b3a!important;
  color:#0b6b3a!important;
}
.button-secondary:hover{
  background:#eaf5ee!important;
  color:#064725!important;
}

/* Hero text */
.hero-content .eyebrow{
  color:#0b6b3a!important;
}
.hero-content h1{
  color:#101513!important;
}
.hero-content h1 span{
  color:#0b6b3a!important;
}
.hero-text{
  color:#39433e!important;
}
.benefit-list span{
  color:#101513!important;
}
.benefit-list span:before{
  background:#0b6b3a!important;
  color:#fff!important;
}
.hero-phone{
  color:#4f5c55!important;
}
.hero-phone strong{
  color:#0b6b3a!important;
}

/* Keep family image visible while giving text a clean white field */
.hero.hero-family{
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.98) 28%,
      rgba(255,255,255,.82) 45%,
      rgba(255,255,255,.34) 63%,
      rgba(255,255,255,.06) 84%
    ),
    url("/assets/images/hero-family-home.jpg")!important;
}

/* Application card */
.preapproval-card{
  background:#fff!important;
  border:1px solid #d8e1dc!important;
  box-shadow:0 20px 55px rgba(16,21,19,.13)!important;
}
.card-heading h2{
  color:#101513!important;
}
.card-heading p{
  color:#66716b!important;
}
.form-grid label,
.contact-methods strong{
  color:#101513!important;
}
.form-grid input,
.form-grid select,
.currency-input input{
  background:#fff!important;
  border-color:#cad6cf!important;
  color:#101513!important;
}
.form-grid input:focus,
.form-grid select:focus,
.currency-input input:focus{
  border-color:#0b6b3a!important;
  box-shadow:0 0 0 3px rgba(11,107,58,.12)!important;
}
.currency-input>span{
  color:#0b6b3a!important;
}
.privacy-note{
  background:#eaf5ee!important;
  color:#30473a!important;
  border:1px solid #d2e9da!important;
}

/* Email verification stage */
.verification-stage{
  background:#f5faf7!important;
  border-color:#cee5d6!important;
}
.verification-icon{
  background:#0b6b3a!important;
}
.verification-stage-heading strong{
  color:#101513!important;
}

/* Trust strip */
.trust-strip{
  background:#101513!important;
  border:0!important;
}
.trust-grid div{
  border-right:1px solid rgba(255,255,255,.15)!important;
}
.trust-grid strong{
  color:#fff!important;
}
.trust-grid span{
  color:#cbd5cf!important;
}
.trust-grid div:first-child strong{
  color:#fff!important;
}

/* Mobile header menu */
@media(max-width:1150px){
  .main-nav{
    background:#fff!important;
    border-color:#d8e1dc!important;
  }
}


/* =========================================================
   BLOCK 1 — FINAL MOCKUP MATCH
   Green, white and black family-home hero
   ========================================================= */

:root{
  --brand-green:#087b32;
  --brand-green-dark:#045a23;
  --brand-black:#101311;
  --brand-white:#ffffff;
  --brand-line:#d8dfda;
}

/* Header */
.site-header{
  background:#fff!important;
  border-bottom:1px solid #ecefec!important;
}
.header-inner{
  min-height:88px!important;
}
.site-logo{
  width:250px!important;
  max-height:70px!important;
}
.main-nav{
  gap:34px!important;
}
.main-nav a{
  color:#111!important;
  font-size:14px!important;
}
.main-nav a:after{
  background:var(--brand-green)!important;
}
.header-actions{
  gap:28px!important;
}
.header-phone{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#111!important;
  font-size:17px!important;
  white-space:nowrap!important;
}
.phone-icon{
  color:var(--brand-green)!important;
  font-size:24px!important;
}

/* Hero */
.hero-block-one{
  min-height:780px!important;
  position:relative!important;
  overflow:visible!important;
  border-bottom:0!important;
  background-color:#f7f7f4!important;
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.99) 20%,
      rgba(255,255,255,.91) 31%,
      rgba(255,255,255,.48) 43%,
      rgba(255,255,255,.07) 62%,
      rgba(255,255,255,0) 100%
    ),
    url("/assets/images/hero-family-home.jpg")!important;
  background-repeat:no-repeat!important;
  background-position:center, center center!important;
  background-size:100% 100%, cover!important;
}
.hero-block-one .hero-grid{
  min-height:780px!important;
  grid-template-columns:minmax(430px,.9fr) minmax(510px,.78fr)!important;
  gap:90px!important;
  align-items:center!important;
  padding:38px 0 96px!important;
}
.hero-content{
  max-width:570px!important;
}
.hero-content .eyebrow{
  color:var(--brand-green)!important;
  margin-bottom:14px!important;
  font-size:12px!important;
}
.hero-content h1{
  max-width:560px!important;
  margin-bottom:18px!important;
  color:#101311!important;
  font-family:"DM Serif Display",Georgia,serif!important;
  font-size:67px!important;
  line-height:.92!important;
}
.hero-content h1 span{
  display:block!important;
  color:var(--brand-green)!important;
}
.hero-text{
  max-width:500px!important;
  color:#323b36!important;
  font-size:18px!important;
  line-height:1.65!important;
}
.benefit-list{
  gap:13px!important;
  margin:28px 0!important;
}
.benefit-list span{
  display:flex!important;
  align-items:center!important;
  color:#111!important;
  font-size:15px!important;
  font-weight:800!important;
}
.benefit-list span:before{
  width:27px!important;
  height:27px!important;
  flex:0 0 27px!important;
  background:#fff!important;
  border:2px solid var(--brand-green)!important;
  color:var(--brand-green)!important;
  font-size:14px!important;
}
.hero-buttons{
  gap:14px!important;
  margin-top:24px!important;
}
.hero-buttons .button{
  min-width:205px!important;
  padding:16px 25px!important;
  font-size:15px!important;
}
.hero-phone{
  margin-top:26px!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  column-gap:12px!important;
  row-gap:2px!important;
  align-items:center!important;
  color:#111!important;
  font-size:14px!important;
}
.hero-phone:before{
  content:"☎";
  grid-row:1/3;
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border:1px solid #b9d6c3;
  border-radius:50%;
  color:var(--brand-green);
  font-size:23px;
}
.hero-phone span{
  font-weight:800!important;
}
.hero-phone strong{
  color:var(--brand-green)!important;
  font-size:26px!important;
}

/* Application card */
.preapproval-card{
  width:100%!important;
  max-width:540px!important;
  justify-self:end!important;
  padding:30px 28px!important;
  border:1px solid #d5ddd8!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.15)!important;
}
.application-heading{
  text-align:center!important;
}
.application-heading h2{
  color:#111!important;
  font-size:31px!important;
}
.application-heading .heading-rule{
  width:54px!important;
  height:3px!important;
  display:block!important;
  margin:13px auto 13px!important;
  background:var(--brand-green)!important;
}
.application-heading p{
  color:#333!important;
  font-size:13px!important;
  line-height:1.75!important;
}
.form-grid{
  gap:13px 14px!important;
}
.form-grid label{
  color:#111!important;
  font-size:11px!important;
}
.form-grid input,
.form-grid select{
  height:45px!important;
  border-radius:7px!important;
  border-color:#cad4ce!important;
}
.contact-methods{
  margin:15px 0!important;
  font-size:11px!important;
}
.privacy-note{
  margin-bottom:13px!important;
  padding:12px 14px!important;
  border:0!important;
  border-radius:7px!important;
  background:#f2f5f3!important;
  color:#333!important;
}
#sendVerificationButton{
  min-height:54px!important;
  font-size:17px!important;
  gap:10px!important;
}

/* Trust strip */
.trust-strip{
  position:relative!important;
  z-index:5!important;
  margin-top:-72px!important;
  background:transparent!important;
}
.trust-strip .container{
  width:min(1460px,94%)!important;
}
.trust-grid{
  display:grid!important;
  grid-template-columns:repeat(6,1fr)!important;
  overflow:hidden!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#151816,#0b0d0c)!important;
  box-shadow:0 14px 32px rgba(0,0,0,.18)!important;
}
.trust-grid .trust-item{
  min-height:116px!important;
  padding:20px 18px!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  align-content:center!important;
  text-align:left!important;
  border-right:1px solid rgba(255,255,255,.13)!important;
}
.trust-icon{
  grid-row:1/3!important;
  align-self:center!important;
  color:#fff!important;
  font-size:27px!important;
}
.trust-item.reviews .trust-icon{
  color:#18a443!important;
  font-size:17px!important;
  letter-spacing:2px!important;
}
.trust-grid strong{
  color:#fff!important;
  font-size:13px!important;
}
.trust-grid small{
  color:#cbd2ce!important;
  font-size:10px!important;
}
.trust-grid span{
  display:block!important;
}

/* Responsive */
@media(max-width:1200px){
  .hero-block-one .hero-grid{
    grid-template-columns:1fr 1fr!important;
    gap:35px!important;
  }
  .hero-content h1{
    font-size:55px!important;
  }
  .trust-grid{
    grid-template-columns:repeat(3,1fr)!important;
  }
}
@media(max-width:850px){
  .hero-block-one{
    min-height:auto!important;
    background-position:center, 62% center!important;
  }
  .hero-block-one .hero-grid{
    grid-template-columns:1fr!important;
    padding:42px 0 105px!important;
  }
  .hero-content{
    max-width:620px!important;
  }
  .preapproval-card{
    justify-self:center!important;
    max-width:650px!important;
  }
  .trust-strip{
    margin-top:-58px!important;
  }
}
@media(max-width:600px){
  .site-logo{
    width:195px!important;
  }
  .hero-content h1{
    font-size:44px!important;
  }
  .hero-text{
    font-size:15px!important;
  }
  .hero-buttons .button{
    width:100%!important;
  }
  .trust-grid{
    grid-template-columns:1fr!important;
  }
  .trust-grid .trust-item{
    min-height:88px!important;
  }
}


/* =========================================================
   BLOCK 2 — MORTGAGE PLANNING CENTER
   Green, white and black
   ========================================================= */
.planning-section{
  padding:92px 0 70px;
  background:#f4f6f4;
}
.planning-shell{
  padding:30px;
  border:1px solid #d9e1dc;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(12,35,22,.07);
}
.planning-heading{
  max-width:820px;
  margin-bottom:28px;
}
.planning-heading h2{
  margin:0;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:42px;
  font-weight:400;
}
.planning-heading>p:last-child{
  margin:7px 0 0;
  color:#59645e;
  font-size:15px;
}
.planning-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.planning-card{
  padding:22px;
  border:1px solid #d8e1dc;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(13,42,25,.035);
}
.planning-card-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
}
.planning-step{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  flex:0 0 39px;
  border-radius:8px;
  background:#0b6b3a;
  color:#fff;
  font-size:13px;
  font-weight:800;
}
.planning-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 44px;
  border:1px solid #cbd8d0;
  border-radius:50%;
  color:#0b6b3a;
  font-size:23px;
}
.planning-card-header h3{
  margin:0;
  color:#111;
  font-size:17px;
}
.planning-card-header p{
  margin:3px 0 0;
  color:#6a756f;
  font-size:11px;
}
.planning-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.planning-fields label{
  display:grid;
  gap:7px;
  color:#111;
  font-size:11px;
  font-weight:800;
}
.planning-fields input,
.planning-fields select{
  height:47px;
  border:1px solid #cad5ce;
  border-radius:8px;
  background:#fff;
  color:#111;
  font-weight:600;
}
.planning-fields input:focus,
.planning-fields select:focus{
  border-color:#0b6b3a;
  box-shadow:0 0 0 3px rgba(11,107,58,.11);
}
.planning-currency{
  position:relative;
}
.planning-currency span{
  position:absolute;
  top:50%;
  left:13px;
  z-index:2;
  transform:translateY(-50%);
  color:#0b6b3a;
  font-weight:800;
}
.planning-currency input{
  padding-left:29px;
}
.loan-term-block{
  margin-top:0;
}
.loan-term-block>span{
  display:block;
  margin-bottom:9px;
  font-size:11px;
  font-weight:800;
}
.term-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.term{
  min-width:82px;
  padding:10px 14px;
  border:1px solid #cad5ce;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.term.active{
  border-color:#0b6b3a;
  background:#0b6b3a;
  color:#fff;
}
.calculator-accordion{
  margin-top:12px;
  border:1px solid #d5ddd8;
  border-radius:9px;
  background:#fff;
}
.calculator-accordion summary{
  padding:14px 15px;
  list-style:none;
  cursor:pointer;
  color:#111;
  font-size:12px;
  font-weight:800;
}
.calculator-accordion summary:after{
  content:"⌄";
  float:right;
  color:#0b6b3a;
}
.accordion-grid{
  padding:0 14px 14px;
}
.calculator-actions{
  display:flex;
  gap:10px;
  margin-top:14px;
}
.calculator-actions .button-primary{
  min-width:180px;
}
.monthly-total-inline{
  margin-bottom:18px;
  padding:17px 18px;
  border-radius:12px;
  background:#f0f6f2;
}
.monthly-total-inline span{
  display:block;
  color:#5f6b64;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.monthly-total-inline strong{
  color:#0b6b3a;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:37px;
  font-weight:400;
}
.monthly-total-inline small{
  margin-left:4px;
  font-weight:800;
}
.payment-breakdown{
  display:grid;
  grid-template-columns:176px 1fr;
  gap:24px;
  align-items:center;
}
.donut{
  width:170px;
  height:170px;
  border-radius:50%;
  background:conic-gradient(#0b6b3a 0 79%,#111 79% 90%,#7b8780 90% 97%,#d9e0dc 97% 100%);
  display:grid;
  place-items:center;
}
.donut:after{
  content:attr(data-value);
  width:108px;
  height:108px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-size:13px;
  font-weight:800;
}
.breakdown-list{
  display:grid;
  gap:13px;
  font-size:12px;
}
.breakdown-list div{
  display:flex;
  justify-content:space-between;
  gap:14px;
}
.breakdown-list span{
  display:flex;
  align-items:center;
  color:#526058;
}
.breakdown-list strong{
  color:#111;
}
.legend{
  width:11px;
  height:11px;
  display:inline-block;
  margin-right:8px;
  border-radius:50%;
}
.legend-green{background:#0b6b3a}
.legend-black{background:#111}
.legend-gray{background:#7b8780}
.legend-light{background:#d9e0dc}
.legend-dark{background:#30423a}
.cash-close-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.cash-tile{
  min-height:170px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid #dde4df;
  border-radius:13px;
  background:#f8faf8;
}
.cash-tile.featured{
  background:#101513;
  border-color:#101513;
}
.cash-tile span{
  color:#5f6b64;
  font-size:12px;
}
.cash-tile strong{
  display:block;
  margin:10px 0 6px;
  color:#0b6b3a;
  font-size:31px;
}
.cash-tile small{
  color:#6a756f;
  font-size:10px;
}
.cash-tile.featured span,
.cash-tile.featured small{
  color:#cfd7d2;
}
.cash-tile.featured strong{
  color:#fff;
}
.planning-seo-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
  margin-top:20px;
}
.planning-seo-grid article{
  padding:24px;
  border:1px solid #d8e1dc;
  border-radius:15px;
  background:#fff;
}
.planning-seo-grid h3{
  margin:0 0 9px;
  color:#111;
  font-size:19px;
}
.planning-seo-grid p,
.planning-seo-grid li{
  color:#5d6962;
  font-size:13px;
}
.planning-seo-grid ul{
  margin:14px 0 0;
  padding-left:20px;
}
.planning-links-card{
  display:flex;
  flex-direction:column;
}
.planning-links-card a{
  padding:11px 0;
  border-bottom:1px solid #e0e6e2;
  color:#0b6b3a;
  font-size:13px;
  font-weight:800;
}
.planning-cta{
  margin-top:20px;
  padding:24px 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-radius:15px;
  background:#101513;
  color:#fff;
}
.planning-cta span,
.planning-cta strong{
  display:block;
}
.planning-cta span{
  color:#cbd3ce;
  font-size:12px;
}
.planning-cta strong{
  margin-top:3px;
  font-size:18px;
}
.planning-cta>div:last-child{
  display:flex;
  gap:10px;
}
.planning-cta .button-secondary{
  border-color:#fff!important;
  color:#fff!important;
  background:transparent!important;
}
.planning-faq{
  margin-top:22px;
  padding-top:24px;
  border-top:1px solid #dbe2dd;
}
.planning-faq-heading h2{
  margin:0;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:34px;
  font-weight:400;
}
.planning-faq-list{
  margin-top:14px;
}
.planning-faq-list details{
  border-bottom:1px solid #dfe5e1;
}
.planning-faq-list summary{
  padding:16px 4px;
  list-style:none;
  cursor:pointer;
  color:#111;
  font-size:13px;
  font-weight:800;
}
.planning-faq-list summary:after{
  content:"+";
  float:right;
  color:#0b6b3a;
  font-size:18px;
}
.planning-faq-list details[open] summary:after{
  content:"−";
}
.planning-faq-list p{
  margin:0;
  padding:0 4px 16px;
  color:#5d6962;
  font-size:12px;
}
@media(max-width:1050px){
  .planning-grid,
  .planning-seo-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .planning-shell{
    padding:18px;
  }
  .planning-fields,
  .cash-close-grid{
    grid-template-columns:1fr;
  }
  .payment-breakdown{
    grid-template-columns:1fr;
    justify-items:center;
  }
  .calculator-actions,
  .planning-cta,
  .planning-cta>div:last-child{
    flex-direction:column;
    align-items:stretch;
  }
  .calculator-actions .button-primary{
    min-width:0;
  }
}


/* =========================================================
   BLOCK 3 — LOAN PROGRAM EXPLORER
   ========================================================= */
.loan-explorer-section{
  padding:76px 0;
  background:#fff;
}
.loan-explorer-heading{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-end;
  margin-bottom:24px;
}
.loan-explorer-heading>div{
  max-width:820px;
}
.loan-explorer-heading h2{
  margin:0;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:43px;
  font-weight:400;
}
.loan-explorer-heading p:last-child{
  margin:8px 0 0;
  color:#5e6963;
  font-size:14px;
}
.loan-category-tabs{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-bottom:22px;
  padding-bottom:18px;
  border-bottom:1px solid #dce3de;
}
.loan-tab{
  padding:10px 16px;
  border:1px solid #cdd8d1;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.loan-tab.active,
.loan-tab:hover{
  border-color:#0b6b3a;
  background:#0b6b3a;
  color:#fff;
}
.loan-program-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.loan-program-card{
  min-height:390px;
  padding:22px;
  display:flex;
  flex-direction:column;
  border:1px solid #d9e1dc;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 20px rgba(13,40,24,.04);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.loan-program-card:hover{
  transform:translateY(-5px);
  border-color:#a9c7b3;
  box-shadow:0 18px 34px rgba(13,40,24,.10);
}
.loan-program-card.is-hidden{
  display:none;
}
.loan-program-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:14px;
  border-radius:13px;
  background:#eaf5ee;
  color:#0b6b3a;
  font-size:23px;
  font-weight:900;
}
.loan-program-label{
  width:max-content;
  margin-bottom:7px;
  padding:5px 9px;
  border-radius:999px;
  background:#f2f5f3;
  color:#536158;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.loan-program-card h3{
  margin:0 0 8px;
  color:#111;
  font-size:18px;
}
.loan-program-card>p{
  margin:0 0 16px;
  color:#5f6a64;
  font-size:12px;
  line-height:1.65;
}
.loan-program-card dl{
  margin:0 0 17px;
}
.loan-program-card dl div{
  padding:9px 0;
  border-top:1px solid #e3e8e5;
}
.loan-program-card dt{
  color:#6a756f;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.loan-program-card dd{
  margin:3px 0 0;
  color:#111;
  font-size:11px;
  font-weight:700;
}
.loan-program-card>a{
  margin-top:auto;
  color:#0b6b3a;
  font-size:11px;
  font-weight:800;
}
.loan-program-card>a:hover{
  color:#064725;
}
.loan-comparison-callout{
  margin-top:24px;
  padding:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  border-radius:17px;
  background:#101513;
  color:#fff;
}
.loan-comparison-callout>div:first-child{
  max-width:770px;
}
.loan-comparison-callout h3{
  margin:0 0 6px;
  font-size:24px;
}
.loan-comparison-callout p:last-child{
  margin:0;
  color:#c6d0ca;
  font-size:12px;
}
.loan-comparison-actions{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}
.loan-comparison-actions .button-secondary{
  border-color:#fff!important;
  background:transparent!important;
  color:#fff!important;
}
.loan-disclaimer{
  margin-top:17px;
  padding:14px 16px;
  display:flex;
  gap:6px;
  border-left:3px solid #0b6b3a;
  background:#f4f7f5;
  color:#5d6862;
  font-size:10px;
}
.loan-disclaimer strong{
  color:#111;
  white-space:nowrap;
}
@media(max-width:1250px){
  .loan-program-grid{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:920px){
  .loan-explorer-heading,
  .loan-comparison-callout{
    align-items:flex-start;
    flex-direction:column;
  }
  .loan-program-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:620px){
  .loan-program-grid{
    grid-template-columns:1fr;
  }
  .loan-program-card{
    min-height:0;
  }
  .loan-comparison-actions{
    width:100%;
    flex-direction:column;
  }
  .loan-disclaimer{
    flex-direction:column;
  }
}


/* =========================================================
   BLOCK 4 — HOMEBUYER RESOURCE CENTER
   ========================================================= */
.resource-center-section{
  padding:78px 0;
  background:#f4f6f4;
  border-top:1px solid #dfe5e1;
}
.resource-center-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:25px;
}
.resource-center-heading>div{
  max-width:860px;
}
.resource-center-heading h2{
  margin:0;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:43px;
  font-weight:400;
}
.resource-center-heading p:last-child{
  margin:8px 0 0;
  color:#5e6963;
  font-size:14px;
}
.resource-tool-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}
.resource-tool-card{
  min-height:250px;
  padding:22px;
  display:flex;
  gap:15px;
  border:1px solid #d7e0da;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(13,40,24,.035);
  transition:.2s ease;
}
.resource-tool-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(13,40,24,.09);
}
.resource-tool-card.featured-tool{
  background:#101513;
  border-color:#101513;
}
.resource-tool-icon{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  flex:0 0 45px;
  border-radius:12px;
  background:#eaf5ee;
  color:#0b6b3a;
  font-size:22px;
  font-weight:900;
}
.featured-tool .resource-tool-icon{
  background:#0b6b3a;
  color:#fff;
}
.resource-category{
  color:#0b6b3a;
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.resource-tool-card h3{
  margin:6px 0 8px;
  color:#111;
  font-size:17px;
}
.resource-tool-card p{
  margin:0 0 14px;
  color:#5d6862;
  font-size:11px;
  line-height:1.65;
}
.resource-tool-card a{
  color:#0b6b3a;
  font-size:11px;
  font-weight:800;
}
.featured-tool h3,
.featured-tool a{
  color:#fff;
}
.featured-tool p{
  color:#cad3cd;
}
.resource-content-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:20px;
}
.featured-guide-card{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  overflow:hidden;
  border:1px solid #d7e0da;
  border-radius:18px;
  background:#fff;
}
.guide-visual{
  min-height:420px;
  position:relative;
  display:flex;
  align-items:flex-end;
  padding:24px;
  background:
    linear-gradient(180deg,rgba(11,107,58,.05),rgba(11,107,58,.82)),
    linear-gradient(135deg,#d9e9df,#9fc5ad);
}
.guide-visual:before{
  content:"⌂";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-58%);
  color:rgba(255,255,255,.64);
  font-size:125px;
}
.guide-visual span{
  position:relative;
  color:#fff;
  font-size:16px;
  font-weight:800;
}
.guide-content{
  padding:30px;
}
.guide-content h3{
  margin:0 0 10px;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:31px;
  font-weight:400;
}
.guide-content>p:not(.eyebrow){
  color:#5d6862;
  font-size:12px;
}
.guide-content ul{
  margin:18px 0 24px;
  padding-left:19px;
}
.guide-content li{
  margin:8px 0;
  color:#39443e;
  font-size:12px;
}
.latest-resources{
  padding:25px;
  border:1px solid #d7e0da;
  border-radius:18px;
  background:#fff;
}
.latest-resources-header h3{
  margin:0;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:29px;
  font-weight:400;
}
.article-list{
  margin-top:13px;
}
.article-list article{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  padding:17px 0;
  border-top:1px solid #e0e6e2;
}
.article-number{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eaf5ee;
  color:#0b6b3a;
  font-size:10px;
  font-weight:900;
}
.article-list h4{
  margin:4px 0 5px;
  color:#111;
  font-size:14px;
}
.article-list p{
  margin:0 0 7px;
  color:#5f6a64;
  font-size:10px;
  line-height:1.55;
}
.article-list a{
  color:#0b6b3a;
  font-size:10px;
  font-weight:800;
}
.resource-topic-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:20px;
}
.resource-topic-grid a{
  padding:18px;
  border:1px solid #d7e0da;
  border-radius:13px;
  background:#fff;
  transition:.2s ease;
}
.resource-topic-grid a:hover{
  border-color:#0b6b3a;
  transform:translateY(-2px);
}
.resource-topic-grid span,
.resource-topic-grid strong{
  display:block;
}
.resource-topic-grid span{
  margin-bottom:5px;
  color:#0b6b3a;
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.resource-topic-grid strong{
  color:#111;
  font-size:12px;
  line-height:1.45;
}
.resource-newsletter{
  margin-top:20px;
  padding:27px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border-radius:17px;
  background:#101513;
  color:#fff;
}
.resource-newsletter>div{
  max-width:720px;
}
.resource-newsletter h3{
  margin:0 0 6px;
  font-size:23px;
}
.resource-newsletter p:last-child{
  margin:0;
  color:#c8d1cb;
  font-size:11px;
}
.resource-newsletter-form{
  min-width:390px;
  display:flex;
  gap:9px;
}
.resource-newsletter-form input{
  min-width:250px;
  height:48px;
  border:1px solid #4e5c54;
  border-radius:9px;
  background:#fff;
  color:#111;
}
.resource-disclaimer{
  margin-top:15px;
  padding:13px 15px;
  display:flex;
  gap:6px;
  border-left:3px solid #0b6b3a;
  background:#fff;
  color:#5d6862;
  font-size:10px;
}
.resource-disclaimer strong{
  color:#111;
  white-space:nowrap;
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
@media(max-width:1200px){
  .resource-tool-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:930px){
  .resource-center-heading,
  .resource-newsletter{
    align-items:flex-start;
    flex-direction:column;
  }
  .resource-content-grid{
    grid-template-columns:1fr;
  }
  .resource-topic-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .resource-newsletter-form{
    min-width:0;
    width:100%;
  }
}
@media(max-width:650px){
  .resource-tool-grid,
  .resource-topic-grid{
    grid-template-columns:1fr;
  }
  .featured-guide-card{
    grid-template-columns:1fr;
  }
  .guide-visual{
    min-height:230px;
  }
  .resource-newsletter-form{
    flex-direction:column;
  }
  .resource-newsletter-form input{
    min-width:0;
    width:100%;
  }
  .resource-disclaimer{
    flex-direction:column;
  }
}


/* =========================================================
   BLOCK 5 — WHY PREMIER, PROCESS, REVIEWS, FAQ & FINAL CTA
   ========================================================= */
.why-premier-section{
  padding:78px 0 54px;
  background:#fff;
}
.why-premier-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:24px;
}
.why-premier-heading>div{
  max-width:850px;
}
.why-premier-heading h2{
  margin:0;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:43px;
  font-weight:400;
}
.why-premier-heading p:last-child{
  margin:8px 0 0;
  color:#5e6963;
  font-size:14px;
}
.why-premier-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}
.why-premier-grid article{
  min-height:225px;
  padding:22px;
  border:1px solid #d8e1dc;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(13,40,24,.035);
}
.why-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:12px;
  background:#eaf5ee;
  color:#0b6b3a;
  font-size:22px;
  font-weight:900;
}
.why-premier-grid h3{
  margin:0 0 8px;
  color:#111;
  font-size:16px;
}
.why-premier-grid p{
  margin:0;
  color:#5d6862;
  font-size:11px;
  line-height:1.7;
}
.loan-process-section{
  margin-top:22px;
  padding:30px;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:32px;
  border-radius:18px;
  background:#101513;
  color:#fff;
}
.loan-process-copy h3{
  margin:0 0 8px;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:31px;
  font-weight:400;
}
.loan-process-copy p:last-child{
  color:#c7d0ca;
  font-size:12px;
}
.loan-process-steps{
  margin:0;
  padding:0;
  list-style:none;
}
.loan-process-steps li{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  padding:15px 0;
  border-top:1px solid rgba(255,255,255,.13);
}
.loan-process-steps li:first-child{
  border-top:0;
}
.loan-process-steps>li>span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#0b6b3a;
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.loan-process-steps h4{
  margin:0 0 4px;
  font-size:14px;
}
.loan-process-steps p{
  margin:0;
  color:#c6d0ca;
  font-size:10px;
  line-height:1.55;
}
.testimonial-section{
  margin-top:22px;
  padding:28px;
  border:1px solid #d8e1dc;
  border-radius:18px;
  background:#f4f7f5;
}
.testimonial-heading{
  max-width:800px;
  margin-bottom:20px;
}
.testimonial-heading h3{
  margin:0 0 7px;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:31px;
  font-weight:400;
}
.testimonial-heading p:last-child{
  color:#5f6a64;
  font-size:11px;
}
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
}
.testimonial-grid blockquote{
  margin:0;
  padding:21px;
  border:1px solid #d8e1dc;
  border-radius:14px;
  background:#fff;
}
.testimonial-stars{
  color:#0b6b3a;
  letter-spacing:3px;
  font-size:13px;
}
.testimonial-grid blockquote>p{
  min-height:75px;
  margin:14px 0 18px;
  color:#39443e;
  font-size:12px;
  line-height:1.65;
}
.testimonial-grid footer{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.testimonial-grid footer strong{
  color:#111;
  font-size:11px;
}
.testimonial-grid footer span{
  color:#6b756f;
  font-size:9px;
}
.credentials-section{
  margin-top:22px;
  padding:28px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:30px;
  border:1px solid #d8e1dc;
  border-radius:18px;
  background:#fff;
}
.credentials-copy h3{
  margin:0 0 8px;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:29px;
  font-weight:400;
}
.credentials-copy p:last-child{
  color:#5e6963;
  font-size:11px;
}
.credentials-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.credentials-grid div{
  padding:18px;
  border-radius:12px;
  background:#f2f6f3;
}
.credentials-grid span,
.credentials-grid strong{
  display:block;
}
.credentials-grid span{
  color:#647068;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.credentials-grid strong{
  margin-top:5px;
  color:#111;
  font-size:14px;
}
.final-faq-section{
  margin-top:22px;
  padding:29px;
  border:1px solid #d8e1dc;
  border-radius:18px;
  background:#fff;
}
.final-faq-heading{
  max-width:820px;
}
.final-faq-heading h3{
  margin:0 0 7px;
  color:#111;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:32px;
  font-weight:400;
}
.final-faq-heading p:last-child{
  color:#5e6963;
  font-size:11px;
}
.final-faq-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:24px;
  margin-top:16px;
}
.final-faq-grid details{
  border-top:1px solid #dfe5e1;
}
.final-faq-grid summary{
  padding:16px 3px;
  list-style:none;
  cursor:pointer;
  color:#111;
  font-size:12px;
  font-weight:800;
}
.final-faq-grid summary:after{
  content:"+";
  float:right;
  color:#0b6b3a;
  font-size:17px;
}
.final-faq-grid details[open] summary:after{
  content:"−";
}
.final-faq-grid p{
  margin:0;
  padding:0 3px 16px;
  color:#5d6862;
  font-size:10px;
  line-height:1.6;
}
.final-cta-section{
  margin-top:22px;
  padding:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  border-radius:18px;
  background:#101513;
  color:#fff;
}
.final-cta-section h3{
  margin:0 0 5px;
  font-size:27px;
}
.final-cta-section p:last-child{
  margin:0;
  color:#c8d1cb;
  font-size:11px;
}
.final-cta-actions{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}
.final-cta-actions .button-secondary{
  border-color:#fff!important;
  background:transparent!important;
  color:#fff!important;
}
.homepage-compliance-notice{
  margin-top:16px;
  padding:14px 16px;
  border-left:3px solid #0b6b3a;
  background:#f4f7f5;
}
.homepage-compliance-notice p{
  margin:0;
  color:#5d6862;
  font-size:9px;
  line-height:1.55;
}
.homepage-compliance-notice strong{
  color:#111;
}
@media(max-width:1100px){
  .why-premier-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .loan-process-section,
  .credentials-section{
    grid-template-columns:1fr;
  }
}
@media(max-width:800px){
  .why-premier-heading,
  .final-cta-section{
    align-items:flex-start;
    flex-direction:column;
  }
  .testimonial-grid,
  .final-faq-grid{
    grid-template-columns:1fr;
  }
  .final-cta-actions{
    width:100%;
    flex-direction:column;
  }
}
@media(max-width:600px){
  .why-premier-grid,
  .credentials-grid{
    grid-template-columns:1fr;
  }
  .loan-process-section,
  .testimonial-section,
  .credentials-section,
  .final-faq-section,
  .final-cta-section{
    padding:20px;
  }
}

/* =========================================================
   COMBINED OLD + NEW PREMIER ASSET LENDING FOOTER
   ========================================================= */
.site-footer{
  background:#fff;
  color:#111;
  border-top:1px solid #d8e1dc;
}
.footer-main{
  padding:54px 0 42px;
}
.footer-main-grid{
  display:grid;
  grid-template-columns:1.25fr repeat(3,1fr);
  gap:38px;
}
.footer-logo-link{
  display:inline-flex;
  padding:7px 10px;
  border-radius:8px;
  background:#fff;
}
.footer-logo{
  display:block;
  width:235px;
  height:auto;
}
.footer-tagline{
  max-width:360px;
  margin:17px 0;
  color:#58635d;
  font-size:12px;
  line-height:1.7;
}
.footer-contact{
  display:grid;
  gap:5px;
  margin:0;
  color:#3e4943;
  font-size:11px;
  font-style:normal;
}
.footer-contact a{
  color:#0b6b3a;
  font-weight:800;
}
.footer-socials{
  display:flex;
  gap:8px;
  margin-top:17px;
}
.footer-socials a{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid #cdd8d1;
  border-radius:50%;
  color:#0b6b3a;
  font-size:11px;
  font-weight:900;
}
.footer-socials a:hover{
  border-color:#0b6b3a;
  background:#0b6b3a;
  color:#fff;
}
.footer-column{
  display:flex;
  flex-direction:column;
}
.footer-column h2{
  margin:0 0 14px;
  color:#111;
  font-size:14px;
}
.footer-column a{
  padding:5px 0;
  color:#59645e;
  font-size:10px;
}
.footer-column a:hover{
  color:#0b6b3a;
}
.footer-trust-bar{
  background:#0b6b3a;
  color:#fff;
}
.footer-trust-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
}
.footer-trust-grid div{
  min-height:74px;
  padding:15px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-right:1px solid rgba(255,255,255,.18);
  text-align:center;
}
.footer-trust-grid span{
  font-size:20px;
}
.footer-trust-grid strong{
  font-size:9px;
  line-height:1.4;
}
.footer-legal-links{
  padding:14px 0;
  background:#101513;
}
.footer-legal-links .container{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 22px;
}
.footer-legal-links a{
  color:#fff;
  font-size:9px;
  font-weight:700;
}
.footer-legal-links a:hover{
  color:#89d5a6;
}
.footer-compliance{
  padding:25px 0;
  background:#f4f6f4;
}
.footer-compliance-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 18px;
}
.footer-compliance details{
  border-bottom:1px solid #d7dfda;
}
.footer-compliance summary{
  padding:12px 2px;
  list-style:none;
  cursor:pointer;
  color:#111;
  font-size:10px;
  font-weight:800;
}
.footer-compliance summary:after{
  content:"+";
  float:right;
  color:#0b6b3a;
  font-size:16px;
}
.footer-compliance details[open] summary:after{
  content:"−";
}
.footer-compliance p{
  margin:0;
  padding:0 2px 13px;
  color:#5c6761;
  font-size:9px;
  line-height:1.65;
}
.footer-bottom{
  padding:15px 0;
  background:#071b10;
  color:#d6ded9;
}
.footer-bottom-grid{
  display:grid;
  grid-template-columns:1fr 1.5fr 1fr;
  gap:18px;
  align-items:center;
  font-size:8px;
}
.footer-bottom-grid span:nth-child(2){
  text-align:center;
}
.footer-bottom-grid span:last-child{
  text-align:right;
}
.footer-bottom-grid strong{
  color:#fff;
}
@media(max-width:1100px){
  .footer-main-grid{
    grid-template-columns:1fr 1fr;
  }
  .footer-trust-grid{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:720px){
  .footer-main-grid,
  .footer-compliance-inner{
    grid-template-columns:1fr;
  }
  .footer-trust-grid{
    grid-template-columns:1fr 1fr;
  }
  .footer-bottom-grid{
    grid-template-columns:1fr;
    text-align:center;
  }
  .footer-bottom-grid span:nth-child(2),
  .footer-bottom-grid span:last-child{
    text-align:center;
  }
}
@media(max-width:480px){
  .footer-trust-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   VISIBLE LICENSING FOOTER — FINAL OVERRIDE
   ========================================================= */
.footer-main{
  padding:52px 0 44px!important;
}
.footer-main-grid{
  grid-template-columns:1.15fr 1fr 1fr .75fr 1.1fr!important;
  gap:34px!important;
}
.footer-main h2{
  color:#0b3e24!important;
  font-size:14px!important;
  text-transform:none!important;
}
.footer-follow-label{
  display:block;
  margin-top:20px;
  color:#0b6b3a;
  font-size:11px;
}
.footer-address-indent{
  padding-left:22px;
}
.footer-get-in-touch{
  display:flex;
  flex-direction:column;
  gap:11px;
}
.footer-get-in-touch a,
.footer-get-in-touch p{
  margin:0;
  color:#26322b;
  font-size:10px;
  line-height:1.7;
}
.footer-get-in-touch p span{
  padding-left:20px;
}
.footer-apply-button{
  margin-top:16px;
  text-align:center;
}
.footer-trust-grid div{
  min-height:82px!important;
}
.footer-legal-links{
  padding:18px 0!important;
  background:#fff!important;
  border-bottom:1px solid #dde4df;
}
.footer-legal-links a{
  color:#0b4f2d!important;
  font-size:9px!important;
}
.footer-legal-links a:after{
  content:"";
  display:inline-block;
  height:14px;
  margin-left:20px;
  border-right:1px solid #9caf9f;
  vertical-align:middle;
}
.footer-legal-links a:last-child:after{
  display:none;
}
.footer-visible-disclosure{
  padding:22px 0;
  background:#f7f8f6;
}
.footer-disclosure-panel{
  display:grid;
  grid-template-columns:2.2fr repeat(4,.8fr) .7fr;
  border:1px solid #cfd9d2;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.footer-primary-disclosure,
.footer-disclosure-mini,
.footer-eho-mark{
  padding:23px 20px;
}
.footer-primary-disclosure{
  border-right:1px solid #dce3de;
}
.footer-primary-disclosure h2{
  margin:0 0 10px;
  color:#111;
  font-size:14px;
  text-transform:none;
}
.footer-primary-disclosure p{
  margin:0 0 7px;
  color:#303b35;
  font-size:10px;
  line-height:1.7;
}
.footer-disclosure-mini{
  border-right:1px solid #dce3de;
}
.footer-disclosure-mini strong{
  display:block;
  margin-bottom:10px;
  color:#111;
  font-size:10px;
  line-height:1.35;
  text-transform:uppercase;
}
.footer-disclosure-mini p{
  margin:0;
  color:#4f5c55;
  font-size:8px;
  line-height:1.75;
}
.footer-eho-mark{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.footer-eho-mark span{
  color:#111;
  font-size:54px;
  line-height:1;
}
.footer-eho-mark strong{
  margin-top:9px;
  color:#111;
  font-size:9px;
  text-transform:uppercase;
}
.footer-bottom{
  background:#003f28!important;
}
@media(max-width:1250px){
  .footer-main-grid{
    grid-template-columns:1.2fr 1fr 1fr!important;
  }
  .footer-get-in-touch{
    grid-column:span 2;
  }
  .footer-disclosure-panel{
    grid-template-columns:1.6fr repeat(2,1fr);
  }
  .footer-primary-disclosure{
    grid-row:span 2;
  }
}
@media(max-width:800px){
  .footer-main-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .footer-get-in-touch{
    grid-column:auto;
  }
  .footer-disclosure-panel{
    grid-template-columns:1fr;
  }
  .footer-primary-disclosure,
  .footer-disclosure-mini{
    border-right:0;
    border-bottom:1px solid #dce3de;
  }
}
@media(max-width:560px){
  .footer-main-grid{
    grid-template-columns:1fr!important;
  }
  .footer-legal-links .container{
    justify-content:flex-start!important;
  }
  .footer-legal-links a:after{
    display:none;
  }
}


/* =========================================================
   FOOTER MAP + LAYOUT REPAIR
   ========================================================= */
.footer-main{
  padding:46px 0 38px!important;
}
.footer-main-grid{
  display:grid!important;
  grid-template-columns:1.15fr .95fr 1fr .75fr 1.3fr!important;
  gap:30px!important;
  align-items:start!important;
}
.footer-company,
.footer-column,
.footer-get-in-touch{
  min-width:0!important;
}
.footer-column h2,
.footer-get-in-touch h2{
  margin:0 0 15px!important;
  color:#0b3e24!important;
  font-size:15px!important;
}
.footer-column a{
  padding:5px 0!important;
  line-height:1.45!important;
}
.footer-get-in-touch{
  gap:10px!important;
}
.footer-get-in-touch>a,
.footer-get-in-touch p{
  margin:0!important;
  color:#26322b!important;
  font-size:10px!important;
  line-height:1.65!important;
}
.footer-location-line span{
  display:inline-block;
  padding-left:21px!important;
}
.footer-hours{
  margin-top:3px!important;
}
.footer-map-title{
  margin:10px 0 8px!important;
  color:#0b6b3a!important;
  font-size:11px!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
.footer-map{
  width:100%;
  overflow:hidden;
  border:1px solid #cfd9d2;
  border-radius:10px;
  background:#eef3ef;
}
.footer-map iframe{
  display:block;
  width:100%!important;
  height:190px!important;
}
.footer-logo{
  width:250px!important;
  max-width:100%!important;
}
.footer-tagline{
  margin-top:16px!important;
}
.footer-socials{
  flex-wrap:wrap!important;
}
.footer-trust-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.footer-trust-grid div{
  padding:14px 10px!important;
}
.footer-disclosure-panel{
  grid-template-columns:2.15fr repeat(4,.78fr) .72fr!important;
}
@media(max-width:1280px){
  .footer-main-grid{
    grid-template-columns:1.15fr 1fr 1fr!important;
  }
  .footer-get-in-touch{
    grid-column:2 / 4!important;
  }
  .footer-map iframe{
    height:220px!important;
  }
  .footer-disclosure-panel{
    grid-template-columns:1.6fr repeat(2,1fr)!important;
  }
  .footer-primary-disclosure{
    grid-row:span 2!important;
  }
}
@media(max-width:900px){
  .footer-main-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .footer-get-in-touch{
    grid-column:auto!important;
  }
  .footer-trust-grid{
    grid-template-columns:repeat(3,1fr)!important;
  }
  .footer-disclosure-panel{
    grid-template-columns:1fr 1fr!important;
  }
  .footer-primary-disclosure{
    grid-column:1 / -1!important;
    grid-row:auto!important;
  }
}
@media(max-width:620px){
  .footer-main-grid{
    grid-template-columns:1fr!important;
  }
  .footer-get-in-touch{
    grid-column:auto!important;
  }
  .footer-trust-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .footer-disclosure-panel{
    grid-template-columns:1fr!important;
  }
  .footer-map iframe{
    height:230px!important;
  }
}


/* Newsletter registration */
.resource-newsletter-form{
  position:relative;
}
.newsletter-input-wrap{
  flex:1;
}
.newsletter-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.newsletter-status{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  margin:0;
  font-size:10px;
  line-height:1.4;
}
.newsletter-status.is-success{
  color:#9de5b6;
}
.newsletter-status.is-error{
  color:#ffb4b4;
}
#resourceNewsletterButton[disabled]{
  opacity:.65;
  cursor:not-allowed;
}
.resource-newsletter{
  margin-bottom:0!important;
}


/* =========================================================
   LIVE MORTGAGE RATE CENTER
   Positioned before Mortgage Planning Center
   ========================================================= */
.live-rate-center{
  padding:72px 0 38px;
  background:#fff;
}
.live-rate-shell{
  padding:28px;
  border:1px solid #d8e1dc;
  border-radius:20px;
  background:#101513;
  color:#fff;
  box-shadow:0 18px 42px rgba(10,35,20,.12);
}
.live-rate-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding-bottom:23px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.live-rate-heading h2{
  margin:0;
  color:#fff;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:42px;
  font-weight:400;
}
.live-rate-heading>div:first-child>p:last-child{
  margin:8px 0 0;
  color:#c8d1cb;
  font-size:13px;
}
.live-rate-updated{
  min-width:180px;
  text-align:right;
}
.live-rate-updated span,
.live-rate-updated strong,
.live-rate-updated small{
  display:block;
}
.live-rate-updated span{
  color:#9fad9f;
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.live-rate-updated strong{
  margin-top:5px;
  color:#fff;
  font-size:15px;
}
.live-rate-updated small{
  margin-top:3px;
  color:#75cf96;
  font-size:9px;
}
.live-rate-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
  margin-top:22px;
}
.live-rate-card{
  position:relative;
  min-height:185px;
  padding:19px;
  display:grid;
  grid-template-columns:48px 1fr;
  grid-template-rows:auto auto 1fr;
  column-gap:13px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px;
  background:#fff;
  color:#111;
  transition:transform .2s ease, border-color .2s ease;
}
.live-rate-card:hover{
  transform:translateY(-4px);
  border-color:#79b98e;
}
.live-rate-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  grid-row:1 / 3;
  border-radius:12px;
  background:#eaf5ee;
  color:#0b6b3a;
  font-size:12px;
  font-weight:900;
}
.live-rate-card small{
  color:#69746e;
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.live-rate-card h3{
  margin:4px 0 0;
  color:#111;
  font-size:15px;
}
.live-rate-value{
  grid-column:1 / -1;
  align-self:end;
  margin-top:21px;
  color:#0b6b3a;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:37px;
  font-weight:400;
}
.live-rate-card>a{
  position:absolute;
  right:17px;
  bottom:17px;
  color:#0b6b3a;
  font-size:9px;
  font-weight:800;
}
.live-rate-actions{
  margin-top:18px;
  padding-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(255,255,255,.14);
}
.live-rate-source{
  max-width:750px;
}
.live-rate-source strong,
.live-rate-source span{
  display:block;
}
.live-rate-source strong{
  color:#fff;
  font-size:10px;
}
.live-rate-source span{
  margin-top:4px;
  color:#aeb9b2;
  font-size:9px;
  line-height:1.55;
}
.live-rate-buttons{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}
.live-rate-buttons .button-secondary{
  border-color:#fff!important;
  background:transparent!important;
  color:#fff!important;
}
.live-rate-error{
  margin-top:15px;
  padding:12px;
  border-radius:9px;
  background:#4a211f;
  color:#ffd7d4;
  font-size:10px;
}
.live-rate-card.is-loading .live-rate-value{
  opacity:.45;
}
@media(max-width:1050px){
  .live-rate-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:760px){
  .live-rate-heading,
  .live-rate-actions{
    align-items:flex-start;
    flex-direction:column;
  }
  .live-rate-updated{
    text-align:left;
  }
  .live-rate-buttons{
    width:100%;
    flex-direction:column;
  }
}
@media(max-width:560px){
  .live-rate-shell{
    padding:18px;
  }
  .live-rate-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   MORTGAGE RATE HISTORY CHART
   ========================================================= */
.rate-history-panel{
  margin-top:20px;
  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:#0c120f;
}
.rate-history-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
}
.rate-history-header h3{
  margin:0;
  color:#fff;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:28px;
  font-weight:400;
}
.rate-history-controls{
  display:flex;
  align-items:flex-end;
  gap:14px;
}
.rate-history-controls label{
  display:grid;
  gap:6px;
  color:#aeb8b2;
  font-size:9px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.rate-history-controls select{
  min-width:215px;
  height:40px;
  border:1px solid #405148;
  border-radius:8px;
  background:#fff;
  color:#111;
  font-size:11px;
  font-weight:700;
}
.rate-history-periods{
  display:flex;
  gap:6px;
}
.rate-history-periods button{
  height:40px;
  padding:0 13px;
  border:1px solid #405148;
  border-radius:8px;
  background:transparent;
  color:#d5ddd8;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.rate-history-periods button.active,
.rate-history-periods button:hover{
  border-color:#0b6b3a;
  background:#0b6b3a;
  color:#fff;
}
.rate-history-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:18px 0;
}
.rate-history-summary div{
  padding:13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:#131b16;
}
.rate-history-summary span,
.rate-history-summary strong{
  display:block;
}
.rate-history-summary span{
  color:#8f9d95;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.rate-history-summary strong{
  margin-top:5px;
  color:#fff;
  font-size:16px;
}
.rate-history-summary strong.is-up{
  color:#ffb0a8;
}
.rate-history-summary strong.is-down{
  color:#79d89a;
}
.rate-history-chart-wrap{
  position:relative;
  min-height:300px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px, transparent 1px),
    #101713;
  background-size:100% 60px, 90px 100%, auto;
}
.rate-history-chart{
  display:block;
  width:100%;
  height:300px;
}
.rate-history-chart .rate-area{
  fill:url(#rateAreaGradient);
}
.rate-history-chart .rate-line{
  fill:none;
  stroke:#62c98a;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.rate-history-chart .rate-dot{
  fill:#fff;
  stroke:#0b6b3a;
  stroke-width:3;
}
.rate-history-chart .rate-label{
  fill:#cbd5cf;
  font-size:11px;
  font-family:Manrope,Arial,sans-serif;
}
.rate-history-loading{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(12,18,15,.76);
  color:#c9d2cc;
  font-size:11px;
}
.rate-history-loading[hidden]{
  display:none;
}
.rate-history-axis{
  display:flex;
  justify-content:space-between;
  margin-top:7px;
  color:#8f9a93;
  font-size:9px;
}
.rate-history-note{
  margin:13px 0 0;
  color:#8f9a93;
  font-size:8px;
  line-height:1.55;
}
@media(max-width:850px){
  .rate-history-header,
  .rate-history-controls{
    align-items:flex-start;
    flex-direction:column;
  }
  .rate-history-summary{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:540px){
  .rate-history-periods{
    width:100%;
  }
  .rate-history-periods button{
    flex:1;
  }
  .rate-history-controls,
  .rate-history-controls label,
  .rate-history-controls select{
    width:100%;
  }
}
