
:root{
  --green:#8cc63f; --green-dark:#2f4b2b; --forest:#1d331c;
  --cream:#f5f3ec; --ink:#243124; --muted:#687263;
  --line:#dfe6d7; --shadow:0 16px 30px rgba(0,0,0,.25);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit} img,iframe{max-width:100%;display:block}
button,input,select,textarea{font:inherit;font-size:16px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(32,55,30,.96);border-bottom:7px solid var(--green)}
.nav{width:min(var(--max),100%);min-height:82px;margin:auto;padding:9px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo-link img{width:132px;height:auto}.nav-links{display:flex;align-items:center;gap:24px}
.nav-links a{color:white;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:13px;letter-spacing:.08em}
.nav-links a:hover,.nav-links a.active{color:var(--green)}.nav-toggle{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:11px 22px;border:0;border-radius:999px;text-transform:uppercase;text-decoration:none;font-weight:900;letter-spacing:.06em;font-size:13px;background:var(--green);color:white;cursor:pointer}
.btn.white{background:white;color:var(--green-dark)}.btn.outline{background:white;color:var(--green-dark);border:2px solid var(--green)}
.page-hero{min-height:382px;display:grid;place-items:center;text-align:center;color:white;background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.18)),var(--page-bg,url("images/calc.webp")) center/cover no-repeat;position:relative}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:27px;background:var(--green)}
.page-hero h1{margin:0;font-family:Arial Black,Impact,Arial,sans-serif;text-transform:uppercase;font-size:clamp(52px,9vw,112px);line-height:.82;text-shadow:0 10px 24px rgba(0,0,0,.34)}
.listing-showcase{background:#f7f5f0;padding:34px 0 0}
.carousel{width:min(var(--max),100%);margin:auto;padding:0 18px;display:grid;grid-template-columns:180px 1fr 180px;gap:22px;align-items:center}
.carousel-main,.carousel-side{overflow:hidden;border-radius:7px}.carousel-main{position:relative;box-shadow:var(--shadow)}
.carousel-main img,.carousel-side img{width:100%;height:330px;object-fit:cover;background:#dfe6d7}.carousel-side img{opacity:.62}
.badge{position:absolute;top:9px;left:9px;z-index:5;background:var(--green);color:white;padding:5px 9px;font-weight:950;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.thumb-gallery{width:min(var(--max),100%);margin:18px auto 0;padding:0 18px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px}
.thumb-gallery img{height:62px;width:100%;object-fit:cover;border-radius:5px;cursor:pointer;border:3px solid transparent;background:#dfe6d7}
.thumb-gallery img.active{border-color:var(--green)}
.listing-name{text-align:center;padding:17px 18px 14px}.listing-name h2{margin:0;font-size:36px;font-weight:950;text-transform:lowercase}
.listing-name .price{margin:2px 0 0;color:var(--green);font-size:29px;font-weight:950}.location{margin:4px 0;color:var(--muted);font-weight:700}
.galpic{border-radius:6px;border:3px solid #748178;border-style:ridge;float:left;box-shadow:8px 5px 40px 6px rgba(0,0,0,.3);}
.green-band{background:var(--green);color:white;padding:18px}.green-band-grid{width:min(760px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px 36px;font-weight:850}
.description-box{width:min(900px,calc(100% - 36px));margin:24px auto;background:white;border-radius:7px;padding:25px 34px;text-align:center;box-shadow:var(--shadow)}
.description-box h3{color:var(--green-dark);margin:0 0 10px}.description-box p{line-height:1.62}
.agent-box{width:min(760px,calc(100% - 36px));margin:0 auto 30px;display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}
.agent-photo{width:160px;height:160px;border-radius:50%;border:7px solid var(--green);background:#eaf1e4;display:grid;place-items:center;font-size:34px;font-weight:950;color:var(--green-dark);box-shadow:var(--shadow);overflow:hidden}
.agent-photo img{width:100%;height:100%;object-fit:cover}
.agent-card{background:white;padding:20px;border-radius:7px;text-align:center;box-shadow:var(--shadow)}.agent-card h3{margin:0;text-transform:uppercase}
.socials{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:12px 0}.socials span{width:32px;height:32px;background:var(--green);color:white;border-radius:50%;display:grid;place-items:center;font-weight:950}
.calculator{background:white;padding:30px 18px 38px;text-align:center}.calculator h2{margin:0 0 16px;color:var(--green-dark);text-transform:uppercase;letter-spacing:.07em}
.calc-box{width:min(640px,100%);margin:auto}.calc-box input,.calc-box select{width:100%;padding:10px 12px;border:1px solid #cbd8c3;border-radius:4px}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.calc-result{background:#eef7e8;color:var(--green-dark);margin:13px 0;padding:16px;border-radius:7px;font-size:22px;font-weight:950}
.currency{background:var(--cream);padding:28px 18px}.currency-box{width:min(700px,100%);margin:auto;background:white;border-radius:7px;padding:22px;box-shadow:var(--shadow)}
.currency-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.pdf-title{text-align:center;color:var(--green-dark);text-transform:uppercase;letter-spacing:.07em}
.contact-footer{color:white;text-align:center;background:linear-gradient(rgba(47,75,43,.56),rgba(47,75,43,.62)),url("../../images/tree-bg.svg") center/cover no-repeat;padding:44px 18px}
.contact-footer h2{margin:0 0 12px;text-transform:uppercase;letter-spacing:.08em}.site-footer{background:var(--forest);color:white;padding:34px 18px}
.footer-inner{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.footer-inner a{color:white}
@media(max-width:1024px){.carousel{grid-template-columns:1fr}.carousel-side{display:none}}
@media(max-width:760px){
  .nav{min-height:68px;padding:8px 14px}.logo-link img{width:82px}.nav-toggle{display:inline-flex}
  .nav-links{display:none;position:absolute;left:12px;right:12px;top:74px;background:rgba(29,51,28,.98);border-radius:14px;padding:16px;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}.nav-links a{font-size:15px;padding:8px 0}
  .page-hero{min-height:310px}.page-hero h1{font-size:clamp(48px,16vw,68px)}
  .carousel-main img{height:260px}.green-band-grid,.calc-row{grid-template-columns:1fr}
  .description-box{width:calc(100% - 24px);padding:20px}
  .agent-box{width:calc(100% - 24px);grid-template-columns:1fr;text-align:center}.agent-photo{margin:auto}
  .footer-inner{grid-template-columns:1fr}
}
@media(max-width:390px){.btn{font-size:12px;padding:9px 13px}.logo-link img{width:70px}.carousel-main img{height:230px}.thumb-gallery{grid-template-columns:repeat(4,1fr)}}
.rate-note{
  font-size:13px;
  color:var(--muted);
  margin:8px 0 14px;
  line-height:1.5;
}
.rate-tools{
  background:#f7fbf3;
  border:1px solid #dcebd1;
  padding:12px;
  border-radius:7px;
  margin:12px 0;
}
.rate-tools label{
  display:block;
  text-align:left;
  font-weight:900;
  margin:6px 0 4px;
  color:var(--green-dark);
}
.carousel-main img{
  cursor:zoom-in;
}
.image-viewer{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  background:rgba(0,0,0,.94);
  color:white;
  align-items:center;
  justify-content:center;
  padding:18px;
  touch-action:pan-y;
}
.image-viewer.open{
  display:flex;
}
.image-viewer img{
  max-width:100vw;
  max-height:100vh;
  width:auto;
  height:auto;
  object-fit:contain;
  cursor:grab;
  user-select:none;
  -webkit-user-drag:none;
}
.image-viewer img:active{
  cursor:grabbing;
}
.viewer-close,
.viewer-prev,
.viewer-next{
  position:absolute;
  z-index:10000;
  border:0;
  background:rgba(140,198,63,.92);
  color:white;
  font-weight:950;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:8px 10px 24px rgba(0,0,0,.35);
}
.viewer-close{
  top:18px;
  right:18px;
  width:46px;
  height:46px;
  border-radius:50%;
  font-size:24px;
}
.viewer-prev,
.viewer-next{
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:74px;
  border-radius:14px;
  font-size:34px;
}
.viewer-prev{left:18px}
.viewer-next{right:18px}
.viewer-counter{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.25);
  padding:9px 15px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
}
.viewer-help{
  position:absolute;
  left:18px;
  top:18px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.18);
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}
body.viewer-open{
  overflow:hidden;
}
@media(max-width:760px){
  .image-viewer{
    padding:0;
  }
  .viewer-prev,
  .viewer-next{
    display:none;
  }
  .viewer-help{
    display:none;
  }
  .viewer-close{
    top:12px;
    right:12px;
    width:44px;
    height:44px;
  }
  .viewer-counter{
    bottom:14px;
  }
}
.page-hero{
  min-height:600px !important;
  display:grid !important;
  place-items:center !important;
  text-align:center !important;
  color:#fff !important;
  position:relative !important;
  overflow:hidden !important;
  background:
    linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.42)),
    var(--property-hero-image) center center / cover no-repeat !important;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.08);
  z-index:0;
  pointer-events:none;
}
.page-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:28px;
  background:var(--green,#8cc63f);
  z-index:1;
}
.page-hero h1{
  position:relative !important;
  z-index:2 !important;
  margin:0 !important;
  color:#fff !important;
  text-shadow:0 10px 28px rgba(0,0,0,.58) !important;
}
@media(max-width:760px){
  .page-hero{
    min-height:420px !important;
    background-position:center center !important;
  }
}
.page-hero{
  min-height:600px !important;
  display:grid !important;
  place-items:center !important;
  text-align:center !important;
  color:#fff !important;
  position:relative !important;
  overflow:hidden !important;
  background:#777 !important;
}
.page-hero-bg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  z-index:0 !important;
  display:block !important;
  filter:brightness(.58) !important;
}
.page-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:rgba(0,0,0,.22) !important;
  z-index:1 !important;
  pointer-events:none !important;
}
.page-hero::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:28px !important;
  background:var(--green,#8cc63f) !important;
  z-index:3 !important;
}
.page-hero h1{
  position:relative !important;
  z-index:2 !important;
  margin:0 !important;
  color:#fff !important;
  text-shadow:0 12px 30px rgba(0,0,0,.75) !important;
}
@media(max-width:760px){
  .page-hero{
    min-height:420px !important;
  }
}
.agent-photo{
  width:160px !important;
  height:160px !important;
  border-radius:50% !important;
  border:7px solid var(--green,#8cc63f) !important;
  background:#fff !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:var(--shadow,0 8px 30px rgba(0,0,0,.25)) !important;
}
.agent-photo img,
.agent-image{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.socials a,
.socials span{
  width:36px;
  height:36px;
  background:var(--green,#8cc63f);
  color:white;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:950;
  text-decoration:none;
  line-height:1;
  box-shadow:8px 6px 14px rgba(0,0,0,.18);
  transition:transform .16s ease, filter .16s ease;
}
.socials a:hover{
  transform:translateY(-2px);
  filter:brightness(.95);
}
.socials a:focus{
  outline:3px solid rgba(140,198,63,.35);
  outline-offset:3px;
}
.socials a,
.socials span{
  width:36px;
  height:36px;
  background:var(--green,#8cc63f);
  color:white;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:950;
  text-decoration:none;
  line-height:1;
  box-shadow:8px 6px 14px rgba(0,0,0,.18);
}
.image-viewer img{
  max-width:100vw;
  max-height:100vh;
  width:auto;
  height:auto;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
.rate-note{
  font-size:13px;
  color:var(--muted,#687263);
  margin:8px 0 14px;
  line-height:1.5;
}
.rate-tools label{
  display:block;
  text-align:left;
  font-weight:900;
  margin:6px 0 4px;
  color:var(--green-dark,#2f4b2b);
}
@media(max-width:760px){
  .viewer-prev,
  .viewer-next,
  .viewer-help{
    display:none;
  }
}
.description-box{
  text-align:left !important;
}
.description-box h3{
  text-align:left !important;
}
.description-box p,
#descriptionText p{
  text-align:justify !important;
  text-align-last:left !important;
}
.agent-qualifications{
  margin:6px 0 10px;
  color:var(--muted,#687263);
  font-size:13px;
  line-height:1.45;
}
.agent-direct-details{
  margin:10px 0;
  font-size:14px;
  line-height:1.45;
}
.agent-direct-details a{
  color:var(--green-dark,#2f4b2b);
  font-weight:900;
  text-decoration:none;
}
.agent-direct-details a:hover{
  text-decoration:underline;
}
.description-extra-title{
  margin:22px 0 8px;
  color:var(--green-dark,#2f4b2b);
  font-size:18px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.description-list{
  margin:12px 0 18px;
  padding-left:22px;
}
.description-list li{
  margin:7px 0;
  line-height:1.55;
  text-align:left;
}
.description-note{
  background:#f7fbf3;
  border-left:5px solid var(--green,#8cc63f);
  padding:14px 16px;
  margin:16px 0;
  text-align:left;
  font-weight:700;
  color:var(--green-dark,#2f4b2b);
}
.contact-footer{
  color:white;
  text-align:center;
  background:
    linear-gradient(rgba(47,75,43,.58),rgba(47,75,43,.68)),
    url("../../images/tree-bg.svg") center/cover no-repeat;
  padding:42px 18px 30px;
}
.live-footer{
  background:#1d331c;
  color:#fff;
  padding:34px 18px;
  font-size:13px;
  line-height:1.65;
}
.live-footer-inner{
  width:min(1120px,100%);
  margin:auto;
}
.live-footer-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 24px;
}
.live-footer-disclaimer{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-left:6px solid var(--green,#8cc63f);
  border-radius:8px;
  padding:18px;
  text-align:left;
}
.live-footer-disclaimer h3{
  margin:0 0 10px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.live-footer-disclaimer p{
  margin:8px 0;
}
.live-footer a{
  color:#fff;
  font-weight:900;
}
.live-footer-copy{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.18);
  text-align:center;
  color:rgba(255,255,255,.86);
}
@media(max-width:760px){
  .live-footer{
    padding-bottom:82px;
  }
}
.carousel-main img,
.thumb-gallery img{
  cursor:zoom-in;
}
.image-viewer{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  background:rgba(0,0,0,.94);
  color:#fff;
  align-items:center;
  justify-content:center;
  padding:18px;
  touch-action:pan-y;
}
.viewer-close,
.viewer-prev,
.viewer-next{
  position:absolute;
  z-index:100000;
  border:0;
  background:rgba(140,198,63,.95);
  color:white;
  font-weight:950;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:8px 10px 24px rgba(0,0,0,.35);
}
.viewer-close{
  top:18px;
  right:18px;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:26px;
}
.viewer-prev,
.viewer-next{
  top:50%;
  transform:translateY(-50%);
  width:56px;
  height:78px;
  border-radius:14px;
  font-size:38px;
}
.viewer-counter{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  background:rgba(0,0,0,.58);
  border:1px solid rgba(255,255,255,.25);
  padding:9px 15px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
}
.viewer-help{
  position:absolute;
  left:18px;
  top:18px;
  background:rgba(0,0,0,.48);
  border:1px solid rgba(255,255,255,.18);
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}
@media(max-width:760px){
}
.green-band-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:20px 40px;
}
.green-band-grid span{
  display:grid !important;
  grid-template-columns:120px 1fr !important;
  align-items:center !important;
  gap:10px !important;
  font-weight:900 !important;
  color:#fff !important;
  text-align:left !important;
}
.feature-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:112px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.22) !important;
  color:#fff !important;
  font-size:12px !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}
.feature-value{
  color:#fff !important;
  font-size:17px !important;
}
@media(max-width:760px){
  .green-band-grid{
    grid-template-columns:1fr !important;
  }
  .green-band-grid span{
    grid-template-columns:105px 1fr !important;
  }
  .feature-value{
    font-size:16px !important;
  }
}
.green-band{
  background:var(--green,#8cc63f) !important;
  color:#fff !important;
  padding:22px 18px !important;
}
.green-band-grid{
  width:min(900px,100%) !important;
  margin:auto !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(260px,1fr)) !important;
  gap:14px 42px !important;
}
.green-band-grid .feature-item{
  display:grid !important;
  grid-template-columns:120px 1fr !important;
  align-items:center !important;
  gap:12px !important;
  color:#fff !important;
  text-align:left !important;
}
.green-band-grid .feature-label{
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-width:112px !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.24) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}
.green-band-grid .feature-value{
  color:#fff !important;
  font-size:18px !important;
  font-weight:950 !important;
  line-height:1.25 !important;
}
@media(max-width:760px){
  .green-band-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .green-band-grid .feature-item{
    grid-template-columns:105px 1fr !important;
  }
  .green-band-grid .feature-value{
    font-size:16px !important;
  }
}
.feature-item{
  display:grid !important;
  grid-template-columns:120px 1fr !important;
  align-items:center !important;
  gap:12px !important;
  color:#fff !important;
  text-align:left !important;
}
.feature-label{
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-width:112px !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.24) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}
.feature-value{
  color:#fff !important;
  font-size:18px !important;
  font-weight:950 !important;
  line-height:1.25 !important;
}
@media(max-width:760px){
  .feature-item{
    grid-template-columns:105px 1fr !important;
  }
}
:root{
  --green:#799852 !important;
  --green-dark:#5d7740 !important;
  --green-light:#93b76a !important;
  --header-bg:#799852 !important;
  --footer-bg:#5d7740 !important;
  --feature-bg:#799852 !important;
  --text-light:#ffffff !important;
  --text-dark:#23311a !important;
}
.site-header{
  background:var(--header-bg) !important;
  border-bottom:7px solid var(--green-light) !important;
}
.nav-links a:hover,
.nav-links a.active{
  color:#ffffff !important;
  text-decoration:underline;
  text-underline-offset:6px;
}
.green-band{
  background:var(--feature-bg) !important;
  color:var(--text-light) !important;
}
.green-band-grid .feature-label,
.feature-label{
  background:rgba(255,255,255,.18) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#ffffff !important;
}
.green-band-grid .feature-value,
.feature-value{
  color:#ffffff !important;
  font-weight:950 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
}
.btn,
.btn.green,
.btn.gold{
  background:var(--green) !important;
  color:#ffffff !important;
}
.btn:hover{
  background:var(--green-dark) !important;
}
.btn.outline{
  background:#ffffff !important;
  color:var(--green-dark) !important;
  border-color:var(--green) !important;
}
.rate-tools{
  border-color:var(--green-light) !important;
}
.rate-tools label,
.calc-result,
.description-extra-title,
.description-box h3{
  color:var(--green-dark) !important;
}
.contact-footer{
  background:
    linear-gradient(rgba(93,119,64,.72),rgba(93,119,64,.82)),
    url("../../images/tree-bg.svg") center/cover no-repeat !important;
}
.live-footer,
.site-footer,
.footer{
  background:var(--footer-bg) !important;
  color:#ffffff !important;
}
.live-footer-disclaimer{
  border-left-color:var(--green-light) !important;
}
.live-footer-copy{
  color:rgba(255,255,255,.9) !important;
}
.socials a,
.socials span{
  background:var(--green) !important;
  color:#ffffff !important;
}
.socials a:hover{
  background:var(--green-dark) !important;
}
.agent-photo{
  border-color:var(--green) !important;
}
@media(max-width:760px){
  .nav-links{
    background:var(--footer-bg) !important;
  }
}
:root{
  --green:#799852 !important;
  --green-dark:#5d7740 !important;
  --green-light:#93b76a !important;
  --header-bg:#799852 !important;
  --footer-bg:#5d7740 !important;
  --feature-bg:#799852 !important;
}
.listing-showcase{
  background:#f7f5f0 !important;
  padding:34px 0 0 !important;
}
.carousel{
  width:min(1120px,100%) !important;
  margin:auto !important;
  padding:0 18px !important;
  display:grid !important;
  grid-template-columns:180px 1fr 180px !important;
  gap:22px !important;
  align-items:center !important;
}
.carousel-main,
.carousel-side{
  overflow:hidden !important;
  border-radius:7px !important;
}
.carousel-main{
  position:relative !important;
  box-shadow:8px 8px 30px rgba(0,0,0,.25) !important;
}
.carousel-main img,
.carousel-side img{
  width:100% !important;
  height:330px !important;
  object-fit:cover !important;
  display:block !important;
  background:#dfe6d7 !important;
}
.carousel-side img{
  opacity:.62 !important;
}
.carousel-main img{
  cursor:zoom-in !important;
}
.thumb-gallery{
  width:min(1120px,100%) !important;
  margin:18px auto 0 !important;
  padding:0 18px 12px !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(74px,1fr)) !important;
  gap:8px !important;
}
.thumb-gallery img{
  height:62px !important;
  width:100% !important;
  object-fit:cover !important;
  border-radius:5px !important;
  cursor:zoom-in !important;
  border:3px solid transparent !important;
  background:#dfe6d7 !important;
  display:block !important;
}
.thumb-gallery img.active{
  border-color:var(--green,#799852) !important;
}
.image-viewer{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:none !important;
  background:rgba(0,0,0,.94) !important;
  color:#fff !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
  touch-action:pan-y !important;
}
.image-viewer.open{
  display:flex !important;
}
.image-viewer img{
  max-width:100vw !important;
  max-height:100vh !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}
.viewer-close,
.viewer-prev,
.viewer-next{
  position:absolute !important;
  z-index:100000 !important;
  border:0 !important;
  background:rgba(121,152,82,.96) !important;
  color:white !important;
  font-weight:950 !important;
  cursor:pointer !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:8px 10px 24px rgba(0,0,0,.35) !important;
}
.viewer-close{
  top:18px !important;
  right:18px !important;
  width:48px !important;
  height:48px !important;
  border-radius:50% !important;
  font-size:26px !important;
}
.viewer-prev,
.viewer-next{
  top:50% !important;
  transform:translateY(-50%) !important;
  width:56px !important;
  height:78px !important;
  border-radius:14px !important;
  font-size:38px !important;
}
.viewer-prev{left:18px !important}
.viewer-next{right:18px !important}
.viewer-counter{
  position:absolute !important;
  left:50% !important;
  bottom:18px !important;
  transform:translateX(-50%) !important;
  background:rgba(0,0,0,.58) !important;
  border:1px solid rgba(255,255,255,.25) !important;
  padding:9px 15px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  font-size:13px !important;
}
.viewer-help{
  position:absolute !important;
  left:18px !important;
  top:18px !important;
  background:rgba(0,0,0,.48) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:800 !important;
}
body.viewer-open{
  overflow:hidden !important;
}
.green-band{
  background:var(--feature-bg) !important;
}
.live-footer,
.site-footer,
.footer{
  background:var(--footer-bg) !important;
}
.btn,
.socials a,
.socials span{
  background:var(--green) !important;
}
@media(max-width:1024px){
  .carousel{
    grid-template-columns:1fr !important;
  }
  .carousel-side{
    display:none !important;
  }
}
@media(max-width:760px){
  .carousel-main img{
    height:260px !important;
  }
  .thumb-gallery{
    grid-template-columns:repeat(auto-fill,minmax(62px,1fr)) !important;
  }
  .thumb-gallery img{
    height:56px !important;
  }
  .image-viewer{
    padding:0 !important;
  }
  .viewer-prev,
  .viewer-next,
  .viewer-help{
    display:none !important;
  }
  .viewer-close{
    top:12px !important;
    right:12px !important;
    width:44px !important;
    height:44px !important;
  }
  .viewer-counter{
    bottom:14px !important;
  }
}
.carousel{
  width:min(1120px,100%) !important;
  margin:auto !important;
  padding:0 18px !important;
  display:grid !important;
  grid-template-columns:180px minmax(0,1fr) 180px !important;
  gap:22px !important;
  align-items:center !important;
}
.carousel-main img,
.carousel-side img{
  width:100% !important;
  height:330px !important;
  object-fit:cover !important;
  display:block !important;
}
.thumb-gallery{
  width:min(1120px,100%) !important;
  margin:18px auto 0 !important;
  padding:0 18px 14px !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(74px,1fr)) !important;
  gap:8px !important;
}
.thumb-gallery img{
  width:100% !important;
  height:62px !important;
  object-fit:cover !important;
  border-radius:5px !important;
  border:3px solid transparent !important;
  cursor:zoom-in !important;
  display:block !important;
}
.thumb-gallery img.active{
  border-color:var(--green) !important;
}
.image-viewer img{
  max-width:100vw !important;
  max-height:100vh !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}
.viewer-close,
.viewer-prev,
.viewer-next{
  position:absolute !important;
  z-index:100000 !important;
  border:0 !important;
  background:rgba(121,152,82,.96) !important;
  color:#fff !important;
  font-weight:950 !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
}
.viewer-counter{
  position:absolute !important;
  left:50% !important;
  bottom:18px !important;
  transform:translateX(-50%) !important;
  background:rgba(0,0,0,.58) !important;
  padding:9px 15px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  font-size:13px !important;
}
.viewer-help{
  position:absolute !important;
  left:18px !important;
  top:18px !important;
  background:rgba(0,0,0,.48) !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:800 !important;
}
@media(max-width:1024px){
}
.calc-field{
  text-align:left;
}
.calc-field label{
  display:block;
  margin:0 0 6px;
  font-weight:950;
  color:var(--green-dark,#5d7740);
  font-size:15px;
}
.calc-field input,
.calc-field select{
  width:100%;
}
.calc-box .calc-row{
  align-items:end;
}
:root{
  --green:#799852 !important;
  --green-dark:#5d7740 !important;
  --green-light:#93b76a !important;
  --header-bg:#799852 !important;
  --footer-bg:#5d7740 !important;
  --feature-bg:#799852 !important;
  --cream:#f4f3f2 !important;
}
html,
body{
  background:#f4f3f2 !important;
}
.listing-showcase,
.currency{
  background:#f4f3f2 !important;
}
.btn,
.socials a,
.socials span{
  background:var(--green) !important;
  color:#fff !important;
}
.btn:hover,
.socials a:hover{
  background:var(--green-dark) !important;
}
.btn.outline{
  background:#fff !important;
  color:var(--green-dark) !important;
  border-color:var(--green) !important;
}
.agent-photo{
  width:160px !important;
  height:160px !important;
  border-radius:50% !important;
  border:7px solid var(--green) !important;
  background:#fff !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
}
.agent-qualifications{
  margin:6px 0 10px !important;
  color:#687263 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
.agent-direct-details{
  margin:10px 0 !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.agent-direct-details a{
  color:var(--green-dark) !important;
  font-weight:900 !important;
  text-decoration:none !important;
}
.feature-label{
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-width:112px !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.18) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}
.feature-value{
  color:#fff !important;
  font-size:18px !important;
  font-weight:950 !important;
}
.calc-field{
  text-align:left !important;
}
.calc-field label{
  display:block !important;
  margin:0 0 6px !important;
  font-weight:950 !important;
  color:var(--green-dark) !important;
  font-size:15px !important;
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&display=swap');
:root{
  --green:#799852 !important;
  --green-dark:#5d7740 !important;
  --green-light:#93b76a !important;
  --header-bg:#799852 !important;
  --footer-bg:#5d7740 !important;
  --feature-bg:#799852 !important;
  --cream:#f4f3f2 !important;
  --heading-font:'Montserrat', Arial, sans-serif !important;
}
.page-hero h1,
#heroHeading{
  font-family:var(--heading-font) !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
  text-transform:uppercase !important;
}
.site-header{
  background:rgba(121,152,82,0.80) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:7px solid var(--green-light) !important;
}
.live-footer,
.site-footer,
.footer{
  background:
    linear-gradient(rgba(35,48,28,.82),rgba(35,48,28,.92)),
    var(--footer-forest-image) center center / cover no-repeat !important;
  color:#fff !important;
}
.contact-footer{
  background:
    linear-gradient(rgba(93,119,64,.64),rgba(93,119,64,.76)),
    var(--footer-forest-image) center center / cover no-repeat !important;
  color:#fff !important;
}
.description-extra-title{
  margin:22px 0 8px !important;
  color:var(--green-dark) !important;
  font-size:18px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
.description-list{
  margin:12px 0 18px !important;
  padding-left:22px !important;
}
.description-list li{
  margin:7px 0 !important;
  line-height:1.55 !important;
  text-align:left !important;
}
.description-note{
  background:#f7fbf3 !important;
  border-left:5px solid var(--green) !important;
  padding:14px 16px !important;
  margin:16px 0 !important;
  text-align:left !important;
  font-weight:700 !important;
  color:var(--green-dark) !important;
}
.thumb-gallery-hidden{
  display:none !important;
}
.gallery-toggle-wrap{
  text-align:center !important;
  margin:16px 0 4px !important;
}
.gallery-toggle{
  color:var(--green-dark) !important;
  font-weight:900 !important;
  text-decoration:none !important;
  font-size:15px !important;
  cursor:pointer !important;
}
.gallery-toggle:hover{
  text-decoration:underline !important;
}
.agent-section{width:min(980px,calc(100% - 36px));margin:0 auto 30px;}
.agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;align-items:stretch;}
.agent-mini-card{background:white;border-radius:10px;padding:20px;text-align:center;box-shadow:var(--shadow,0 8px 30px rgba(0,0,0,.18));display:flex;flex-direction:column;align-items:center;}
.agent-mini-card .agent-card{box-shadow:none!important;padding:12px 0 0!important;background:transparent!important;}
.agent-photo{width:160px!important;height:160px!important;border-radius:50%!important;border:7px solid var(--green,#799852)!important;background:#fff!important;overflow:hidden!important;display:grid!important;place-items:center!important;}
.agent-photo img,.agent-image{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.agent-qualifications{margin:6px 0 10px!important;color:#687263!important;font-size:13px!important;line-height:1.45!important;}
.agent-direct-details{margin:10px 0!important;font-size:14px!important;line-height:1.45!important;}
.agent-direct-details a{color:var(--green-dark,#5d7740)!important;font-weight:900!important;text-decoration:none!important;}
.agent-socials{margin:12px 0 14px!important;}
.marketing-card-section{
  width:min(1100px, calc(100% - 40px));
  margin:40px auto 34px;
}
.marketing-card{
  background:#ffffff;
  border-radius:14px;
  padding:38px 42px;
  position:relative;
  border-left:6px solid var(--green,#799852);
  box-shadow:14px 14px 34px rgba(0,0,0,.14),
    4px 4px 12px rgba(0,0,0,.08);
}
.marketing-card h2{
  font-family:var(--heading-font,'Montserrat',Arial,sans-serif);
  font-size:clamp(24px,3vw,34px);
  font-weight:900;
  color:#1f3120;
  margin:0 0 22px;
  line-height:1.15;
}
.marketing-card p{
  font-size:1.04rem;
  line-height:1.85;
  color:#344034;
  margin:0 0 17px;
  text-align:justify;
  text-align-last:left;
}
.marketing-card strong{
  color:var(--green,#799852);
  font-weight:900;
}
@media(max-width:760px){
  .marketing-card-section{
    width:calc(100% - 24px);
    margin:28px auto;
  }
  .marketing-card{
    padding:26px 22px;
    border-radius:10px;
  }
  .marketing-card p{
    text-align:left;
    font-size:1rem;
    line-height:1.7;
  }
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&display=swap');
:root{
  --green:#799852 !important;
  --green-dark:#5d7740 !important;
  --green-light:#93b76a !important;
  --cream:#f4f3f2 !important;
  --heading-font:'Montserrat', Arial, sans-serif !important;
}
#propertyType,
.listing-name h2,
.property-title,
.property-type,
.listing-title{
  text-transform:uppercase !important;
  font-family:var(--heading-font) !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
}
.page-hero h1,
#heroHeading{
  font-family:var(--heading-font) !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:-.04em !important;
}
.marketing-card-section{
  width:min(1100px, calc(100% - 40px)) !important;
  margin:40px auto 34px !important;
}
.marketing-card{
  background:#ffffff !important;
  border-radius:14px !important;
  padding:38px 42px !important;
  position:relative !important;
  border-left:6px solid var(--green,#799852) !important;
  box-shadow:14px 14px 34px rgba(0,0,0,.14),
    4px 4px 12px rgba(0,0,0,.08) !important;
}
.marketing-card h2{
  font-family:var(--heading-font,'Montserrat',Arial,sans-serif) !important;
  font-size:clamp(24px,3vw,34px) !important;
  font-weight:900 !important;
  color:#1f3120 !important;
  margin:0 0 22px !important;
  line-height:1.15 !important;
  text-transform:none !important;
}
.marketing-card p{
  font-size:1.04rem !important;
  line-height:1.85 !important;
  color:#344034 !important;
  margin:0 0 17px !important;
  text-align:justify !important;
  text-align-last:left !important;
}
.marketing-card strong{
  color:var(--green,#799852) !important;
  font-weight:900 !important;
}
.forest-footer-wrap{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  color:#ffffff !important;
  background:transparent !important;
}
.forest-footer-wrap::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background-image:url("../images/footer-forest.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
}
.forest-footer-wrap::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:linear-gradient(
    to bottom,
    rgba(121,152,82,.24) 0%,
    rgba(121,152,82,.30) 28%,
    rgba(38,58,31,.44) 48%,
    rgba(28,43,25,.56) 100%
  ) !important;
}
.forest-footer-wrap .contact-footer,
.forest-footer-wrap .live-footer,
.forest-footer-wrap .site-footer,
.forest-footer-wrap .footer{
  position:relative !important;
  z-index:1 !important;
  background:transparent !important;
  background-image:none !important;
  color:#ffffff !important;
}
.forest-footer-wrap .live-footer-disclaimer{
  background:rgba(8,20,10,.54) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-left:6px solid var(--green-light,#93b76a) !important;
  box-shadow:8px 20px 45px rgba(0,0,0,.28) !important;
  backdrop-filter:blur(2px) !important;
}
.forest-footer-wrap .contact-footer h2,
.forest-footer-wrap .contact-footer p,
.forest-footer-wrap .live-footer,
.forest-footer-wrap .live-footer h3,
.forest-footer-wrap .live-footer p,
.forest-footer-wrap .live-footer a,
.forest-footer-wrap .site-footer,
.forest-footer-wrap .site-footer a{
  text-shadow:0 1px 3px rgba(0,0,0,.55) !important;
}
.contact-footer:not(.forest-footer-wrap .contact-footer),
.live-footer:not(.forest-footer-wrap .live-footer),
.site-footer:not(.forest-footer-wrap .site-footer),
.footer:not(.forest-footer-wrap .footer){
  background-image:
    linear-gradient(rgba(28,43,25,.34),rgba(28,43,25,.48)),
    url("../images/footer-forest.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
@media(max-width:760px){
  .marketing-card-section{
    width:calc(100% - 24px) !important;
    margin:28px auto !important;
  }
  .marketing-card{
    padding:26px 22px !important;
    border-radius:10px !important;
  }
  .marketing-card p{
    text-align:left !important;
    font-size:1rem !important;
    line-height:1.7 !important;
  }
}
.nav-toggle{
  display:none !important;
}
.nav-links a{
  font-weight:400 !important;
  letter-spacing:.08em;
  font-size:1.1rem;
}
.nav-links a.active,
.nav-links a[aria-current="page"]{
  font-weight:900 !important;
}
.nav-toggle{
  width:46px;
  height:42px;
  border:0;
  border-radius:8px;
  background:rgba(255,255,255,.14);
  padding:9px 10px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.nav-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:#ffffff;
  border-radius:999px;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}
.nav-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}
.forest-footer-wrap::before{
  background-image:url("../images/footer-forest.webp") !important;
}
.contact-footer:not(.forest-footer-wrap .contact-footer),
.live-footer:not(.forest-footer-wrap .live-footer),
.site-footer:not(.forest-footer-wrap .site-footer),
.footer:not(.forest-footer-wrap .footer){
  background-image:
    linear-gradient(rgba(28,43,25,.34),rgba(28,43,25,.48)),
    url("../images/footer-forest.webp") !important;
}
@media(max-width:1024px){
  .nav-toggle{
    display:flex !important;
  }
  .nav-links{
    display:none;
  }
  .nav-links.open{
    display:flex !important;
  }
}
@media(min-width:1025px){
  .nav-links{
    display:flex !important;
  }
  .nav-toggle{
    display:none !important;
  }
}
.home-page{background:#f4f3f2!important;}
.home-page .site-header{position:absolute!important;top:0;left:0;right:0;z-index:50;background:transparent!important;background-image:none!important;border-bottom:0!important;box-shadow:none!important;}
.home-page .header-inner{width:min(1120px,calc(100% - 36px))!important;margin:auto!important;height:118px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:transparent!important;padding:0!important;}
.home-page .brand{display:flex!important;align-items:center!important;width:auto!important;height:auto!important;flex:0 0 auto!important;}
.home-page .brand img{width:112px!important;height:112px!important;max-width:112px!important;max-height:112px!important;object-fit:contain!important;display:block!important;}
.home-page .nav-links{display:flex!important;align-items:center!important;gap:26px!important;background:transparent!important;box-shadow:none!important;position:static!important;padding:0!important;}
.home-page .nav-links a{color:#fff!important;text-decoration:none!important;text-transform:uppercase!important;font-weight:400!important;font-size:15px!important;letter-spacing:.08em!important;text-shadow:0 2px 8px rgba(0,0,0,.45)!important;}
.home-page .nav-links a.active,.home-page .nav-links a[aria-current="page"]{font-weight:900!important;text-decoration:underline!important;text-underline-offset:5px!important;}
.home-page .nav-toggle{display:none!important;}
.home-hero{min-height:520px!important;position:relative!important;isolation:isolate!important;color:#fff!important;overflow:hidden!important;background:linear-gradient(90deg,rgba(22,38,22,.58),rgba(22,38,22,.18)),url("../images/home-hero.webp") center/cover no-repeat!important;}
.home-hero-inner{width:min(1120px,calc(100% - 36px))!important;margin:auto!important;padding:145px 0 62px!important;min-height:520px!important;display:flex!important;align-items:center!important;}
.home-brand-lockup{max-width:520px!important;padding-left:118px!important;text-shadow:0 8px 30px rgba(0,0,0,.55)!important;}
.home-brand-lockup .est{display:block!important;font-family:Georgia,serif!important;font-size:24px!important;margin:0 0 6px!important;}
.home-brand-lockup h1{font-family:Georgia,serif!important;font-weight:900!important;text-transform:uppercase!important;line-height:.78!important;letter-spacing:-.06em!important;font-size:82px!important;margin:0!important;color:#fff!important;}
.home-brand-lockup p{font-family:var(--heading-font,'Montserrat',Arial,sans-serif)!important;font-weight:900!important;text-transform:uppercase!important;font-size:28px!important;margin:18px 0 0!important;color:#fff!important;}
.home-help-bar{background:#799852!important;color:#fff!important;text-align:center!important;padding:22px 16px 26px!important;box-shadow:8px 12px 28px rgba(0,0,0,.16)!important;}
.home-help-bar h2{font-family:var(--heading-font,'Montserrat',Arial,sans-serif)!important;margin:0 0 12px!important;text-transform:uppercase!important;font-weight:900!important;letter-spacing:.08em!important;font-size:28px!important;color:#fff!important;}
.home-help-actions{display:flex!important;gap:14px!important;justify-content:center!important;flex-wrap:wrap!important;}
.home-help-actions .btn{background:#fff!important;color:#5d7740!important;border:0!important;min-width:170px!important;}
.home-section{padding:42px 0!important;}
.home-section-title{text-align:center!important;color:#5d7740!important;font-family:var(--heading-font,'Montserrat',Arial,sans-serif)!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-size:36px!important;margin:0 0 28px!important;}
.featured-scroller{width:min(1180px,100%)!important;margin:auto!important;overflow-x:auto!important;display:flex!important;gap:24px!important;padding:8px 22px 28px!important;}
.home-property-card{flex:0 0 260px!important;background:#fff!important;border-radius:10px!important;overflow:hidden!important;box-shadow:8px 8px 28px rgba(0,0,0,.18)!important;position:relative!important;text-decoration:none!important;}
.home-property-card img{width:100%!important;height:165px!important;object-fit:cover!important;display:block!important;}
.home-property-card .tag{position:absolute!important;top:12px!important;left:12px!important;background:#8cc63f!important;color:#fff!important;font-weight:900!important;padding:6px 10px!important;text-transform:uppercase!important;font-size:12px!important;}
.home-property-card .body{padding:18px!important;text-align:center!important;}
.home-property-card h3{margin:0 0 6px!important;color:#1f3120!important;font-family:var(--heading-font,'Montserrat',Arial,sans-serif)!important;font-weight:900!important;font-size:24px!important;}
.home-property-card p{margin:4px 0!important;color:#5e665a!important;font-size:14px!important;}
.home-property-card .price{color:#799852!important;font-weight:900!important;font-size:18px!important;}
.home-property-card .stats{display:flex!important;justify-content:center!important;gap:12px!important;margin-top:10px!important;color:#344034!important;font-weight:800!important;font-size:13px!important;}
.why-us{width:min(820px,calc(100% - 36px))!important;margin:auto!important;text-align:center!important;color:#344034!important;padding:28px 0 36px!important;}
.why-us p{font-size:1.05rem!important;line-height:1.6!important;margin:0 0 14px!important;}
.home-pride-panel{min-height:330px!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:linear-gradient(rgba(255,255,255,.10),rgba(255,255,255,.08)),url("../images/indexback.webp") center/cover no-repeat!important;}
.pride-mark{text-align:center!important;color:#4E9C16!important;text-transform:uppercase!important;font-family:var(--heading-font,'Montserrat',Arial,sans-serif)!important;font-weight:900!important;font-size:clamp(30px,5vw,58px)!important;line-height:.95!important;text-shadow:0 5px 18px rgba(0,0,0,.25)!important;}
.team-strip{width:min(1160px,100%)!important;margin:auto!important;display:flex!important;gap:28px!important;overflow-x:auto!important;padding:8px 22px 36px!important;}
.team-card-home{flex:0 0 170px!important;text-align:center!important;}
.team-card-home img{width:132px!important;height:132px!important;border-radius:50%!important;object-fit:cover!important;background:#fff!important;border:7px solid #8cc63f!important;box-shadow:8px 13px 25px rgba(0,0,0,.22)!important;}
.team-card-home h3{margin:10px 0 2px!important;color:#111!important;text-transform:uppercase!important;font-family:var(--heading-font,'Montserrat',Arial,sans-serif)!important;font-size:16px!important;line-height:1!important;}
.team-card-home p{margin:0!important;color:#45513f!important;font-size:12px!important;line-height:1.25!important;}
@media(max-width:1024px){
.home-page .site-header{background:transparent!important;background-image:none!important;position:absolute!important;}
.home-page .header-inner{height:96px!important;}
.home-page .brand img{width:86px!important;height:86px!important;max-width:86px!important;max-height:86px!important;}
.home-page .nav-toggle{display:flex!important;}
.home-page .nav-links{display:none!important;position:absolute!important;top:96px!important;right:18px!important;left:18px!important;background:#5d7740!important;padding:18px!important;border-radius:10px!important;flex-direction:column!important;gap:14px!important;z-index:60!important;}
.home-page .nav-links.open{display:flex!important;}
.home-hero-inner{padding-top:70px!important;}
.home-brand-lockup{padding-left:0!important;}
}
@media(max-width:700px){
.home-hero{min-height:430px!important;}
.home-hero-inner{min-height:430px!important;}
.home-brand-lockup h1{font-size:54px!important;}
.home-brand-lockup p{font-size:21px!important;}
}
.green-band-grid{
  width: min(720px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 160px;
  row-gap: 18px;
  justify-content: center;
  align-items: start;
}
.green-band-grid .feature-item{
  white-space: nowrap;
  font-weight: 400;
}
.green-band-grid .feature-label{
  font-weight:500 !important;
}
.green-band-grid .feature-value{
  font-weight:400 !important;
}
.featured-badge,
.home-property-card .tag{
  letter-spacing:.04em;
}
.contact-hero{
  height:520px;
  position:relative;
  background:linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)), url("../images/contact.webp") center/cover no-repeat;
  overflow:hidden;
}
.contact-nav{
  position:absolute;
  top:28px;
  left:0;
  right:0;
  z-index:2;
  max-width:1080px;
  margin:0 auto;
  padding:0 34px;
  display:flex;
  align-items:flex-start;
  gap:30px;
}
.contact-logo img{
  width:130px;
  height:auto;
}
.contact-menu{
  margin-left:auto;
  display:flex;
  gap:20px;
  align-items:center;
  padding-top:12px;
}
.contact-menu a{
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  font-size:17px;
  letter-spacing:.04em;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
}
.contact-menu a.active{
  font-weight:800;
  text-decoration:underline;
}
.contact-hero h1{
  position:absolute;
  left:50%;
  top:52%;
  transform:translate(-50%,-50%);
  margin:0;
  color:#fff;
  text-align:center;
  text-transform:uppercase;
  font-size:clamp(58px,9vw,112px);
  line-height:.86;
  font-weight:900;
  letter-spacing:.02em;
  text-shadow:0 8px 20px rgba(0,0,0,.35);
}
.hero-green-strip{
  height:34px;
  background:#8cc63f;
  box-shadow:8px 6px 14px rgba(0,0,0,.16);
}
@media(max-width:768px){
  .contact-hero{height:420px;}
  .contact-menu{gap:12px;flex-wrap:wrap;}
  .contact-menu a{font-size:14px;}
  .contact-logo img{width:95px;}
}
:root{
  --forest:#183d32;
  --leaf:#7c9a71;
  --sand:#f7f2ea;
  --cream:#fffaf2;
  --ink:#17211d;
  --muted:#6c7771;
  --line:rgba(24,61,50,.16);
  --shadow:0 22px 60px rgba(17,32,28,.14);
  --radius:26px;
}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff,var(--sand));line-height:1.5}
a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(18px,4vw,56px);background:rgba(255,250,242,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--forest);color:#fff;font-weight:800;letter-spacing:.06em}.brand strong{display:block;font-size:1rem}.brand small{display:block;color:var(--muted);font-size:.78rem}.main-nav{display:flex;align-items:center;gap:22px}.main-nav a{font-size:.95rem;color:#2d3935}.main-nav a.active{font-weight:800;color:var(--forest)}.menu-toggle{display:none;border:0;background:var(--forest);color:#fff;width:42px;height:42px;border-radius:12px;font-size:1.25rem}.hero{position:relative;min-height:360px;display:grid;align-items:end;padding:clamp(40px,7vw,90px) clamp(20px,6vw,80px);background-image:var(--hero-image);background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,36,30,.82),rgba(15,36,30,.36),rgba(15,36,30,.12))}.hero-content{position:relative;max-width:780px;color:#fff}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--leaf)}.hero .eyebrow{color:#d9e7ce}.hero h1{margin:0;font-size:clamp(2.4rem,6vw,5.5rem);line-height:.95}.hero p:last-child{font-size:clamp(1rem,2vw,1.22rem);max-width:620px}.calculator-shell{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:24px;max-width:1180px;margin:-50px auto 40px;padding:0 20px;position:relative}.calc-panel,.disclaimer-card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.calc-panel{padding:clamp(22px,3vw,34px)}.panel-title h2,.disclaimer-card h2{margin:0 0 18px;font-size:clamp(1.4rem,2vw,2rem)}.field{display:grid;gap:7px;margin:0 0 18px}.field span,.toggle-row span{font-weight:750;color:#2d3935}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 15px;font:inherit;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus{border-color:var(--leaf);box-shadow:8px 0 0 4px rgba(124,154,113,.18)}.range{width:100%;accent-color:var(--forest);margin:0 0 22px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.toggle-row{display:flex;align-items:center;gap:10px;padding:14px 0 20px}.toggle-row input{width:18px;height:18px;accent-color:var(--forest)}.note{font-size:.9rem;color:var(--muted);margin:6px 0 0}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}.summary-grid article{border:1px solid var(--line);border-radius:20px;padding:18px;background:linear-gradient(180deg,#fff,var(--cream))}.summary-grid span{display:flex;align-items:flex-start;min-height:42px;color:var(--muted);font-size:.86rem;line-height:1.45;margin-bottom:8px}.summary-grid strong{font-size:clamp(1.2rem,2.2vw,1.9rem);color:var(--forest)}.breakdown{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.breakdown h3{margin:0 0 12px}.breakdown dl{display:grid;gap:8px;margin:0}.breakdown div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dashed rgba(24,61,50,.18);padding:8px 0}.breakdown dt{color:var(--muted)}.breakdown dd{margin:0;font-weight:750}.disclaimer-card{max-width:1180px;margin:0 auto 52px;padding:26px 30px}.disclaimer-card p{color:var(--muted);max-width:980px}.site-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;background:var(--forest);color:#fff;padding:28px clamp(18px,4vw,56px)}.site-footer p{margin:4px 0;color:rgba(255,255,255,.78)}
@media (max-width:900px){.menu-toggle{display:block}.main-nav{position:absolute;left:18px;right:18px;top:74px;display:none;flex-direction:column;align-items:flex-start;padding:18px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.calculator-shell{grid-template-columns:1fr;margin-top:-36px}.summary-grid{grid-template-columns:1fr 1fr}.site-footer{display:block}.two-col{grid-template-columns:1fr}}
@media (max-width:560px){.summary-grid{grid-template-columns:1fr}.hero{min-height:300px}.brand small{display:none}.site-header{padding-inline:14px}}
.about-hero{
  min-height:520px;
  background:linear-gradient(rgba(20,35,20,.28),rgba(20,35,20,.28)),url('../images/about.webp') center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-top:0;
}
.about-hero h1{
  color:#fff;
  text-transform:uppercase;
  font-size:clamp(72px,12vw,150px);
  line-height:.82;
  letter-spacing:.02em;
  font-weight:900;
  text-shadow:0 8px 25px rgba(0,0,0,.35);
  margin:0;
}
.about-green-strip{
  height:44px;
  background:#8ac43f;
  box-shadow:8px 8px 18px rgba(0,0,0,.18);
}
.about-intro{
  max-width:980px;
  margin:0 auto;
  padding:64px 28px 54px;
  text-align:center;
  background:#f7f5f1;
}
.about-leaf-logo{
  display:block;
  width:min(400px,90%);
  margin:0 auto 28px;
}
.about-divider{
  width:280px;
  max-width:70%;
  height:3px;
  background:#789758;
  margin:26px auto;
}
.about-copy{
  max-width:830px;
  margin:0 auto;
  color:#2f312e;
  font-size:17px;
  line-height:1.58;
  text-align:justify;
  text-justify:inter-word;
}
.about-copy p{
  margin:0 0 22px;
}
.office-section{
  background:#779954;
  color:#fff;
  text-align:center;
  padding:42px 26px 54px;
  box-shadow:8px 10px 25px rgba(0,0,0,.18);
}
.office-section h2{
  margin:0 0 8px;
  color:#fff;
  text-transform:uppercase;
  font-size:clamp(28px,4vw,42px);
  letter-spacing:.04em;
}
.office-address{
  margin:0 auto 24px;
  font-size:clamp(22px,3vw,34px);
  font-weight:500;
}
.office-grid{
  max-width:1050px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.office-grid figure{
  margin:0;
  min-height:190px;
  border-radius:12px;
  overflow:hidden;
  background:rgba(255,255,255,.18);
  box-shadow:8px 8px 20px rgba(0,0,0,.18);
  position:relative;
}
.office-grid img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}
.office-grid figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:9px 12px;
  background:rgba(0,0,0,.35);
  font-size:14px;
}
.office-grid .image-missing::before{
  content:'Add image here';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}
.office-grid .image-missing img{display:none;}
@media(max-width:760px){
  .about-hero{min-height:390px;}
  .about-green-strip{height:30px;}
  .about-intro{padding:44px 20px;}
  .about-copy{font-size:15.5px;text-align:left;}
  .office-grid{grid-template-columns:1fr;}
}
.office-map-figure iframe{
  width:100%;
  height:190px;
  border:0;
  display:block;
}
.office-map-figure figcaption a{
  color:#fff;
  text-decoration:none;
  font-weight:600;
}
.office-map-figure figcaption a:hover{
  text-decoration:underline;
}
@media(max-width:760px){
  .office-map-figure iframe{height:260px;}
}
.agent-hero{
  min-height:520px;
  background:linear-gradient(rgba(20,38,20,.22),rgba(20,38,20,.24)),url('../images/team.webp') center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
}
.agent-hero h1{
  color:#fff;
  font-size:clamp(64px,10vw,132px);
  line-height:.9;
  letter-spacing:3px;
  text-transform:uppercase;
  font-weight:900;
  text-shadow:0 6px 24px rgba(0,0,0,.35);
  margin:0;
}
.agent-green-strip{height:46px;background:#8cc63f;box-shadow:8px 8px 18px rgba(0,0,0,.18)}
.team-page{background:#f8f7f4;padding:55px 18px 70px;}
.team-list{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:54px;}
.agent-card-wrap{text-align:center;}
.agent-photo{
  width:190px;height:190px;border-radius:50%;object-fit:cover;
  border:10px solid #8cc63f;background:#fff;
  box-shadow:8px 12px 24px rgba(0,0,0,.22);
  margin:0 auto -42px;position:relative;z-index:2;
}
.agent-card{
  background:#fff;border-radius:12px;box-shadow:8px 6px 22px rgba(0,0,0,.22);
  padding:58px 34px 30px;text-align:left;position:relative;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;
}
.agent-card h2{margin:0;color:#111;font-size:31px;line-height:1.05;text-transform:uppercase;letter-spacing:.5px;}
.agent-role{margin:5px 0 12px;color:#465d2f;font-size:17px;}
.agent-quals{margin:0 0 12px;color:#6b6b6b;font-size:14px;}
.agent-bio{margin:0;color:#222;font-size:16px;line-height:1.45;max-width:720px;text-align:justify;text-justify:inter-word;}
.agent-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.agent-actions a{
  width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:#8cc63f;color:#fff;text-decoration:none;font-weight:800;font-size:22px;
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);
}
.agent-actions a:hover{transform:translateY(-2px);}
.agent-actions .small-text{font-size:18px;}
.agent-principal .agent-photo{width:220px;height:220px;border-width:11px;}
.agent-principal .agent-card{border-top:6px solid #8cc63f;}
.agent-principal h2{font-size:36px;}
@media(max-width:760px){
  .agent-hero{min-height:420px}.agent-hero h1{font-size:64px}
  .agent-card{grid-template-columns:1fr;text-align:center;padding:58px 22px 26px}
  .agent-actions{justify-content:center}.agent-bio{text-align:center}.agent-card h2{font-size:25px}
  .agent-photo{width:160px;height:160px}.agent-principal .agent-photo{width:175px;height:175px}
}
.properties-hero{
  min-height:420px;
  background-image:url("../images/properties.webp");
  background-size:cover;
  background-position:center;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.properties-hero-shade{position:absolute;inset:0;background:rgba(0,0,0,.28)}
.properties-hero-content{position:relative;z-index:1;color:#fff;text-transform:uppercase}
.properties-hero-content h1{font-size:clamp(48px,8vw,96px);line-height:.92;margin:0;font-weight:900;letter-spacing:.02em;text-shadow:0 4px 18px rgba(0,0,0,.35)}
.properties-area-select{background:#f7f6f3;text-align:center;padding:42px 20px 28px;border-top:12px solid #8cc63f}
.properties-area-select h2,.area-title{color:#2f5f32;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(28px,4vw,44px);margin:0 0 18px;font-weight:900}
.properties-area-select select{width:min(520px,94vw);padding:14px 18px;border:1px solid rgba(47,95,50,.3);border-radius:8px;background:white;color:#2f5f32;font-size:16px;margin-bottom:18px}
.properties-area-select .btn{border-radius:999px;padding:12px 30px;text-transform:uppercase;font-weight:800}
.properties-auto-section{background:#f7f6f3;padding:10px 0 54px;overflow:hidden}
.properties-loading{text-align:center;color:#375d28;font-weight:800;padding:28px}
.area-title{text-align:center;margin:42px 0 20px;font-size:30px;scroll-margin-top:110px}
.property-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,260px);gap:24px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:0 max(20px,calc((100vw - 1180px)/2)) 30px;scrollbar-width:thin}
.property-card{scroll-snap-align:start;background:#fff;border-radius:12px;box-shadow:8px 10px 22px rgba(0,0,0,.18);overflow:hidden;position:relative;min-height:325px}
.property-card a{display:block;color:inherit;text-decoration:none;height:100%}
.property-card img{width:100%;height:145px;object-fit:cover;display:block;background:#ddd}
.property-card-badge{position:absolute;top:10px;left:10px;background:#8cc63f;color:#fff;text-transform:uppercase;font-weight:900;font-size:11px;padding:5px 8px;border-radius:2px;z-index:2}
.property-card-badge.featured{background:#c62828;color:#fff}
.property-card-body{padding:14px 14px 16px;text-align:center}
.property-card h3{margin:0 0 8px;font-size:17px;line-height:1.12;color:#111;font-weight:900;min-height:38px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.property-card-location{font-size:12px;color:#456;min-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.property-card-price{font-size:15px;font-weight:900;color:#2f5f32;margin:6px 0}
.property-card-agents{font-size:12px;color:#555;min-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.property-card-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;font-size:20px;color:#222;align-items:center}
.property-card-icons span{white-space:nowrap;line-height:1}
@media(max-width:700px){.properties-hero{min-height:340px}.property-row{grid-auto-columns:minmax(205px,235px);gap:18px}.property-card img{height:135px}}
.calc-hero{
  background:
    linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),
    url("../images/calc.webp") center center / cover no-repeat !important;
}
.calc-hero h1{line-height:.86 !important;}
.calculator-shell{margin:42px auto 40px !important;position:relative !important;z-index:1 !important;}
.disclaimer-card{margin-bottom:52px !important;}
.calc-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0;align-items:center;}
.calc-actions .btn{border:none;}
.calc-lead-note{font-size:.88rem;color:var(--muted,#6c7771);margin:10px 0 0;}
.print-brand{display:none;}
@media(max-width:900px){.calculator-shell{margin:30px auto 36px !important;}}

:root{
  --ste-green:#7ba04f;
  --ste-dark:#2f5a31;
  --ste-soft:#f7f6f2;
  --ste-shadow:0 12px 32px rgba(0,0,0,.18);
}
.contact-hero{
  min-height:520px !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#1f2b1b !important;
}
.contact-hero-bg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:var(--hero-position,35% center) !important;
  filter:brightness(.72) !important;
  z-index:0 !important;
  display:block !important;
}
.contact-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:rgba(0,0,0,.18) !important;
  z-index:1 !important;
  pointer-events:none !important;
}
.contact-hero h1{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  z-index:2 !important;
  color:#fff !important;
  text-transform:uppercase !important;
  font-size:clamp(54px,10vw,126px) !important;
  line-height:.86 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
  margin:0 !important;
  font-weight:900 !important;
  text-shadow:0 7px 20px rgba(0,0,0,.35) !important;
  max-width:100% !important;
}
.hero-green-strip{
  height:34px !important;
  background:#8cc63f !important;
  box-shadow:8px 6px 14px rgba(0,0,0,.16) !important;
}
.contact-page{
  max-width:1100px !important;
  margin:0 auto !important;
  padding:48px 20px 56px !important;
}
.contact-socials{
  display:flex !important;
  justify-content:center !important;
  gap:20px !important;
  flex-wrap:wrap !important;
  margin-bottom:38px !important;
}
.contact-socials a{
  width:66px !important;
  height:66px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#8cc63f !important;
  color:white !important;
  text-decoration:none !important;
  font-size:32px !important;
  font-weight:800 !important;
  box-shadow:8px 8px 18px rgba(0,0,0,.22) !important;
}
.contact-grid{
  display:grid !important;
  grid-template-columns:1fr 1.15fr !important;
  gap:34px !important;
  align-items:stretch !important;
}
.contact-card,
.contact-form-card{
  background:white !important;
  border-radius:14px !important;
  box-shadow:var(--ste-shadow) !important;
  overflow:hidden !important;
}
.contact-card{
  background:var(--ste-green) !important;
  color:white !important;
  padding:28px !important;
  text-align:center !important;
}
.contact-card h2,
.contact-form-card h2{
  margin:0 0 18px !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  color:var(--ste-dark) !important;
}
.contact-card h2{
  color:white !important;
}
.contact-detail{
  margin:12px 0 !important;
  font-size:18px !important;
  line-height:1.45 !important;
}
.contact-detail a{
  color:white !important;
  text-decoration:none !important;
  font-weight:700 !important;
}
.contact-map{
  margin-top:24px !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#ddd !important;
  box-shadow:8px 8px 18px rgba(0,0,0,.18) !important;
}
.contact-map iframe{
  width:100% !important;
  height:310px !important;
  border:0 !important;
  display:block !important;
}
.contact-form-card{
  padding:30px !important;
}
.contact-form-card h2{
  text-align:center !important;
}
.form-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}
.contact-form label{
  display:block !important;
  font-weight:700 !important;
  margin:13px 0 6px !important;
  color:#365a31 !important;
}
.contact-form input,
.contact-form textarea{
  width:100% !important;
  box-sizing:border-box !important;
  border:1px solid #b7c4aa !important;
  border-radius:9px !important;
  padding:13px 14px !important;
  font:inherit !important;
  background:#fbfbf8 !important;
  color:#23331f !important;
}
.contact-form textarea{
  min-height:135px !important;
  resize:vertical !important;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline:3px solid rgba(140,198,63,.28) !important;
  border-color:#8cc63f !important;
}
.field-error{
  display:none;
  color:#9b1c1c;
  font-size:13px;
  margin-top:4px;
}
.is-invalid{
  border-color:#9b1c1c !important;
  background:#fff8f8 !important;
}
.form-status{
  display:none;
  margin:16px 0 0;
  padding:13px 16px;
  border-radius:10px;
  background:#ecf7e5;
  color:#2f5a31;
  font-weight:700;
  text-align:center;
}
.contact-submit{
  display:flex !important;
  justify-content:center !important;
  margin-top:22px !important;
}
.contact-submit button{
  border:0 !important;
  border-radius:999px !important;
  padding:14px 52px !important;
  background:#8cc63f !important;
  color:white !important;
  font-weight:900 !important;
  font-size:17px !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  box-shadow:8px 8px 16px rgba(0,0,0,.18) !important;
}
.contact-submit button:hover{
  filter:brightness(.96) !important;
}
@media(max-width:820px){
  .contact-grid{
    grid-template-columns:1fr !important;
  }
  .form-row{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  .contact-hero{
    min-height:420px !important;
  }
}
@media(max-width:560px){
  .contact-hero h1{
    font-size:clamp(46px,18vw,72px) !important;
  }
}
.agent-section{
  width:min(980px,calc(100% - 36px)) !important;
  margin:0 auto 42px !important;
}
.agent-section .agent-grid{
  display:flex !important;
  flex-direction:column !important;
  gap:22px !important;
}
.agent-section .agent-mini-card{
  background:#fff !important;
  border-radius:12px !important;
  padding:28px !important;
  box-shadow:var(--shadow,0 8px 30px rgba(0,0,0,.18)) !important;
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr) !important;
  gap:30px !important;
  align-items:center !important;
  text-align:left !important;
}
.agent-section .agent-photo{
  width:150px !important;
  height:150px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  border:7px solid var(--green,#799852) !important;
  background:#fff !important;
  box-shadow:8px 12px 28px rgba(0,0,0,.20) !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
  z-index:auto !important;
  justify-self:center !important;
}
.agent-section .agent-photo img,
.agent-section .agent-image{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.agent-section .agent-card{
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  display:block !important;
  position:static !important;
  text-align:left !important;
  min-width:0 !important;
}
.agent-section .agent-card h3{
  margin:0 0 4px !important;
  color:#111 !important;
  font-size:26px !important;
  line-height:1.08 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  white-space:normal !important;
}
.agent-section .agent-card p{
  margin:0 0 14px !important;
  color:#111 !important;
  font-size:17px !important;
  line-height:1.35 !important;
}
.agent-section .agent-qualifications{
  margin:0 0 14px !important;
  color:#687263 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
.agent-section .agent-direct-details{
  margin:0 0 16px !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
.agent-section .agent-direct-details a{
  color:var(--green-dark,#5d7740) !important;
  font-weight:900 !important;
  text-decoration:none !important;
}
.agent-section .agent-socials,
.agent-section .socials{
  justify-content:flex-start !important;
  margin:12px 0 16px !important;
}
.agent-section .btn{
  min-width:220px !important;
}
.team-page .agent-card-wrap > .agent-photo{
  margin:0 auto -42px !important;
  position:relative !important;
  z-index:2 !important;
}
.team-page .agent-card-wrap > .agent-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:20px !important;
  align-items:start !important;
}
@media(max-width:760px){
  .agent-section .agent-mini-card{
    grid-template-columns:1fr !important;
    text-align:center !important;
    padding:24px 20px !important;
  }
  .agent-section .agent-card{
    text-align:center !important;
  }
  .agent-section .agent-socials,
  .agent-section .socials{
    justify-content:center !important;
  }
  .agent-section .agent-card h3{
    font-size:24px !important;
  }
  .agent-section .btn{
    min-width:0 !important;
    width:100% !important;
    max-width:300px !important;
    margin:auto !important;
  }
  .team-page .agent-card-wrap > .agent-card{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }
}
.listing-showcase .agent-section{
  width:min(980px,calc(100% - 36px)) !important;
  margin:26px auto 34px !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr)) !important;
  gap:18px !important;
}
.listing-showcase .agent-box{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:18px 20px !important;
  display:grid !important;
  grid-template-columns:118px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:center !important;
  background:#fff !important;
  border-radius:14px !important;
  box-shadow:8px 14px 34px rgba(0,0,0,.12) !important;
}
.listing-showcase .agent-photo{
  width:112px !important;
  height:112px !important;
  margin:0 !important;
  justify-self:center !important;
  position:static !important;
  transform:none !important;
}
.listing-showcase .agent-card{
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  text-align:left !important;
  min-width:0 !important;
}
.listing-showcase .agent-card h3{
  margin:0 0 4px !important;
  font-size:24px !important;
  line-height:1.1 !important;
  white-space:normal !important;
}
.listing-showcase .agent-role,
.listing-showcase .agent-card .role{
  margin:0 0 10px !important;
  font-size:16px !important;
  line-height:1.25 !important;
}
.listing-showcase .agent-qualifications{
  margin:6px 0 10px !important;
  font-size:12px !important;
}
.listing-showcase .agent-direct-details{
  margin:6px 0 12px !important;
  font-size:14px !important;
}
.listing-showcase .socials{
  justify-content:flex-start !important;
  margin:10px 0 12px !important;
}
.listing-showcase .socials a,
.listing-showcase .socials span{
  width:34px !important;
  height:34px !important;
}
.listing-showcase .agent-card .btn,
.listing-showcase .agent-box .btn{
  min-width:190px !important;
  max-width:260px !important;
  padding:10px 20px !important;
}
@media(max-width:820px){
  .listing-showcase .agent-section{
    grid-template-columns:1fr !important;
  }
  .listing-showcase .agent-box{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }
  .listing-showcase .agent-card{
    text-align:center !important;
  }
  .listing-showcase .socials{
    justify-content:center !important;
  }
  .listing-showcase .agent-photo{
    margin:auto !important;
  }
}
.listing-showcase section.agent-section[data-agent-section],
.listing-showcase .agent-section[data-agent-section]{
  width:min(1120px,calc(100% - 36px)) !important;
  max-width:1120px !important;
  margin:26px auto 34px !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(420px,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}
.listing-showcase .agent-section[data-agent-section] > *{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.listing-showcase .agent-box,
.listing-showcase .agent-profile,
.listing-showcase .agent-card-wrap,
.listing-showcase .agent-person,
.listing-showcase .agent-item{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:20px 22px !important;
  display:grid !important;
  grid-template-columns:130px minmax(0,1fr) !important;
  gap:20px !important;
  align-items:center !important;
  background:#fff !important;
  border-radius:14px !important;
  box-shadow:8px 14px 34px rgba(0,0,0,.12) !important;
  min-height:0 !important;
}
.listing-showcase .agent-section[data-agent-section] > .agent-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:20px 22px !important;
  display:grid !important;
  grid-template-columns:130px minmax(0,1fr) !important;
  gap:20px !important;
  align-items:center !important;
  background:#fff !important;
  border-radius:14px !important;
  box-shadow:8px 14px 34px rgba(0,0,0,.12) !important;
  text-align:left !important;
}
.listing-showcase .agent-photo,
.listing-showcase .agent-image-wrap,
.listing-showcase .agent-avatar{
  width:118px !important;
  height:118px !important;
  min-width:118px !important;
  margin:0 !important;
  justify-self:center !important;
  align-self:center !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
}
.listing-showcase .agent-photo img,
.listing-showcase .agent-image,
.listing-showcase .agent-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.listing-showcase .agent-box .agent-card,
.listing-showcase .agent-profile .agent-card,
.listing-showcase .agent-card-wrap .agent-card,
.listing-showcase .agent-person .agent-card,
.listing-showcase .agent-item .agent-card{
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  text-align:left !important;
  min-width:0 !important;
  display:block !important;
}
.listing-showcase .agent-card h3,
.listing-showcase .agent-name{
  margin:0 0 4px !important;
  font-size:26px !important;
  line-height:1.1 !important;
  white-space:normal !important;
  text-align:left !important;
}
.listing-showcase .agent-role,
.listing-showcase .agent-card .role{
  margin:0 0 10px !important;
  font-size:16px !important;
  line-height:1.25 !important;
  text-align:left !important;
}
.listing-showcase .agent-qualifications{
  margin:6px 0 10px !important;
  font-size:12px !important;
  text-align:left !important;
}
.listing-showcase .agent-direct-details{
  margin:6px 0 12px !important;
  font-size:14px !important;
  text-align:left !important;
}
.listing-showcase .agent-card .btn,
.listing-showcase .agent-box .btn,
.listing-showcase .agent-profile .btn,
.listing-showcase .agent-card-wrap .btn{
  min-width:190px !important;
  max-width:260px !important;
  width:auto !important;
  padding:10px 20px !important;
  margin:0 !important;
}
@media(max-width:900px){
  .listing-showcase section.agent-section[data-agent-section],
  .listing-showcase .agent-section[data-agent-section]{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:700px){
  .listing-showcase .agent-box,
  .listing-showcase .agent-profile,
  .listing-showcase .agent-card-wrap,
  .listing-showcase .agent-person,
  .listing-showcase .agent-item,
  .listing-showcase .agent-section[data-agent-section] > .agent-card{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }
  .listing-showcase .agent-box .agent-card,
  .listing-showcase .agent-profile .agent-card,
  .listing-showcase .agent-card-wrap .agent-card,
  .listing-showcase .agent-person .agent-card,
  .listing-showcase .agent-item .agent-card,
  .listing-showcase .agent-section[data-agent-section] > .agent-card{
    text-align:center !important;
  }
  .listing-showcase .agent-card h3,
  .listing-showcase .agent-name,
  .listing-showcase .agent-role,
  .listing-showcase .agent-card .role,
  .listing-showcase .agent-qualifications,
  .listing-showcase .agent-direct-details{
    text-align:center !important;
  }
  .listing-showcase .socials{
    justify-content:center !important;
  }
  .listing-showcase .agent-photo,
  .listing-showcase .agent-image-wrap,
  .listing-showcase .agent-avatar{
    margin:auto !important;
  }
}
.listing-showcase + .calculator,
section.calculator[data-calc],
.calculator[data-calc]{
  background:#fff !important;
  padding:34px 18px 42px !important;
  text-align:center !important;
}
.calculator[data-calc] .calc-box{
  width:min(760px,100%) !important;
  margin:auto !important;
}
.calculator[data-calc] input,
.calculator[data-calc] select{
  min-height:46px !important;
}
.calculator[data-calc] [data-price-slider]{
  width:100% !important;
  display:block !important;
  margin:0 0 22px !important;
  accent-color:var(--green,#799852) !important;
}
.calculator[data-calc] .rate-tools{
  background:#f7fbf3 !important;
  border:1px solid var(--green,#799852) !important;
  border-radius:7px !important;
  padding:14px !important;
  margin:12px 0 !important;
}
.calculator[data-calc] .calc-result{
  background:#eef7e8 !important;
  color:var(--green-dark,#5d7740) !important;
  margin:14px 0 0 !important;
  padding:16px !important;
  border-radius:7px !important;
  font-size:22px !important;
  font-weight:950 !important;
}
.listing-showcase .agent-section[data-agent-section]{
  width:min(1120px,calc(100% - 36px)) !important;
  max-width:1120px !important;
  margin:26px auto 34px !important;
  padding:0 !important;
  display:block !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(430px,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-mini-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:20px 22px !important;
  display:grid !important;
  grid-template-columns:128px minmax(0,1fr) !important;
  gap:20px !important;
  align-items:center !important;
  background:#fff !important;
  border-radius:14px !important;
  box-shadow:8px 14px 34px rgba(0,0,0,.12) !important;
  text-align:left !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-photo{
  width:118px !important;
  height:118px !important;
  min-width:118px !important;
  margin:0 !important;
  justify-self:center !important;
  align-self:center !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  z-index:auto !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-photo img,
.listing-showcase .agent-section[data-agent-section] .agent-image{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-card{
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  text-align:left !important;
  min-width:0 !important;
  display:block !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-card h3{
  margin:0 0 4px !important;
  color:#111 !important;
  font-size:25px !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  white-space:normal !important;
  text-align:left !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-card p{
  margin:0 0 10px !important;
  color:#111 !important;
  font-size:16px !important;
  line-height:1.3 !important;
  text-align:left !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-qualifications{
  margin:0 0 10px !important;
  color:#687263 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  text-align:left !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-direct-details{
  margin:0 0 12px !important;
  font-size:14px !important;
  line-height:1.35 !important;
  text-align:left !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-socials,
.listing-showcase .agent-section[data-agent-section] .socials{
  justify-content:flex-start !important;
  margin:10px 0 12px !important;
}
.listing-showcase .agent-section[data-agent-section] .agent-socials a,
.listing-showcase .agent-section[data-agent-section] .socials a,
.listing-showcase .agent-section[data-agent-section] .socials span{
  width:34px !important;
  height:34px !important;
}
.listing-showcase .agent-section[data-agent-section] .btn{
  min-width:190px !important;
  max-width:260px !important;
  width:auto !important;
  padding:10px 20px !important;
  margin:0 !important;
}
@media(max-width:980px){
  .listing-showcase .agent-section[data-agent-section] .agent-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:700px){
  .listing-showcase .agent-section[data-agent-section] .agent-mini-card{
    grid-template-columns:1fr !important;
    text-align:center !important;
  }
  .listing-showcase .agent-section[data-agent-section] .agent-card,
  .listing-showcase .agent-section[data-agent-section] .agent-card h3,
  .listing-showcase .agent-section[data-agent-section] .agent-card p,
  .listing-showcase .agent-section[data-agent-section] .agent-qualifications,
  .listing-showcase .agent-section[data-agent-section] .agent-direct-details{
    text-align:center !important;
  }
  .listing-showcase .agent-section[data-agent-section] .agent-socials,
  .listing-showcase .agent-section[data-agent-section] .socials{
    justify-content:center !important;
  }
  .listing-showcase .agent-section[data-agent-section] 
/* ==========================================================
   AGENT PROFILE PHOTO SIZE
   Change width and height below to resize all agent photos.
   Current size: 160px x 160px
   ========================================================== */
.agent-photo{
    margin:auto !important;
  }
}
.site-header{
  position:sticky !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:5000 !important;
  height:130px !important;
  min-height:130px !important;
  background:
    linear-gradient(
      to bottom,
      rgba(35,48,28,.82) 0%,
      rgba(35,48,28,.58) 68%,
      rgba(35,48,28,.18) 100%
    ) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.nav{
  min-height:130px !important;
  height:130px !important;
  padding:0 18px !important;
  width:min(var(--max,1120px),100%) !important;
  margin:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.logo-link img{
  width:118px !important;
  max-height:118px !important;
  height:auto !important;
}
.nav-links a,
.nav-links a:link,
.nav-links a:visited,
.nav-links a:hover,
.nav-links a:active,
.nav-links a.active{
  color:#fff !important;
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background-image:none !important;
  font-weight:500 !important;
}
.nav-links a::before,
.nav-links a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  bottom:-7px !important;
  width:100% !important;
  height:2px !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  transform:scaleX(0) !important;
  transform-origin:left center !important;
  transition:transform .18s ease !important;
}
.nav-links a::before{
  display:none !important;
}
.nav-links a:hover::after,
.nav-links a.active::after{
  transform:scaleX(1) !important;
}
.home-hero,
.page-hero,
.about-hero,
.contact-hero,
.properties-hero,
.agents-hero,
.calc-hero,
.hero{
  margin-top:-130px !important;
  padding-top:130px !important;
}
.home-hero{
  min-height:620px !important;
}
@media(max-width:760px){
  .site-header{
    height:92px !important;
    min-height:92px !important;
    background:
      linear-gradient(
        to bottom,
        rgba(35,48,28,.9) 0%,
        rgba(35,48,28,.72) 70%,
        rgba(35,48,28,.25) 100%
      ) !important;
  }
  .nav{
    min-height:92px !important;
    height:92px !important;
    padding:0 14px !important;
  }
  .logo-link img{
    width:82px !important;
    max-height:82px !important;
  }
  .nav-links{
    top:92px !important;
    background:rgba(93,119,64,.98) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }
  .nav-links a::after{
    bottom:2px !important;
  }
  .home-hero,
  .page-hero,
  .about-hero,
  .contact-hero,
  .properties-hero,
  .agents-hero,
  .calc-hero,
  .hero{
    margin-top:-92px !important;
    padding-top:92px !important;
  }
}
:root{
  --green:#799852 !important;
  --green-dark:#5d7740 !important;
  --green-light:#93b76a !important;
  --cream:#f4f3f2 !important;
  --max:1120px !important;
}
.site-header{
  position:sticky !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:5000 !important;
  height:130px !important;
  min-height:130px !important;
  background:linear-gradient(to bottom,rgba(35,48,28,.82) 0%,rgba(35,48,28,.56) 62%,rgba(35,48,28,.14) 100%) !important;
  border:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.nav{
  width:min(var(--max),100%) !important;
  min-height:130px !important;
  height:130px !important;
  margin:auto !important;
  padding:0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.nav-links{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
}
.nav-links a,
.nav-links a:link,
.nav-links a:visited,
.nav-links a:hover,
.nav-links a:active,
.nav-links a.active{
  position:relative !important;
  color:#fff !important;
  text-decoration:none !important;
  border:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:none !important;
  background-image:none !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}
.nav-links a{font-weight:500 !important;}
.nav-links a.active{font-weight:900 !important;}
.nav-links a::before{display:none !important;content:none !important;}
.nav-links a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  bottom:-7px !important;
  width:100% !important;
  height:2px !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  transform:scaleX(0) !important;
  transform-origin:left center !important;
  transition:transform .18s ease !important;
}
.nav-links a:hover::after{transform:scaleX(1) !important;}
.nav-links a.active::after{transform:scaleX(0) !important;}
.home-hero,
.page-hero,
.about-hero,
.agent-hero,
.agents-hero,
.contact-hero,
.properties-hero,
.calc-hero,
.hero{
  margin-top:-130px !important;
  padding-top:130px !important;
  min-height:620px !important;
  background-position:center 45% !important;
}
.page-hero-bg,
.contact-hero-bg{
  object-position:center 45% !important;
}
.about-green-strip,
.agent-green-strip,
.hero-green-strip{
  border:0 !important;
  box-shadow:none !important;
}
.home-hero{min-height:650px !important;}
.home-hero-inner{min-height:650px !important;padding-top:160px !important;}
.home-pride-panel{
  min-height:520px !important;
  background-image:linear-gradient(rgba(255,255,255,.10),rgba(255,255,255,.08)),url("../images/indexback.webp") !important;
  background-size:cover !important;
  background-position:center 35% !important;
  background-attachment:fixed !important;
}
.team-carousel-section{overflow:hidden !important;}
.team-carousel-wrap{
  width:min(760px,100%) !important;
  margin:0 auto !important;
  padding:0 62px !important;
  position:relative !important;
}
.team-strip-carousel{
  display:flex !important;
  gap:28px !important;
  align-items:flex-start !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  padding:18px 0 38px !important;
  scrollbar-width:none !important;
}
.team-strip-carousel::-webkit-scrollbar{display:none !important;}
.team-strip-carousel .team-card-home{
  flex:0 0 calc((100% - 56px) / 3) !important;
  scroll-snap-align:center !important;
  text-align:center !important;
  text-decoration:none !important;
  color:inherit !important;
  transition:transform .18s ease, filter .18s ease !important;
}
.team-strip-carousel .team-card-home:hover{transform:translateY(-4px) !important;}
.team-strip-carousel .team-card-featured{transform:scale(1.06) !important;}
.team-strip-carousel .team-card-featured:hover{transform:scale(1.06) translateY(-4px) !important;}
.team-strip-carousel .team-card-home img{
  width:128px !important;
  height:128px !important;
  margin:0 auto 10px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  border:7px solid var(--green) !important;
  box-shadow:8px 18px 34px rgba(0,0,0,.16) !important;
  background:#fff !important;
}
.team-strip-carousel .team-card-featured img{width:142px !important;height:142px !important;border-width:8px !important;}
.team-strip-carousel .team-card-home h3{margin:0 !important;font-size:16px !important;line-height:1.05 !important;text-transform:uppercase !important;font-weight:950 !important;}
.team-strip-carousel .team-card-home p{margin:4px auto 0 !important;font-size:12px !important;line-height:1.2 !important;max-width:165px !important;}
.team-arrow{
  position:absolute !important;
  top:76px !important;
  z-index:5 !important;
  width:46px !important;
  height:46px !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--green) !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:900 !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
  box-shadow:8px 10px 24px rgba(0,0,0,.22) !important;
}
.team-arrow:hover{background:var(--green-dark) !important;}
.team-arrow-left{left:6px !important;}
.team-arrow-right{right:6px !important;}
.agent-card-wrap{scroll-margin-top:150px !important;}
.featured-scroller{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;}
.featured-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:8px 8px 34px rgba(0,0,0,.14);}
.featured-card a{display:block;text-decoration:none;color:inherit;}
.featured-card img{width:100%;height:190px;object-fit:cover;background:#dfe6d7;}
.featured-card-body{padding:18px;}
.featured-card-body span{display:block;color:var(--green-dark);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;}
.featured-card-body h3{margin:0 0 10px;font-size:18px;line-height:1.2;}
.featured-card-body strong{color:var(--green-dark);font-size:18px;}
@media(max-width:760px){
  .site-header{height:92px !important;min-height:92px !important;background:linear-gradient(to bottom,rgba(35,48,28,.90) 0%,rgba(35,48,28,.70) 72%,rgba(35,48,28,.20) 100%) !important;}
  .nav{height:92px !important;min-height:92px !important;padding:0 14px !important;}
  .nav-toggle{display:inline-flex !important;}
  .nav-links{display:none !important;position:absolute !important;left:12px !important;right:12px !important;top:92px !important;flex-direction:column !important;align-items:flex-start !important;background:rgba(93,119,64,.98) !important;border-radius:14px !important;padding:16px !important;box-shadow:8px 8px 30px rgba(0,0,0,.25) !important;backdrop-filter:blur(10px) !important;-webkit-backdrop-filter:blur(10px) !important;}
  .nav-links.open{display:flex !important;}
  .home-hero,.page-hero,.about-hero,.agent-hero,.agents-hero,.contact-hero,.properties-hero,.calc-hero,.hero{margin-top:-92px !important;padding-top:92px !important;min-height:460px !important;}
  .home-hero,.home-hero-inner{min-height:520px !important;}
  .home-hero-inner{padding-top:108px !important;}
  .home-pride-panel{min-height:390px !important;background-attachment:scroll !important;}
  .team-carousel-wrap{width:100% !important;padding:0 46px !important;}
  .team-strip-carousel{gap:22px !important;}
  .team-strip-carousel .team-card-home{flex-basis:calc((100% - 22px) / 2) !important;}
  .team-strip-carousel .team-card-home img{width:112px !important;height:112px !important;}
  .team-strip-carousel .team-card-featured img{width:124px !important;height:124px !important;}
  .team-arrow{width:38px !important;height:38px !important;top:70px !important;font-size:28px !important;}
}
@media(max-width:480px){.team-strip-carousel .team-card-home{flex-basis:100% !important;}}
.site-header{
  position:sticky !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:5000 !important;
  height:130px !important;
  min-height:130px !important;
  background:linear-gradient(to bottom,rgba(35,48,28,.84) 0%,rgba(35,48,28,.58) 68%,rgba(35,48,28,.18) 100%) !important;
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.site-header::before,.site-header::after{display:none !important;content:none !important;}
.nav{
  width:min(var(--max),100%) !important;
  height:130px !important;
  min-height:130px !important;
  margin:auto !important;
  padding:0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  border:0 !important;
  box-shadow:none !important;
}
.nav-links{display:flex !important;align-items:center !important;gap:24px !important;background:transparent !important;box-shadow:none !important;}
.nav-links a,
.nav-links a:link,
.nav-links a:visited,
.nav-links a:hover,
.nav-links a:active,
.nav-links a.active,
.nav-links a[aria-current="page"]{
  position:relative !important;
  color:#fff !important;
  text-decoration:none !important;
  border:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:none !important;
  background-image:none !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:16px !important;
  line-height:1.2 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.28) !important;
}
.nav-links a.active,.nav-links a[aria-current="page"]{font-weight:900 !important;}
.nav-links a:hover::after,
.nav-links a.active::after,
.nav-links a[aria-current="page"]::after{transform:scaleX(1) !important;}
.home-hero,
.page-hero,
.about-hero,
.agent-hero,
.agents-hero,
.contact-hero,
.properties-hero,
.calc-hero,
.hero{
  margin-top:-130px !important;
  padding-top:130px !important;
  min-height:680px !important;
  background-size:cover !important;
  background-position:center 43% !important;
  border:0 !important;
  box-shadow:none !important;
}
.home-hero{min-height:700px !important;}
.home-hero-inner{min-height:700px !important;padding-top:165px !important;}
.page-hero-bg,.contact-hero-bg{object-position:center 43% !important;}
.about-green-strip,.agent-green-strip,.hero-green-strip,.page-hero::after,.about-hero::after,.contact-hero::after,.properties-hero::after{border:0 !important;box-shadow:none !important;}
.home-pride-panel{
  min-height:560px !important;
  background-image:linear-gradient(rgba(255,255,255,.10),rgba(255,255,255,.08)),url("../images/indexback.webp") !important;
  background-size:cover !important;
  background-position:center 28% !important;
  background-attachment:fixed !important;
}
.team-strip-carousel .team-card-home{flex:0 0 calc((100% - 56px) / 3) !important;scroll-snap-align:center !important;text-align:center !important;text-decoration:none !important;color:inherit !important;transition:transform .18s ease,filter .18s ease !important;}
.agent-card-wrap,.team-agent-card,.agent-profile-card{scroll-margin-top:150px !important;}
@media(max-width:760px){
  .site-header{height:92px !important;min-height:92px !important;background:linear-gradient(to bottom,rgba(35,48,28,.92) 0%,rgba(35,48,28,.72) 72%,rgba(35,48,28,.24) 100%) !important;}
  .nav-links a{font-size:15px !important;}
  .home-hero,.page-hero,.about-hero,.agent-hero,.agents-hero,.contact-hero,.properties-hero,.calc-hero,.hero{margin-top:-92px !important;padding-top:92px !important;min-height:500px !important;}
  .home-hero,.home-hero-inner{min-height:560px !important;}
  .home-hero-inner{padding-top:110px !important;}
  .home-pride-panel{min-height:410px !important;background-attachment:scroll !important;background-position:center 35% !important;}
}
@media(max-width:480px){}
.nav-links a,
.nav-links a:hover,
.nav-links a:focus,
.nav-links a:active,
.nav-links a.active{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  background-image:none !important;
}
.featured-carousel-wrap{
  width:min(980px,100%) !important;
  margin:0 auto !important;
  padding:0 62px !important;
  position:relative !important;
}
.featured-carousel{
  display:flex !important;
  gap:28px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  padding:18px 0 40px !important;
  scrollbar-width:none !important;
}
.featured-carousel::-webkit-scrollbar{
  display:none !important;
}
.featured-carousel > *{
  flex:0 0 calc((100% - 56px) / 3) !important;
  scroll-snap-align:center !important;
  min-width:0 !important;
}
.featured-arrow{
  position:absolute !important;
  top:45% !important;
  transform:translateY(-50%) !important;
  z-index:5 !important;
  width:46px !important;
  height:46px !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--green,#799852) !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:900 !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
  box-shadow:8px 10px 24px rgba(0,0,0,.22) !important;
}
.featured-arrow:hover{
  background:var(--green-dark,#5d7740) !important;
}
.featured-arrow-left{left:6px !important;}
.featured-arrow-right{right:6px !important;}
.team-strip-carousel{
  scroll-behavior:smooth !important;
  overflow-anchor:none !important;
}
.team-strip-carousel .team-card-home[data-clone],
.featured-carousel [data-clone]{
  pointer-events:auto !important;
}
@media(max-width:760px){
  .featured-carousel-wrap{
    width:100% !important;
    padding:0 46px !important;
  }
  .featured-carousel{
    gap:22px !important;
  }
  .featured-carousel > *{
    flex-basis:calc((100% - 22px) / 2) !important;
  }
  .featured-arrow{
    width:38px !important;
    height:38px !important;
    font-size:28px !important;
  }
}
@media(max-width:480px){
  .featured-carousel > *{
    flex-basis:100% !important;
  }
}
.listing-calculator-shell{
  margin:40px auto 24px !important;
  padding:0 20px !important;
}
.listing-calculator-shell .print-brand{
  display:none;
}
.listing-calc-disclaimer{
  margin-top:0 !important;
}
@media(max-width:900px){
  .listing-calculator-shell{
    margin-top:30px !important;
  }
}
.site-header .nav-links a,
.site-header .nav-links a:hover,
.site-header .nav-links a:focus,
.site-header .nav-links a:active,
.site-header .nav-links a.active,
.site-header .nav-links a[aria-current="page"]{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  position:relative !important;
}
.site-header .nav-links a::before{
  content:none !important;
  display:none !important;
}
.site-header .nav-links a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-7px !important;
  height:2px !important;
  background:currentColor !important;
  transform:scaleX(0) !important;
  transform-origin:center !important;
  transition:transform .18s ease !important;
  border:0 !important;
  box-shadow:none !important;
}
.site-header .nav-links a.active::after,
.site-header .nav-links a[aria-current="page"]::after{
  transform:scaleX(1) !important;
}
.badge.featured-property{background:#c62828!important;color:#fff!important;}
.properties-page .property-row,
.property-row{
  width:min(1180px,calc(100% - 40px)) !important;
  margin:0 auto 34px !important;
  padding:0 !important;
  display:grid !important;
  grid-auto-flow:row !important;
  grid-auto-columns:auto !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:24px !important;
  overflow:visible !important;
  scroll-snap-type:none !important;
}
.property-row .property-card{
  width:100% !important;
  min-width:0 !important;
  scroll-snap-align:none !important;
}
@media (max-width:1100px){
  .properties-page .property-row,
  .property-row{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:820px){
  .properties-page .property-row,
  .property-row{
    width:min(720px,calc(100% - 32px)) !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px !important;
  }
}
@media (max-width:560px){
  .properties-page .property-row,
  .property-row{
    width:min(360px,calc(100% - 28px)) !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .property-row .property-card{
    max-width:360px !important;
    margin:0 auto !important;
  }
}
.property-card-badge.sold,
.badge.sold-property{
  background:#c62828!important;
  color:#fff!important;
}
.property-card-badge.under-offer,
.badge.under-offer-property{
  background:#ef6c00!important;
  color:#fff!important;
}
.team-strip-carousel{
  scroll-snap-type:none !important;
  overscroll-behavior-inline:contain !important;
  -webkit-overflow-scrolling:touch !important;
}
.team-strip-carousel .team-card-home{scroll-snap-align:none !important;}
@media (prefers-reduced-motion: reduce){
  .team-strip-carousel{scroll-behavior:auto !important;}
}
.featured-carousel,
.team-strip-carousel{
  scroll-snap-type:none !important;
  scroll-behavior:smooth !important;
  overflow-anchor:none !important;
  overscroll-behavior-inline:contain !important;
  -webkit-overflow-scrolling:touch !important;
}
.featured-carousel > *,
.team-strip-carousel .team-card-home{
  scroll-snap-align:none !important;
  scroll-snap-stop:normal !important;
}
.featured-carousel [data-ste-loop-clone],
.team-strip-carousel [data-ste-loop-clone]{
  flex-shrink:0 !important;
}
.featured-carousel.is-correcting,
.team-strip-carousel.is-correcting{
  scroll-behavior:auto !important;
}
@media (prefers-reduced-motion:reduce){
  .featured-carousel,
  .team-strip-carousel{scroll-behavior:auto !important;}
}
.site-header,
.home-page .site-header{
  position:sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  z-index:9999 !important;
}
.home-page .site-header{
  background:var(--header-bg,#799852) !important;
  background-image:none !important;
  border-bottom:7px solid var(--green-light,#93b76a) !important;
  box-shadow:8px 4px 14px rgba(0,0,0,.14) !important;
}
.home-page .site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:9999 !important;
  background:transparent !important;
  background-image:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.home-page .nav{
  background:transparent !important;
}
@media(max-width:1024px){
  .home-page .site-header{
    background:transparent !important;
    background-image:none !important;
    border-bottom:0 !important;
    box-shadow:none !important;
  }
}
.home-page .featured-carousel,
.home-page .team-strip-carousel{
  overflow:hidden !important;
  scroll-behavior:auto !important;
  scroll-snap-type:none !important;
  scrollbar-width:none !important;
  display:block !important;
}
.home-page .featured-carousel::-webkit-scrollbar,
.home-page .team-strip-carousel::-webkit-scrollbar{
  display:none !important;
}
.home-page .ste-carousel-stage{
  display:flex !important;
  align-items:stretch !important;
  gap:24px !important;
  width:100% !important;
  transform:translate3d(0,0,0);
  transition:transform .42s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.home-page .team-strip-carousel .ste-carousel-stage{
  align-items:flex-start !important;
  gap:28px !important;
}
.home-page .ste-carousel-stage.ste-no-transition{
  transition:none !important;
}
.home-page .featured-carousel .ste-carousel-stage > .featured-card,
.home-page .featured-carousel .ste-carousel-stage > .property-card{
  flex:0 0 calc((100% - 48px) / 3) !important;
  min-width:0 !important;
  scroll-snap-align:none !important;
}
.home-page .team-strip-carousel .ste-carousel-stage > .team-card-home{
  flex:0 0 calc((100% - 56px) / 3) !important;
  min-width:0 !important;
  scroll-snap-align:none !important;
}
@media(max-width:900px){
  .home-page .featured-carousel .ste-carousel-stage > .featured-card,
  .home-page .featured-carousel .ste-carousel-stage > .property-card{
    flex-basis:calc((100% - 24px) / 2) !important;
  }
  .home-page .team-strip-carousel .ste-carousel-stage{
    gap:22px !important;
  }
  .home-page .team-strip-carousel .ste-carousel-stage > .team-card-home{
    flex-basis:calc((100% - 22px) / 2) !important;
  }
}
@media(max-width:560px){
  .home-page .featured-carousel .ste-carousel-stage > .featured-card,
  .home-page .featured-carousel .ste-carousel-stage > .property-card,
  .home-page .team-strip-carousel .ste-carousel-stage > .team-card-home{
    flex-basis:100% !important;
  }
}
.socials a,.contact-socials a,.agent-socials a{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
.social-sprite{background-color:transparent!important;background:none!important;display:block!important;width:44px!important;height:44px!important;flex:0 0 44px!important;background-image:url("../images/sprites/social-sprite.webp")!important;background-repeat:no-repeat!important;background-size:500% 200%!important;background-position-y:0%!important;border-radius:50%!important;transition:transform .18s ease,filter .18s ease!important}
.socials a:hover .social-sprite,.socials a:focus-visible .social-sprite,.contact-socials a:hover .social-sprite,.contact-socials a:focus-visible .social-sprite,.agent-socials a:hover .social-sprite,.agent-socials a:focus-visible .social-sprite{background-position-y:100%!important;transform:translateY(-2px) scale(1.04)}
.social-phone{background-position-x:0%!important}.social-email{background-position-x:25%!important}.social-whatsapp{background-position-x:50%!important}.social-instagram{background-position-x:75%!important}.social-facebook{background-position-x:100%!important}
@media(max-width:1024px){.socials a,.contact-socials a,.agent-socials a{width:58px!important;height:58px!important;min-width:58px!important}.social-sprite{width:58px!important;height:58px!important;flex-basis:58px!important}}
@media(max-width:600px){.socials,.contact-socials,.agent-socials{gap:14px!important}.socials a,.contact-socials a,.agent-socials a{width:66px!important;height:66px!important;min-width:66px!important}.social-sprite{width:66px!important;height:66px!important;flex-basis:66px!important}}
.social-sprite{
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  background-color:transparent!important;
}
.social-phone{background-image:url("../images/social/phone-default.webp")!important}
.social-email{background-image:url("../images/social/email-default.webp")!important}
.social-whatsapp{background-image:url("../images/social/whatsapp-default.webp")!important}
.social-instagram{background-image:url("../images/social/instagram-default.webp")!important}
.social-facebook{background-image:url("../images/social/facebook-default.webp")!important}
.socials a:hover .social-phone,.socials a:focus-visible .social-phone,.contact-socials a:hover .social-phone,.contact-socials a:focus-visible .social-phone,.agent-socials a:hover .social-phone,.agent-socials a:focus-visible .social-phone{background-image:url("../images/social/phone-hover.webp")!important}
.socials a:hover .social-email,.socials a:focus-visible .social-email,.contact-socials a:hover .social-email,.contact-socials a:focus-visible .social-email,.agent-socials a:hover .social-email,.agent-socials a:focus-visible .social-email{background-image:url("../images/social/email-hover.webp")!important}
.socials a:hover .social-whatsapp,.socials a:focus-visible .social-whatsapp,.contact-socials a:hover .social-whatsapp,.contact-socials a:focus-visible .social-whatsapp,.agent-socials a:hover .social-whatsapp,.agent-socials a:focus-visible .social-whatsapp{background-image:url("../images/social/whatsapp-hover.webp")!important}
.socials a:hover .social-instagram,.socials a:focus-visible .social-instagram,.contact-socials a:hover .social-instagram,.contact-socials a:focus-visible .social-instagram,.agent-socials a:hover .social-instagram,.agent-socials a:focus-visible .social-instagram{background-image:url("../images/social/instagram-hover.webp")!important}
.socials a:hover .social-facebook,.socials a:focus-visible .social-facebook,.contact-socials a:hover .social-facebook,.contact-socials a:focus-visible .social-facebook,.agent-socials a:hover .social-facebook,.agent-socials a:focus-visible .social-facebook{background-image:url("../images/social/facebook-hover.webp")!important}
.socials a,
.contact-socials a,
.agent-socials a{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}
.social-icon{
  display:block !important;
  width:44px !important;
  height:44px !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  transform:none !important;
}
.socials a:hover .social-icon,
.socials a:focus-visible .social-icon,
.contact-socials a:hover .social-icon,
.contact-socials a:focus-visible .social-icon,
.agent-socials a:hover .social-icon,
.agent-socials a:focus-visible .social-icon{
  transform:translateY(-2px) scale(1.04) !important;
}
@media(max-width:1024px){
  .socials a,.contact-socials a,.agent-socials a,
  .social-icon{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
  }
}
@media(max-width:600px){
  .socials,.contact-socials,.agent-socials{gap:14px !important;}
  .socials a,.contact-socials a,.agent-socials a,
  .social-icon{
    width:66px !important;
    height:66px !important;
    min-width:66px !important;
  }
}
.socials,
.contact-socials,
.agent-socials{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}
.socials a,
.contact-socials a,
.agent-socials a,
.live-footer-actions a:has(.ste-sprite){
  width:53px !important;
  height:53px !important;
  min-width:53px !important;
  min-height:53px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  line-height:0 !important;
}
.ste-sprite{
  display:inline-block !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent !important;
  background-image:url("../images/sprites/ste-sprite.webp") !important;
  background-repeat:no-repeat !important;
  filter:drop-shadow(1px 1px 1px #898989);
  transform:none !important;
}
.ste-facebook{width:52px !important;height:53px !important;background-position:-9px 0 !important;}
.ste-instagram{width:52px !important;height:52px !important;background-position:-183px 0 !important;}
.ste-whatsapp{width:53px !important;height:53px !important;background-position:-298px 0 !important;}
.ste-email{width:53px !important;height:53px !important;background-position:-68px -107px !important;}
.ste-phone{width:53px !important;height:53px !important;background-position:-298px -107px !important;}
.socials a:hover .ste-facebook,.socials a:focus-visible .ste-facebook,
.contact-socials a:hover .ste-facebook,.contact-socials a:focus-visible .ste-facebook,
.agent-socials a:hover .ste-facebook,.agent-socials a:focus-visible .ste-facebook{background-position:-9px -53px !important;}
.socials a:hover .ste-instagram,.socials a:focus-visible .ste-instagram,
.contact-socials a:hover .ste-instagram,.contact-socials a:focus-visible .ste-instagram,
.agent-socials a:hover .ste-instagram,.agent-socials a:focus-visible .ste-instagram{background-position:-183px -53px !important;}
.socials a:hover .ste-whatsapp,.socials a:focus-visible .ste-whatsapp,
.contact-socials a:hover .ste-whatsapp,.contact-socials a:focus-visible .ste-whatsapp,
.agent-socials a:hover .ste-whatsapp,.agent-socials a:focus-visible .ste-whatsapp,
.live-footer-actions a:hover .ste-whatsapp,.live-footer-actions a:focus-visible .ste-whatsapp{background-position:-298px -53px !important;}
.socials a:hover .ste-email,.socials a:focus-visible .ste-email,
.contact-socials a:hover .ste-email,.contact-socials a:focus-visible .ste-email,
.agent-socials a:hover .ste-email,.agent-socials a:focus-visible .ste-email{background-position:-68px -162px !important;}
.socials a:hover .ste-phone,.socials a:focus-visible .ste-phone,
.contact-socials a:hover .ste-phone,.contact-socials a:focus-visible .ste-phone,
.agent-socials a:hover .ste-phone,.agent-socials a:focus-visible .ste-phone{background-position:-298px -162px !important;}
@media(max-width:600px){
  .socials,.contact-socials,.agent-socials{gap:12px !important;}
}
.socials .ste-sprite,
.contact-socials .ste-sprite,
.agent-socials .ste-sprite,
.live-footer-actions .ste-sprite{
  display:inline-block !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent !important;
  background-image:url("../images/sprites/ste-sprite.webp") !important;
  background-repeat:no-repeat !important;
  background-size:600px 360px !important;
  filter:drop-shadow(1px 1px 1px #898989) !important;
  transform:none !important;
}
.socials .ste-facebook,.contact-socials .ste-facebook,.agent-socials .ste-facebook,.live-footer-actions .ste-facebook{width:52px !important;height:53px !important;background-position:-9px 0 !important;}
.socials .ste-instagram,.contact-socials .ste-instagram,.agent-socials .ste-instagram,.live-footer-actions .ste-instagram{width:52px !important;height:52px !important;background-position:-183px 0 !important;}
.socials .ste-whatsapp,.contact-socials .ste-whatsapp,.agent-socials .ste-whatsapp,.live-footer-actions .ste-whatsapp{width:53px !important;height:53px !important;background-position:-298px 0 !important;}
.socials .ste-email,.contact-socials .ste-email,.agent-socials .ste-email,.live-footer-actions .ste-email{width:53px !important;height:53px !important;background-position:-68px -107px !important;}
.socials .ste-phone,.contact-socials .ste-phone,.agent-socials .ste-phone,.live-footer-actions .ste-phone{width:53px !important;height:53px !important;background-position:-298px -107px !important;}
.socials a:hover .ste-facebook,.socials a:focus-visible .ste-facebook,.contact-socials a:hover .ste-facebook,.contact-socials a:focus-visible .ste-facebook,.agent-socials a:hover .ste-facebook,.agent-socials a:focus-visible .ste-facebook,.live-footer-actions a:hover .ste-facebook,.live-footer-actions a:focus-visible .ste-facebook{background-position:-9px -53px !important;}
.socials a:hover .ste-instagram,.socials a:focus-visible .ste-instagram,.contact-socials a:hover .ste-instagram,.contact-socials a:focus-visible .ste-instagram,.agent-socials a:hover .ste-instagram,.agent-socials a:focus-visible .ste-instagram,.live-footer-actions a:hover .ste-instagram,.live-footer-actions a:focus-visible .ste-instagram{background-position:-183px -53px !important;}
.socials a:hover .ste-whatsapp,.socials a:focus-visible .ste-whatsapp,.contact-socials a:hover .ste-whatsapp,.contact-socials a:focus-visible .ste-whatsapp,.agent-socials a:hover .ste-whatsapp,.agent-socials a:focus-visible .ste-whatsapp,.live-footer-actions a:hover .ste-whatsapp,.live-footer-actions a:focus-visible .ste-whatsapp{background-position:-298px -53px !important;}
.socials a:hover .ste-email,.socials a:focus-visible .ste-email,.contact-socials a:hover .ste-email,.contact-socials a:focus-visible .ste-email,.agent-socials a:hover .ste-email,.agent-socials a:focus-visible .ste-email,.live-footer-actions a:hover .ste-email,.live-footer-actions a:focus-visible .ste-email{background-position:-68px -162px !important;}
.socials a:hover .ste-phone,.socials a:focus-visible .ste-phone,.contact-socials a:hover .ste-phone,.contact-socials a:focus-visible .ste-phone,.agent-socials a:hover .ste-phone,.agent-socials a:focus-visible .ste-phone,.live-footer-actions a:hover .ste-phone,.live-footer-actions a:focus-visible .ste-phone{background-position:-298px -162px !important;}
.footer-socials{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:12px 0 !important;
}
.footer-socials > a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:53px !important;
  height:53px !important;
  min-width:53px !important;
  min-height:53px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
  line-height:0 !important;
  text-decoration:none !important;
}
.footer-socials > a > .ste-sprite{
  display:block !important;
  flex:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background-color:transparent !important;
  background-image:url("../images/sprites/ste-sprite.webp") !important;
  background-repeat:no-repeat !important;
  background-size:600px 360px !important;
  filter:drop-shadow(1px 1px 1px #898989) !important;
}
.footer-socials .ste-facebook{width:52px !important;height:53px !important;background-position:-9px 0 !important;}
.footer-socials .ste-instagram{width:52px !important;height:52px !important;background-position:-183px 0 !important;}
.footer-socials .ste-whatsapp{width:53px !important;height:53px !important;background-position:-298px 0 !important;}
.footer-socials .ste-email{width:53px !important;height:53px !important;background-position:-68px -107px !important;}
.footer-socials .ste-phone{width:53px !important;height:53px !important;background-position:-298px -107px !important;}
.footer-socials > a:hover .ste-facebook,.footer-socials > a:focus-visible .ste-facebook{background-position:-9px -53px !important;}
.footer-socials > a:hover .ste-instagram,.footer-socials > a:focus-visible .ste-instagram{background-position:-183px -53px !important;}
.footer-socials > a:hover .ste-whatsapp,.footer-socials > a:focus-visible .ste-whatsapp{background-position:-298px -53px !important;}
.footer-socials > a:hover .ste-email,.footer-socials > a:focus-visible .ste-email{background-position:-68px -162px !important;}
.footer-socials > a:hover .ste-phone,.footer-socials > a:focus-visible .ste-phone{background-position:-298px -162px !important;}
.property-agent-socials,
.property-footer-socials{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:14px 0 !important;
}
.property-social{
  display:block !important;
  flex:0 0 53px !important;
  width:53px !important;
  height:53px !important;
  min-width:53px !important;
  min-height:53px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  box-shadow:none !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  background-color:transparent !important;
  background-image:url("../images/sprites/ste-sprite.webp") !important;
  background-repeat:no-repeat !important;
  background-size:600px 360px !important;
  filter:drop-shadow(1px 1px 1px #898989) !important;
  transform:none !important;
}
.property-social-phone{background-position:-298px -107px !important;}
.property-social-email{background-position:-68px -107px !important;}
.property-social-whatsapp{background-position:-298px 0 !important;}
.property-social-instagram{background-position:-183px 0 !important;}
.property-social-facebook{width:52px !important;flex-basis:52px !important;background-position:-9px 0 !important;}
.property-social-phone:hover,.property-social-phone:focus-visible{background-position:-298px -162px !important;}
.property-social-email:hover,.property-social-email:focus-visible{background-position:-68px -162px !important;}
.property-social-whatsapp:hover,.property-social-whatsapp:focus-visible{background-position:-298px -53px !important;}
.property-social-instagram:hover,.property-social-instagram:focus-visible{background-position:-183px -53px !important;}
.property-social-facebook:hover,.property-social-facebook:focus-visible{background-position:-9px -53px !important;}
.property-social:focus-visible{outline:3px solid rgba(121,152,82,.45) !important;outline-offset:3px !important;}
.additional-features-toggle{
  margin:18px 0 20px !important;
  border:1px solid #d8dfd2 !important;
  border-left:5px solid var(--green,#799852) !important;
  border-radius:8px !important;
  background:#f7f9f5 !important;
  overflow:hidden !important;
  box-shadow:8px 4px 12px rgba(0,0,0,.08) !important;
}
.additional-features-toggle > summary{
  list-style:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  min-height:44px !important;
  padding:8px 10px 8px 12px !important;
  cursor:pointer !important;
  user-select:none !important;
  background:#f7f9f5 !important;
}
.additional-features-toggle > summary::-webkit-details-marker{
  display:none !important;
}
.additional-features-title{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  margin:0 !important;
  color:#23311a !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.additional-features-title::before{
  content:"\25B6";
  display:inline-block;
  color:var(--green-dark,#5d7740) !important;
  font-size:11px !important;
  transition:transform .2s ease !important;
}
.additional-features-toggle[open] .additional-features-title::before{
  transform:rotate(90deg) !important;
}
.additional-features-action{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:30px !important;
  padding:5px 11px !important;
  border-radius:999px !important;
  background:var(--green,#799852) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}
.additional-features-action{
  font-size:0 !important;
}
.additional-features-action::after{
  content:"Read More";
  font-size:11px !important;
}
.additional-features-toggle[open] .additional-features-action::after{
  content:"Show Less";
}
.additional-features-toggle > summary:hover,
.additional-features-toggle > summary:focus-visible{
  background:#eef3e9 !important;
}
.additional-features-toggle > summary:focus-visible{
  outline:3px solid rgba(121,152,82,.32) !important;
  outline-offset:-3px !important;
}
.additional-features-content{
  padding:0 16px 12px 34px !important;
  border-top:1px solid #e1e7dc !important;
  background:#fff !important;
}
.additional-features-content .description-list{
  margin:10px 0 0 !important;
  padding-left:18px !important;
}
.additional-features-content .description-list li{
  margin:5px 0 !important;
  line-height:1.45 !important;
}
@media(max-width:560px){
  .additional-features-toggle > summary{
    padding:8px 9px 8px 10px !important;
  }
  .additional-features-title{
    font-size:14px !important;
  }
  .additional-features-action{
    min-height:28px !important;
    padding:5px 9px !important;
  }
}
.team-page .agent-card-wrap > .agent-card{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    padding:32px !important;
}
.team-page .agent-card .agent-content{
    display:block !important;
    width:100% !important;
    max-width:none !important;
}
.team-page .agent-card .agent-bio,
.team-page .agent-card p{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    text-align:justify !important;
    text-align-last:left !important;
    line-height:1.8 !important;
    clear:both !important;
}
.team-page .agent-card .agent-header{
    display:grid !important;
    grid-template-columns:160px 1fr auto !important;
    gap:24px !important;
    align-items:start !important;
}
@media (max-width:900px){
    .team-page .agent-card .agent-header{
        grid-template-columns:1fr !important;
    }
}
.home-hero,
.page-hero,
.about-hero,
.agent-hero,
.agents-hero,
.contact-hero,
.properties-hero,
.calc-hero,
.hero{
    min-height:760px !important;
    background-size:cover !important;
    background-position:center top !important;
}
.page-hero-bg,
.contact-hero-bg,
.about-hero-bg,
.agent-hero-bg,
.agents-hero-bg,
.properties-hero-bg,
.calc-hero-bg,
.hero-bg{
    object-fit:cover !important;
    object-position:center top !important;
}
.home-hero-inner{
    min-height:760px !important;
    padding-top:190px !important;
}
@media(max-width:760px){
    .home-hero,
    .page-hero,
    .about-hero,
    .agent-hero,
    .agents-hero,
    .contact-hero,
    .properties-hero,
    .calc-hero,
    .hero{
        min-height:580px !important;
        background-position:center top !important;
    }
    .page-hero-bg,
    .contact-hero-bg,
    .about-hero-bg,
    .agent-hero-bg,
    .agents-hero-bg,
    .properties-hero-bg,
    .calc-hero-bg,
    .hero-bg{
        object-position:center top !important;
    }
    .home-hero-inner{
        min-height:580px !important;
        padding-top:125px !important;
    }
}
@media (min-width:761px){
  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:9999 !important;
    height:150px !important;
    min-height:150px !important;
    margin:0 !important;
    background:rgba(63,78,55,.78) !important;
    background-image:none !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .site-header .nav{
    height:150px !important;
    min-height:150px !important;
    background:transparent !important;
  }
  .home-hero,
  .about-hero,
  .agent-hero,
  .contact-hero,
  .properties-hero,
  .calc-hero{
    margin:0 !important;
    padding-top:0 !important;
    min-height:650px !important;
    height:650px !important;
    overflow:hidden !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
  .home-hero{
    background-image:
      linear-gradient(90deg,rgba(20,34,20,.52),rgba(20,34,20,.12)),
      url("../images/home-hero.webp") !important;
    background-position:center 38% !important;
  }
  .about-hero{
    background-position:center 42% !important;
  }
  .agent-hero{
    background-position:center 40% !important;
  }
  .properties-hero{
    background-position:center 48% !important;
  }
  .calc-hero{
    background-position:center 42% !important;
  }
  .home-hero-inner{
    min-height:650px !important;
    height:650px !important;
    padding:55px 0 !important;
    display:flex !important;
    align-items:center !important;
    background:transparent !important;
  }
  .contact-hero{
    position:relative !important;
    background:none !important;
  }
  .contact-hero-bg{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:35% center !important;
    z-index:0 !important;
    filter:none !important;
  }
  .contact-hero::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:rgba(0,0,0,.18) !important;
  }
  .contact-hero > *:not(.contact-hero-bg){
    position:relative !important;
    z-index:2 !important;
  }
  .hero-green-strip,
  .properties-hero-shade{
    display:none !important;
  }
  .home-hero::before,
  .home-hero::after,
  .about-hero::before,
  .about-hero::after,
  .agent-hero::before,
  .agent-hero::after,
  .properties-hero::before,
  .properties-hero::after,
  .calc-hero::before,
  .calc-hero::after{
    content:none !important;
    display:none !important;
  }
}
@media (max-width:760px){
  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:9999 !important;
  }
  .contact-hero-bg{
    display:block !important;
    object-fit:cover !important;
    object-position:35% center !important;
  }
}
body.main-hero-page{
  position:relative !important;
  isolation:isolate !important;
  background:#f4f3f2 !important;
}
body.main-hero-page::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:800px !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background-image:
    linear-gradient(rgba(20,32,18,.18),rgba(20,32,18,.18)),
    var(--main-hero-image) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
}
body.hero-home::before{background-position:center 42% !important;}
body.hero-about::before{background-position:center 45% !important;}
body.hero-agents::before{background-position:center 42% !important;}
body.hero-contact::before{background-position:35% center !important;}
body.hero-properties::before{background-position:center 48% !important;}
body.hero-calculator::before{background-position:center 45% !important;}
body.main-hero-page .site-header{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  height:150px !important;
  min-height:150px !important;
  margin:0 !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.main-hero-page .site-header .nav{
  height:150px !important;
  min-height:150px !important;
  background:transparent !important;
}
body.main-hero-page .site-header .nav-links a{
  text-shadow:0 2px 8px rgba(0,0,0,.75) !important;
}
body.main-hero-page main{
  position:relative !important;
  z-index:1 !important;
}
body.main-hero-page .home-hero,
body.main-hero-page .about-hero,
body.main-hero-page .agent-hero,
body.main-hero-page .contact-hero,
body.main-hero-page .properties-hero,
body.main-hero-page .calc-hero{
  height:650px !important;
  min-height:650px !important;
  margin:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border:0 !important;
}
body.main-hero-page .home-hero::before,
body.main-hero-page .home-hero::after,
body.main-hero-page .about-hero::before,
body.main-hero-page .about-hero::after,
body.main-hero-page .agent-hero::before,
body.main-hero-page .agent-hero::after,
body.main-hero-page .contact-hero::before,
body.main-hero-page .contact-hero::after,
body.main-hero-page .properties-hero::before,
body.main-hero-page .properties-hero::after,
body.main-hero-page .calc-hero::before,
body.main-hero-page .calc-hero::after{
  content:none !important;
  display:none !important;
}
body.main-hero-page .contact-hero-bg,
body.main-hero-page .properties-hero-shade{
  display:none !important;
}
body.main-hero-page .home-hero-inner{
  height:650px !important;
  min-height:650px !important;
  padding:40px 0 55px !important;
  background:transparent !important;
}
body.main-hero-page .about-green-strip,
body.main-hero-page .agent-green-strip,
body.main-hero-page .hero-green-strip{
  position:relative !important;
  z-index:2 !important;
}
@media(max-width:760px){
  body.main-hero-page::before{
    height:650px !important;
    background-position:center center !important;
  }
  body.main-hero-page .site-header,
  body.main-hero-page .site-header .nav{
    height:92px !important;
    min-height:92px !important;
  }
  body.main-hero-page .home-hero,
  body.main-hero-page .about-hero,
  body.main-hero-page .agent-hero,
  body.main-hero-page .contact-hero,
  body.main-hero-page .properties-hero,
  body.main-hero-page .calc-hero{
    height:558px !important;
    min-height:558px !important;
  }
  body.main-hero-page .home-hero-inner{
    height:558px !important;
    min-height:558px !important;
    padding:24px 0 35px !important;
  }
}
.live-footer-copy,
.site-footer-copy,
.footer-copy,
.copyright,
.footer-copyright{
    border-top:none !important;
    box-shadow:none !important;
}
:root{
  --shadow:8px 8px 24px rgba(0,0,0,.22) !important;
}
.description-box,
.agent-card,
.agent-photo,
.currency-box,
.carousel-main,
.viewer-close,
.viewer-prev,
.viewer-next,
.live-footer-disclaimer,
.rate-tools,
.calc-result,
.btn,
.galpic{
  box-shadow:8px 8px 24px rgba(0,0,0,.22) !important;
}
.live-footer-actions{display:flex!important;justify-content:center!important;gap:18px!important}


/* ==========================================================
   LISTING HEADER TRANSPARENCY
   Change only 0.80 below:
   1.00 = solid | 0.90 = slight | 0.80 = current | 0.70 = lighter
   ========================================================== */
.site-header {
  background: rgba(121, 152, 82, 0.30) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* ==========================================================
   MAIN MENU: SOLID BACKGROUND AFTER SCROLLING

   TO CHANGE THE SCROLLED HEADER TRANSPARENCY:
   Edit --scrolled-header-opacity below.

   1.00 = completely solid
   0.96 = recommended/current setting
   0.90 = slightly more transparent
   0.80 = noticeably transparent
   ========================================================== */
:root{
  --scrolled-header-opacity:0.96;
}

/* Transparent while the page is at the top of its hero image. */
body.main-hero-page .site-header{
  background:transparent !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
  transition:background-color .30s ease,
             box-shadow .30s ease,
             -webkit-backdrop-filter .30s ease,
             backdrop-filter .30s ease !important;
}

/* Becomes readable green once the visitor starts scrolling. */
body.main-hero-page .site-header.header-scrolled{
  background:rgba(121,152,82,var(--scrolled-header-opacity)) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  backdrop-filter:blur(10px) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.20) !important;
}



/* ==========================================================
   LISTING PRINT BROCHURE
   Controls the brochure produced by the Print button.
   ========================================================== */

.listing-print-brand{
  display:none;
}




/* ==========================================================
   PRINT ALL ADDITIONAL FEATURES
   Forces every Additional Features item to appear in brochures.
   ========================================================== */



/* ==========================================================
   PRINT PAGE-GAP REPAIR
   Prevents the Additional Features container from reserving a
   mostly blank page before the list continues on the next page.
   ========================================================== */



/* ==========================================================
   SHOW HOUSE DISPLAY
   Used above Featured Properties on Home and above area listings.
   ========================================================== */
.show-house-section{width:min(1120px,calc(100% - 36px));margin:34px auto 22px;background:#fff;border-radius:18px;padding:24px;box-shadow:0 14px 34px rgba(0,0,0,.12)}
.show-house-section[hidden]{display:none!important}.show-house-heading{text-align:center;margin-bottom:18px}.show-house-heading span{display:inline-block;background:#799852;color:#fff;padding:6px 13px;border-radius:999px;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.show-house-heading h2{margin:10px 0 0;color:#5d7740;text-transform:uppercase;letter-spacing:.04em}.show-house-list{display:grid;gap:14px}.show-house-card{display:grid;grid-template-columns:150px 1fr auto;gap:18px;align-items:center;border:1px solid #dfe6d7;border-left:7px solid #799852;border-radius:14px;padding:14px;background:#fafbf8}.show-house-card img{width:150px;height:100px;object-fit:cover;border-radius:10px}.show-house-card h3{margin:0 0 6px;color:#334328}.show-house-card p{margin:4px 0;line-height:1.45}.show-house-date{font-weight:950;color:#5d7740}.show-house-agents{font-weight:800}.show-house-agent-line{display:block}.show-house-card .btn{white-space:nowrap}.show-house-empty{margin:0;text-align:center;color:#687263}
@media(max-width:760px){.show-house-section{width:calc(100% - 24px);padding:17px}.show-house-card{grid-template-columns:1fr;text-align:center}.show-house-card img{width:100%;height:190px}.show-house-card .btn{justify-self:center}}

/* RC2 PROPERTY TOOLS */
.property-filter-panel{width:min(1120px,calc(100% - 36px));margin:28px auto;background:#fff;padding:24px;border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.12)}.property-filter-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.property-filter-heading h2{margin:3px 0 18px;color:#5d7740}.property-filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.property-filter-grid label{display:grid;gap:5px;font-weight:900}.property-filter-grid input,.property-filter-grid select{min-height:44px;padding:8px;border:1px solid #cbd8c3;border-radius:9px}.property-filter-check{display:flex!important;align-items:center!important;gap:8px}.property-filter-check input{min-height:auto;width:18px;height:18px}.property-compare-toggle{position:absolute;right:10px;top:10px;z-index:8;background:#fff;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:900;box-shadow:0 3px 12px rgba(0,0,0,.2)}.property-card{position:relative}.compare-hero{padding:70px 18px;text-align:center;background:#799852;color:#fff}.compare-hero h1{font-size:clamp(42px,8vw,80px);margin:0}.compare-shell{width:min(1200px,calc(100% - 36px));margin:30px auto}.compare-toolbar{display:flex;justify-content:space-between;margin-bottom:16px}.compare-table-wrap{overflow:auto;background:#fff;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.12)}.compare-table{border-collapse:collapse;width:100%;min-width:780px}.compare-table th,.compare-table td{border:1px solid #dfe6d7;padding:14px;text-align:center}.compare-table tbody th{text-align:left;background:#f4f7f1}.compare-table img{width:100%;height:150px;object-fit:cover}.listing-qr-card{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:10px;background:#fff;border:1px solid #dfe6d7;border-radius:12px}.listing-qr-card img{width:72px;height:72px}.listing-qr-card div{display:grid;text-align:left}.listing-qr-card span{font-size:12px;color:#687263}.print-listing-qr{display:none;margin-left:auto;text-align:center}.print-listing-qr img{width:28mm!important}.viewing-modal{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:18px}.viewing-modal[hidden]{display:none}.viewing-dialog{position:relative;width:min(700px,100%);max-height:90vh;overflow:auto;background:#fff;padding:28px;border-radius:18px}.viewing-close{position:absolute;right:12px;top:10px;border:0;border-radius:50%;width:40px;height:40px;background:#799852;color:#fff;font-size:26px}.viewing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.viewing-grid label{display:grid;gap:5px;font-weight:900}.viewing-grid input,.viewing-grid select,.viewing-grid textarea{padding:10px;border:1px solid #cbd8c3;border-radius:8px}.viewing-grid .span-2{grid-column:1/-1}.viewing-grid textarea{min-height:85px}@media(max-width:800px){.property-filter-grid{grid-template-columns:1fr 1fr}.viewing-grid{grid-template-columns:1fr}.viewing-grid .span-2{grid-column:auto}}@media(max-width:500px){.property-filter-grid{grid-template-columns:1fr}.property-filter-heading{align-items:flex-start;flex-direction:column}}


/* ==========================================================
   PRINT BROCHURE: COMPACT AGENT SECTION
   Keeps agents with the property details where space allows,
   instead of forcing a separate mostly blank page.
   ========================================================== */





/* ==========================================================
   COMPARE PAGE: EQUAL CARD SPACING
   Keeps images, headings, locations, prices and buttons aligned.
   Change the fixed heights below if more or less space is needed.
   ========================================================== */
.compare-table{
  table-layout:fixed !important;
}

.compare-table thead th{
  vertical-align:top !important;
}

.compare-table thead th:first-child{
  width:130px !important;
}

.compare-property-column{
  padding:14px !important;
}

.compare-property-head{
  display:grid !important;
  grid-template-rows:180px 116px 48px 38px 50px !important;
  align-items:center !important;
  height:100% !important;
  min-width:0 !important;
}

.compare-property-image{
  width:100% !important;
  height:180px !important;
  object-fit:cover !important;
  border-radius:0 !important;
  align-self:stretch !important;
}

.compare-property-title{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:116px !important;
  margin:0 !important;
  padding:10px 8px !important;
  overflow:hidden !important;
  font-size:clamp(18px,1.8vw,26px) !important;
  line-height:1.35 !important;
  text-align:center !important;
}

.compare-property-location{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:48px !important;
  margin:0 !important;
  padding:4px 8px !important;
  overflow:hidden !important;
  line-height:1.25 !important;
  text-align:center !important;
}

.compare-property-price{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:38px !important;
  margin:0 !important;
  font-size:20px !important;
  color:#111 !important;
}

.compare-property-button{
  align-self:center !important;
  justify-self:center !important;
  margin:0 !important;
  min-width:140px !important;
}

@media(max-width:900px){
  .compare-property-head{
    grid-template-rows:160px 110px 46px 36px 48px !important;
  }

  .compare-property-image{
    height:160px !important;
  }
}


/* ==========================================================
   PRINT BROCHURE: AGENTS BESIDE PRICE + QR ON FRONT PAGE
   ========================================================== */
.print-agent-summary{display:none}



/* ==========================================================
   FINAL PRINT BROCHURE AGENT FOOTER
   Agents print at the bottom with round photographs.
   Social media icons and enquiry buttons are omitted.
   ========================================================== */
.print-brochure-footer{display:none;}



/* ==========================================================
   PROPERTY MAP SEARCH
   ========================================================== */
.map-search-page{background:#90C944}.map-search-main{padding-top:130px}.map-search-heading{max-width:1500px;margin:0 auto;padding:38px 32px 24px;display:flex;align-items:end;justify-content:space-between;gap:24px}.map-search-heading span{color:#799852;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.map-search-heading h1{margin:.2rem 0;font-size:clamp(2rem,4vw,4.4rem);line-height:1}.map-search-heading p{max-width:760px}.map-view-switch{display:flex;gap:12px;flex-wrap:wrap}.map-search-shell{max-width:1500px;margin:0 auto 48px;padding:0 32px;display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px}.map-filter-panel{background:#fff;border-radius:20px;padding:24px;box-shadow:0 15px 42px rgba(22,35,18,.12)}.map-filter-panel h2{margin-top:0}.map-filter-panel label{display:block;font-weight:800;margin:0 0 14px}.map-filter-panel input,.map-filter-panel select{width:100%;margin-top:6px;padding:12px;border:1px solid #c8d3bd;border-radius:10px;background:#fff}.map-count{font-weight:900;color:#587638;margin-bottom:4px}.map-progress{font-size:.88rem;color:#66706a}.map-privacy-note{margin-top:22px;padding:15px;border-left:5px solid #799852;background:#f1f7eb;border-radius:8px}.map-privacy-note p{margin:.35rem 0 0;font-size:.88rem}.property-map{height:min(72vh,760px);min-height:560px;border-radius:20px;overflow:hidden;box-shadow:0 15px 42px rgba(22,35,18,.16);background:#dde7d8}.map-popup{display:grid;grid-template-columns:110px 1fr;gap:12px;min-width:280px}.map-popup img{width:110px;height:105px;object-fit:cover;border-radius:10px}.map-popup div{display:flex;flex-direction:column;gap:4px}.map-popup strong{font-size:1rem;line-height:1.15}.map-popup span,.map-popup small{color:#637066}.map-popup b{color:#587638}.map-popup a{display:inline-block;text-align:center;margin-top:4px;padding:8px 10px;border-radius:999px;background:#799852;color:#fff!important;font-weight:800;text-decoration:none}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(121,152,82,.32)}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#799852;color:#fff;font-weight:900}
@media(max-width:900px){.map-search-main{padding-top:100px}.map-search-heading{align-items:flex-start;flex-direction:column;padding:28px 18px 18px}.map-search-shell{grid-template-columns:1fr;padding:0 18px}.property-map{height:65vh;min-height:480px}.map-filter-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.map-filter-panel h2,.map-filter-panel .map-count,.map-filter-panel .map-progress,.map-filter-panel .map-privacy-note{grid-column:1/-1}.map-filter-panel label{margin:0}}@media(max-width:560px){.map-filter-panel{grid-template-columns:1fr}.map-filter-panel>*{grid-column:1!important}.property-map{min-height:430px}.map-popup{grid-template-columns:1fr;min-width:220px}.map-popup img{width:100%;height:120px}}

/* ==========================================================
   HEADER COLOUR ON SCROLL
   Light header at the top; Silver Tree green after scrolling.
   The header-scrolled class is applied by js/app.js.
   ========================================================== */
.site-header{
  background:rgba(218,225,209,.94) !important;
  background-image:none !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  transition:background-color .32s ease, box-shadow .32s ease !important;
}
.site-header.header-scrolled{
  background:#799852 !important;
  background-image:none !important;
  box-shadow:0 5px 18px rgba(0,0,0,.18) !important;
}
.site-header .nav-links a{
  transition:color .25s ease !important;
}
.site-header.header-scrolled .nav-links a{
  color:#fff !important;
}

/* Home page remains clear over its hero until the visitor scrolls. */
.home-page .site-header:not(.header-scrolled){
  background:transparent !important;
  box-shadow:none !important;
}
.home-page .site-header.header-scrolled{
  background:#799852 !important;
  box-shadow:0 5px 18px rgba(0,0,0,.18) !important;
}

@media(max-width:760px){
  .site-header{
    background:rgba(218,225,209,.97) !important;
  }
  .site-header.header-scrolled,
  .home-page .site-header.header-scrolled{
    background:#799852 !important;
  }
}

/* ==========================================================
   WEST RAND MAP HERO
   Local Little Falls image supplied by Silver Tree Estates.
   ========================================================== */
.map-search-main{padding-top:0 !important;}
.map-page-hero{
  position:relative;
  min-height:clamp(390px,54vw,590px);
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  text-align:center;
  background:url("../images/map-hero.webp") center 48% / cover no-repeat;
}
.map-page-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(20,35,17,.34) 0%,rgba(20,35,17,.24) 42%,rgba(20,35,17,.68) 100%);
}
.map-page-hero-content{
  width:min(980px,calc(100% - 42px));
  padding:145px 0 100px;
  text-shadow:0 3px 18px rgba(0,0,0,.52);
}
.map-page-hero-content>span{
  display:block;
  margin-bottom:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.map-page-hero-content h1{
  margin:0 auto 14px;
  max-width:950px;
  font-size:clamp(2.5rem,6.2vw,5.8rem);
  line-height:.95;
  letter-spacing:-.025em;
}
.map-page-hero-content p{
  margin:0 auto 10px;
  font-size:clamp(1.1rem,2.2vw,1.55rem);
  font-weight:700;
}
.map-page-hero-content small{
  display:block;
  max-width:830px;
  margin:auto;
  font-size:clamp(.9rem,1.5vw,1.05rem);
  line-height:1.5;
}
.map-hero-scroll{
  position:absolute;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  display:grid;
  justify-items:center;
  gap:1px;
  color:#fff !important;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  text-decoration:none;
}
.map-hero-scroll b{
  font-size:2rem;
  line-height:.65;
  animation:steMapArrow 1.8s ease-in-out infinite;
}
@keyframes steMapArrow{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
.map-search-heading h2{
  margin:.2rem 0;
  font-size:clamp(2rem,4vw,4.1rem);
  line-height:1;
}
#propertyMapSection{scroll-margin-top:120px;}

/* Let the hero sit beneath a clear navigation bar, then use STE green on scroll. */
.map-search-page .site-header:not(.header-scrolled){
  position:absolute !important;
  top:0;
  left:0;
  right:0;
  background:linear-gradient(180deg,rgba(22,38,18,.68),rgba(22,38,18,.18),transparent) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.map-search-page .site-header:not(.header-scrolled) .nav-links a{color:#fff !important;}

@media(max-width:900px){
  .map-page-hero{min-height:470px;background-position:44% center;}
  .map-page-hero-content{padding:125px 0 92px;}
  .map-search-heading{padding-top:34px;}
}
@media(max-width:560px){
  .map-page-hero{min-height:440px;background-position:42% center;}
  .map-page-hero-content{width:min(100% - 30px,720px);padding-top:112px;}
  .map-page-hero-content h1{font-size:clamp(2.25rem,12vw,3.7rem);}
  .map-page-hero-content small{font-size:.86rem;}
  .map-hero-scroll span{display:none;}
}


/* ==========================================================
   PROPERTY LISTING HEADER OVER HERO
   Clear over the first property image; STE green after scroll.
   ========================================================== */
body.listing-page .site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:9999 !important;
  background:linear-gradient(180deg,rgba(22,38,18,.58),rgba(22,38,18,.14),transparent) !important;
  background-color:transparent !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
body.listing-page .site-header .nav-links a{
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.72) !important;
}
body.listing-page .site-header.header-scrolled{
  background:#799852 !important;
  -webkit-backdrop-filter:blur(10px) !important;
  backdrop-filter:blur(10px) !important;
  box-shadow:0 5px 18px rgba(0,0,0,.20) !important;
}
body.listing-page .page-hero{
  margin-top:0 !important;
}
@media(max-width:760px){
  body.listing-page .site-header{
    background:linear-gradient(180deg,rgba(22,38,18,.65),rgba(22,38,18,.16),transparent) !important;
  }
  body.listing-page .site-header.header-scrolled{
    background:#799852 !important;
  }
}

/* ==========================================================
   PROPERTY MOBILE GALLERY PATCH - 24 JULY 2026
   Centres the main image and provides visible left/right controls.
   ========================================================== */
.gallery-inline-nav{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:8 !important;
  width:48px !important;
  height:66px !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.6) !important;
  border-radius:12px !important;
  background:rgba(121,152,82,.94) !important;
  color:#fff !important;
  font-size:32px !important;
  font-weight:900 !important;
  line-height:1 !important;
  place-items:center !important;
  cursor:pointer !important;
  box-shadow:0 8px 22px rgba(0,0,0,.28) !important;
  -webkit-tap-highlight-color:transparent !important;
}
.gallery-inline-prev{left:12px !important;}
.gallery-inline-next{right:12px !important;}
.gallery-inline-nav:active{transform:translateY(-50%) scale(.94) !important;}

@media(max-width:760px){
  .listing-showcase .carousel{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
  }
  .listing-showcase .carousel-main{
    width:min(100%,520px) !important;
    max-width:520px !important;
    margin:0 auto !important;
    position:relative !important;
  }
  .listing-showcase .carousel-main > img#mainImage{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:320px !important;
    max-height:72vh !important;
    object-fit:cover !important;
    object-position:center center !important;
    margin:0 auto !important;
  }
  .gallery-inline-nav{
    width:44px !important;
    height:58px !important;
    font-size:28px !important;
  }
  .gallery-inline-prev{left:8px !important;}
  .gallery-inline-next{right:8px !important;}

  /* Full-screen viewer arrows must remain available on phones too. */
  .image-viewer .viewer-prev,
  .image-viewer .viewer-next{
    display:grid !important;
    width:44px !important;
    height:62px !important;
    font-size:30px !important;
  }
  .image-viewer .viewer-prev{left:8px !important;}
  .image-viewer .viewer-next{right:8px !important;}
}


/* ==========================================================
   TEST-BUILD POLISH AND RESILIENCE - 24 JULY 2026
   Additive rules only. Device-specific layout rules remain isolated.
   ========================================================== */
.ste-test-banner{position:relative;z-index:10050;width:100%;box-sizing:border-box;padding:7px 14px;text-align:center;background:#20251d;color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.08em;line-height:1.35;}
body.mobile-menu-open{overflow:hidden;touch-action:none;}
.ste-loading-state{width:min(92%,520px);margin:18px auto;padding:18px 20px;border-radius:14px;background:linear-gradient(90deg,rgba(121,152,82,.10),rgba(255,255,255,.85),rgba(121,152,82,.10));background-size:220% 100%;animation:steLoadingSweep 1.5s linear infinite;color:#4f6636;text-align:center;font-weight:800;}
@keyframes steLoadingSweep{to{background-position:-220% 0;}}
.property-filter-result{margin:16px 0 0;font-weight:800;color:#4f6636;}
.property-filter-result.is-empty{padding:14px 16px;border-radius:12px;background:#fff4df;color:#714d16;}
.btn.is-disabled,[aria-disabled="true"].btn{opacity:.48;cursor:not-allowed;pointer-events:none;}
.calc-validation{min-height:1.4em;margin:12px 0 0;color:#8a3d1f;font-weight:800;}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #263b1c;outline-offset:3px;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}
@media(max-width:760px){.ste-test-banner{font-size:.68rem;padding:6px 10px;}.home-help-actions{display:grid!important;grid-template-columns:1fr!important;width:min(100%,340px)!important;margin-inline:auto!important;}.home-help-actions .btn{width:100%!important;box-sizing:border-box!important;}.map-view-switch{align-items:stretch!important;}.map-view-switch .btn{width:100%!important;box-sizing:border-box!important;text-align:center!important;}}
@media(min-width:761px) and (max-width:1024px){.home-help-actions .btn{min-width:190px!important;}}

/* ==========================================================
   FINAL MOBILE NAV VISIBILITY FIX - 24 JULY 2026
   This block MUST stay at the very end of style.css.
   ========================================================== */
@media (max-width:1024px){
  .site-header .nav{position:relative !important;}
  .site-header .nav-toggle{
    position:relative !important;
    z-index:1002 !important;
    touch-action:manipulation !important;
  }
  .site-header .nav-links{
    display:none !important;
    z-index:1001 !important;
  }
  .site-header .nav-links.open{
    display:flex !important;
  }
  .site-header .nav-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(7px) rotate(45deg) !important;
  }
  .site-header .nav-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0 !important;
  }
  .site-header .nav-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg) !important;
  }
}

/* ==========================================================
   TEST BANNER / HERO SEAM FIX - 24 JULY 2026
   The test banner adds height above the transparent hero stack.
   Extend the shared hero background by exactly that amount so no
   white strip can appear between the hero and its green action bar.
   ========================================================== */
:root{--ste-test-banner-height:0px;}
body.ste-test-build.main-hero-page::before{
  height:calc(800px + var(--ste-test-banner-height)) !important;
}
@media(max-width:760px){
  body.ste-test-build.main-hero-page::before{
    height:calc(650px + var(--ste-test-banner-height)) !important;
  }
}

/* ==========================================================
   MOBILE RESPONSIVE AUDIT PATCH - 27 JULY 2026
   Corrects seven phone issues reported from live device testing.
   ========================================================== */

/* Keep the fixed navigation below the test-site warning banner. */
body.ste-test-build .site-header{
  top:var(--ste-test-banner-height,0px) !important;
}

@media(max-width:760px){
  /* 1. Prevent test banner/logo overlap and retain a clean hero start. */
  body.ste-test-build .site-header{
    top:var(--ste-test-banner-height,0px) !important;
  }
  body.ste-test-build .nav-links{
    max-height:calc(100vh - 120px - var(--ste-test-banner-height,0px)) !important;
    overflow-y:auto !important;
  }

  /* 2. Calculator hero heading remains fully readable on narrow phones. */
  .hero-calculator .calc-hero h1,
  .calc-hero h1{
    width:min(100% - 34px,520px) !important;
    margin-inline:auto !important;
    font-size:clamp(2.45rem,12vw,4rem) !important;
    line-height:.94 !important;
    letter-spacing:-.035em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  /* 3. Area selector must never exceed the phone viewport. */
  .properties-area-select{
    padding-left:16px !important;
    padding-right:16px !important;
    overflow:hidden !important;
  }
  .properties-area-select select{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto 16px !important;
    padding:13px 38px 13px 14px !important;
    box-sizing:border-box !important;
    font-size:15px !important;
  }

  /* 4. Tighten listing action/QR spacing without crowding the buttons. */
  .listing-name{
    padding-bottom:10px !important;
  }
  .listing-name .help-actions{
    margin:10px auto 8px !important;
    gap:8px !important;
  }
  .listing-name .listing-qr-card{
    display:flex !important;
    width:100% !important;
    max-width:330px !important;
    margin:8px auto 0 !important;
    box-sizing:border-box !important;
  }

  /* 5. Home-page property teaser copy: justified with a centred last line. */
  .home-page .featured-card-body h3,
  .home-page .property-card-body h3,
  .home-page .featured-card-body p,
  .home-page .property-card-body p{
    text-align:justify !important;
    text-align-last:center !important;
    hyphens:auto !important;
  }

  /* 6. Reduce the visual gap between agent portrait and name. */
  .team-page .agent-photo,
  .team-page .agent-card-wrap > .agent-photo{
    margin-bottom:-50px !important;
  }
  .team-page .agent-card-wrap > .agent-card{
    padding-top:50px !important;
  }
  .team-page .agent-card h2{
    margin-top:0 !important;
  }

  /* 7. Agent biography: justified body with centred final line. */
  .team-page .agent-card .agent-bio,
  .team-page .agent-card p.agent-bio{
    text-align:justify !important;
    text-align-last:center !important;
    text-justify:inter-word !important;
    hyphens:auto !important;
    line-height:1.65 !important;
    word-spacing:normal !important;
  }

  /* Additional screenshot issue: page headings clear the sticky header. */
  .properties-page main,
  body.properties-page main{
    scroll-margin-top:110px !important;
  }
}

@media(max-width:390px){
  .hero-calculator .calc-hero h1,
  .calc-hero h1{
    font-size:clamp(2.25rem,11.5vw,3.35rem) !important;
  }
  .listing-name .help-actions .btn,
  .listing-name .help-actions button{
    padding-left:13px !important;
    padding-right:13px !important;
    font-size:12px !important;
  }
  .listing-name .listing-qr-card img{
    width:64px !important;
    height:64px !important;
  }
}

/* ==========================================================
   PHONE MENU + AGENT ROLE CONSISTENCY PATCH - 27 JULY 2026
   Keeps the home-page mobile menu identical to every other page
   and centres multi-line agent role text without stretched words.
   ========================================================== */
@media (max-width:760px){
  /* One consistent full-screen mobile navigation on every page. */
  .site-header .nav-links,
  .home-page .site-header .nav-links,
  body.main-hero-page .site-header .nav-links{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-height:none !important;
    margin:0 !important;
    padding:clamp(130px,22vh,185px) 28px 42px !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:0 !important;
    background:rgba(31,45,26,.58) !important;
    box-shadow:none !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:16px !important;
    overflow-y:auto !important;
    z-index:1001 !important;
  }
  .site-header .nav-links:not(.open),
  .home-page .site-header .nav-links:not(.open),
  body.main-hero-page .site-header .nav-links:not(.open){
    display:none !important;
  }
  .site-header .nav-links.open,
  .home-page .site-header .nav-links.open,
  body.main-hero-page .site-header .nav-links.open{
    display:flex !important;
  }
  .site-header .nav-links a,
  .home-page .site-header .nav-links a,
  body.main-hero-page .site-header .nav-links a{
    width:auto !important;
    min-width:170px !important;
    padding:10px 14px !important;
    color:#fff !important;
    text-align:center !important;
    text-shadow:0 2px 8px rgba(0,0,0,.75) !important;
  }
  .site-header .logo-link,
  .site-header .nav-toggle{
    position:relative !important;
    z-index:1003 !important;
  }

  /* Candidate / Property Practitioner and all other role lines. */
  .team-page .agent-role,
  .team-page .agent-qualifications{
    width:100% !important;
    max-width:280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    text-align-last:center !important;
    text-justify:auto !important;
    word-spacing:normal !important;
    letter-spacing:normal !important;
    hyphens:none !important;
  }
}

/* ==========================================================
   MOBILE AGENT ROLE ALIGNMENT CORRECTION - 27 JULY 2026
   Overrides the broader justified paragraph rule on agent cards.
   ========================================================== */
@media (max-width:760px){
  .team-page .agent-card p.agent-role,
  .team-page .agent-card .agent-role{
    display:block !important;
    width:100% !important;
    max-width:260px !important;
    margin:5px auto 12px !important;
    padding:0 8px !important;
    box-sizing:border-box !important;
    text-align:center !important;
    text-align-last:center !important;
    text-justify:auto !important;
    word-spacing:normal !important;
    letter-spacing:normal !important;
    line-height:1.45 !important;
    hyphens:none !important;
    overflow-wrap:normal !important;
  }
}

/* ==========================================================
   CLEAN SHARED HEADER SYSTEM - 27 JULY 2026
   One source of truth for desktop, tablet and mobile.
   Contact strip remains green. Navigation is transparent over
   hero images and becomes solid green after scrolling.
   ========================================================== */
:root{
  --ste-test-banner-height:0px;
  --ste-contact-height:58px;
  --ste-nav-height:104px;
  --ste-header-total:calc(var(--ste-contact-height) + var(--ste-nav-height));
  --ste-header-green:#4f762f;
  --ste-header-green-dark:#173d25;
  --ste-header-icon:#b9df76;
  --ste-header-white:#fff;
  --ste-header-ink:#10251a;
}

.ste-test-banner{
  position:relative;
  z-index:10050;
  width:100%;
  box-sizing:border-box;
  padding:7px 14px;
  text-align:center;
  background:#20251d;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.35;
}
body.ste-test-build{--ste-header-top:var(--ste-test-banner-height,32px)}
body:not(.ste-test-build){--ste-header-top:0px}
body.mobile-menu-open{overflow:hidden;touch-action:none}

/* Header shell */
body > header.site-header,
body > .site-header{
  position:sticky !important;
  top:var(--ste-header-top,0px) !important;
  z-index:9999 !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transition:background-color .25s ease,box-shadow .25s ease !important;
}
body.main-hero-page > header.site-header,
body.home-page > header.site-header{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
}
body.main-hero-page > header.site-header.header-scrolled,
body.home-page > header.site-header.header-scrolled,
body:not(.main-hero-page):not(.home-page) > header.site-header{
  box-shadow:0 8px 22px rgba(10,34,19,.18) !important;
}

/* Green contact strip, always visible */
body > header.site-header > .ste-header-actions{
  order:0 !important;
  width:100% !important;
  height:var(--ste-contact-height) !important;
  min-height:var(--ste-contact-height) !important;
  margin:0 !important;
  padding:6px clamp(22px,4vw,64px) !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  gap:clamp(22px,4vw,54px) !important;
  background:linear-gradient(90deg,#557b32,#466d2b) !important;
  color:#fff !important;
  border:0 !important;
}
body > header.site-header .ste-header-action{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  min-height:46px !important;
  padding:0 !important;
  background:transparent !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:clamp(14px,1.25vw,18px) !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
body > header.site-header .ste-action-icon{
  width:46px !important;
  height:46px !important;
  flex:0 0 46px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:var(--ste-header-icon) !important;
  color:#17351f !important;
  box-shadow:none !important;
  transition:transform .18s ease,background-color .18s ease !important;
}
body > header.site-header .ste-action-icon svg{
  width:25px !important;
  height:25px !important;
  display:block !important;
  fill:currentColor !important;
}
body > header.site-header .ste-header-action:hover .ste-action-icon,
body > header.site-header .ste-header-action:focus-visible .ste-action-icon{
  transform:translateY(-2px) !important;
  background:#c9ed88 !important;
}
body > header.site-header .ste-action-label{
  display:inline !important;
  color:#fff !important;
  font-weight:700 !important;
}
body > header.site-header .ste-header-viewing{
  margin-left:auto !important;
  min-height:44px !important;
  padding:10px 22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  border-radius:13px !important;
  background:var(--ste-header-green-dark) !important;
  color:#fff !important;
  font-size:clamp(13px,1.15vw,17px) !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
body > header.site-header .ste-header-viewing::before{
  content:"";
  width:20px;
  height:20px;
  flex:0 0 20px;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}

/* Navigation row */
body > header.site-header > nav.nav{
  order:1 !important;
  width:100% !important;
  max-width:none !important;
  height:var(--ste-nav-height) !important;
  min-height:var(--ste-nav-height) !important;
  margin:0 !important;
  padding:7px clamp(28px,3.5vw,62px) !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  background:transparent !important;
  border:0 !important;
  transition:background-color .25s ease,box-shadow .25s ease !important;
}
body.main-hero-page > header.site-header.header-scrolled > nav.nav,
body.home-page > header.site-header.header-scrolled > nav.nav,
body:not(.main-hero-page):not(.home-page) > header.site-header > nav.nav{
  background:rgba(79,118,47,.98) !important;
}
body > header.site-header .logo-link{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  position:relative !important;
  z-index:10003 !important;
}
body > header.site-header .logo-link img{
  display:block !important;
  width:auto !important;
  height:92px !important;
  max-width:min(390px,31vw) !important;
  max-height:92px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
body > header.site-header .nav-links{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:clamp(18px,2.2vw,38px) !important;
  margin-left:auto !important;
  background:transparent !important;
}
body > header.site-header .nav-links a{
  position:relative !important;
  padding:8px 0 !important;
  color:#fff !important;
  text-shadow:0 1px 6px rgba(0,0,0,.55) !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.045em !important;
}
body > header.site-header .nav-links a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:1px !important;
  height:2px !important;
  background:#fff !important;
  transform:scaleX(0) !important;
  transform-origin:center !important;
  transition:transform .18s ease !important;
}
body > header.site-header .nav-links a:hover::after,
body > header.site-header .nav-links a.active::after,
body > header.site-header .nav-links a[aria-current="page"]::after{
  transform:scaleX(1) !important;
}
body > header.site-header .nav-links a.active,
body > header.site-header .nav-links a[aria-current="page"]{
  font-weight:900 !important;
}
body > header.site-header .nav-toggle{
  display:none !important;
  position:relative !important;
  z-index:10004 !important;
  margin-left:auto !important;
  color:#fff !important;
  background:rgba(79,118,47,.88) !important;
  border:0 !important;
  border-radius:12px !important;
}
body > header.site-header .nav-toggle span{background:#fff !important}

/* Hero pages deliberately sit behind the transparent navigation row. */
body.main-hero-page::before{top:0 !important}
body.main-hero-page main,
body.home-page main{padding-top:0 !important}

/* Tablet */
@media (max-width:1100px){
  :root{--ste-contact-height:56px;--ste-nav-height:90px}
  body > header.site-header > .ste-header-actions{padding:5px 18px !important;gap:18px !important}
  body > header.site-header .ste-header-action{gap:8px !important;font-size:14px !important}
  body > header.site-header .ste-action-icon{width:40px !important;height:40px !important;flex-basis:40px !important}
  body > header.site-header .ste-action-icon svg{width:22px !important;height:22px !important}
  body > header.site-header .ste-header-viewing{min-height:40px !important;padding:9px 15px !important;font-size:12px !important}
  body > header.site-header > nav.nav{padding:6px 20px !important}
  body > header.site-header .logo-link img{height:78px !important;max-height:78px !important;max-width:min(300px,31vw) !important}
  body > header.site-header .nav-links{gap:18px !important}
  body > header.site-header .nav-links a{font-size:13px !important}
}

/* Mobile */
@media (max-width:760px){
  :root{--ste-contact-height:52px;--ste-nav-height:78px}
  body > header.site-header > .ste-header-actions{
    justify-content:center !important;
    gap:9px !important;
    padding:5px 8px !important;
  }
  body > header.site-header .ste-header-action{min-height:38px !important;gap:0 !important}
  body > header.site-header .ste-action-icon{width:38px !important;height:38px !important;flex:0 0 38px !important}
  body > header.site-header .ste-action-icon svg{width:21px !important;height:21px !important}
  body > header.site-header .ste-action-label{display:none !important}
  body > header.site-header .ste-header-viewing{
    margin-left:2px !important;
    min-height:38px !important;
    padding:8px 11px !important;
    border-radius:9px !important;
    font-size:10px !important;
  }
  body > header.site-header .ste-header-viewing::before{width:16px;height:16px;flex-basis:16px}
  body > header.site-header > nav.nav{padding:5px 14px !important}
  body > header.site-header .logo-link img{height:68px !important;max-height:68px !important;max-width:215px !important}
  body > header.site-header .nav-toggle{display:inline-flex !important}
  body > header.site-header .nav-links{
    display:none !important;
    position:fixed !important;
    inset:calc(var(--ste-header-top,0px) + var(--ste-header-total)) 0 0 0 !important;
    width:100vw !important;
    height:auto !important;
    margin:0 !important;
    padding:28px 24px 42px !important;
    box-sizing:border-box !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:14px !important;
    overflow-y:auto !important;
    background:rgba(31,45,26,.96) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
    z-index:10002 !important;
  }
  body > header.site-header .nav-links.open{display:flex !important}
  body > header.site-header .nav-links a{
    min-width:180px !important;
    padding:11px 14px !important;
    text-align:center !important;
    font-size:15px !important;
  }
  body > header.site-header .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg) !important}
  body > header.site-header .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0 !important}
  body > header.site-header .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg) !important}
}
@media (max-width:390px){
  body > header.site-header > .ste-header-actions{gap:6px !important;padding-inline:6px !important}
  body > header.site-header .ste-action-icon{width:34px !important;height:34px !important;flex-basis:34px !important}
  body > header.site-header .ste-header-viewing{padding:7px 8px !important;font-size:9px !important;gap:6px !important}
  body > header.site-header .logo-link img{height:62px !important;max-height:62px !important;max-width:190px !important}
}

/* Existing loading/fallback polish retained. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ste-skeleton-grid,.ste-property-skeleton{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%}
.ste-skeleton-card,.ste-property-skeleton span{display:block;min-height:290px;border-radius:18px;background:linear-gradient(100deg,rgba(121,152,82,.10) 20%,rgba(255,255,255,.72) 40%,rgba(121,152,82,.10) 60%);background-size:220% 100%;animation:ste-soft-shimmer 1.45s ease-in-out infinite}
.ste-skeleton-team .ste-skeleton-card{min-height:330px;border-radius:22px}
.ste-property-skeleton{padding:28px clamp(18px,4vw,52px)}
.ste-empty-state{width:100%;padding:30px;text-align:center;color:#5b6558}
@keyframes ste-soft-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.ste-skeleton-card,.ste-property-skeleton span{animation:none}}
@media (max-width:760px){.ste-skeleton-grid,.ste-property-skeleton{grid-template-columns:1fr}.ste-skeleton-grid .ste-skeleton-card:nth-child(n+2),.ste-property-skeleton span:nth-child(n+2){display:none}}

/* ==========================================================
   FIXED TEST-SITE NOTICE - 27 JULY 2026
   Keeps the staging warning permanently visible without moving
   with the page, and reserves matching space above the site.
   ========================================================== */
body.ste-test-build{
  padding-top:var(--ste-test-banner-height,32px) !important;
}
body.ste-test-build > .ste-test-banner{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  margin:0 !important;
  z-index:2147483000 !important;
  box-shadow:0 2px 7px rgba(0,0,0,.22) !important;
}
body.ste-test-build > header.site-header,
body.ste-test-build > .site-header{
  top:var(--ste-test-banner-height,32px) !important;
}
@media(max-width:760px){
  body.ste-test-build{
    padding-top:var(--ste-test-banner-height,44px) !important;
  }
  body.ste-test-build > header.site-header,
  body.ste-test-build > .site-header{
    top:var(--ste-test-banner-height,44px) !important;
  }
}

/* ==========================================================
   HEADER SPACING + AGENT BIO REFINEMENT - 27 JULY 2026
   Larger logo, navigation lifted closer to the contact bar,
   and phone biographies left-aligned for easier reading.
   ========================================================== */
@media (min-width:1101px){
  :root{--ste-nav-height:94px;}
  body > header.site-header > nav.nav{
    align-items:flex-start !important;
    padding-top:8px !important;
    padding-bottom:0 !important;
  }
  body > header.site-header .logo-link img{
    height:108px !important;
    max-height:108px !important;
    max-width:min(430px,34vw) !important;
  }
  body > header.site-header .nav-links{
    align-self:flex-start !important;
    margin-top:8px !important;
  }
}

@media (min-width:761px) and (max-width:1100px){
  :root{--ste-nav-height:84px;}
  body > header.site-header > nav.nav{
    align-items:flex-start !important;
    padding-top:6px !important;
    padding-bottom:0 !important;
  }
  body > header.site-header .logo-link img{
    height:88px !important;
    max-height:88px !important;
    max-width:min(330px,34vw) !important;
  }
  body > header.site-header .nav-links{
    align-self:flex-start !important;
    margin-top:7px !important;
  }
  .team-page .agent-card .agent-bio,
  .team-page .agent-card p.agent-bio{
    text-align:justify !important;
    text-justify:inter-word !important;
  }
}

@media (max-width:760px){
  body > header.site-header .logo-link img{
    height:74px !important;
    max-height:74px !important;
    max-width:230px !important;
  }
  .team-page .agent-card .agent-bio,
  .team-page .agent-card p.agent-bio,
  .agent-bio{
    text-align:left !important;
    text-justify:auto !important;
  }
}
@media (max-width:390px){
  body > header.site-header .logo-link img{
    height:68px !important;
    max-height:68px !important;
    max-width:205px !important;
  }
}

/* ==========================================================
   RC MOBILE AGENT CARD REFINEMENT — 2026-07-27
   Keep agent biography genuinely left aligned on phones,
   add breathing room before contact/social icons, and slightly
   reduce the icon scale for a calmer mobile layout.
   ========================================================== */
@media (max-width:760px){
  .team-page .agent-card{
    text-align:center !important;
  }

  .team-page .agent-card .agent-bio,
  .team-page .agent-card p.agent-bio{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    padding-left:18px !important;
    padding-right:18px !important;
    margin:0 0 32px !important;
    text-align:left !important;
    text-align-last:left !important;
    text-justify:auto !important;
    hyphens:none !important;
    line-height:1.65 !important;
  }

  .team-page .agent-card .agent-actions{
    width:100% !important;
    margin-top:14px !important;
    padding-bottom:8px !important;
    justify-content:center !important;
    column-gap:14px !important;
    row-gap:18px !important;
  }

  .team-page .agent-card .agent-actions a{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    min-height:56px !important;
  }

  .team-page .agent-card .agent-actions .ste-sprite{
    transform:scale(.90) !important;
    transform-origin:center !important;
  }
}

/* ==========================================================
   CONTACT SOCIAL ICON BAND FIX — 27 JULY 2026
   Keep the contact/social icons fully inside the white contact
   section instead of allowing the page background to show through.
   ========================================================== */
body.hero-contact .contact-page{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:44px 20px 56px !important;
  background:#fff !important;
}
body.hero-contact .contact-page > .contact-socials,
body.hero-contact .contact-page > .contact-grid{
  width:100% !important;
  max-width:1100px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.hero-contact .contact-page > .contact-socials{
  margin-top:0 !important;
  margin-bottom:38px !important;
}
@media(max-width:760px){
  body.hero-contact .contact-page{
    padding-top:34px !important;
  }
  body.hero-contact .contact-page > .contact-socials{
    margin-bottom:30px !important;
  }
}


/* Mobile contact icon sizing fix */
@media (max-width:768px){
  .contact-social img,
  .contact-social a img{
    width:48px !important;
    height:48px !important;
  }
  .contact-social{
    gap:12px !important;
  }
  .contact-social .facebook,
  .contact-social a.facebook{
    margin-top:-6px;
  }
  .agent-social img,
  .agent-social a img{
    width:56px !important;
    height:56px !important;
  }
}

/* ==========================================================
   FINAL SOCIAL ICON STANDARD — 27 JULY 2026
   Keep all five contact/social icons on one evenly spaced row
   on phones, and retain the original light-green icon artwork.
   ========================================================== */
@media (max-width:760px){
  /* Contact page: five compact icons on one line */
  body.hero-contact .contact-page > .contact-socials{
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:center !important;
    justify-content:space-evenly !important;
    gap:8px !important;
    width:min(100%, 330px) !important;
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.hero-contact .contact-page > .contact-socials > a{
    flex:0 0 48px !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    overflow:visible !important;
    margin:0 !important;
  }

  body.hero-contact .contact-page > .contact-socials .ste-sprite{
    transform:scale(.88) !important;
    transform-origin:center !important;
    filter:drop-shadow(1px 1px 1px #898989) !important;
  }

  /* Agent cards: five icons on one line, slightly larger */
  .team-page .agent-card .agent-actions{
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:center !important;
    justify-content:space-evenly !important;
    gap:8px !important;
    width:min(100%, 350px) !important;
    max-width:350px !important;
    margin:16px auto 0 !important;
    padding:0 8px 10px !important;
    box-sizing:border-box !important;
  }

  .team-page .agent-card .agent-actions > a{
    flex:0 0 56px !important;
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    min-height:56px !important;
    overflow:visible !important;
    margin:0 !important;
  }

  .team-page .agent-card .agent-actions .ste-sprite{
    transform:scale(1) !important;
    transform-origin:center !important;
    filter:drop-shadow(1px 1px 1px #898989) !important;
  }

  /* Always use the original light-green/default sprite cells. */
  .contact-socials .ste-facebook,
  .agent-actions .ste-facebook{background-position:-9px 0 !important;}
  .contact-socials .ste-instagram,
  .agent-actions .ste-instagram{background-position:-183px 0 !important;}
  .contact-socials .ste-whatsapp,
  .agent-actions .ste-whatsapp{background-position:-298px 0 !important;}
  .contact-socials .ste-email,
  .agent-actions .ste-email{background-position:-68px -107px !important;}
  .contact-socials .ste-phone,
  .agent-actions .ste-phone{background-position:-298px -107px !important;}

  /* Touch devices should not become stuck on the darker hover cells. */
  .contact-socials a:hover .ste-facebook,
  .contact-socials a:focus .ste-facebook,
  .agent-actions a:hover .ste-facebook,
  .agent-actions a:focus .ste-facebook{background-position:-9px 0 !important;}
  .contact-socials a:hover .ste-instagram,
  .contact-socials a:focus .ste-instagram,
  .agent-actions a:hover .ste-instagram,
  .agent-actions a:focus .ste-instagram{background-position:-183px 0 !important;}
  .contact-socials a:hover .ste-whatsapp,
  .contact-socials a:focus .ste-whatsapp,
  .agent-actions a:hover .ste-whatsapp,
  .agent-actions a:focus .ste-whatsapp{background-position:-298px 0 !important;}
  .contact-socials a:hover .ste-email,
  .contact-socials a:focus .ste-email,
  .agent-actions a:hover .ste-email,
  .agent-actions a:focus .ste-email{background-position:-68px -107px !important;}
  .contact-socials a:hover .ste-phone,
  .contact-socials a:focus .ste-phone,
  .agent-actions a:hover .ste-phone,
  .agent-actions a:focus .ste-phone{background-position:-298px -107px !important;}
}

@media (max-width:370px){
  body.hero-contact .contact-page > .contact-socials{
    gap:5px !important;
    max-width:310px !important;
  }
  .team-page .agent-card .agent-actions{
    gap:4px !important;
    max-width:330px !important;
    padding-left:2px !important;
    padding-right:2px !important;
  }
  .team-page .agent-card .agent-actions > a{
    flex-basis:52px !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    min-height:52px !important;
  }
  .team-page .agent-card .agent-actions .ste-sprite{
    transform:scale(.94) !important;
  }
}

/* ==========================================================
   MOBILE SOCIAL ROW CORRECTION — 27 JULY 2026
   Five original light-green icons, one compact centred row.
   This final rule deliberately overrides the earlier experiments.
   ========================================================== */
@media (max-width:760px){
  /* Agent contact row */
  .team-page .agent-card .agent-actions{
    display:grid !important;
    grid-template-columns:repeat(5, 46px) !important;
    justify-content:center !important;
    align-items:center !important;
    column-gap:8px !important;
    row-gap:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin:22px auto 0 !important;
    padding:0 12px 18px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  .team-page .agent-card .agent-actions > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  .team-page .agent-card .agent-actions .ste-sprite{
    transform:scale(.86) !important;
    transform-origin:center !important;
  }

  /* Contact page and every page's “Let's get in touch” footer row */
  body.hero-contact .contact-page > .contact-socials,
  .contact-footer .footer-socials,
  .footer-socials{
    display:grid !important;
    grid-template-columns:repeat(5, 44px) !important;
    justify-content:center !important;
    align-items:center !important;
    column-gap:8px !important;
    row-gap:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  body.hero-contact .contact-page > .contact-socials > a,
  .contact-footer .footer-socials > a,
  .footer-socials > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  body.hero-contact .contact-page > .contact-socials .ste-sprite,
  .contact-footer .footer-socials .ste-sprite,
  .footer-socials .ste-sprite{
    transform:scale(.80) !important;
    transform-origin:center !important;
  }

  /* Keep touch devices on the original light-green sprite cells. */
  .agent-actions .ste-facebook,.contact-socials .ste-facebook,.footer-socials .ste-facebook{background-position:-9px 0 !important;}
  .agent-actions .ste-instagram,.contact-socials .ste-instagram,.footer-socials .ste-instagram{background-position:-183px 0 !important;}
  .agent-actions .ste-whatsapp,.contact-socials .ste-whatsapp,.footer-socials .ste-whatsapp{background-position:-298px 0 !important;}
  .agent-actions .ste-email,.contact-socials .ste-email,.footer-socials .ste-email{background-position:-68px -107px !important;}
  .agent-actions .ste-phone,.contact-socials .ste-phone,.footer-socials .ste-phone{background-position:-298px -107px !important;}

  .agent-actions a:hover .ste-facebook,.agent-actions a:focus .ste-facebook,
  .contact-socials a:hover .ste-facebook,.contact-socials a:focus .ste-facebook,
  .footer-socials a:hover .ste-facebook,.footer-socials a:focus .ste-facebook{background-position:-9px 0 !important;}
  .agent-actions a:hover .ste-instagram,.agent-actions a:focus .ste-instagram,
  .contact-socials a:hover .ste-instagram,.contact-socials a:focus .ste-instagram,
  .footer-socials a:hover .ste-instagram,.footer-socials a:focus .ste-instagram{background-position:-183px 0 !important;}
  .agent-actions a:hover .ste-whatsapp,.agent-actions a:focus .ste-whatsapp,
  .contact-socials a:hover .ste-whatsapp,.contact-socials a:focus .ste-whatsapp,
  .footer-socials a:hover .ste-whatsapp,.footer-socials a:focus .ste-whatsapp{background-position:-298px 0 !important;}
  .agent-actions a:hover .ste-email,.agent-actions a:focus .ste-email,
  .contact-socials a:hover .ste-email,.contact-socials a:focus .ste-email,
  .footer-socials a:hover .ste-email,.footer-socials a:focus .ste-email{background-position:-68px -107px !important;}
  .agent-actions a:hover .ste-phone,.agent-actions a:focus .ste-phone,
  .contact-socials a:hover .ste-phone,.contact-socials a:focus .ste-phone,
  .footer-socials a:hover .ste-phone,.footer-socials a:focus .ste-phone{background-position:-298px -107px !important;}
}

@media (max-width:360px){
  .team-page .agent-card .agent-actions{
    grid-template-columns:repeat(5, 42px) !important;
    column-gap:5px !important;
  }
  .team-page .agent-card .agent-actions > a{
    width:42px !important;height:42px !important;min-width:42px !important;min-height:42px !important;
  }
  .team-page .agent-card .agent-actions .ste-sprite{transform:scale(.78) !important;}
  body.hero-contact .contact-page > .contact-socials,
  .contact-footer .footer-socials,
  .footer-socials{
    grid-template-columns:repeat(5, 40px) !important;
    column-gap:5px !important;
  }
  body.hero-contact .contact-page > .contact-socials > a,
  .contact-footer .footer-socials > a,
  .footer-socials > a{
    width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;
  }
  body.hero-contact .contact-page > .contact-socials .ste-sprite,
  .contact-footer .footer-socials .ste-sprite,
  .footer-socials .ste-sprite{transform:scale(.72) !important;}
}


/* ==========================================================
   FINAL MOBILE AGENT SOCIAL EDGE FIX — 27 JULY 2026
   Prevent first and last icons being clipped by the card edges.
   ========================================================== */
@media (max-width: 768px){
  .team-page .agent-card .agent-actions{
    display:grid !important;
    grid-template-columns:repeat(5, 46px) !important;
    justify-content:center !important;
    align-items:center !important;
    column-gap:8px !important;
    width:100% !important;
    max-width:310px !important;
    margin:30px auto 0 !important;
    padding:0 14px 8px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .team-page .agent-card .agent-actions > a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  .team-page .agent-card .agent-actions .ste-sprite{
    transform:scale(.82) !important;
    transform-origin:center center !important;
    flex:none !important;
  }
}

@media (max-width: 360px){
  .team-page .agent-card .agent-actions{
    grid-template-columns:repeat(5, 43px) !important;
    column-gap:6px !important;
    max-width:285px !important;
    padding-inline:12px !important;
  }

  .team-page .agent-card .agent-actions > a{
    width:43px !important;
    height:43px !important;
    min-width:43px !important;
    min-height:43px !important;
  }

  .team-page .agent-card .agent-actions .ste-sprite{
    transform:scale(.76) !important;
  }
}

/* ==========================================================
   FINAL SOCIAL SPRITE CLEANUP — 27 JULY 2026
   Removes the CSS-created dark halo, preserves the original
   light sprite cells, and keeps all five icons on one row.
   ========================================================== */
.ste-sprite,
.socials .ste-sprite,
.contact-socials .ste-sprite,
.agent-socials .ste-sprite,
.agent-actions .ste-sprite,
.footer-socials .ste-sprite,
.live-footer-actions .ste-sprite{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  background-color:transparent !important;
}

.socials a,
.contact-socials a,
.agent-socials a,
.agent-actions a,
.footer-socials a,
.live-footer-actions a:has(.ste-sprite){
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

@media (max-width:760px){
  .team-page .agent-card .agent-actions,
  body.hero-contact .contact-page > .contact-socials,
  .contact-footer .footer-socials,
  .footer-socials{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    align-items:center !important;
    justify-items:center !important;
    gap:8px !important;
    width:min(100%, 320px) !important;
    max-width:320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .team-page .agent-card .agent-actions > a,
  body.hero-contact .contact-page > .contact-socials > a,
  .contact-footer .footer-socials > a,
  .footer-socials > a{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    padding:0 !important;
    margin:0 !important;
    overflow:visible !important;
  }

  .team-page .agent-card .agent-actions .ste-sprite{
    transform:scale(.82) !important;
    transform-origin:center !important;
  }
  body.hero-contact .contact-page > .contact-socials .ste-sprite,
  .contact-footer .footer-socials .ste-sprite,
  .footer-socials .ste-sprite{
    transform:scale(.78) !important;
    transform-origin:center !important;
  }

  .agent-actions .ste-facebook,.contact-socials .ste-facebook,.footer-socials .ste-facebook{background-position:-9px 0 !important;}
  .agent-actions .ste-instagram,.contact-socials .ste-instagram,.footer-socials .ste-instagram{background-position:-183px 0 !important;}
  .agent-actions .ste-whatsapp,.contact-socials .ste-whatsapp,.footer-socials .ste-whatsapp{background-position:-298px 0 !important;}
  .agent-actions .ste-email,.contact-socials .ste-email,.footer-socials .ste-email{background-position:-68px -107px !important;}
  .agent-actions .ste-phone,.contact-socials .ste-phone,.footer-socials .ste-phone{background-position:-298px -107px !important;}

  .agent-actions a:hover .ste-facebook,.agent-actions a:focus .ste-facebook,
  .contact-socials a:hover .ste-facebook,.contact-socials a:focus .ste-facebook,
  .footer-socials a:hover .ste-facebook,.footer-socials a:focus .ste-facebook{background-position:-9px 0 !important;}
  .agent-actions a:hover .ste-instagram,.agent-actions a:focus .ste-instagram,
  .contact-socials a:hover .ste-instagram,.contact-socials a:focus .ste-instagram,
  .footer-socials a:hover .ste-instagram,.footer-socials a:focus .ste-instagram{background-position:-183px 0 !important;}
  .agent-actions a:hover .ste-whatsapp,.agent-actions a:focus .ste-whatsapp,
  .contact-socials a:hover .ste-whatsapp,.contact-socials a:focus .ste-whatsapp,
  .footer-socials a:hover .ste-whatsapp,.footer-socials a:focus .ste-whatsapp{background-position:-298px 0 !important;}
  .agent-actions a:hover .ste-email,.agent-actions a:focus .ste-email,
  .contact-socials a:hover .ste-email,.contact-socials a:focus .ste-email,
  .footer-socials a:hover .ste-email,.footer-socials a:focus .ste-email{background-position:-68px -107px !important;}
  .agent-actions a:hover .ste-phone,.agent-actions a:focus .ste-phone,
  .contact-socials a:hover .ste-phone,.contact-socials a:focus .ste-phone,
  .footer-socials a:hover .ste-phone,.footer-socials a:focus .ste-phone{background-position:-298px -107px !important;}
}

@media (max-width:360px){
  .team-page .agent-card .agent-actions,
  body.hero-contact .contact-page > .contact-socials,
  .contact-footer .footer-socials,
  .footer-socials{
    width:min(100%, 292px) !important;
    max-width:292px !important;
    gap:5px !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .team-page .agent-card .agent-actions > a,
  body.hero-contact .contact-page > .contact-socials > a,
  .contact-footer .footer-socials > a,
  .footer-socials > a{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
  }
}

/* ==========================================================
   RESPONSIVE NAV BREAKPOINT FIX - 28 JULY 2026
   Switch to the hamburger before the desktop navigation becomes
   cramped when a browser window is narrowed on a desktop screen.
   Keep this block at the very end of style.css.
   ========================================================== */
@media (max-width:1024px){
  body > header.site-header .nav-toggle{
    display:inline-flex !important;
  }
  body > header.site-header .nav-links{
    display:none !important;
    position:fixed !important;
    inset:calc(var(--ste-header-top,0px) + var(--ste-header-total)) 0 0 0 !important;
    width:100vw !important;
    height:auto !important;
    margin:0 !important;
    padding:28px 24px 42px !important;
    box-sizing:border-box !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:14px !important;
    overflow-y:auto !important;
    background:rgba(31,45,26,.96) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
    z-index:10002 !important;
  }
  body > header.site-header .nav-links.open{
    display:flex !important;
  }
  body > header.site-header .nav-links a{
    min-width:180px !important;
    padding:11px 14px !important;
    text-align:center !important;
    font-size:15px !important;
  }
}

/* ==========================================================
   HEADER BALANCE + ANDROID AGENT SPACING - 28 JULY 2026
   Keeps the existing logo size, centres it vertically in a
   slimmer desktop navigation belt, and gives phone agent names
   more breathing room below the portrait.
   ========================================================== */
@media (min-width:1101px){
  :root{
    --ste-nav-height:116px;
  }
  body > header.site-header > nav.nav{
    height:var(--ste-nav-height) !important;
    min-height:var(--ste-nav-height) !important;
    align-items:center !important;
    padding-top:4px !important;
    padding-bottom:4px !important;
  }
  body > header.site-header .nav-links{
    align-self:center !important;
    margin-top:0 !important;
  }
}

@media (max-width:760px){
  .team-page .agent-card-wrap > .agent-card{
    padding-top:76px !important;
  }
  .team-page .agent-card h2{
    margin-top:0 !important;
  }
}


/* RC3 sold-property presentation */
.sold-property-panel{max-width:980px;margin:24px auto;padding:28px;border-radius:18px;background:#eef5e7;text-align:center;border:1px solid rgba(121,152,82,.3)}
.sold-property-panel h2{margin:0 0 8px;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:.08em;color:#5f7d3f}
.ste-property-sold #statusBadge{background:#5f7d3f;color:#fff}

/* ==========================================================
   31 JULY 2026: SIMPLIFIED HEADER AND DELAYED SCROLL COLOUR
   The old contact action strip is retired. The navigation becomes
   green only after the page's green separator strip has passed.
   25% transparency = 75% opacity.
   ========================================================== */
:root{
  --ste-contact-height:0px !important;
  --ste-header-total:var(--ste-nav-height) !important;
}
body > header.site-header > .ste-header-actions{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
body > header.site-header > nav.nav,
body.main-hero-page > header.site-header > nav.nav,
body.home-page > header.site-header > nav.nav,
body:not(.main-hero-page):not(.home-page) > header.site-header > nav.nav{
  background:transparent !important;
  box-shadow:none !important;
}
body > header.site-header.header-scrolled > nav.nav,
body.main-hero-page > header.site-header.header-scrolled > nav.nav,
body.home-page > header.site-header.header-scrolled > nav.nav,
body:not(.main-hero-page):not(.home-page) > header.site-header.header-scrolled > nav.nav{
  background:rgba(79,118,47,.75) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  backdrop-filter:blur(8px) !important;
  box-shadow:0 8px 22px rgba(10,34,19,.16) !important;
}
.site-header.header-scrolled,
.home-page .site-header.header-scrolled,
body.main-hero-page .site-header.header-scrolled{
  background:transparent !important;
  box-shadow:none !important;
}
@media(max-width:760px){
  :root{--ste-contact-height:0px !important;--ste-header-total:var(--ste-nav-height) !important}
  body > header.site-header.header-scrolled > nav.nav{background:rgba(79,118,47,.75) !important}
}

/* ==========================================================
   PROPERTIES: FLOATING COMPARE PROMPT
   Appears as soon as two or more properties are selected.
   ========================================================== */
.floating-compare-prompt{
  position:fixed;
  left:50%;
  bottom:max(18px,env(safe-area-inset-bottom));
  z-index:10050;
  width:min(760px,calc(100% - 28px));
  transform:translate(-50%,24px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:18px;
  background:rgba(74,112,43,.96);
  color:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.floating-compare-prompt[hidden]{display:none!important}
.floating-compare-prompt.is-visible{
  opacity:1;
  transform:translate(-50%,0);
  pointer-events:auto;
}
.floating-compare-copy{display:grid;gap:2px;min-width:0}
.floating-compare-copy strong{font-size:18px;line-height:1.15}
.floating-compare-copy span{font-size:13px;color:rgba(255,255,255,.86)}
.floating-compare-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.floating-compare-actions .btn{margin:0;white-space:nowrap;background:#fff;color:#35551f;border-color:#fff}
.floating-compare-actions .btn.outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.floating-compare-actions .btn:hover{transform:translateY(-1px)}
@media(max-width:680px){
  .floating-compare-prompt{align-items:stretch;flex-direction:column;gap:12px;padding:15px}
  .floating-compare-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .floating-compare-actions .btn{min-width:0;padding-left:10px;padding-right:10px;text-align:center}
}
@media(max-width:430px){
  .floating-compare-actions{grid-template-columns:1fr}
}

/* ==========================================================
   PRINT BROCHURE REDESIGN — 04 AUGUST 2026
   Two-page client brochure: strong cover + useful detail page.
   ========================================================== */
.print-social-summary{display:none;}



/* ==========================================================
   PRINT PAGE-TWO HEADER FIX — 04 AUGUST 2026
   Never print the fixed test-site warning. Its fixed positioning
   was repeating over page 2 and covering the first feature rows.
   ========================================================== */


/* ==========================================================
   PRINT BROCHURE FINAL LAYOUT — reference approved 04 AUG 2026
   ========================================================== */
.print-key-facts,.print-icon-summary,.print-page2-header{display:none;}


/* ==========================================================
   STE EXACT TWO-PAGE PROPERTY BROCHURE - 2026-08-05
   The print button always uses this dedicated, fixed brochure
   shell so property-page layout changes cannot alter the print.
   ========================================================== */
.ste-print-brochure{display:none;}






/* =====================================================================
   2026-08-05 ABOUT + CALCULATOR HERO CONTAINMENT FIX
   Keep each page hero image inside its hero.  The previous shared
   body::before treatment allowed the image to continue underneath the
   content below the green strip and pushed/cropped the large hero title.
   ===================================================================== */
body.hero-about::before,
body.hero-calculator::before{
  content:none !important;
  display:none !important;
}

body.hero-about .site-header,
body.hero-calculator .site-header{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  height:150px !important;
  min-height:150px !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

body.hero-about .about-hero,
body.hero-calculator .calc-hero{
  box-sizing:border-box !important;
  position:relative !important;
  margin-top:-150px !important;
  padding-top:150px !important;
  height:650px !important;
  min-height:650px !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  box-shadow:none !important;
  border:0 !important;
}

body.hero-about .about-hero{
  background-image:
    linear-gradient(rgba(20,35,20,.28),rgba(20,35,20,.28)),
    url('../images/about.webp') !important;
  background-position:center 45% !important;
}

body.hero-calculator .calc-hero{
  background-image:
    linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),
    url('../images/calc.webp') !important;
  background-position:center 45% !important;
}

body.hero-about .about-hero h1,
body.hero-calculator .calc-hero h1{
  position:relative !important;
  z-index:2 !important;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  text-transform:uppercase !important;
  font-size:clamp(72px,10vw,145px) !important;
  line-height:.84 !important;
  letter-spacing:.02em !important;
  font-weight:900 !important;
  text-shadow:0 8px 25px rgba(0,0,0,.35) !important;
  transform:none !important;
}

body.hero-about .about-green-strip,
body.hero-calculator .about-green-strip{
  position:relative !important;
  z-index:2 !important;
  height:44px !important;
  margin:0 !important;
  background:#8ac43f !important;
  box-shadow:none !important;
}

body.hero-about .about-intro,
body.hero-calculator .calculator-shell{
  position:relative !important;
  z-index:2 !important;
}

@media (max-width:760px){
  body.hero-about .site-header,
  body.hero-calculator .site-header{
    height:92px !important;
    min-height:92px !important;
  }
  body.hero-about .about-hero,
  body.hero-calculator .calc-hero{
    margin-top:-92px !important;
    padding-top:92px !important;
    height:500px !important;
    min-height:500px !important;
  }
  body.hero-about .about-hero h1,
  body.hero-calculator .calc-hero h1{
    font-size:clamp(58px,15vw,92px) !important;
  }
}


/* =====================================================================
   2026-08-05 AUDIT + HERO CONSISTENCY + HOME BRAND TYPOGRAPHY
   ===================================================================== */
/* About and Calculator must finish at exactly the same visual depth as
   Agents and Contact: 150px overlaid navigation + 650px hero = 800px. */
body.hero-about .about-hero,
body.hero-calculator .calc-hero{
  height:800px !important;
  min-height:800px !important;
}
@media (max-width:760px){
  body.hero-about .about-hero,
  body.hero-calculator .calc-hero{
    height:650px !important;
    min-height:650px !important;
  }
}

/* Ashlea home-title typography */
.home-brand-lockup h1{
  font-family:"Playfair Display SC", Georgia, serif !important;
  font-weight:700 !important;
  letter-spacing:.075em !important;
  line-height:.82 !important;
}
.home-brand-lockup p{
  font-family:"Oswald", Arial, sans-serif !important;
  font-weight:500 !important;
  letter-spacing:.12em !important;
}

.footer-legal-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.25)}
.footer-legal-links a{text-decoration:underline;text-underline-offset:3px}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0 6px;line-height:1.45;font-size:.9rem;color:#394437}
.contact-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:#799852}
.contact-consent a{text-decoration:underline;color:#5d7740;font-weight:700}
.consent-error{display:none;color:#a12626;font-size:.85rem;margin:0 0 10px}
.form-status.is-working{color:#5d7740}.form-status.is-success{color:#2f6a2b}.form-status.is-error{color:#a12626}

.legal-page{background:#f4f3f2;min-height:60vh}.legal-hero{background:#799852;color:#fff;text-align:center;padding:64px 20px 48px}.legal-hero h1{margin:0 0 12px;font-size:clamp(36px,6vw,70px);text-transform:uppercase}.legal-hero p{max-width:760px;margin:auto;line-height:1.6}.legal-section{width:min(900px,calc(100% - 36px));margin:28px auto;background:#fff;padding:26px 30px;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.08)}.legal-section h2{color:#5d7740;margin-top:0}.legal-section p{line-height:1.7}.legal-section a{color:#5d7740;text-decoration:underline}

/* 2026-08-05: Home slogan spans the full width of the ESTATES line */
.home-brand-lockup{
  width:max-content !important;
  max-width:92vw !important;
}
.home-brand-lockup p{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  font-size:33px !important;
  letter-spacing:.12em !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
  text-align:center !important;
  margin-top:18px !important;
}
@media (max-width:760px){
  .home-brand-lockup p{
    font-size:clamp(18px,5.6vw,31px) !important;
    letter-spacing:.11em !important;
  }
}


/* 2026-08-05: Foreign Exchange Chinese Yuan label */
.currency-row span small{font-size:.72em;opacity:.72;font-weight:500;margin-left:.35em;}


/* 2026-08-06: On Show badges. Featured/status and On Show may appear together. */
.property-card-badges{
  position:absolute;
  top:10px;
  left:10px;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.property-card-badges .property-card-badge{
  position:static !important;
  top:auto !important;
  left:auto !important;
}
.property-card-badge.on-show,
.badge.on-show-property{
  background:#f28c28 !important;
  color:#fff !important;
}
#onShowBadge{
  top:42px !important;
  left:9px !important;
  max-width:min(520px,calc(100% - 18px));
  white-space:nowrap;
}
@media(max-width:700px){
  #onShowBadge{top:38px !important;}
}


/* ==========================================================
   404 PAGE
   ========================================================== */
.ste-404-main{background:#f8f7f2;min-height:62vh;display:flex;align-items:center;padding:48px 20px 56px;}
  .ste-404-wrap{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:38px;align-items:center;}
  .ste-404-copy{text-align:left;}
  .ste-404-code{margin:0;color:#799852;font-size:clamp(92px,13vw,190px);font-weight:800;line-height:.82;letter-spacing:-.05em;}
  .ste-404-copy h1{margin:22px 0 14px;color:#47662d;font-size:clamp(30px,4vw,50px);line-height:1.08;}
  .ste-404-copy p{font-size:18px;line-height:1.6;margin:8px 0;color:#30352d;}
  .ste-404-back{margin-top:26px;display:inline-flex;align-items:center;gap:10px;border:0;border-radius:12px;background:#799852;color:white;padding:14px 30px;font:700 18px/1 inherit;cursor:pointer;box-shadow:0 7px 18px rgba(65,91,43,.18);}
  .ste-404-back:hover,.ste-404-back:focus{background:#6c8e49;transform:translateY(-1px);}
  .ste-404-art{text-align:center;}
  .ste-404-art img{display:block;width:100%;max-width:660px;margin:0 auto;border-radius:18px;mix-blend-mode:multiply;}
  @media(max-width:800px){.ste-404-main{padding-top:28px}.ste-404-wrap{grid-template-columns:1fr;text-align:center;gap:18px}.ste-404-copy{text-align:center}.ste-404-art{order:-1}.ste-404-art img{max-width:470px}.ste-404-code{font-size:92px}.ste-404-copy h1{margin-top:12px}}

/* ==========================================================
   PUBLIC INTERACTION RESTORE — 12 AUGUST 2026
   Restores hover behaviour lost during the public/internal CSS split.
   ========================================================== */

/* Home "How can we help?" buttons: keep the white resting state,
   then visibly change colour and lift on hover/focus. */
.home-help-actions .btn{
  transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease !important;
}
.home-help-actions .btn:hover,
.home-help-actions .btn:focus-visible{
  background:#5d7740 !important;
  color:#fff !important;
  transform:translateY(-3px) !important;
  box-shadow:0 8px 16px rgba(0,0,0,.18) !important;
}

/* Footer legal links are clean at rest; underline only the link being used. */
.footer-legal-links a{
  text-decoration:none !important;
  text-underline-offset:3px !important;
}
.footer-legal-links a:hover,
.footer-legal-links a:focus-visible{
  text-decoration:underline !important;
}

/* Agent-page social controls should behave like the footer sprites:
   no positional nudge, only switch to the hover cell of the sprite. */
.team-page .agent-card .agent-actions a,
.team-page .agent-card .agent-actions a:hover,
.team-page .agent-card .agent-actions a:focus-visible{
  transform:none !important;
}
.team-page .agent-card .agent-actions .ste-sprite{
  transition:none !important;
}
.team-page .agent-card .agent-actions a:hover .ste-facebook,
.team-page .agent-card .agent-actions a:focus-visible .ste-facebook{background-position:-9px -53px !important;}
.team-page .agent-card .agent-actions a:hover .ste-instagram,
.team-page .agent-card .agent-actions a:focus-visible .ste-instagram{background-position:-183px -53px !important;}
.team-page .agent-card .agent-actions a:hover .ste-whatsapp,
.team-page .agent-card .agent-actions a:focus-visible .ste-whatsapp{background-position:-298px -53px !important;}
.team-page .agent-card .agent-actions a:hover .ste-email,
.team-page .agent-card .agent-actions a:focus-visible .ste-email{background-position:-68px -162px !important;}
.team-page .agent-card .agent-actions a:hover .ste-phone,
.team-page .agent-card .agent-actions a:focus-visible .ste-phone{background-position:-298px -162px !important;}

/* 2026-08-12: PPRA footer link matches footer legal-link hover behaviour. */
.live-footer-disclaimer p a{
  text-decoration:none !important;
  text-underline-offset:3px !important;
}
.live-footer-disclaimer p a:hover,
.live-footer-disclaimer p a:focus-visible{
  text-decoration:underline !important;
}

/* 2026-08-12: Calculator action buttons use one consistent green treatment. */
body.hero-calculator #emailEstimate,
body.hero-calculator #printEstimate,
body.hero-calculator #resetEstimate,
body.hero-calculator #refreshFxBtn{
  background:var(--green) !important;
  color:#fff !important;
  border:2px solid var(--green) !important;
  transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease !important;
}
body.hero-calculator #emailEstimate:hover,
body.hero-calculator #emailEstimate:focus-visible,
body.hero-calculator #printEstimate:hover,
body.hero-calculator #printEstimate:focus-visible,
body.hero-calculator #resetEstimate:hover,
body.hero-calculator #resetEstimate:focus-visible,
body.hero-calculator #refreshFxBtn:hover,
body.hero-calculator #refreshFxBtn:focus-visible{
  background:var(--green-dark) !important;
  color:#fff !important;
  border-color:var(--green-dark) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 8px 16px rgba(0,0,0,.18) !important;
}


/* 2026-08-12: FX Refresh button consistent on calculator and every property listing. */
#refreshFxBtn{
  background:var(--green) !important;
  color:#fff !important;
  border:2px solid var(--green) !important;
  transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease !important;
}
#refreshFxBtn:hover,
#refreshFxBtn:focus-visible{
  background:var(--green-dark) !important;
  color:#fff !important;
  border-color:var(--green-dark) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 8px 16px rgba(0,0,0,.18) !important;
}
#refreshFxBtn .fx-refresh-icon{
  display:inline-block;
  font-size:1.45em;
  line-height:.7;
  font-weight:800;
  vertical-align:-0.08em;
  margin-right:.18em;
}

/* ==========================================================
   PUBLIC BUTTON CONSISTENCY — 12 AUGUST 2026
   Keep public action buttons in the same STE green family.
   Home/footer white buttons and the floating compare bar retain
   their deliberately different treatments.
   ========================================================== */
.hero-properties .property-filter-panel .btn.outline,
.listing-page .listing-showcase .btn.outline,
.listing-page .listing-calculator-shell .btn.outline,
.map-search-page .map-search-shell .btn.outline,
.compare-shell .btn.outline{
  background:var(--green) !important;
  color:#fff !important;
  border:2px solid var(--green) !important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease !important;
}
.hero-properties .property-filter-panel .btn.outline:hover,
.hero-properties .property-filter-panel .btn.outline:focus-visible,
.listing-page .listing-showcase .btn.outline:hover,
.listing-page .listing-showcase .btn.outline:focus-visible,
.listing-page .listing-calculator-shell .btn.outline:hover,
.listing-page .listing-calculator-shell .btn.outline:focus-visible,
.map-search-page .map-search-shell .btn.outline:hover,
.map-search-page .map-search-shell .btn.outline:focus-visible,
.compare-shell .btn.outline:hover,
.compare-shell .btn.outline:focus-visible{
  background:var(--green-dark) !important;
  color:#fff !important;
  border-color:var(--green-dark) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 8px 16px rgba(0,0,0,.18) !important;
}

/* Additional Features uses a summary element rather than .btn, so give
   its Read More / Show Less pill the same colour-change interaction. */
.additional-features-action{
  transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease !important;
}
.additional-features-toggle > summary:hover .additional-features-action,
.additional-features-toggle > summary:focus-visible .additional-features-action{
  background:var(--green-dark) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 5px 10px rgba(0,0,0,.15) !important;
}

/* ==========================================================
   COMPARE PAGE: COMPACT MARKETING HEADER
   Keeps longer listing headlines readable without dominating
   the comparison card.
   ========================================================== */
.compare-property-title{
  font-size:clamp(15px,1.35vw,20px) !important;
  line-height:1.28 !important;
  padding:8px 12px !important;
}

/* ==========================================================
   BUYER COST SUMMARY: CONSISTENT BASELINE ALIGNMENT
   Keeps all bold results bottom-aligned. Currency values stay
   on one line (e.g. R 87 010), while cash-status wording may wrap.
   ========================================================== */
.summary-grid article{
  display:flex;
  flex-direction:column;
}
.summary-grid strong{
  display:block;
  margin-top:auto;
  line-height:1.35;
}
.summary-grid strong.is-money{
  white-space:nowrap;
}

/* 2026-08-12 HOME HERO FRAMING
   Hero-only adjustment: preserve all existing navigation/buttons/content.
   Taller desktop frame and higher focal point show more of the family image. */
@media (min-width:761px){
  .home-hero{
    min-height:850px !important;
    background-image:linear-gradient(90deg,rgba(22,38,22,.58),rgba(22,38,22,.18)),url("../images/home-hero.webp") !important;
    background-size:cover !important;
    background-position:center 34% !important;
  }
  .home-hero-inner{
    min-height:850px !important;
    padding-top:165px !important;
  }
}

/* 2026-08-12 HOME HERO VISIBLE-AREA FIX
   The homepage hero image is rendered on body.hero-home::before, not on
   .home-hero itself. Increase the real hero canvas so the family and the
   teddy in the dog's mouth remain visible on desktop. No buttons/navigation changed. */
@media (min-width:761px){
  body.main-hero-page.hero-home::before{
    height:910px !important;
    background-position:center 42% !important;
  }
  body.main-hero-page .home-hero{
    height:760px !important;
    min-height:760px !important;
  }
  body.main-hero-page .home-hero-inner{
    height:760px !important;
    min-height:760px !important;
    padding:40px 0 55px !important;
  }
}
/* Contact form polish: optional property address */
.optional-field,.field-hint{font-weight:400;font-size:.86em;opacity:.78}.field-hint{margin-top:6px}

/* Home hero wording - desktop only */
@media (min-width:1025px){

  .home-brand-lockup .est{
    font-size:28px !important;
  }

  .home-brand-lockup h1{
    font-size:90px !important;
  }

  .home-brand-lockup p{
    font-size:36px !important;
  }

}


/* 2026-08-19: Clean branded Buyer Cost Estimate print layout.
   Screen layout is unchanged. */
@media print{
  body.hero-calculator{
    background:#fff !important;
    color:#222 !important;
  }

  body.hero-calculator .test-site-banner,
  body.hero-calculator .site-header,
  body.hero-calculator .page-hero,
  body.hero-calculator .calc-hero,
  body.hero-calculator .currency,
  body.hero-calculator .disclaimer-card,
  body.hero-calculator .forest-footer-wrap,
  body.hero-calculator .calc-actions,
  body.hero-calculator .calc-lead-note,
  body.hero-calculator #calcValidation{
    display:none !important;
  }

  body.hero-calculator .calculator-shell{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.hero-calculator .print-brand{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    padding:0 0 18px !important;
    margin:0 0 22px !important;
    border-bottom:3px solid var(--green,#799852) !important;
  }

  body.hero-calculator .print-brand img{
    width:92px !important;
    height:92px !important;
    object-fit:contain !important;
  }

  body.hero-calculator .print-brand h1{
    margin:0 0 3px !important;
    color:#36512e !important;
    font-size:26px !important;
    line-height:1.1 !important;
  }

  body.hero-calculator .print-brand p{
    margin:0 !important;
    color:#6c7568 !important;
    font-size:13px !important;
  }

  body.hero-calculator .calc-panel{
    display:block !important;
    width:100% !important;
    margin:0 0 18px !important;
    padding:20px !important;
    border:1px solid #d9dfd3 !important;
    border-radius:10px !important;
    box-shadow:none !important;
    background:#fff !important;
    break-inside:avoid !important;
  }

  body.hero-calculator .inputs-panel{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px 20px !important;
  }

  body.hero-calculator .inputs-panel .panel-title,
  body.hero-calculator .inputs-panel .note,
  body.hero-calculator .inputs-panel .range,
  body.hero-calculator .inputs-panel .toggle-row{
    grid-column:1 / -1 !important;
  }

  body.hero-calculator .inputs-panel .two-col{
    display:contents !important;
  }

  body.hero-calculator .field{
    margin:0 !important;
  }

  body.hero-calculator .field input,
  body.hero-calculator .field select{
    padding:8px 10px !important;
    border:1px solid #cfd7c8 !important;
    border-radius:6px !important;
    background:#fff !important;
    color:#222 !important;
  }

  body.hero-calculator .summary-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:10px !important;
    margin-bottom:18px !important;
  }

  body.hero-calculator .summary-grid article{
    padding:12px !important;
    border:1px solid #d9dfd3 !important;
    border-radius:8px !important;
    background:#f8faf6 !important;
  }

  body.hero-calculator .summary-grid span{
    min-height:0 !important;
    margin-bottom:5px !important;
    font-size:11px !important;
  }

  body.hero-calculator .summary-grid strong{
    font-size:17px !important;
    color:#36512e !important;
  }

  body.hero-calculator .breakdown{
    margin-top:12px !important;
    padding-top:12px !important;
  }

  body.hero-calculator .breakdown h3{
    font-size:15px !important;
    margin-bottom:6px !important;
  }

  body.hero-calculator .breakdown div{
    padding:5px 0 !important;
    font-size:12px !important;
  }

  @page{
    size:A4 portrait;
    margin:14mm;
  }
}


/* 2026-08-19: Branded property comparison printout */
.compare-print-brand{display:none}

@media print{
  body{
    background:#fff !important;
    color:#222 !important;
  }

  .site-header,
  .compare-hero,
  .compare-toolbar,
  .compare-property-button{
    display:none !important;
  }

  main,
  .compare-shell{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  .compare-print-brand{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    margin:0 0 20px !important;
    padding:0 0 16px !important;
    border-bottom:3px solid #799852 !important;
  }

  .compare-print-brand img{
    width:84px !important;
    height:84px !important;
    object-fit:contain !important;
  }

  .compare-print-brand h1{
    margin:0 0 4px !important;
    color:#4e6537 !important;
    font-size:25px !important;
    line-height:1.1 !important;
  }

  .compare-print-brand p{
    margin:0 !important;
    color:#687361 !important;
    font-size:12px !important;
  }

  .compare-table-wrap{
    overflow:visible !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .compare-table{
    width:100% !important;
    table-layout:fixed !important;
    border-collapse:collapse !important;
    font-size:10.5px !important;
  }

  .compare-table th,
  .compare-table td{
    border:1px solid #d6ddd0 !important;
    padding:7px !important;
    vertical-align:top !important;
    background:#fff !important;
    color:#222 !important;
  }

  .compare-table thead th{
    background:#f5f7f2 !important;
  }

  .compare-table > thead > tr > th:first-child,
  .compare-table > tbody > tr > th{
    width:18% !important;
    color:#4e6537 !important;
    font-weight:700 !important;
  }

  .compare-property-head{
    text-align:left !important;
  }

  .compare-property-image{
    width:100% !important;
    height:115px !important;
    object-fit:cover !important;
    border-radius:5px !important;
    margin:0 0 7px !important;
  }

  .compare-property-title{
    margin:0 0 4px !important;
    font-size:13px !important;
    line-height:1.2 !important;
    color:#36512e !important;
  }

  .compare-property-location{
    margin:0 0 4px !important;
    font-size:9.5px !important;
  }

  .compare-property-price{
    display:block !important;
    margin:0 !important;
    font-size:12px !important;
    color:#4e6537 !important;
  }

  @page{
    size:A4 portrait;
    margin:12mm;
  }
}


/* 2026-08-19: portrait fit for printed comparison */
@media print{
  .compare-table{
    font-size:9px !important;
  }
  .compare-table th,
  .compare-table td{
    padding:5px !important;
  }
  .compare-table > thead > tr > th:first-child,
  .compare-table > tbody > tr > th{
    width:16% !important;
  }
  .compare-property-image{
    height:92px !important;
  }
  .compare-property-title{
    font-size:11px !important;
  }
  .compare-property-location{
    font-size:8.5px !important;
  }
  .compare-property-price{
    font-size:10.5px !important;
  }
}


/* 2026-08-19 FINAL COMPARE PRINT CLEANUP
   Keep only the branded Property Comparison header. */
@media print{
  html body.ste-test-build{
    padding-top:0 !important;
    margin-top:0 !important;
  }

  body > .ste-test-banner,
  .ste-test-banner,
  body > header.site-header,
  header.site-header,
  .site-header,
  .site-header .nav,
  .site-header .logo-link,
  .site-header .logo-link img,
  .compare-hero,
  .compare-toolbar,
  .compare-property-button{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .compare-print-brand{
    display:flex !important;
    visibility:visible !important;
    height:auto !important;
  }
}


/* Agent VCF QR code */
.agent-vcf-qr{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  margin-top:.85rem;
}
.agent-vcf-qr a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.3rem;
  background:#fff;
  border-radius:8px;
}
.agent-vcf-qr img{
  display:block;
  width:92px;
  height:92px;
  object-fit:contain;
}
.agent-vcf-qr span{
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.06em;
  color:#5d703e;
}
