/* =========================================================
   HOME PAGE V2 — rebuilt from the supplied homepage mockup.
   Loaded by index.html only. Other pages are unchanged.
   ========================================================= */

.home-page{
  background:#f6f3ed;
  color:#0a1726;
}

.home-page .home-shell{
  width:min(1440px,calc(100% - 96px));
  max-width:1440px;
  margin-inline:auto;
}

/* ---------------- Header + Hero ---------------- */
.home-page .home-hero{
  position:relative;
  min-height:625px;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(3,15,28,.98) 0%,rgba(4,17,31,.94) 33%,rgba(4,16,28,.57) 61%,rgba(4,16,28,.12) 100%),
    linear-gradient(180deg,rgba(2,12,23,.04),rgba(2,12,23,.18)),
    url("./assets/house-hero.jpg") center center / cover no-repeat;
  border-bottom:1px solid rgba(217,164,75,.25);
}

.home-page .home-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:135px;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(3,13,24,.56),transparent);
}

.home-page .home-hero .site-header{
  position:relative;
  inset:auto;
  min-height:86px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(2,13,25,.1);
  z-index:20;
}

.home-page .home-hero .nav-wrap{
  min-height:86px;
  display:grid;
  grid-template-columns:235px 1fr 190px;
  align-items:center;
  gap:28px;
}

.home-page .home-hero .brand-image img{
  width:205px;
  height:auto;
}

.home-page .home-hero .main-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:38px;
}

.home-page .home-hero .main-nav a{
  padding:34px 0 28px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  color:#fff;
  opacity:.96;
}

.home-page .home-hero .main-nav a::after{
  bottom:23px;
  height:2px;
  background:#dca34a;
}

.home-page .home-hero .nav-cta{
  display:block;
}

.home-page .home-hero .nav-cta .btn{
  width:100%;
  min-height:48px;
  border:1px solid #cfa05b;
  border-radius:6px;
  padding:12px 18px;
  background:linear-gradient(90deg,rgba(191,137,59,.55),rgba(168,107,31,.18));
  box-shadow:none;
  color:#efc276;
  font-size:12px;
}

.home-page .home-hero-inner{
  position:relative;
  z-index:3;
  min-height:538px;
  display:flex;
  align-items:center;
  padding:40px 0 48px;
}

.home-page .home-hero-copy{
  width:min(650px,70%);
  padding-bottom:18px;
}

.home-page .home-hero-eyebrow{
  margin:0 0 17px;
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.31em;
  text-transform:uppercase;
}

.home-page .home-hero-title{
  max-width:650px;
  margin:0;
  font-family:"Inter",system-ui,sans-serif;
  font-size:49px;
  line-height:.94;
  letter-spacing:-.045em;
  text-transform:uppercase;
  font-weight:900;
}

.home-page .home-hero-title span{
  display:block;
  margin-top:5px;
  color:#e6a637;
}

.home-page .home-hero-lead{
  max-width:545px;
  margin:22px 0 0;
  color:rgba(255,255,255,.95);
  font-size:16px;
  line-height:1.45;
}

.home-page .home-hero-actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:26px;
}

.home-page .home-hero-actions .btn{
  min-width:230px;
  padding:15px 22px;
  border-radius:5px;
  font-size:12px;
  text-align:center;
}

.home-page .home-hero-actions .btn-gold{
  background:linear-gradient(135deg,#cda25f,#9f6e27);
  box-shadow:0 10px 28px rgba(185,132,53,.18);
  color:#fff;
  text-transform:none;
  letter-spacing:0;
}

.home-page .home-hero-actions .btn-outline{
  border:1px solid #d4a759;
  background:rgba(4,15,27,.45);
  color:#fff;
  text-transform:none;
  letter-spacing:0;
}

.home-page .home-hero-trust{
  display:flex;
  align-items:center;
  gap:34px;
  margin-top:29px;
}

.home-page .home-hero-trust-item{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:10px;
  font-weight:700;
}

.home-page .home-hero-trust-item i{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  font-size:23px;
  color:#fff;
}

.home-page .home-hero-side-note{
  position:absolute;
  right:31px;
  top:50%;
  transform:translateY(-50%);
  width:96px;
  color:#fff;
  text-transform:uppercase;
  font-size:15px;
  line-height:1.55;
  font-weight:600;
  letter-spacing:.12em;
}

.home-page .home-hero-side-note::before{
  content:"";
  display:block;
  width:35px;
  height:2px;
  margin:0 0 14px;
  background:#d89a32;
}

/* ---------------- Feature strip ---------------- */
.home-page .home-benefit-strip{
  background:#f8f5ef;
  border-bottom:1px solid #e1ddd5;
}

.home-page .home-benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  min-height:126px;
  align-items:center;
}

.home-page .home-benefit-item{
  min-height:72px;
  display:grid;
  grid-template-columns:62px 1fr;
  align-items:center;
  gap:16px;
  padding:18px 28px;
  border-right:1px solid #d9d3ca;
}

.home-page .home-benefit-item:last-child{border-right:0;}

.home-page .home-benefit-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#efe7d8;
  color:#8f6b31;
  font-size:31px;
}

.home-page .home-benefit-item strong{
  display:block;
  margin-bottom:5px;
  font-family:"Inter",system-ui,sans-serif;
  font-size:16px;
  color:#121821;
}

.home-page .home-benefit-item p{
  margin:0;
  color:#4d5560;
  font-size:11px;
  line-height:1.45;
}

/* ---------------- Shared editorial headings ---------------- */
.home-page .home-section-kicker{
  margin:0 0 7px;
  color:#a97729;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-align:center;
}

.home-page .home-editorial-title{
  margin:0;
  color:#101821;
  font-family:"Inter",system-ui,sans-serif;
  font-size:35px;
  line-height:1.08;
  font-weight:700;
  letter-spacing:-.025em;
  text-align:center;
}

/* ---------------- How it works ---------------- */
.home-page .home-how{
  padding:36px 0 31px;
  background:#fbfaf7;
}

.home-page .home-how-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:54px;
  margin-top:26px;
}

.home-page .home-how-steps::before{
  content:"";
  position:absolute;
  left:15.2%;
  right:15.2%;
  top:13px;
  height:1px;
  background:#0b1d32;
}

.home-page .home-how-step{
  position:relative;
  text-align:center;
}

.home-page .home-how-number{
  position:relative;
  z-index:2;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin:0 auto 7px;
  border-radius:50%;
  background:#081c35;
  color:#fff;
  font-size:13px;
  font-weight:800;
  box-shadow:0 0 0 5px #fbfaf7;
}

.home-page .home-how-step h3{
  margin:0 0 7px;
  color:#a57930;
  font-size:15px;
  font-weight:900;
  text-transform:uppercase;
}

.home-page .home-how-step p{
  max-width:260px;
  margin:0 auto;
  color:#4c545f;
  font-size:11px;
  line-height:1.45;
}

/* ---------------- Real-world comparison ---------------- */
.home-page .home-example{
  padding:24px 0 38px;
  background:#f5f2ec;
  border-top:1px solid #ebe5db;
}

.home-page .home-example-grid{
  display:grid;
  grid-template-columns:1.18fr .93fr .93fr;
  gap:12px;
  margin-top:19px;
  align-items:stretch;
}

.home-page .home-property-card{
  position:relative;
  min-height:335px;
  overflow:hidden;
  border:1px solid #e1ddd5;
  border-radius:4px;
  background:#d9d6ce;
}

.home-page .home-property-photo-wrap{
  position:absolute;
  inset:0;
  overflow:hidden;
}

.home-page .home-property-photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}

.home-page .home-property-info{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:14px;
  padding:13px 15px 12px;
  border:1px solid rgba(183,169,146,.35);
  border-radius:4px;
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 28px rgba(0,0,0,.14);
  color:#101821;
}

.home-page .home-property-info h3{
  margin:0 0 6px;
  font-family:"Inter",system-ui,sans-serif;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.02em;
}

.home-page .home-property-location{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:10px;
  color:#2e343a;
  font-size:10px;
  line-height:1.2;
}

.home-page .home-property-location i{
  color:#9b772f;
  font-size:13px;
}

.home-page .home-property-specs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 16px;
  color:#222a33;
  font-size:9.5px;
  line-height:1;
}

.home-page .home-property-specs span{
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}

.home-page .home-property-specs strong{
  font-weight:700;
}

.home-page .home-property-specs img{
  display:block;
  width:14px;
  height:14px;
  min-height:0;
  object-fit:contain;
}

.home-page .home-plan-card{
  display:flex;
  flex-direction:column;
  border:1px solid #e0ddd6;
  border-radius:4px;
  background:#fff;
  padding:17px 19px 12px;
}

.home-page .home-plan-card h3{
  margin:0;
  color:#9d7535;
  font-size:15px;
  text-transform:uppercase;
}

.home-page .home-plan-card > p{
  margin:2px 0 12px;
  color:#27313b;
  font-size:11px;
}

.home-page .home-math{
  border-top:1px solid #e7e3db;
}

.home-page .home-math-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:4px 0;
  border-bottom:1px solid #eeeae3;
  color:#4e5761;
  font-size:10.5px;
}

.home-page .home-math-row b{
  color:#222b35;
  font-weight:600;
}

.home-page .home-out-pocket{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0 8px;
  padding:9px 10px;
  background:#f4efe6;
  color:#111921;
  font-size:11px;
  font-weight:800;
}

.home-page .home-out-pocket strong{
  font-size:20px;
}

.home-page .home-plan-list{
  list-style:none;
  display:grid;
  gap:6px;
  margin:6px 0 12px;
  padding:0;
  color:#4a535d;
  font-size:10.5px;
}

.home-page .home-plan-list li{
  position:relative;
  padding-left:24px;
}

.home-page .home-plan-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-1px;
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#a47c37;
  color:#fff;
  font-size:9px;
  font-weight:900;
}

.home-page .home-plan-cta{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 12px;
  border-radius:4px;
  background:linear-gradient(135deg,#b9904f,#8f6427);
  color:#fff;
  font-size:11px;
  font-weight:700;
}

.home-page .home-example-note{
  margin:14px 0 0;
  color:#717780;
  font-size:9px;
  text-align:center;
}

/* ---------------- Bottom CTA ---------------- */
.home-page .home-final-cta{
  position:relative;
  overflow:hidden;
  padding:35px 0 38px;
  color:#fff;
  text-align:center;
  background:
    linear-gradient(rgba(2,16,29,.86),rgba(2,16,29,.88)),
    url("./assets/house-hero.jpg") center 55% / cover no-repeat;
  border-top:1px solid rgba(213,160,71,.25);
}

.home-page .home-final-cta .home-section-kicker{
  color:#dba24c;
}

.home-page .home-final-cta .home-editorial-title{
  color:#fff;
  font-size:34px;
}

.home-page .home-final-cta p:not(.home-section-kicker){
  max-width:560px;
  margin:10px auto 18px;
  color:rgba(255,255,255,.9);
  font-size:11px;
  line-height:1.5;
}

.home-page .home-final-cta .btn{
  min-width:182px;
  padding:13px 22px;
  border-radius:4px;
  background:linear-gradient(135deg,#cda25f,#976624);
  box-shadow:none;
  text-transform:none;
  letter-spacing:0;
}

/* ---------------- Footer preserved, but make it coexist cleanly ---------------- */
.home-page .compact-site-footer{
  margin-top:0;
}

/* ---------------- Responsive ---------------- */
@media(max-width:1050px){
  .home-page .home-shell{
    width:min(100% - 48px,940px);
    max-width:940px;
  }
  .home-page .home-hero .nav-wrap{
    grid-template-columns:200px 1fr 165px;
    gap:18px;
  }
  .home-page .home-hero .main-nav{gap:24px;}
  .home-page .home-hero-title{font-size:44px;}
  .home-page .home-hero-copy{width:min(620px,72%);}
  .home-page .home-benefit-item{padding-inline:18px;}
}

@media(max-width:860px){
  .home-page .home-shell{
    width:min(100% - 30px,760px);
    max-width:760px;
  }
  .home-page .home-hero{
    min-height:auto;
    background:
      linear-gradient(90deg,rgba(3,15,28,.97) 0%,rgba(4,16,29,.88) 52%,rgba(4,16,28,.35) 100%),
      url("./assets/house-hero.jpg") 62% center / cover no-repeat;
  }
  .home-page .home-hero .nav-wrap{
    min-height:72px;
    grid-template-columns:1fr auto auto;
  }
  .home-page .home-hero .brand-image img{width:170px;}
  .home-page .home-hero .menu-toggle{display:block;}
  .home-page .home-hero .main-nav{
    position:absolute;
    top:72px;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px 20px 18px;
    background:#061625;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .home-page .home-hero .main-nav.open{display:flex;}
  .home-page .home-hero .main-nav a{
    padding:12px 0;
    font-size:12px;
  }
  .home-page .home-hero .main-nav a::after{
    left:0;
    right:auto;
    bottom:6px;
    width:34px;
  }
  .home-page .home-hero .main-nav .nav-cta{
    margin-top:8px;
  }
  .home-page .home-hero .nav-cta .btn{
    min-height:42px;
    padding:10px 14px;
  }
  .home-page .home-hero-inner{
    min-height:530px;
    align-items:center;
    padding-top:36px;
  }
  .home-page .home-hero-copy{
    width:82%;
  }
  .home-page .home-hero-title{font-size:43px;}
  .home-page .home-hero-side-note{display:none;}
  .home-page .home-benefit-grid{grid-template-columns:1fr;}
  .home-page .home-benefit-item{
    border-right:0;
    border-bottom:1px solid #ddd7ce;
  }
  .home-page .home-benefit-item:last-child{border-bottom:0;}
  .home-page .home-example-grid{
    grid-template-columns:1fr 1fr;
  }
  .home-page .home-property-card{
    grid-column:1/-1;
  }
}

@media(max-width:620px){
  .home-page .home-hero{
    background:
      linear-gradient(180deg,rgba(3,15,28,.96) 0%,rgba(4,16,29,.84) 55%,rgba(4,16,28,.42) 100%),
      url("./assets/house-hero.jpg") 68% center / cover no-repeat;
  }
  .home-page .home-hero .nav-wrap{
    grid-template-columns:1fr auto;
    gap:12px;
  }
  .home-page .home-hero .brand-image img{width:155px;}
  .home-page .home-hero .nav-cta{display:none;}
  .home-page .home-hero .main-nav .nav-cta{display:block;}
  .home-page .home-hero-inner{
    min-height:570px;
    padding:48px 0 44px;
    align-items:flex-start;
  }
  .home-page .home-hero-copy{
    width:100%;
  }
  .home-page .home-hero-eyebrow{
    font-size:9px;
    letter-spacing:.2em;
  }
  .home-page .home-hero-title{
    max-width:420px;
    font-size:38px;
    line-height:.97;
  }
  .home-page .home-hero-lead{
    max-width:380px;
    font-size:14px;
  }
  .home-page .home-hero-actions{
    flex-direction:column;
    align-items:stretch;
    max-width:290px;
  }
  .home-page .home-hero-actions .btn{min-width:0;width:100%;}
  .home-page .home-hero-trust{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px 18px;
    margin-top:24px;
  }
  .home-page .home-hero-trust-item:last-child{grid-column:1/-1;}
  .home-page .home-benefit-item{
    grid-template-columns:54px 1fr;
    padding:16px 10px;
  }
  .home-page .home-benefit-icon{
    width:50px;
    height:50px;
    font-size:27px;
  }
  .home-page .home-editorial-title{font-size:29px;}
  .home-page .home-how{padding:31px 0 28px;}
  .home-page .home-how-steps{
    grid-template-columns:1fr;
    gap:24px;
    margin-top:24px;
  }
  .home-page .home-how-steps::before{display:none;}
  .home-page .home-how-step{
    display:grid;
    grid-template-columns:48px 1fr;
    grid-template-areas:"num title" "num copy";
    column-gap:14px;
    text-align:left;
  }
  .home-page .home-how-number{
    grid-area:num;
    margin:0;
    align-self:start;
    box-shadow:none;
  }
  .home-page .home-how-step h3{
    grid-area:title;
    margin-top:1px;
    font-size:14px;
  }
  .home-page .home-how-step p{
    grid-area:copy;
    max-width:none;
    margin:0;
  }
  .home-page .home-example{padding-top:27px;}
  .home-page .home-example-grid{grid-template-columns:1fr;}
  .home-page .home-property-card{grid-column:auto;min-height:300px;}
  .home-page .home-property-photo{min-height:300px;}
  .home-page .home-plan-card{min-height:0;}
  .home-page .home-final-cta{padding:35px 0 38px;}
  .home-page .home-final-cta .home-editorial-title{font-size:30px;}
}


/* =========================================================
   SHARED MEMBERSHIP APPLICATION POPUP
   Mirrors the inner-page popup treatment exactly.
   ========================================================= */
.home-page .apply-modal-card{
  width:min(680px,calc(100% - 36px)) !important;
  max-height:90vh !important;
  margin:5vh auto 0 !important;
  padding:0 !important;
  overflow:auto !important;
  border:1px solid rgba(226,151,28,.92) !important;
  border-radius:14px !important;
  background:#f8f6f1 !important;
  box-shadow:0 36px 90px rgba(0,0,0,.48) !important;
}

.home-page .apply-modal-header{
  position:relative;
  padding:30px 34px 24px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 15%,rgba(225,148,25,.18),transparent 34%),
    linear-gradient(135deg,#071827,#0a2237);
  border-bottom:3px solid #df9419;
}

.home-page .apply-modal-header .eyebrow{
  margin:0 0 7px !important;
  color:#eda11f !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
}

.home-page .apply-modal-header h2{
  margin:0 0 8px !important;
  color:#fff !important;
  font-family:"Inter",system-ui,sans-serif !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  text-transform:uppercase !important;
}

.home-page .apply-modal-header > p:last-child{
  max-width:530px;
  margin:0 !important;
  color:rgba(255,255,255,.75) !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.home-page .apply-modal-card .modal-close{
  top:15px !important;
  right:17px !important;
  z-index:5 !important;
  width:38px !important;
  height:38px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-size:25px !important;
  line-height:1 !important;
}

.home-page .apply-modal-card .modal-close:hover{
  background:rgba(237,161,31,.18) !important;
  border-color:#eda11f !important;
}

.home-page .membership-application-form{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  padding:26px 34px 30px !important;
}

.home-page .membership-application-form .form-field{
  display:block !important;
  min-width:0 !important;
  color:#101d2b !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}

.home-page .membership-application-form .form-field > span{
  display:block;
  margin-bottom:7px;
}

.home-page .membership-application-form input[type="text"],
.home-page .membership-application-form input[type="email"],
.home-page .membership-application-form input[type="tel"],
.home-page .membership-application-form select{
  width:100% !important;
  height:48px !important;
  margin:0 !important;
  padding:0 13px !important;
  border:1px solid #cfc8bc !important;
  border-radius:7px !important;
  outline:none !important;
  background:#fff !important;
  color:#121820 !important;
  font-size:14px !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  transition:border-color .18s ease,box-shadow .18s ease !important;
}

.home-page .membership-application-form input::placeholder{
  color:#92979c !important;
}

.home-page .membership-application-form input:focus,
.home-page .membership-application-form select:focus{
  border-color:#dd9219 !important;
  box-shadow:0 0 0 3px rgba(221,146,25,.13) !important;
}

.home-page .membership-application-form .form-consent{
  grid-column:1 / -1 !important;
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin-top:2px !important;
  color:#5a6066 !important;
  font-size:11px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

.home-page .membership-application-form .form-consent input{
  width:16px !important;
  height:16px !important;
  flex:0 0 16px !important;
  margin:1px 0 0 !important;
  accent-color:#dd9219;
}

.home-page .membership-application-form .apply-submit{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  font-size:13px !important;
}

.home-page .membership-application-form .form-status{
  grid-column:1 / -1 !important;
  min-height:0 !important;
  margin:0 !important;
  color:#17683b !important;
  font-size:12px !important;
  font-weight:700 !important;
  text-align:center !important;
}

@media(max-width:620px){
  .home-page .apply-modal-card{
    width:calc(100% - 24px) !important;
    max-height:92vh !important;
    margin:4vh auto 0 !important;
    border-radius:12px !important;
  }
  .home-page .apply-modal-header{
    padding:25px 22px 20px !important;
  }
  .home-page .apply-modal-header h2{
    max-width:85% !important;
    font-size:27px !important;
  }
  .home-page .apply-modal-header > p:last-child{
    font-size:12px !important;
  }
  .home-page .apply-modal-card .modal-close{
    top:12px !important;
    right:12px !important;
    width:34px !important;
    height:34px !important;
    font-size:22px !important;
  }
  .home-page .membership-application-form{
    grid-template-columns:1fr !important;
    gap:13px !important;
    padding:21px 22px 24px !important;
  }
  .home-page .membership-application-form .form-consent,
  .home-page .membership-application-form .apply-submit,
  .home-page .membership-application-form .form-status{
    grid-column:1 !important;
  }
}

/* =========================================================
   HOME HEADER POLISH — match inner-page banner treatment
   ========================================================= */

/* Remove the full-width separator lines under the home navigation/hero. */
.home-page .home-hero{
  border-bottom:0 !important;
}

.home-page .home-hero .site-header{
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Compact outlined Apply Now button based on the supplied reference. */
.home-page .home-hero .nav-cta{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
}

.home-page .home-hero .nav-cta .btn{
  width:auto !important;
  min-width:132px !important;
  min-height:42px !important;
  padding:0 17px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #b9863b !important;
  border-radius:3px !important;
  background:
    linear-gradient(90deg,rgba(184,132,52,.22) 0%,rgba(122,83,27,.08) 42%,rgba(3,15,27,.30) 100%) !important;
  box-shadow:
    inset 0 0 18px rgba(206,151,61,.05),
    0 0 0 1px rgba(0,0,0,.08) !important;
  color:#e7b75f !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.015em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.home-page .home-hero .nav-cta .btn:hover,
.home-page .home-hero .nav-cta .btn:focus-visible{
  background:
    linear-gradient(90deg,rgba(194,140,56,.30) 0%,rgba(130,89,29,.12) 45%,rgba(3,15,27,.34) 100%) !important;
  border-color:#d09a4b !important;
  color:#f0c874 !important;
}

@media(max-width:860px){
  .home-page .home-hero .nav-cta .btn{
    min-width:118px !important;
    min-height:38px !important;
    padding:0 14px !important;
    font-size:9px !important;
  }
}

/* =========================================================
   HOME NAVIGATION — exact inner-page menu structure/treatment
   ========================================================= */
.home-page .home-hero .site-header{
  position:absolute !important;
  inset:0 0 auto 0 !important;
  width:100% !important;
  min-height:82px !important;
  z-index:1000 !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.home-page .home-hero .site-header .nav-wrap{
  width:min(1440px,calc(100% - 96px)) !important;
  max-width:1440px !important;
  min-height:82px !important;
  margin-inline:auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:235px minmax(0,1fr) 178px !important;
  align-items:center !important;
  gap:34px !important;
  overflow:visible !important;
}

.home-page .home-hero .brand-image img{
  width:215px !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
}

.home-page .home-hero .main-nav{
  min-width:0 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:29px !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
}

.home-page .home-hero .main-nav > a,
.home-page .home-hero .main-nav > .nav-dropdown > a{
  padding:30px 0 23px !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  color:#fff !important;
  opacity:.9 !important;
  white-space:nowrap !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  text-shadow:0 1px 8px rgba(0,0,0,.5) !important;
}

.home-page .home-hero .main-nav > a::after,
.home-page .home-hero .main-nav > .nav-dropdown > a::after{
  bottom:16px !important;
  height:2px !important;
  background:#e99a18 !important;
}

.home-page .home-hero .nav-cta{
  width:178px !important;
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.home-page .home-hero .nav-cta .btn{
  width:178px !important;
  min-width:132px !important;
  min-height:48px !important;
  padding:14px 24px !important;
  border:0 !important;
  border-radius:5px !important;
  background:linear-gradient(180deg,var(--gold2),#c97805) !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
  box-shadow:0 7px 18px rgba(0,0,0,.24) !important;
}

/* The home hero starts beneath the same absolute navigation used by inner pages. */
.home-page .home-hero-inner{
  padding-top:122px !important;
}

@media(max-width:1050px) and (min-width:861px){
  .home-page .home-hero .site-header .nav-wrap{
    width:min(100% - 48px,940px) !important;
    grid-template-columns:200px minmax(0,1fr) 150px !important;
    gap:18px !important;
  }
  .home-page .home-hero .brand-image img{width:190px !important;}
  .home-page .home-hero .main-nav{gap:17px !important;}
  .home-page .home-hero .main-nav > a,
  .home-page .home-hero .main-nav > .nav-dropdown > a{font-size:10px !important;}
  .home-page .home-hero .nav-cta,
  .home-page .home-hero .nav-cta .btn{width:150px !important;}
}

@media(max-width:860px){
  .home-page .home-hero .site-header{
    min-height:68px !important;
  }
  .home-page .home-hero .site-header .nav-wrap{
    width:min(100% - 30px,760px) !important;
    min-height:68px !important;
    grid-template-columns:1fr auto auto !important;
    gap:14px !important;
  }
  .home-page .home-hero .brand-image img{width:170px !important;}
  .home-page .home-hero .menu-toggle{display:block !important;order:2 !important;}
  .home-page .home-hero .nav-cta{
    width:auto !important;
    order:3 !important;
  }
  .home-page .home-hero .nav-cta .btn{
    width:auto !important;
    min-width:118px !important;
    min-height:42px !important;
    padding:11px 14px !important;
    font-size:10px !important;
  }
  .home-page .home-hero .main-nav{
    position:absolute !important;
    top:68px !important;
    left:0 !important;
    right:0 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:8px 18px 18px !important;
    background:#06131f !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
  }
  .home-page .home-hero .main-nav.open{display:flex !important;}
  .home-page .home-hero .main-nav > a,
  .home-page .home-hero .main-nav > .nav-dropdown > a{
    padding:12px 0 !important;
    font-size:12px !important;
  }
  .home-page .home-hero-inner{padding-top:104px !important;}
}

@media(max-width:620px){
  .home-page .home-hero .site-header .nav-wrap{
    grid-template-columns:1fr auto auto !important;
  }
  .home-page .home-hero .brand-image img{width:155px !important;}
  .home-page .home-hero .nav-cta{display:flex !important;}
  .home-page .home-hero .nav-cta .btn{
    min-width:106px !important;
    min-height:38px !important;
    padding:10px 12px !important;
    font-size:9px !important;
  }
}

/* =========================================================
   HOME HERO POSITION REFINEMENT
   Desktop only: push the main hero copy slightly lower while
   lifting the right-side "Better Homes. Brighter Futures."
   note so it aligns with the main Build Your Portfolio heading.
   ========================================================= */
@media (min-width: 861px){
  .home-page .home-hero-inner{
    padding-top:144px !important;
  }

  .home-page .home-hero-side-note{
    top:38% !important;
  }
}


/* =========================================================
   HOME PROPERTY CARD — reference screenshot match
   Homepage only. Keeps all inner pages untouched.
   ========================================================= */
.home-page .home-example-grid{
  max-width:980px;
  margin:19px auto 0;
  grid-template-columns:345px minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  align-items:stretch;
}

.home-page .home-property-card{
  width:100%;
  min-height:0;
  aspect-ratio:345 / 331;
  align-self:start;
  overflow:hidden;
  border-radius:5px;
  background:#fff;
}

.home-page .home-property-card .home-property-reference{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center;
}

@media(max-width:860px){
  .home-page .home-example-grid{
    max-width:760px;
    grid-template-columns:1fr 1fr;
  }
  .home-page .home-property-card{
    grid-column:1 / -1;
    width:min(100%,345px);
    max-width:345px;
    justify-self:center;
  }
}

@media(max-width:620px){
  .home-page .home-example-grid{
    max-width:100%;
    grid-template-columns:1fr;
  }
  .home-page .home-property-card{
    grid-column:auto;
    width:min(100%,345px);
    max-width:345px;
    min-height:0;
  }
  .home-page .home-property-card .home-property-reference{
    min-height:0;
  }
}

/* =========================================================
   HOME REAL-WORLD EXAMPLE — use the same global content width
   as the rest of the site/home page shell.
   ========================================================= */
@media (min-width:861px){
  .home-page .home-example-grid{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    grid-template-columns:1.18fr .93fr .93fr;
  }

  .home-page .home-property-card{
    max-width:none;
  }
}

/* =========================================================
   HOME PROPERTY CARD — DEALS PAGE TYPOGRAPHY ONLY
   Copies the text treatment from the Deals property cards.
   Layout, image, info panel, and card dimensions are unchanged.
   ========================================================= */
.home-page .home-property-info h3{
  margin:0 0 6px;
  color:#071d3e;
  font-family:"Inter",system-ui,sans-serif;
  font-size:21px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:normal;
  text-transform:uppercase;
}

.home-page .home-property-location{
  color:#172b42;
  font-family:"Inter",system-ui,sans-serif;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
}

.home-page .home-property-specs{
  color:#1a2c3f;
  font-family:"Inter",system-ui,sans-serif;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
}

.home-page .home-property-specs strong{
  font-weight:800;
}

/* =========================================================
   HOME PROPERTY CARD — DEALS PAGE PROPERTY SPECS (EXACT)
   Mirrors the property detail row from best-deals.css only.
   ========================================================= */
.home-page .home-property-specs{
  display:flex;
  align-items:center;
  gap:0;
  flex-wrap:wrap;
  margin:12px 0 14px;
  color:#1a2c3f;
  font-family:"Inter",system-ui,sans-serif;
  font-size:11px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
}

.home-page .home-property-specs .spec-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#4f637d;
  font-size:15px;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
}

.home-page .home-property-specs .spec-item span{
  color:#4f637d;
  font-size:inherit;
  font-weight:500;
  letter-spacing:0;
  line-height:1;
}

.home-page .home-property-specs .spec-icon{
  display:block;
  width:18px;
  height:18px;
  min-height:0;
  object-fit:contain;
  flex:0 0 18px;
}

.home-page .home-property-specs .spec-icon-bed{
  width:20px;
  height:20px;
  flex-basis:20px;
}

.home-page .home-property-specs .spec-icon-bath,
.home-page .home-property-specs .spec-icon-sqft{
  width:18px;
  height:18px;
}

.home-page .home-property-specs > i{
  width:1px;
  height:16px;
  background:#d4d9df;
  margin:0 14px;
  display:inline-block;
  flex:0 0 1px;
}

@media (max-width:680px){
  .home-page .home-property-specs{
    gap:8px 0;
  }
  .home-page .home-property-specs > i{
    margin-left:10px;
    margin-right:10px;
  }
}

@media (max-width:480px){
  .home-page .home-property-specs{
    align-items:flex-start;
  }
  .home-page .home-property-specs .spec-item{
    font-size:12px;
  }
}

