/* Nhance Real Estate — main site. Light editorial variant of the brand system. */
:root{
  --charcoal:#1F2024; --charcoal-soft:#353740;
  --bone:#F4EFE7; --cream:#EAE2D2; --cream-deep:#DFD3BB; --greige:#C8B8A1;
  --champagne:#C4A062; --champagne-deep:#9B7F47;
  --forest:#2D4233; --forest-soft:#3F5946; --sage:#8FA384;
  --stone:#7C7468; --line:#E0D5C2;
  --serif:"Fraunces",Georgia,serif;
  --sans:"DM Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bone);color:var(--charcoal);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.shell{max-width:1140px;margin:0 auto;padding:0 22px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne-deep);margin-bottom:18px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.015em}
h1{font-size:clamp(36px,5vw,58px)}
h2{font-size:clamp(28px,4vw,42px);margin-bottom:18px}
.lede{color:var(--stone);font-size:clamp(17px,2vw,20px);max-width:640px}
section{padding:84px 0;scroll-margin-top:74px}
.gold{color:var(--champagne-deep)}

.btn{display:inline-block;background:var(--forest);color:var(--bone);font-weight:700;font-size:16px;padding:15px 28px;border-radius:999px;text-decoration:none;border:none;cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:hover{background:var(--forest-soft);transform:translateY(-1px)}
.btn.gold-btn{background:var(--champagne);color:var(--charcoal)}
.btn.gold-btn:hover{background:#D4B276}
.btn.ghost{background:transparent;color:var(--forest);border:1.5px solid var(--forest)}

nav.site{position:sticky;top:0;z-index:50;background:rgba(244,239,231,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 22px;max-width:1140px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:34px;width:auto}
.brand .b-name{font-family:var(--serif);font-size:19px;line-height:1;color:var(--charcoal)}
.brand .b-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne-deep);display:block;margin-top:5px}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none}
.nav-links a{text-decoration:none;font-size:15px;color:var(--charcoal-soft)}
.nav-links a:hover,.nav-links a.active{color:var(--champagne-deep)}
nav.site .btn{padding:11px 20px;font-size:14px}

.hero-band{background:linear-gradient(180deg,#EFE8DC 0%,var(--bone) 100%);padding:72px 0 84px}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.photo-frame{position:relative}
.photo-frame img{border-radius:8px;border:1px solid var(--cream-deep)}
.photo-frame::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--greige);border-radius:8px;z-index:-1}

.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px 26px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:46px}

.stat b{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,44px);color:var(--champagne-deep);display:block;line-height:1}
.stat span{font-size:14.5px;color:var(--stone);display:block;margin-top:8px}
.caption{font-family:var(--mono);font-size:12px;color:var(--stone);margin-top:24px;letter-spacing:.04em}

.poster-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:46px}
.poster-grid img{width:100%;height:auto;border-radius:8px;border:1px solid var(--line)}
@media (max-width:860px){.poster-grid{grid-template-columns:1fr}}
.sold-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px}
.sold-card{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.sold-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.sold-tag{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(31,32,36,.92);color:var(--bone);font-family:var(--mono);font-size:12px;letter-spacing:.06em;padding:9px 12px;border-radius:4px}
.sold-tag b{display:block;font-size:12.5px;letter-spacing:.04em;font-weight:500;color:#fff}
.sold-tag span{color:var(--greige);font-size:11.5px}
.sold-badge{position:absolute;top:12px;right:12px;background:var(--champagne);color:var(--charcoal);font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;padding:6px 11px;border-radius:4px}

.review-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px}
.review-card .stars{color:var(--champagne);letter-spacing:3px;margin-bottom:12px;font-size:15px}
.review-card p{font-size:15px;color:var(--charcoal-soft)}
.review-card .who{margin-top:14px;font-family:var(--mono);font-size:12.5px;color:var(--stone)}

.awards-grid{columns:4 220px;column-gap:16px;margin-top:26px}
.awards-grid img{width:100%;height:auto;margin-bottom:16px;border-radius:6px;border:1px solid var(--line);break-inside:avoid;display:block}

.cta-band{background:var(--forest);color:var(--bone);text-align:center}
.cta-band .lede{color:var(--cream);margin:0 auto 32px}
.cta-band .eyebrow{color:var(--champagne)}

footer{background:var(--charcoal);color:var(--greige);padding:46px 0;font-size:13px}
footer .f-logo{height:48px;width:auto;margin-bottom:18px}
footer p{max-width:760px;line-height:1.6}
footer nav{margin:14px 0}
footer nav a{color:var(--cream);text-decoration:none;margin-right:18px;font-size:14px}

.wa{position:fixed;right:20px;bottom:20px;z-index:60;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.wa svg{width:30px;height:30px;fill:#fff}

/* listing page */
.listing-hero{position:relative;max-height:62vh;overflow:hidden}
.listing-hero img{width:100%;height:100%;object-fit:cover;max-height:62vh}
.listing-hero .overlay{position:absolute;inset:auto 0 0 0;background:linear-gradient(180deg,rgba(23,24,27,0) 0%,rgba(23,24,27,.55) 40%,rgba(23,24,27,.88) 100%);padding:70px 0 28px;color:#fff}
.listing-hero .overlay h1{color:#fff;font-size:clamp(28px,4.5vw,48px)}
.listing-hero .overlay .eyebrow{color:var(--champagne)}
.kd-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:34px}
.kd{background:#fff;padding:18px 16px}
.kd b{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);display:block;margin-bottom:6px;font-weight:500}
.kd span{font-size:16px;font-weight:500}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.photo-row img{border-radius:8px;aspect-ratio:4/3;object-fit:cover;width:100%}
.tx-table{width:100%;border-collapse:collapse;margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.tx-table th{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-weight:500}
.tx-table td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:15px}
.tx-table tr:last-child td{border-bottom:none}
.section-label{border-left:3px solid var(--champagne);padding-left:14px}
.map-embed{width:100%;height:360px;border:1px solid var(--line);border-radius:8px;margin-top:30px}
.map-embed iframe{width:100%;height:100%;border:0;border-radius:8px}
@media (max-width:860px){
  .kd-grid{grid-template-columns:1fr 1fr}
  .photo-row{grid-template-columns:1fr 1fr}
}

.gallery{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:34px}
.gallery img{border-radius:8px;width:100%;height:100%;object-fit:cover}
.gallery .side{display:grid;gap:14px}
.spec-table{width:100%;border-collapse:collapse;margin-top:26px}
.spec-table td{padding:13px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.spec-table td:first-child{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);width:44%}
.notice{background:var(--cream);border:1px dashed var(--greige);border-radius:8px;padding:14px 18px;font-family:var(--mono);font-size:13px;color:var(--charcoal-soft);margin:26px 0}

@media (max-width:860px){
  section{padding:60px 0}
  .split{grid-template-columns:1fr;gap:40px}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .sold-grid{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
  .gallery{grid-template-columns:1fr}
  .hero-band{padding:52px 0 60px}
}
