/* Empire Real Estate · shared styles
   Palette: forest #1C3732 · deep #132623 · deepest #0e1f1c · panel #16302B
   border #2E4B44 · cream #F1E3BD · light #F7F5EC · gold #E5CF9E
   gold-line #D4BD8A · gray #8A8279 · ink #1A1A1A */

@font-face{
  font-family:"Century 751 BT";
  src:url("../fonts/Century751BT-Roman.ttf") format("truetype");
  font-weight:400;font-style:normal;font-display:swap;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:#FAF7F0;}
html{scroll-behavior:smooth;}
body{color:#1A1A1A;font-family:'Instrument Sans',sans-serif;overflow-x:hidden;}
::selection{background:#1C3732;color:#E5CF9E;}
img{max-width:100%;}

.serif{font-family:'Century 751 BT',Georgia,serif;font-weight:400;}
.caps{font-family:'Montserrat',sans-serif;font-weight:600;text-transform:uppercase;}

@keyframes ehScroll{0%{transform:translateY(0);opacity:0;}40%{opacity:1;}100%{transform:translateY(14px);opacity:0;}}

/* ===== Reveal-on-scroll ===== */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1);will-change:opacity,transform;}
[data-reveal].is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none;}
}

/* ===== Nav ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 48px;background:transparent;border-bottom:1px solid transparent;transition:background .4s cubic-bezier(.2,.6,.2,1),border-color .4s,backdrop-filter .4s;}
.nav-logo{display:block;position:relative;height:42px;width:150px;flex:none;}
.nav-logo img{position:absolute;left:0;top:0;height:42px;width:auto;transition:opacity .4s;}
.nav-logo .logo-green{opacity:0;}
.nav-links{display:flex;gap:38px;align-items:center;}
.nav-link{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#F1E3BD;text-decoration:none;transition:color .4s,opacity .3s;opacity:.85;}
.nav-link:hover{opacity:1;}
.nav-link.is-current{opacity:1;border-bottom:1px solid rgba(241,227,189,.6);padding-bottom:3px;}
.nav-cta{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#F1E3BD;text-decoration:none;background:transparent;border:1px solid rgba(241,227,189,.5);padding:12px 22px;border-radius:2px;transition:all .4s cubic-bezier(.2,.6,.2,1);white-space:nowrap;}
.nav.solid{background:rgba(250,247,240,.93);backdrop-filter:saturate(1.15) blur(10px);-webkit-backdrop-filter:saturate(1.15) blur(10px);border-bottom-color:#D4BD8A;}
.nav.solid .nav-link{color:#1C3732;}
.nav.solid .nav-link.is-current{border-bottom-color:rgba(28,55,50,.6);}
.nav.solid .logo-beige{opacity:0;}
.nav.solid .logo-green{opacity:1;}
.nav.solid .nav-cta{background:#1C3732;color:#E5CF9E;border-color:#1C3732;}

/* Mobile menu */
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:10px 6px;cursor:pointer;}
.nav-burger span{display:block;width:22px;height:2px;background:#F1E3BD;transition:background .4s,transform .3s,opacity .3s;}
.nav.solid .nav-burger span{background:#1C3732;}
.nav-mobile{display:none;position:fixed;top:0;left:0;right:0;z-index:49;background:#132623;padding:96px 24px 32px;border-bottom:1px solid #2E4B44;}
.nav-mobile a{display:block;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#F1E3BD;text-decoration:none;padding:15px 4px;border-bottom:1px solid rgba(241,227,189,.14);}
body.menu-open .nav{background:#132623;border-bottom-color:transparent;}
body.menu-open .nav .nav-link{color:#F1E3BD;}
body.menu-open .nav .logo-beige{opacity:1;}
body.menu-open .nav .logo-green{opacity:0;}
body.menu-open .nav-mobile{display:block;}
body.menu-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.menu-open .nav-burger span:nth-child(2){opacity:0;}
body.menu-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ===== Listing cards (rendered by listings.js) ===== */
.lst-badge{position:absolute;top:14px;left:14px;font-family:'Montserrat',sans-serif;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;border-radius:2px;z-index:2;background:#E5CF9E;color:#1C3732;}
.lst-badge.alt{background:#1C3732;color:#E5CF9E;}
.lst-card{text-decoration:none;display:block;}
.lst-media{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:2px;background:#1C3732;}
.lst-media .lst-zoom{position:absolute;inset:0;transition:transform .9s cubic-bezier(.2,.6,.2,1);}
.lst-card:hover .lst-zoom{transform:scale(1.04);}
.lst-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.lst-media .lst-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1C3732;}
.lst-media .lst-noimg img{position:static;width:34%;height:auto;object-fit:contain;opacity:.5;}
.lst-body{padding:20px 2px 0;}
.lst-area{font-family:'Century 751 BT',Georgia,serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#1C3732;opacity:.65;}
.lst-title{font-family:'Century 751 BT',Georgia,serif;font-weight:400;font-size:25px;line-height:1.12;letter-spacing:-.01em;color:#1C3732;margin:10px 0 16px;}
.lst-meta{display:flex;gap:9px;flex-wrap:wrap;padding:14px 0;border-top:1px solid #D4BD8A;font-family:'Instrument Sans',sans-serif;font-size:13px;color:#1A1A1A;}
.lst-meta .dot{color:#8A8279;}
.lst-foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;gap:12px;}
.lst-price{font-family:'Century 751 BT',Georgia,serif;font-size:23px;color:#1C3732;}
.lst-status{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8A8279;}

/* Sold rows */
.sold-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:22px 4px;border-bottom:1px solid #D4BD8A;text-decoration:none;flex-wrap:wrap;}
.sold-addr{font-family:'Century 751 BT',Georgia,serif;font-size:clamp(22px,2.6vw,34px);letter-spacing:.02em;color:#1C3732;}
.sold-note{font-family:'Instrument Sans',sans-serif;font-size:14px;color:#8A7e5e;}
.sold-price{font-family:'Century 751 BT',Georgia,serif;font-size:clamp(20px,2.2vw,28px);color:#1C3732;white-space:nowrap;}

/* Full-page capture guard: no real device is 2000px+ tall, but headless
   full-page screenshots are — cap the 100vh hero there so audits stay sane. */
@media (min-height:2000px){
  .hero-100vh{min-height:960px !important;}
}

/* ===== Responsive ===== */
@media(max-width:880px){
  .nav{padding:16px 20px;}
  .nav-links{display:none;}
  .nav-cta{display:none;}
  .nav-burger{display:flex;}
  [data-grid2]{grid-template-columns:1fr !important;}
  [data-grid3]{grid-template-columns:1fr !important;}
  [data-feature]{grid-template-columns:1fr !important;}
  [data-guide]{grid-template-columns:1fr !important;}
  [data-advisor]{grid-template-columns:1fr !important;}
  [data-pad]{padding-left:24px !important;padding-right:24px !important;}
  [data-heroimg]{display:none !important;}
  [data-mediarow]{flex-direction:column !important;aspect-ratio:auto !important;}
  [data-mainvid]{width:100% !important;height:auto !important;aspect-ratio:16/9;}
  [data-phone]{width:min(62%,250px) !important;height:auto !important;align-self:center;}
  [data-advisor] > div{order:0 !important;}
}
